Traversers API
Submit work, filter and page through runs, inspect results and paths, cancel or restart a run.
Operations
listTraversers
GET /api/v2/traversers
Requires: invoke role
Generated Python client internals: atfgraph._generated.api.traversers_api.TraversersApi.list_traversers()
Parameters
| Parameter | In | Required | Type |
|---|
cursor | query | no | string |
id_prefix | query | no | string |
limit | query | no | integer |
principal | query | no | string |
root_id | query | no | string |
roots_only | query | no | boolean |
session_id | query | no | string |
since | query | no | integer |
status | query | no | string |
until | query | no | integer |
Responses
Example response 200
{
"items": [
{
"attempt": 0,
"attempts": [
{
"attempt": 0,
"error": {},
"finished_at": 0,
"lease_expires_at": 0,
"started_at": 0,
"status": "string",
"worker_id": "string"
}
],
"cancel_requested": false,
"capability": "string",
"created_at": 0,
"deadline_at": 0,
"error": {},
"finished_at": 0,
"id": "string",
"idempotency_key": "string",
"input": {},
"input_bytes": 0,
"input_truncated": false,
"kind": "string",
"label": "string",
"max_attempts": 0,
"operation_key": "string",
"output": {},
"output_bytes": 0,
"parent_id": "string",
"parent_step_id": "string",
"principal": "string",
"replay": {
"reuse": "string",
"reused_output": false,
"source_id": "string"
},
"root_id": "string",
"seq": 0,
"session_id": "string",
"started_at": 0,
"status": "queued",
"step_id": "string",
"submitted_by": "string",
"target": "string",
"timeout_seconds": 0,
"updated_at": 0,
"version": "string"
}
],
"next_cursor": "string"
}
submitTraverser
POST /api/v2/traversers
Requires: invoke role
Admit durable execution, pinned to the requested or resolved immutable version. Repeating an idempotency_key with identical payload returns the existing admission; different payload conflicts. Nested submissions require the active parent lease and inherit session and root. Session root turns serialize; children may execute concurrently. A realtime capability is a session entrypoint, not a traverser: submitting to it is refused with 400 realtime_entrypoint.
Generated Python client internals: atfgraph._generated.api.traversers_api.TraversersApi.submit_traverser()
Request body
SubmitTraverser (required)
{
"input": {},
"target": "string"
}
Responses
Example response 202
{
"id": "string",
"root_id": "string",
"status": "queued",
"step_id": "string"
}
getTraverser
GET /api/v2/traversers/{id}
Requires: invoke role
Generated Python client internals: atfgraph._generated.api.traversers_api.TraversersApi.get_traverser()
Parameters
| Parameter | In | Required | Type |
|---|
id | path | yes | string |
lease_token | query | no | string |
step_id | query | no | string |
task_id | query | no | string |
Responses
Example response 200
{
"attempt": 0,
"attempts": [
{
"attempt": 0,
"error": {},
"finished_at": 0,
"lease_expires_at": 0,
"started_at": 0,
"status": "string",
"worker_id": "string"
}
],
"cancel_requested": false,
"capability": "string",
"created_at": 0,
"deadline_at": 0,
"error": {},
"finished_at": 0,
"id": "string",
"idempotency_key": "string",
"input": {},
"input_bytes": 0,
"input_truncated": false,
"kind": "string",
"label": "string",
"max_attempts": 0,
"operation_key": "string",
"output": {},
"output_bytes": 0,
"parent_id": "string",
"parent_step_id": "string",
"principal": "string",
"replay": {
"reuse": "string",
"reused_output": false,
"source_id": "string"
},
"root_id": "string",
"seq": 0,
"session_id": "string",
"started_at": 0,
"status": "queued",
"step_id": "string",
"submitted_by": "string",
"target": "string",
"timeout_seconds": 0,
"updated_at": 0,
"version": "string"
}
cancelTraverser
POST /api/v2/traversers/{id}/cancel
Requires: invoke role
Durably cancel the invocation and its unfinished descendants; later stale completion is rejected.
Generated Python client internals: atfgraph._generated.api.traversers_api.TraversersApi.cancel_traverser()
Parameters
| Parameter | In | Required | Type |
|---|
id | path | yes | string |
Responses
Example response 200
{
"attempt": 0,
"attempts": [
{
"attempt": 0,
"error": {},
"finished_at": 0,
"lease_expires_at": 0,
"started_at": 0,
"status": "string",
"worker_id": "string"
}
],
"cancel_requested": false,
"capability": "string",
"created_at": 0,
"deadline_at": 0,
"error": {},
"finished_at": 0,
"id": "string",
"idempotency_key": "string",
"input": {},
"input_bytes": 0,
"input_truncated": false,
"kind": "string",
"label": "string",
"max_attempts": 0,
"operation_key": "string",
"output": {},
"output_bytes": 0,
"parent_id": "string",
"parent_step_id": "string",
"principal": "string",
"replay": {
"reuse": "string",
"reused_output": false,
"source_id": "string"
},
"root_id": "string",
"seq": 0,
"session_id": "string",
"started_at": 0,
"status": "queued",
"step_id": "string",
"submitted_by": "string",
"target": "string",
"timeout_seconds": 0,
"updated_at": 0,
"version": "string"
}
getPath
GET /api/v2/traversers/{id}/path
Requires: invoke role
Generated Python client internals: atfgraph._generated.api.traversers_api.TraversersApi.get_path()
Parameters
| Parameter | In | Required | Type |
|---|
id | path | yes | string |
lease_token | query | no | string |
limit | query | no | integer |
step_id | query | no | string |
task_id | query | no | string |
Responses
Example response 200
{
"id": "string",
"items": [
{
"attempt": 0,
"attempts": [
{
"attempt": 0,
"error": {},
"finished_at": 0,
"lease_expires_at": 0,
"started_at": 0,
"status": "string",
"worker_id": "string"
}
],
"cancel_requested": false,
"capability": "string",
"created_at": 0,
"deadline_at": 0,
"error": {},
"finished_at": 0,
"id": "string",
"idempotency_key": "string",
"input": {},
"input_bytes": 0,
"input_truncated": false,
"kind": "string",
"label": "string",
"max_attempts": 0,
"operation_key": "string",
"output": {},
"output_bytes": 0,
"parent_id": "string",
"parent_step_id": "string",
"principal": "string",
"replay": {
"reuse": "string",
"reused_output": false,
"source_id": "string"
},
"root_id": "string",
"seq": 0,
"session_id": "string",
"started_at": 0,
"status": "queued",
"step_id": "string",
"submitted_by": "string",
"target": "string",
"timeout_seconds": 0,
"updated_at": 0,
"version": "string"
}
],
"root_id": "string",
"steps_returned": 0,
"steps_total": 0,
"truncated": false
}
restartTraverser
POST /api/v2/traversers/{id}/restart
Requires: invoke role
Generated Python client internals: atfgraph._generated.api.traversers_api.TraversersApi.restart_traverser()
Parameters
| Parameter | In | Required | Type |
|---|
id | path | yes | string |
Request body
RestartTraverser (required)
{
"fork": false,
"idempotency_key": "string",
"input": {},
"reason": "string",
"reuse": "string",
"scope": "string",
"session_id": "string"
}
Responses
Example response 202
{
"id": "string",
"root_id": "string",
"status": "queued",
"step_id": "string"
}