Asynchronous Processing
For large documents or production workflows, use async processing to avoid timeouts and handle long-running operations gracefully.How It Works
- Submit - Send your request with
async: true - Receive job ID - Get an immediate response with a
job_id - Poll - Check job status via
GET /job/{jobId} - Get results - Retrieve completed results from the poll response
Endpoints with Async Support
Using the Async Flag
Addasync: true to any supported endpoint’s request body:
Async Response Format
Whenasync: true, you receive a 202 Accepted response:
Polling for Results
UseGET /job/{jobId} to check status and retrieve results:
Poll Response
Job Status Values
Retention
Async results remain retrievable until your organization’s retention window for async jobs elapses, after which the job reads asexpired. Retention applies to everything the job created: the stored result, URL-delivered (offloaded) result payloads, and any staged copy of the source document. Organizations can also opt into delete-on-first-poll, which removes a job’s stored artifacts as soon as the completed result is successfully retrieved once — download and persist the result on first read if your organization uses it. Contact support to configure retention for your organization.
Canceling Jobs
Cancel a running job withDELETE /job/{jobId}:
When to Use Async
Large documents (50+ pages)
Large documents (50+ pages)
Synchronous requests may timeout for large documents. Always use async for documents over 50 pages.
Complex schemas
Complex schemas
Schema extraction with many fields or nested structures benefits from async processing.
Production workflows
Production workflows
Async provides better reliability and allows you to handle failures gracefully with retries.
Batch processing
Batch processing
Submit multiple documents asynchronously and poll for results in parallel.