Skip to main content
A Job represents an extraction task. When you upload a document, a job is created to process it asynchronously.

Job Lifecycle

Job States

StateDescriptionTypical Duration
pendingQueued, waiting for a worker~seconds
processingAI extraction in progress5-90 seconds
completedExtraction successful, ready to query
failedError occurred during extraction

Tracking Jobs

Polling

curl -X GET https://api.docintell.com/v1/jobs/{job_id} \
  -H "Authorization: Bearer dk_live_YOUR_API_KEY"
Response:
{
  "job_id": "019370ab-c456-7def-8901-234567890def",
  "status": "completed",
  "processing_time_seconds": 45.2
}
For production, use webhooks instead of polling:
curl -X POST https://api.docintell.com/v1/documents \
  -H "Authorization: Bearer dk_live_YOUR_API_KEY" \
  -F "file=@document.pdf" \
  -F "webhook_url=https://yourapp.com/webhooks"
DocIntell will POST to your URL when complete.

Processing Time

Document TypeTypical Time
Simple invoice5-10 seconds
Financial statement20-40 seconds
Large report (50+ pages)45-90 seconds
SLA target: < 60 seconds for a 50-page PDF.