This page documents the canonical HTTP contract. Switch to the CLI example when you want the operator workflow.
Authentication and visibility use the same user/org/runtime-owner filters as the list endpoint. The get handler first attests the linked operation run; missing linkage returns 409, and an absent or inaccessible operation/job record returns 404. For Research Table column runs, poll GET /api/operation-runs/{operation_run_id} instead. This endpoint is a native executor/debugging view and remains canonical only for domains that explicitly own bulk jobs. The returned status is the persisted executor status, except queue-supervised jobs with no provider start or processed rows can be presented as waiting_for_workers. The route does not define a closed status enum or a cancellation action.
Use this endpoint as the source of truth only for the native bulk-job domains described above. A local client timeout while waiting does not cancel backend processing. Retry the same job_id after a transient read failure; do not start duplicate work just to recover status.
The response includes recorded billing metadata and estimates when present. Reading status does not incur the job's provider charges; values do not define a fixed rate for other jobs.
If you do not have a job ID, call List bulk jobs first using table_id + column_id.
Path parameters
job_idrequiredstring
Native executor job ID returned alongside operationRunId when this run uses a bulk executor.
| Name | Type | Description |
|---|---|---|
| job_idrequired | string | Native executor job ID returned alongside operationRunId when this run uses a bulk executor. |
Errors
| Status | Meaning |
|---|---|
| 401 | Invalid API key or missing auth. |
| 403 | Missing jobs:read scope. |
| 404 | Operation run or bulk job not found within caller scope. |
| 409 | Bulk job has no attested operation_run_id. |
