job_terminal
job_terminal
Section titled “job_terminal”HTTP status: 409 Conflict
How to fix
Section titled “How to fix”- Check the job's current status with
GET /api/v1/jobs/{id}. Terminal statuses arecompleted,failed, andcanceled— none of these accept further mutation. - For a re-run, submit a NEW job against the same URL with
POST /api/v1/jobs. Don't try to "restart" a terminal job in place — that pattern doesn't exist. - For a cancel, cancel only
queuedorrunningjobs. Polling forcompletedand then calling cancel returns this code (race condition; treat it as success). - For the result body, terminal jobs still serve
GET /api/v1/jobs/{id}/resultuntil retention prunes them — only the job record itself is immutable.
What this means
Section titled “What this means”The job reached a terminal state and we stopped accepting mutations against it. State transitions are one-way: queued → running → (completed|failed|canceled). Once a job enters one of the final three, it stays there. This is a specific case of conflict.
Related errors
Section titled “Related errors”conflict— generic state conflictnot_found— job doesn't exist (vs exists-but-terminal)workflow_disabled— can't submit new jobs, related lifecycle
Still stuck?
Section titled “Still stuck?”Contact support with your request_id (looks like req_01HF3JKB...). We'll trace the state transitions.