Skip to main content
POST
Reschedule a job

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

job_id
string<uuid>
required

Unique identifier for a job.

Body

application/json

Optional body for rescheduling a job. May be omitted entirely — an empty body keeps the default behavior, where rescheduling is a no-op for jobs already in a terminal state (completed, cancelled, failed).

force
boolean | null
default:false

When true, reschedule the job even if it is in a terminal state, resetting it to pending and clearing its executor so the operator re-dispatches it onto a fresh cluster. Use this to re-run a job that already finished. When omitted, null or false, terminal jobs are left untouched.

Response

OK

Result of rescheduling a job — what happened, plus the job's current state afterwards.

outcome
enum<string>
required

What a reschedule call did.

  • rescheduled — the job was put back on the queue (reset to pending, executor cleared).
  • skipped_terminal — the job was left untouched because it was already in a terminal state and force was not set.
Available options:
rescheduled,
skipped_terminal
job
object
required

A job. Every job carries the same envelope of fields — see JobBase — but input and result hold job-type-specific payloads, so the response is a union over type: pick the branch whose type matches and you get the typed input and result for that kind of job.

The union is open on purpose. Job types are free strings on the server, so a type this spec version does not describe lands in OtherJobResponse, where both fields stay free-form. No branch closes itself to extra properties, and new job types can appear without a spec change.

input and result are returned exactly as they were stored when the job was enqueued or completed. The server never reshapes them, so a field a job type gained after a row was written is absent from that row rather than null. The typed branches describe what the current code writes; fields that have not always been written are left out of each branch's required list.

result is null in every branch until the job reaches a terminal state.

Example: