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.
Related articles
Fetch a page in one call
The same work as the extract call, with the request held open until the page is done and the Markdown returned directly.
Watch an extraction
Server-sent events for one job: its state now, every change after it, and the finished page. Closes when the job does.
Read an extraction's progress
One frame of a job's state without its Markdown, for a progress bar that should not carry a page's text with every poll.
Collect an extraction
Poll a job that answered 202. Returns its state while it runs and the Markdown once it is done.
Still need help?
Ask Quincy in the chat bubble below, or write to support@quorumtech.ch and we will help you directly.