---
title: "Get bulk deletion job status"
method: GET
path: "/local-file-groups/bulk-deletions/{bulk_deletion_id}"
tags: ["local-file-groups"]
---

# Get bulk deletion job status

`GET /local-file-groups/bulk-deletions/{bulk_deletion_id}`

## Request

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

Returns the status of a bulk deletion job. The status is synced with the underlying execution on read on a best-effort basis: a finished job is normally reported as terminal (success or failure) immediately, but if the live sync fails the status may lag until the periodic reconciliation.

`remaining_source_group_ids` lists the groups that were not deleted, in ascending ID order. Deletion is idempotent, so a caller can simply resubmit that list. When more remain than fit in one response, `remaining_truncated` is true and `remaining_cursor` holds the last returned ID; pass it as `after` to fetch the next page. States in this job never change once the job is terminal, so paging is stable.

Required scope: \`ingestion:manage\`

## Path parameters

- `bulk_deletion_id` string, required

## Query parameters

- `after` string

## Response `200`

Successful retrieval of bulk deletion job

- BulkDeletion
  - `id` string, required: The id of the bulk deletion job
  - `status` 'unknown' | 'queued' | 'not_started' | 'managed' | 'starting' | 'started' | 'success' | 'failure' | 'canceling' | 'canceled' | 'deleting' | 'delete_job_failure', required: Job status
  - `creation_time` integer: Unix timestamp when the job was created
  - `start_time` integer: Unix timestamp when the job started
  - `end_time` integer: Unix timestamp when the job finished
  - `total_count` integer, required: Number of source groups the job was started with
  - `deleted_count` integer, required: Number of source groups deleted so far. Meaningful only once the job has reached a terminal status, so callers must gate on status rather than treating a low value as a failure.
  - `remaining_source_group_ids` string[], required: Source groups that have not been deleted: skipped because another job held the group's lock, or failed part-way. Deletion is idempotent, so a caller can resubmit this list as-is once the job is terminal.
  - `remaining_truncated` boolean, required: True when remaining_source_group_ids was cut off because too many groups remain. Fetch the rest by passing remaining_cursor as the after query parameter.
  - `remaining_cursor` string: The last ID in remaining_source_group_ids. Present only when remaining_truncated is true; pass it as the after query parameter to get the next page.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found
- `500`: Internal Server Error
- `502`: The application proxy could not obtain an upstream response before forwarding response headers. The error code is unavailable and retryable is false: upstream side effects may have completed, so a 502 alone does not make retrying safe. Check the operation's idempotency and recovery contract before retrying. A failure after streaming has started instead aborts the stream without appending this JSON body. CDN or load-balancer generated errors may have a different body and are not described by this response.

## Changes

- **2026-10-10** `2489c6f1a9d8`: 17 info
  - added the non-success response with the status `502`
  - added the optional property `error/code` to the response with the `400` status
  - added the optional property `error/code` to the response with the `401` status
  - added the optional property `error/code` to the response with the `404` status
  - …13 more
- **2026-09-11** `0375753f8ee3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/qlonolink/apis/qaip-apis/changes/local-file-groups/bulk-deletions/:bulk_deletion_id/get.md)

---

[API](https://skmtc.dev/qlonolink/apis/qaip-apis.md) - [All operations](https://skmtc.dev/qlonolink/apis/qaip-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/qlonolink/apis/qaip-apis/revisions/2489c6f1a9d8?raw)
