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
- null
string
job_typeJob Type (string)
Default value:
executestatusJobStatus (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:
queuedpoll_interval_secondsPoll Interval Seconds (integer)
Default value:
2Job
{
"job_id": "string",
"job_type": "execute",
"status": "queued",
"poll_interval_seconds": 2
}