v1

latestOpenAPI 3.1.02026-07-22136108233.0 KB
runs

Create Run Chain

Create a multi-step chain that runs on a single reserved session/machine.

  • Starts a new session unless session_id is provided (then runs on existing session).
  • Accepts shared_inputs/sensitive/file_inputs and per-step file_inputs.
  • machine_id > pool_id when starting a new session; both ignored if session_id provided.
  • Client contract: once runs are persisted, failures in downstream Temporal dispatch do not change the HTTP success envelope; response still contains run_ids and those runs are transitioned to ERROR with failure metadata for deterministic polling.
post/v1/runs/chain

Headers

Idempotency-Keystring
Example:550e8400-e29b-41d4-a716-446655440000

Unique key for idempotent requests. If provided, the server ensures the request is processed at most once. Retries with the same key return the original response. SDKs auto-generate this for write requests.

Request body

is_priorityboolean

Prioritize every run in this chain when assigning an eligible machine. Steps still execute in chain order.

shared_inputsobject nullable
shared_sensitive_inputsobject nullable

Shared sensitive inputs (supports nested objects) for all steps

keep_session_after_completionboolean nullable
machine_idstring uuid nullable
pool_idsstring[] nullable

Pool IDs to filter available machines when starting a new session. Machine must belong to ALL of these pools (intersection). Ignored when machine_id is provided.

session_idstring uuid nullable

Response

Returns persisted run_ids for the created chain session. If Temporal dispatch fails after run persistence, this endpoint still returns 201 with run_ids; those runs are marked ERROR and include failure details in subsequent run reads.

session_idstring uuid required
run_idsstring[] required