Skip to content

Job Status

GET /jobs/{job_id}

Get the status and results of a job execution.

Required permission: can_view_jobs

Path Parameters

Parameter Type Description
job_id UUID The job ID returned from the execute endpoint

Response

200 OK

The response shape depends on the job's status:

{
  "job_id": "7c9e6679-...",
  "status": "pending",
  "created_at": "2026-03-18T10:30:00Z",
  "updated_at": "2026-03-18T10:30:00Z"
}
{
  "job_id": "7c9e6679-...",
  "status": "processing",
  "created_at": "2026-03-18T10:30:00Z",
  "updated_at": "2026-03-18T10:30:05Z"
}
{
  "job_id": "7c9e6679-...",
  "status": "completed",
  "inputs": {
    "customerAge": 35,
    "propertyValue": 500000
  },
  "outputs": {
    "premium": 1250.50,
    "deductible": 1000,
    "coverage": 500000
  },
  "created_at": "2026-03-18T10:30:00Z",
  "updated_at": "2026-03-18T10:30:08Z",
  "completed_at": "2026-03-18T10:30:08Z",
  "execution_time_ms": 1850
}
{
  "job_id": "7c9e6679-...",
  "status": "failed",
  "error_message": "Could not process at the moment",
  "created_at": "2026-03-18T10:30:00Z",
  "updated_at": "2026-03-18T10:30:25Z"
}

Response Fields

Field Type Present Description
job_id UUID Always Job identifier
status string Always pending, processing, completed, or failed
inputs object completed, failed The inputs that were submitted
outputs object completed Calculated output values
error_message string failed Generic error description
created_at datetime Always When the job was created
updated_at datetime Always Last status change
completed_at datetime completed When processing finished
execution_time_ms integer completed Total processing time in milliseconds
webhook_url string If provided The webhook URL (if one was set)
webhook_sent_at datetime If sent When the webhook was dispatched
webhook_response_status integer If sent HTTP status code from the webhook endpoint

Errors

403 Forbidden — you don't have view permission or the job belongs to a different consumer

{ "detail": "Consumer does not have view permission for this job" }

404 Not Found

{ "detail": "Job not found" }

Polling Strategy

Most jobs complete in 2–5 seconds. Use exponential backoff:

1s → 2s → 4s → 8s → 15s → 15s → 15s → ...

Tip

For a fire-and-forget approach, use webhooks instead of polling. Provide a webhook_url when calling the execute endpoint and the platform will POST the results to you.