Skip to main content
GET
Claim workflow submit work (internal)

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Query Parameters

limit
integer
default:50
Required range: 1 <= x <= 200
site_id
string<uuid>
site_slug
string
Minimum string length: 1

Response

id
string<uuid>
required
read-only
workflow
object
required

Compact workflow reference embedded in every job response.

Includes the fields required by the fleet-manager client's WorkflowRef model while skipping expensive computed fields like parameters_presets.

category is here because the UI reads it off a job's workflow, and it costs nothing: Workflow.category is a dict lookup on temporal_workflow_name, not a column or a query. Declared exactly as WorkflowSerializer declares it so both resolve to one named enum component instead of splitting into two generated types.

created_by
string | null
required
read-only

Return the creator: username, app client_id with prefix, or None.

ai_failure_summary
object | null
required

AI-generated failure summary for jobs that ended in FAILED or PARTIALLY_FAILED

test_slugs
enum<string>[]
required
read-only

Distinct test slugs from associated test executions

  • multi-node.hello-world - multi-node.hello-world
  • multi-node.iperf-matrix - multi-node.iperf-matrix
  • multi-node.nccl-all-gather - multi-node.nccl-all-gather
  • multi-node.nccl-all-reduce - multi-node.nccl-all-reduce
  • multi-node.nccl-all-reduce-multi-rack - multi-node.nccl-all-reduce-multi-rack
  • multi-node.nccl-all-to-all - multi-node.nccl-all-to-all
  • multi-node.nvloom - multi-node.nvloom
  • multi-node.pairwise-net-gpu.bw - multi-node.pairwise-net-gpu.bw
  • multi-node.pairwise-net-gpu.lat - multi-node.pairwise-net-gpu.lat
  • multi-node.pairwise-net.bw - multi-node.pairwise-net.bw
  • multi-node.pairwise-net.lat - multi-node.pairwise-net.lat
  • multi-node.s3-elbencho - multi-node.s3-elbencho
  • multi-node.storage-elbencho - multi-node.storage-elbencho
  • multi-node.training-gpt-oss-120b - multi-node.training-gpt-oss-120b
  • multi-node.training-llama3-1-405b - multi-node.training-llama3-1-405b
  • multi-node.training-llama3-70b - multi-node.training-llama3-70b
  • multi-node.training-nemotron-24x2h - multi-node.training-nemotron-24x2h
  • multi-node.training-nemotron-checkpoint - multi-node.training-nemotron-checkpoint
  • multi-node.training-nemotron-h - multi-node.training-nemotron-h
  • multi-node.training-nemotron-h-multi-rack - multi-node.training-nemotron-h-multi-rack
  • multi-node.training-qwen3-235b - multi-node.training-qwen3-235b
  • single-node.babelstream - single-node.babelstream
  • single-node.dcgmi-diag - single-node.dcgmi-diag
  • single-node.gpu-fryer - single-node.gpu-fryer
  • single-node.hello-world - single-node.hello-world
  • single-node.hpl-cpu - single-node.hpl-cpu
  • single-node.hpl-gpu - single-node.hpl-gpu
  • single-node.lmbench-lat-mem-rd - single-node.lmbench-lat-mem-rd
  • single-node.memtester - single-node.memtester
  • single-node.nccl-all-gather - single-node.nccl-all-gather
  • single-node.nccl-all-reduce - single-node.nccl-all-reduce
  • single-node.nccl-all-reduce-loopback - single-node.nccl-all-reduce-loopback
  • single-node.nccl-all-to-all - single-node.nccl-all-to-all
  • single-node.node-health-check - single-node.node-health-check
  • single-node.nvme-fio - single-node.nvme-fio
  • single-node.nvme-self-test - single-node.nvme-self-test
  • single-node.storage-elbencho - single-node.storage-elbencho
  • single-node.stream - single-node.stream
  • single-node.stress-ng-cpu - single-node.stress-ng-cpu
  • single-node.training-llama3-8b - single-node.training-llama3-8b
  • single-node.training-nemotronh-8b - single-node.training-nemotronh-8b
