Skip to main content

Job

Async job record. Returned by POST /execute/async and GET /jobs/{id}.

poll_interval_seconds — caller should wait this many seconds between GET /jobs/{id} polls. The DB column is poll_interval_s; the store maps between them.

Internal DB fields (excluded from API serialisation): enqueued_at, started_at, completed_at, updated_at — managed by JobStore. request_body — the original ExecuteRequest stored for audit / retry.

job_id object
anyOf
string
job_typeJob Type (string)
Default value: execute
statusJobStatus (string)

Async job lifecycle status.

Transitions (enforced in JobStore.update_status()): queued → running queued → cancelled running → completed running → failed running → cancelled completed / failed / cancelled → (terminal — no further transitions)

Possible values: [queued, running, completed, failed, cancelled]

Default value: queued
poll_interval_secondsPoll Interval Seconds (integer)
Default value: 2
Job
{
"job_id": "string",
"job_type": "execute",
"status": "queued",
"poll_interval_seconds": 2
}