Delete a batch

Drop a batch and every document in it from memory, once the work is done.

Last updated 12 September 2026

Delete a batch

DELETE https://api.quorumtech.ch/attest/v1/batches/{batchId}

Drop a batch from memory.

Removes the batch and every document in it. Batches age out on their own, but once a report is written the documents behind it have no reason to stay resident; call this when the work is done.

Call this once the report is written. Batches expire on their own after six hours, but expiry is a backstop rather than a plan, and "it will age out" is a poor answer to anyone asking where a client's board pack currently is.

Deleting a batch that is already gone returns deleted: false with a 200, not a 404: cleanup that fails on a retry teaches callers to ignore its result, which is the opposite of what a deletion path wants. Deletion is permanent, so call it after the last check against a batch rather than between checks.

Request

Path parameters:

| Parameter | Description | | --- | --- | | batchId | The id returned when the batch was created, for example bat_8153abc164334cd38273. |

Example request

curl -X DELETE "https://api.quorumtech.ch/attest/v1/batches/<batchId>" \
  -H "Authorization: Bearer $QUORUM_API_KEY"

Responses

200

Whether a batch with that id was there to delete.

| Field | Type | Description | | --- | --- | --- | | batchId | string | | | deleted | boolean | |

Errors

The body is { "error": { "code", "message" } }; the full catalogue with what to do about each code is on the Errors page.

| Status | Codes | When | | --- | --- | --- | | 401 | | The key is missing, not recognised, or revoked. | | 402 | payment_required, credits_exhausted, remaining, needed | The workspace has no active API subscription (payment_required), or is prepaid and has no credits left for this request (credits_exhausted, with remaining and needed). Manage billing and add credits at https://developer.quorumtech.ch/billing. | | 403 | | The key is not scoped to Attest. | | 429 | rate_limited, claims_rate_limited, claim_budget_exhausted, monthly_cap_reached, cap | Over the key's requests-per-minute limit (rate_limited), its claims-per-minute ceiling (claims_rate_limited), its claims-per-day budget (claim_budget_exhausted), or, for a postpaid workspace, its monthly credit cap (monthly_cap_reached, with cap and resetsAt). Retry-After says when to try again; the daily budget resets at midnight UTC and the cap on the first of the month. |

Cost

Free.

Still need help?

Ask Quincy in the chat bubble below, or write to support@quorumtech.ch and we will help you directly.