local-file-groups

Start bulk deletion of local file groups

Changed on

Initiates a single asynchronous job that deletes many local file groups at once. Deleting groups one at a time issues 12 serial Iceberg commits per group, which does not scale past a few groups per minute; this endpoint collapses them into one commit per table.

Source group IDs that do not exist or belong to another user are rejected individually and reported in rejected; the remaining IDs still start. When nothing is accepted no job is started and id is absent.

Whether a group currently has another job in flight (an ingestion, a single deletion or a chunk deletion) is NOT decided here: the job takes the same per-group lock those jobs use and skips any group whose lock is held. Such groups count toward accepted_count but come back untouched in remaining_source_group_ids of the final status, so resubmit that list once the other job has finished.

The response returns a bulk deletion job id; poll GET /local-file-groups/bulk-deletions/{bulk_deletion_id} to check the job status.

Required scope: `ingestion:manage`

post/local-file-groups/bulk-deletions

Request

  • Base URL
    https://developer.qaip.com/api/v1
  • URL
    https://developer.qaip.com/api/v1/local-file-groups/bulk-deletions
  • Auth
    API key in header x-api-key

Request body

source_group_idsstring[] required

IDs of the local file groups to delete. Duplicates are ignored. IDs that cannot be accepted are reported in the response rather than failing the whole request.

Response

Bulk deletion job successfully started

idstring

The id of the started bulk deletion job, used to poll its status. Absent when accepted_count is 0, in which case no job was started.

accepted_countinteger required

Number of source groups handed to the job. The job may still skip some of them (another job holds the group's lock); the authoritative outcome is the status's remaining_source_group_ids.

Changes

    • info

      added the non-success response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      endpoint added