Skip to main content
GET
/
jobs
/
{job_id}
curl -X GET "https://prod.visionapi.unsiloed.ai/jobs/b2094b38-e432-44b6-a5d0-67bed07d5de1" \
  -H "X-API-Key: your-api-key"
{
  "id": "b2094b38-e432-44b6-a5d0-67bed07d5de1",
  "status": "queued",
  "type": "extraction",
  "created_at": "2024-01-15T10:30:00.000Z",
  "updated_at": "2024-01-15T10:30:00.000Z",
  "pdf_name": "financial_report.pdf",
  "pdf_hash": "sha256:abc123...",
  "user_id": "user_123"
}

Overview

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.

Response

id
string
Unique identifier for the job
status
string
Current job status: “queued”, “PROCESSING”, “COMPLETED”, or “FAILED”
type
string
The operation type for this job (e.g., “extraction”, “chunking”, “classification”)
created_at
string
Timestamp when the job was created
updated_at
string
Timestamp when the job was last updated
pdf_name
string
Original filename of the processed document
pdf_hash
string
Hash of the PDF file for identification
error
string
Error message (if job failed)
curl -X GET "https://prod.visionapi.unsiloed.ai/jobs/b2094b38-e432-44b6-a5d0-67bed07d5de1" \
  -H "X-API-Key: your-api-key"
{
  "id": "b2094b38-e432-44b6-a5d0-67bed07d5de1",
  "status": "queued",
  "type": "extraction",
  "created_at": "2024-01-15T10:30:00.000Z",
  "updated_at": "2024-01-15T10:30:00.000Z",
  "pdf_name": "financial_report.pdf",
  "pdf_hash": "sha256:abc123...",
  "user_id": "user_123"
}

Job Status Values

Job has been created and is waiting to be processed. Jobs are processed in the order they were created.
Job is currently being processed. For extraction jobs, this includes PDF conversion, image analysis, and data extraction.
Job has finished successfully. Results can be retrieved using the /jobs/{job_id}/result endpoint.
Job encountered an error and could not complete. Check the error field for details.

Polling for Completion

For long-running jobs, implement polling to check status periodically:
import time
import requests

def wait_for_job_completion(job_id, api_key, poll_interval=5, max_wait=300):
    """Wait for job to complete with polling"""
    
    start_time = time.time()
    headers = {"X-API-Key": api_key}
    
    while time.time() - start_time < max_wait:
        response = requests.get(f"https://prod.visionapi.unsiloed.ai/jobs/{job_id}", headers=headers)
        
        if response.status_code == 200:
            job = response.json()
            status = job['status']
            
            print(f"Job status: {status}")
            
            if status == 'COMPLETED':
                return job, True
            elif status == 'FAILED':
                return job, False
                
        time.sleep(poll_interval)
    
    raise TimeoutError(f"Job {job_id} did not complete within {max_wait} seconds")

# Usage
job_id = "your-job-id"
job, success = wait_for_job_completion(job_id, "your-api-key")

if success:
    print("Job completed successfully!")
else:
    print(f"Job failed: {job.get('error', 'Unknown error')}")

Authorizations

api-key
string
header
required

Path Parameters

job_id
string
required

The unique identifier of the job to check

Response

200 - application/json

Job status retrieved successfully

job_id
string

Unique identifier for the job

status
string

Current job status

created_at
string

Timestamp when the job was created

message
string

Status message about the job

I