DocAI
How it worksPricingDocsTrustCookies
Sign inStart free
DocAI Docs
DocAI Docs
ProductOpenAPIDocAI APIAuthenticationPythonExtractJobs & batchCreditsErrorsIdempotencyConnectorsMCP

Jobs & batch

Async batch extract and job polling.

Submit a batch

POST /api/v1/extract/batch

Multipart form: multiple files, plus the same extract options as sync extract (extract_tier, custom_fields, system_prompt, …).

Constraints:

  • Lite is not supported for batch yet (use Plus/Pro/Ultra).
  • Max 100 total pages across all files in the batch.
  • Credits are charged up front for the sum of pages.

Response:

{
  "batch_id": "...",
  "status": "processing",
  "jobs": [{ "job_id": "...", "status": "pending", "filename": "..." }],
  "total_pages": 12,
  "message": "Batch submitted. Poll /batches/{batch_id} for status."
}

Poll a job

GET /api/v1/jobs/{job_id}

Statuses: pending | processing | completed | failed.

On completion, results may include extracted_json, extract_metadata, citations, filename (payload depends on retention settings).

Poll a batch

GET /api/v1/batches/{batch_id}

Returns the batch status and nested job statuses.

History

GET /api/v1/history

Lists recent extracts for the authenticated org/user (shape aligned with upload responses).

Delete a document

DELETE /api/v1/documents/{document_id}

Requires auth with org or user scope.

Extract

PDF to JSON extract API. Sync document processing modes, optional prompts, and response fields.

Credits

Balance, burn rates, catalog, and checkout.

On this page

Submit a batchPoll a jobPoll a batchHistoryDelete a document