Available options:
multi-node.hello-world,
multi-node.iperf-matrix,
multi-node.nccl-all-gather,
multi-node.nccl-all-reduce,
multi-node.nccl-all-reduce-multi-rack,
multi-node.nccl-all-to-all,
multi-node.nvloom,
multi-node.pairwise-net-gpu.bw,
multi-node.pairwise-net-gpu.lat,
multi-node.pairwise-net.bw,
multi-node.pairwise-net.lat,
multi-node.s3-elbencho,
multi-node.storage-elbencho,
multi-node.training-gpt-oss-120b,
multi-node.training-llama3-1-405b,
multi-node.training-llama3-70b,
multi-node.training-nemotron-24x2h,
multi-node.training-nemotron-checkpoint,
multi-node.training-nemotron-h,
multi-node.training-nemotron-h-multi-rack,
multi-node.training-qwen3-235b,
single-node.babelstream,
single-node.dcgmi-diag,
single-node.gpu-fryer,
single-node.hello-world,
single-node.hpl-cpu,
single-node.hpl-gpu,
single-node.lmbench-lat-mem-rd,
single-node.memtester,
single-node.nccl-all-gather,
single-node.nccl-all-reduce,
single-node.nccl-all-reduce-loopback,
single-node.nccl-all-to-all,
single-node.node-health-check,
single-node.nvme-fio,
single-node.nvme-self-test,
single-node.storage-elbencho,
single-node.stream,
single-node.stress-ng-cpu,
single-node.training-llama3-8b,
single-node.training-nemotronh-8b
hostlist
string
required
read-only

Compressed hostlist derived from the job's associated device names

chad_sop
object | null
required

The CHAD SOP recipe that dispatched this job; null when the job was not dispatched by CHAD.

Serializer for job links.

devices
object[]
required
read-only

Per-device name + physical location (rack, U, networking pod) for the job's devices, ordered by name — a slim summary the UI aggregates into rack/pod chips. Carried by the jobs list only; omitted from responses that do not project it. The full device objects are at links.devices.

device_count
integer
required
read-only

Number of devices the job runs on. A convenience projection of the same set devices lists and hostlist compresses, so all three always agree. Carried by the jobs list only.

failed_device_count
integer
required
read-only

Number of the job's devices that failed burn-in evaluation, counting each device once however many of the job's tests it failed. Sourced from the evaluation outcome of the job's test executions, so it reflects the threshold verdict rather than the Temporal result: a burn-in job whose devices all report completed still counts them here when their metrics breached thresholds. A test that has not been evaluated yet is not counted, and a job that runs no burn-in tests reports 0 — read unevaluated_device_count to tell those two apart. A failing multi-device test implicates every device in its cohort, so one bad device in a collective run counts the whole cohort. Counts debug-mode and stale-marked evidence too, matching what the test-executions list returns for the job. Carried by the jobs list only.

unevaluated_device_count
integer
required
read-only

Number of the job's devices whose burn-in evidence finished but has never been evaluated, so failed_device_count cannot speak for them. Non-zero means this row's failure count is incomplete rather than clean: the test-executions list evaluates these rows on read, so it can show a failure the count does not. Counted once per device, and 0 for a job that runs no burn-in tests. Carried by the jobs list only.

claim_token
string<uuid>
required
read-only
created_at
string<date-time>
required
read-only
updated_at
string<date-time>
required
read-only
parameters
any
required
max_attempts_override
integer | null
required
read-only

Per-job override for Temporal activity retry budgets. NULL uses the worker's ActivityRetryConfigs defaults; 1 fails fast (no retries) for OpenStack debugging. Must be >= 1 — Temporal treats maximum_attempts=0 as unlimited retries.

source_test_execution
string<uuid> | null
required
read-only

Set when this job was created via a single-test re-run; points to the source execution.

name
string
Maximum string length: 50
Pattern: ^[-a-zA-Z0-9_]+$
status
enum<string>
  • pending - Pending
  • running - Running
  • cancellation_requested - Cancellation Requested
  • completed - Completed
  • failed - Failed
  • partially_failed - Partially Failed
  • cancelled - Cancelled
  • terminated - Terminated
  • superseded - Superseded
  • timed_out - Timed Out
Available options:
pending,
running,
cancellation_requested,
completed,
failed,
partially_failed,
cancelled,
terminated,
superseded,
timed_out
started_at
string<date-time> | null
completed_at
string<date-time> | null
temporal_workflow_id
string | null
Maximum string length: 255