Threads
A thread accepts only metadata. Use GET/PATCH/DELETE /v1/threads/{thread_id} to read, replace metadata, or delete it. Deletion also removes thread checkpoints from the configured checkpointer when supported.
State endpoints:
The fork body is {"checkpoint_id":"...","values":{},"as_node":"..."}; every field is optional. The response is the runtime config for the new lineage.
Create a run
Use POST /v1/runs for stateless execution. The body is identical, but no thread checkpoint lineage is created.
Idempotency-Key is 1–255 characters and unique within a tenant. Same key + same request returns the original run; same key + different request returns 409 idempotency_conflict.
Read and wait
Join timeout must be greater than 0 and no more than 300 seconds. If the run is not terminal or paused, the endpoint returns 408 join_timeout; clients may continue waiting.
Cancel, resume, and redrive
- Cancellation is cooperative and usually returns
cancelling first; nodes and providers should honor the cancellation token.
- Only a
paused run can resume. The response is a new run whose metadata.resumed_from_run_id points to the original.
- Only
failed or dead_letter runs can redrive. Redrive preserves input/config/version and re-enqueues the run.
Redrive does not mean “retry with edited input.” When business input or graph version changes, create a new run with a new idempotency key.