Check the status and progress of asynchronous processing jobs
The Get Job Status endpoint allows you to check the current status of any asynchronous processing job. This is essential for monitoring long-running operations like document extraction, parsing, and batch processing.
Jobs are stored in Supabase and updated in real-time. Status checks are lightweight and can be polled frequently.
The unique identifier of the job to check
API key for authentication (optional for some endpoints)
Unique identifier for the job
Current job status: “queued”, “PROCESSING”, “COMPLETED”, or “FAILED”
The operation type for this job (e.g., “extraction”, “chunking”, “classification”)
Timestamp when the job was created
Timestamp when the job was last updated
Original filename of the processed document
Hash of the PDF file for identification
Error message (if job failed)
queued
Job has been created and is waiting to be processed. Jobs are processed in the order they were created.
PROCESSING
Job is currently being processed. For extraction jobs, this includes PDF conversion, image analysis, and data extraction.
COMPLETED
Job has finished successfully. Results can be retrieved using the /jobs/{job_id}/result
endpoint.
FAILED
Job encountered an error and could not complete. Check the error
field for details.
For long-running jobs, implement polling to check status periodically:
Polling Frequency: Poll every 5-10 seconds for most jobs. Avoid polling more frequently than every 2 seconds.
Timeout Handling: Set reasonable timeouts (5-15 minutes) depending on document size and complexity.
Job Persistence: Completed jobs and their results are stored for 7 days before cleanup.
Job Not Found
The job ID doesn’t exist or has been cleaned up. Check that you’re using the correct job ID.
Long Processing Times
Large or complex documents may take several minutes. Monitor the updated_at
field to ensure progress.
Failed Jobs
Check the error
field for specific error details. Common causes include corrupted PDFs or invalid schemas.
Check the status of all jobs in a batch.
Check status of multiple jobs simultaneously.
Comma-separated list of job IDs
Include progress details for all jobs
List jobs with status filtering.
Filter by status: “queued”, “processing”, “completed”, “failed”, “cancelled”
Filter by operation type: “extract”, “parse”, “split”, “classify”
ISO timestamp - only jobs created after this time
ISO timestamp - only jobs created before this time
Comma-separated list of tags to filter by
Maximum number of jobs to return (1-100)
Number of jobs to skip for pagination
Jobs automatically send webhook notifications for status changes:
Configure email notifications for job completion:
Job ID does not exist or has been deleted
Job belongs to different account or insufficient permissions
Status check rate limit exceeded
Rate limits are enforced per API key and reset on a rolling window basis.