Loops
AGH Loops HTTP endpoints.
- Audience
- Operators running durable agent work
- Focus
- API Reference guidance shaped for scanability, day-two clarity, and operator context.
/api/workspaces/{workspace_id}/loop-runsPath Parameters
Workspace id
Query Parameters
Filter by Loop name
Filter by Loop status
Filter by catalog or session origin
Filter by origin session id
Filter by live or terminal status
Maximum number of records to return
int32Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/workspaces/string/loop-runs"{ "aggregates": { "failed": 0, "live": 0, "succeeded": 0, "terminal": 0, "total": 0 }, "runs": [ { "active_gate_id": "string", "budget_approval_seq": 0, "budget_on_exceeded": "halt", "budget_tokens": 0, "budget_wall_sec": 0, "created_at": "2019-08-24T14:15:22Z", "definition_digest": "string", "definition_version": 0, "generation": 0, "id": "string", "inputs": { "property1": null, "property2": null }, "iteration_cap": 0, "last_progress_at": "2019-08-24T14:15:22Z", "loop_name": "string", "parent_loop_run_id": "string", "pause_requested": true, "reattempt_strategy": "failed_only", "resolved_network_participation": { "mode": "local", "source": "explicit_request", "version": "network-participation/v1" }, "start_metadata": { "property1": null, "property2": null }, "started_at": "2019-08-24T14:15:22Z", "started_by_kind": "string", "started_by_ref": "string", "started_origin_kind": "string", "started_origin_ref": "string", "status": "queued", "tokens_used": 0, "workspace_id": "string" } ]}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loop-runs/{run_id}Path Parameters
Workspace id
Loop run id
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/workspaces/string/loop-runs/string"{ "executed_definition": { "apiVersion": "string", "concurrency": "string", "contract": { "boundaries": [ "string" ], "budget": { "on_exceeded": "halt", "tokens": 0, "wall_clock_sec": 0 }, "constraints": [ "string" ], "definition_of_done": "string", "goal": "string", "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress": { "hash_fields": [ "string" ], "window": 0 }, "stop_when": "string", "terminal_states": [ "string" ], "verification": [ { "agent": "string", "check": "string", "expect": "string", "id": "string", "inputs": { "property1": null, "property2": null }, "model": "string", "prompt": "string", "rubric": "string", "tool": "string", "type": "string" } ] }, "graph": { "edges": [ { "from": "string", "to": "string", "property1": null, "property2": null } ], "nodes": [ { "batch_size": 0, "body": { "property1": null, "property2": null }, "class": "action", "collection": "string", "condition": "string", "contract": { "property1": null, "property2": null }, "criteria": [ { "agent": "string", "check": "string", "expect": "string", "id": "string", "inputs": { "property1": null, "property2": null }, "prompt": "string", "rubric": "string", "tool": "string", "type": "string", "property1": null, "property2": null } ], "events": [ { "filter": "string", "kind": "task.status_changed" } ], "filter": "string", "harvest": { "property1": null, "property2": null }, "id": "string", "input_ref": "string", "kind": "string", "max_fan_out": 0, "max_parallel": 0, "max_revisions": 0, "on_result": { "property1": null, "property2": null }, "params": { "property1": null, "property2": null }, "parse": "string", "pattern": "string", "produces": { "property1": null, "property2": null }, "retry": { "property1": null, "property2": null }, "session": { "property1": null, "property2": null }, "timeout": "string", "verdict_policy": "string", "watch": { "property1": null, "property2": null }, "property1": null, "property2": null } ] }, "inputs": { "property1": { "default": null, "description": "string", "ref": { "kind": "string" }, "required": true, "type": "string" }, "property2": { "default": null, "description": "string", "ref": { "kind": "string" }, "required": true, "type": "string" } }, "kind": "string", "meta": { "catalog": { "category": "string", "keywords": [ "string" ], "use_when": "string" }, "description": "string", "name": "string", "version": 0 }, "network_participation": { "mode": "local" }, "start": [ { "input_mapping": { "property1": "string", "property2": "string" }, "inputs": { "property1": null, "property2": null }, "kind": "string" } ] }, "generations": [ { "generation": 0, "outputs": [ { "child_loop_run_id": "string", "generation": 0, "item_index": 0, "node_id": "string", "output_ref": "string", "status": "string", "task_run_id": "string" } ] } ], "run": { "active_gate_id": "string", "budget_approval_seq": 0, "budget_on_exceeded": "halt", "budget_tokens": 0, "budget_wall_sec": 0, "created_at": "2019-08-24T14:15:22Z", "definition_digest": "string", "definition_version": 0, "generation": 0, "id": "string", "inputs": { "property1": null, "property2": null }, "iteration_cap": 0, "last_progress_at": "2019-08-24T14:15:22Z", "loop_name": "string", "parent_loop_run_id": "string", "pause_requested": true, "reattempt_strategy": "failed_only", "resolved_network_participation": { "mode": "local", "source": "explicit_request", "version": "network-participation/v1" }, "start_metadata": { "property1": null, "property2": null }, "started_at": "2019-08-24T14:15:22Z", "started_by_kind": "string", "started_by_ref": "string", "started_origin_kind": "string", "started_origin_ref": "string", "status": "queued", "tokens_used": 0, "workspace_id": "string" }, "watch_events": { "cursors": { "property1": 0, "property2": 0 }, "last_wake_at": "2019-08-24T14:15:22Z", "subscriptions": [ { "filter": "string", "kind": "task.status_changed" } ] }}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loop-runs/{run_id}/approvePath Parameters
Workspace id
Loop run id
Request Body
application/json
JSON request body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/workspaces/string/loop-runs/string/approve" \ -H "Content-Type: application/json" \ -d '{ "decision": "approve", "gate_id": "string" }'{ "property1": true, "property2": true}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loop-runs/{run_id}/eventsPath Parameters
Workspace id
Loop run id
Query Parameters
Resume after this sequence
Header Parameters
Last received event sequence
Response Body
text/event-stream
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/workspaces/string/loop-runs/string/events"{ "at": "2019-08-24T14:15:22Z", "id": "string", "kind": "node_running", "loop_run_id": "string", "payload": null, "seq": 0, "workspace_id": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loop-runs/{run_id}/pausePath Parameters
Workspace id
Loop run id
Request Body
application/json
JSON request body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/workspaces/string/loop-runs/string/pause" \ -H "Content-Type: application/json" \ -d '{ "property1": null, "property2": null }'{ "property1": true, "property2": true}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loop-runs/{run_id}/resumePath Parameters
Workspace id
Loop run id
Request Body
application/json
JSON request body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/workspaces/string/loop-runs/string/resume" \ -H "Content-Type: application/json" \ -d '{ "property1": null, "property2": null }'{ "property1": true, "property2": true}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loop-runs/{run_id}/stopPath Parameters
Workspace id
Loop run id
Request Body
application/json
JSON request body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/workspaces/string/loop-runs/string/stop" \ -H "Content-Type: application/json" \ -d '{ "property1": null, "property2": null }'{ "property1": true, "property2": true}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loop-runs/{run_id}/turnsPath Parameters
Workspace id
Loop run id
Query Parameters
Filter by Goal node id
Filter by nonnegative item index
int32Resume after this run-wide Goal sequence
int32Page size from 1 to 200; defaults to 50
int32Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/workspaces/string/loop-runs/string/turns"{ "next_after_seq": 0, "turns": [ { "actor_id": "string", "actor_kind": "string", "binding_epoch": 0, "binding_handle": "string", "blocking_issues": [ { "id": "string", "note": "string" } ], "ended_at": "2019-08-24T14:15:22Z", "evidence_ref": "string", "generation": 0, "item_index": 0, "node_id": "string", "prompt_attempt": 0, "prompt_id": "string", "prompt_ref": "string", "reason_code": "goal_not_active", "result_status": "completed", "seq": 0, "session_id": "string", "started_at": "2019-08-24T14:15:22Z", "stop_reason": "end_turn", "tokens_used": 0, "turn": 0, "verdict_outcome": "approved" } ]}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "outcome": "started", "reason_code": "goal_not_active", "replaced_run_id": "string", "snapshot": { "bound_session_id": "string", "cause": "goal_not_active", "context": { "nudge_ratio": 0.1, "ratio": 0, "reported_at": "2019-08-24T14:15:22Z", "size": 0, "state": "known", "used": 0 }, "contract_summary": "string", "last_verdict": { "blocking_issues": [ { "id": "string", "note": "string" } ], "evaluated_at": "2019-08-24T14:15:22Z", "evidence_ref": "string", "outcome": "approved" }, "live": true, "node_id": "string", "objective": "string", "origin_session_id": "string", "run_id": "string", "run_status": "queued", "status": "active", "turn_limit": 0, "turns_used": 0 }}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loopsPath Parameters
Workspace id
Query Parameters
Search Loop name or contract goal
Filter by effective Loop kind
Value in
- "read_only"
- "workspace"
Filter by exact catalog category
Filter by exact latest-run status
Value in
- "queued"
- "running"
- "watching"
- "needs-approval"
- "paused"
- "done"
- "no-op"
- "blocked"
- "failed"
- "exhausted"
- "stalled"
Stable read-only-first name order
Value in
- "name"
Continue after this workspace- and query-bound Loop cursor
Maximum number of Loops to return; defaults to 50 and is capped at 200
int32Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/workspaces/string/loops"{ "facets": { "categories": { "property1": 0, "property2": 0 }, "kinds": { "property1": 0, "property2": 0 }, "statuses": { "property1": 0, "property2": 0 } }, "loops": [ { "aggregate_30d": { "failed": 0, "runs": 0, "succeeded": 0 }, "catalog": { "category": "string", "keywords": [ "string" ], "use_when": "string" }, "contract": { "boundaries": [ "string" ], "budget": { "on_exceeded": "halt", "tokens": 0, "wall_clock_sec": 0 }, "constraints": [ "string" ], "definition_of_done": "string", "goal": "string", "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress": { "hash_fields": [ "string" ], "window": 0 }, "stop_when": "string", "terminal_states": [ "string" ], "verification": [ { "agent": "string", "check": "string", "expect": "string", "id": "string", "inputs": { "property1": null, "property2": null }, "model": "string", "prompt": "string", "rubric": "string", "tool": "string", "type": "string" } ] }, "description": "string", "inputs": { "property1": { "default": null, "description": "string", "ref": { "kind": "string" }, "required": true, "type": "string" }, "property2": { "default": null, "description": "string", "ref": { "kind": "string" }, "required": true, "type": "string" } }, "last_run": { "created_at": "2019-08-24T14:15:22Z", "id": "string", "status": "queued" }, "name": "string", "source": "marketplace", "start": [ { "input_mapping": { "property1": "string", "property2": "string" }, "inputs": { "property1": null, "property2": null }, "kind": "string" } ], "success_rate_30d": 0.1, "version": 0 } ], "page": { "has_more": true, "limit": 0, "next_cursor": "string", "total": 0 }}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loopsPath Parameters
Workspace id
Request Body
application/json
JSON request body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/workspaces/string/loops" \ -H "Content-Type: application/json" \ -d '{}'{ "loop": { "catalog": { "category": "string", "keywords": [ "string" ], "use_when": "string" }, "definition": { "apiVersion": "string", "concurrency": "string", "contract": { "boundaries": [ "string" ], "budget": { "on_exceeded": "halt", "tokens": 0, "wall_clock_sec": 0 }, "constraints": [ "string" ], "definition_of_done": "string", "goal": "string", "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress": { "hash_fields": [ "string" ], "window": 0 }, "stop_when": "string", "terminal_states": [ "string" ], "verification": [ { "agent": "string", "check": "string", "expect": "string", "id": "string", "inputs": { "property1": null, "property2": null }, "model": "string", "prompt": "string", "rubric": "string", "tool": "string", "type": "string" } ] }, "graph": { "edges": [ { "from": "string", "to": "string", "property1": null, "property2": null } ], "nodes": [ { "batch_size": 0, "body": { "property1": null, "property2": null }, "class": "action", "collection": "string", "condition": "string", "contract": { "property1": null, "property2": null }, "criteria": [ { "agent": "string", "check": "string", "expect": "string", "id": "string", "inputs": { "property1": null, "property2": null }, "prompt": "string", "rubric": "string", "tool": "string", "type": "string", "property1": null, "property2": null } ], "events": [ { "filter": "string", "kind": "task.status_changed" } ], "filter": "string", "harvest": { "property1": null, "property2": null }, "id": "string", "input_ref": "string", "kind": "string", "max_fan_out": 0, "max_parallel": 0, "max_revisions": 0, "on_result": { "property1": null, "property2": null }, "params": { "property1": null, "property2": null }, "parse": "string", "pattern": "string", "produces": { "property1": null, "property2": null }, "retry": { "property1": null, "property2": null }, "session": { "property1": null, "property2": null }, "timeout": "string", "verdict_policy": "string", "watch": { "property1": null, "property2": null }, "property1": null, "property2": null } ] }, "inputs": { "property1": { "default": null, "description": "string", "ref": { "kind": "string" }, "required": true, "type": "string" }, "property2": { "default": null, "description": "string", "ref": { "kind": "string" }, "required": true, "type": "string" } }, "kind": "string", "meta": { "catalog": { "category": "string", "keywords": [ "string" ], "use_when": "string" }, "description": "string", "name": "string", "version": 0 }, "network_participation": { "mode": "local" }, "start": [ { "input_mapping": { "property1": "string", "property2": "string" }, "inputs": { "property1": null, "property2": null }, "kind": "string" } ] }, "description": "string", "name": "string", "source": "marketplace", "version": 0 }}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "errors": [ { "code": "string", "message": "string", "node_id": "string", "severity": "error" } ], "valid": true}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loops/{name}Path Parameters
Workspace id
Loop name
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/workspaces/string/loops/string"{ "loop": { "catalog": { "category": "string", "keywords": [ "string" ], "use_when": "string" }, "definition": { "apiVersion": "string", "concurrency": "string", "contract": { "boundaries": [ "string" ], "budget": { "on_exceeded": "halt", "tokens": 0, "wall_clock_sec": 0 }, "constraints": [ "string" ], "definition_of_done": "string", "goal": "string", "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress": { "hash_fields": [ "string" ], "window": 0 }, "stop_when": "string", "terminal_states": [ "string" ], "verification": [ { "agent": "string", "check": "string", "expect": "string", "id": "string", "inputs": { "property1": null, "property2": null }, "model": "string", "prompt": "string", "rubric": "string", "tool": "string", "type": "string" } ] }, "graph": { "edges": [ { "from": "string", "to": "string", "property1": null, "property2": null } ], "nodes": [ { "batch_size": 0, "body": { "property1": null, "property2": null }, "class": "action", "collection": "string", "condition": "string", "contract": { "property1": null, "property2": null }, "criteria": [ { "agent": "string", "check": "string", "expect": "string", "id": "string", "inputs": { "property1": null, "property2": null }, "prompt": "string", "rubric": "string", "tool": "string", "type": "string", "property1": null, "property2": null } ], "events": [ { "filter": "string", "kind": "task.status_changed" } ], "filter": "string", "harvest": { "property1": null, "property2": null }, "id": "string", "input_ref": "string", "kind": "string", "max_fan_out": 0, "max_parallel": 0, "max_revisions": 0, "on_result": { "property1": null, "property2": null }, "params": { "property1": null, "property2": null }, "parse": "string", "pattern": "string", "produces": { "property1": null, "property2": null }, "retry": { "property1": null, "property2": null }, "session": { "property1": null, "property2": null }, "timeout": "string", "verdict_policy": "string", "watch": { "property1": null, "property2": null }, "property1": null, "property2": null } ] }, "inputs": { "property1": { "default": null, "description": "string", "ref": { "kind": "string" }, "required": true, "type": "string" }, "property2": { "default": null, "description": "string", "ref": { "kind": "string" }, "required": true, "type": "string" } }, "kind": "string", "meta": { "catalog": { "category": "string", "keywords": [ "string" ], "use_when": "string" }, "description": "string", "name": "string", "version": 0 }, "network_participation": { "mode": "local" }, "start": [ { "input_mapping": { "property1": "string", "property2": "string" }, "inputs": { "property1": null, "property2": null }, "kind": "string" } ] }, "description": "string", "name": "string", "source": "marketplace", "version": 0 }}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loops/{name}Path Parameters
Workspace id
Loop name
Request Body
application/json
JSON request body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/api/workspaces/string/loops/string" \ -H "Content-Type: application/json" \ -d '{ "definition": { "apiVersion": "string", "contract": { "budget": { "tokens": 0, "wall_clock_sec": 0 }, "definition_of_done": "string", "goal": "string", "iteration_cap": 0, "no_progress": { "window": 0 } }, "graph": { "edges": [ { "from": "string", "to": "string", "property1": null, "property2": null } ], "nodes": [ { "class": "action", "id": "string", "kind": "string", "property1": null, "property2": null } ] }, "kind": "string", "meta": { "catalog": {}, "name": "string" } } }'{ "loop": { "catalog": { "category": "string", "keywords": [ "string" ], "use_when": "string" }, "definition": { "apiVersion": "string", "concurrency": "string", "contract": { "boundaries": [ "string" ], "budget": { "on_exceeded": "halt", "tokens": 0, "wall_clock_sec": 0 }, "constraints": [ "string" ], "definition_of_done": "string", "goal": "string", "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress": { "hash_fields": [ "string" ], "window": 0 }, "stop_when": "string", "terminal_states": [ "string" ], "verification": [ { "agent": "string", "check": "string", "expect": "string", "id": "string", "inputs": { "property1": null, "property2": null }, "model": "string", "prompt": "string", "rubric": "string", "tool": "string", "type": "string" } ] }, "graph": { "edges": [ { "from": "string", "to": "string", "property1": null, "property2": null } ], "nodes": [ { "batch_size": 0, "body": { "property1": null, "property2": null }, "class": "action", "collection": "string", "condition": "string", "contract": { "property1": null, "property2": null }, "criteria": [ { "agent": "string", "check": "string", "expect": "string", "id": "string", "inputs": { "property1": null, "property2": null }, "prompt": "string", "rubric": "string", "tool": "string", "type": "string", "property1": null, "property2": null } ], "events": [ { "filter": "string", "kind": "task.status_changed" } ], "filter": "string", "harvest": { "property1": null, "property2": null }, "id": "string", "input_ref": "string", "kind": "string", "max_fan_out": 0, "max_parallel": 0, "max_revisions": 0, "on_result": { "property1": null, "property2": null }, "params": { "property1": null, "property2": null }, "parse": "string", "pattern": "string", "produces": { "property1": null, "property2": null }, "retry": { "property1": null, "property2": null }, "session": { "property1": null, "property2": null }, "timeout": "string", "verdict_policy": "string", "watch": { "property1": null, "property2": null }, "property1": null, "property2": null } ] }, "inputs": { "property1": { "default": null, "description": "string", "ref": { "kind": "string" }, "required": true, "type": "string" }, "property2": { "default": null, "description": "string", "ref": { "kind": "string" }, "required": true, "type": "string" } }, "kind": "string", "meta": { "catalog": { "category": "string", "keywords": [ "string" ], "use_when": "string" }, "description": "string", "name": "string", "version": 0 }, "network_participation": { "mode": "local" }, "start": [ { "input_mapping": { "property1": "string", "property2": "string" }, "inputs": { "property1": null, "property2": null }, "kind": "string" } ] }, "description": "string", "name": "string", "source": "marketplace", "version": 0 }}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "current_version": 0, "error": "string"}{ "errors": [ { "code": "string", "message": "string", "node_id": "string", "severity": "error" } ], "valid": true}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loops/{name}Path Parameters
Workspace id
Loop name
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/api/workspaces/string/loops/string"{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loops/{name}/annotationsPath Parameters
Workspace id
Loop name
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/workspaces/string/loops/string/annotations"{ "annotations": [ { "node_id": "string", "x": 0.1, "y": 0.1 } ]}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loops/{name}/annotationsPath Parameters
Workspace id
Loop name
Request Body
application/json
JSON request body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/api/workspaces/string/loops/string/annotations" \ -H "Content-Type: application/json" \ -d '{ "annotations": [ { "node_id": "string", "x": 0.1, "y": 0.1 } ] }'{ "annotations": [ { "node_id": "string", "x": 0.1, "y": 0.1 } ]}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loops/{name}/configPath Parameters
Workspace id
Loop name
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/workspaces/string/loops/string/config"{ "config": { "budget_on_exceeded": "halt", "budget_tokens": 0, "budget_wall_sec": 0, "enabled_checks_json": null, "fan_out_width": 0, "gate_max_revisions": 0, "human_gate_enabled": true, "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress_window": 0, "reattempt_strategy": "failed_only" }, "effective_config": { "budget_on_exceeded": "halt", "budget_tokens": 0, "budget_wall_sec": 0, "enabled_checks_json": null, "fan_out_width": 0, "gate_max_revisions": 0, "human_gate_enabled": true, "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress_window": 0, "reattempt_strategy": "failed_only" }}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loops/{name}/configPath Parameters
Workspace id
Loop name
Request Body
application/json
JSON request body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/api/workspaces/string/loops/string/config" \ -H "Content-Type: application/json" \ -d '{ "config": {} }'{ "config": { "budget_on_exceeded": "halt", "budget_tokens": 0, "budget_wall_sec": 0, "enabled_checks_json": null, "fan_out_width": 0, "gate_max_revisions": 0, "human_gate_enabled": true, "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress_window": 0, "reattempt_strategy": "failed_only" }, "effective_config": { "budget_on_exceeded": "halt", "budget_tokens": 0, "budget_wall_sec": 0, "enabled_checks_json": null, "fan_out_width": 0, "gate_max_revisions": 0, "human_gate_enabled": true, "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress_window": 0, "reattempt_strategy": "failed_only" }}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loops/{name}/runPath Parameters
Workspace id
Loop name
Query Parameters
Preview the run without creating durable state
Request Body
application/json
JSON request body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/workspaces/string/loops/string/run" \ -H "Content-Type: application/json" \ -d '{}'{ "dry_run": { "contract": { "boundaries": [ "string" ], "budget": { "on_exceeded": "halt", "tokens": 0, "wall_clock_sec": 0 }, "constraints": [ "string" ], "definition_of_done": "string", "goal": "string", "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress": { "hash_fields": [ "string" ], "window": 0 }, "stop_when": "string", "terminal_states": [ "string" ], "verification": [ { "agent": "string", "check": "string", "expect": "string", "id": "string", "inputs": { "property1": null, "property2": null }, "model": "string", "prompt": "string", "rubric": "string", "tool": "string", "type": "string" } ] }, "effective_config": { "budget_on_exceeded": "halt", "budget_tokens": 0, "budget_wall_sec": 0, "enabled_checks_json": null, "fan_out_width": 0, "gate_max_revisions": 0, "human_gate_enabled": true, "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress_window": 0, "reattempt_strategy": "failed_only" }, "generation": 0, "loop_name": "string", "nodes": [ { "class": "action", "depends_on": [ "string" ], "id": "string", "kind": "string" } ], "resolved_inputs": { "property1": null, "property2": null }, "resolved_network_participation": { "mode": "local", "source": "explicit_request", "version": "network-participation/v1" } }, "run": { "active_gate_id": "string", "budget_approval_seq": 0, "budget_on_exceeded": "halt", "budget_tokens": 0, "budget_wall_sec": 0, "created_at": "2019-08-24T14:15:22Z", "definition_digest": "string", "definition_version": 0, "generation": 0, "id": "string", "inputs": { "property1": null, "property2": null }, "iteration_cap": 0, "last_progress_at": "2019-08-24T14:15:22Z", "loop_name": "string", "parent_loop_run_id": "string", "pause_requested": true, "reattempt_strategy": "failed_only", "resolved_network_participation": { "mode": "local", "source": "explicit_request", "version": "network-participation/v1" }, "start_metadata": { "property1": null, "property2": null }, "started_at": "2019-08-24T14:15:22Z", "started_by_kind": "string", "started_by_ref": "string", "started_origin_kind": "string", "started_origin_ref": "string", "status": "queued", "tokens_used": 0, "workspace_id": "string" }}{ "dry_run": { "contract": { "boundaries": [ "string" ], "budget": { "on_exceeded": "halt", "tokens": 0, "wall_clock_sec": 0 }, "constraints": [ "string" ], "definition_of_done": "string", "goal": "string", "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress": { "hash_fields": [ "string" ], "window": 0 }, "stop_when": "string", "terminal_states": [ "string" ], "verification": [ { "agent": "string", "check": "string", "expect": "string", "id": "string", "inputs": { "property1": null, "property2": null }, "model": "string", "prompt": "string", "rubric": "string", "tool": "string", "type": "string" } ] }, "effective_config": { "budget_on_exceeded": "halt", "budget_tokens": 0, "budget_wall_sec": 0, "enabled_checks_json": null, "fan_out_width": 0, "gate_max_revisions": 0, "human_gate_enabled": true, "iteration_cap": 0, "model_defaults": { "judge": "string", "worker": "string" }, "no_progress_window": 0, "reattempt_strategy": "failed_only" }, "generation": 0, "loop_name": "string", "nodes": [ { "class": "action", "depends_on": [ "string" ], "id": "string", "kind": "string" } ], "resolved_inputs": { "property1": null, "property2": null }, "resolved_network_participation": { "mode": "local", "source": "explicit_request", "version": "network-participation/v1" } }, "run": { "active_gate_id": "string", "budget_approval_seq": 0, "budget_on_exceeded": "halt", "budget_tokens": 0, "budget_wall_sec": 0, "created_at": "2019-08-24T14:15:22Z", "definition_digest": "string", "definition_version": 0, "generation": 0, "id": "string", "inputs": { "property1": null, "property2": null }, "iteration_cap": 0, "last_progress_at": "2019-08-24T14:15:22Z", "loop_name": "string", "parent_loop_run_id": "string", "pause_requested": true, "reattempt_strategy": "failed_only", "resolved_network_participation": { "mode": "local", "source": "explicit_request", "version": "network-participation/v1" }, "start_metadata": { "property1": null, "property2": null }, "started_at": "2019-08-24T14:15:22Z", "started_by_kind": "string", "started_by_ref": "string", "started_origin_kind": "string", "started_origin_ref": "string", "status": "queued", "tokens_used": 0, "workspace_id": "string" }}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/loops/{name}/validatePath Parameters
Workspace id
Loop name
Request Body
application/json
JSON request body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/workspaces/string/loops/string/validate" \ -H "Content-Type: application/json" \ -d '{ "definition": { "apiVersion": "string", "contract": { "budget": { "tokens": 0, "wall_clock_sec": 0 }, "definition_of_done": "string", "goal": "string", "iteration_cap": 0, "no_progress": { "window": 0 } }, "graph": { "edges": [ { "from": "string", "to": "string", "property1": null, "property2": null } ], "nodes": [ { "class": "action", "id": "string", "kind": "string", "property1": null, "property2": null } ] }, "kind": "string", "meta": { "catalog": {}, "name": "string" } } }'{ "errors": [ { "code": "string", "message": "string", "node_id": "string", "severity": "error" } ], "valid": true}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "errors": [ { "code": "string", "message": "string", "node_id": "string", "severity": "error" } ], "valid": true}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}/api/workspaces/{workspace_id}/sessions/{session_id}/goalPath Parameters
Workspace id
Session id
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/workspaces/string/sessions/string/goal"{ "goal": { "bound_session_id": "string", "cause": "goal_not_active", "context": { "nudge_ratio": 0.1, "ratio": 0, "reported_at": "2019-08-24T14:15:22Z", "size": 0, "state": "known", "used": 0 }, "contract_summary": "string", "last_verdict": { "blocking_issues": [ { "id": "string", "note": "string" } ], "evaluated_at": "2019-08-24T14:15:22Z", "evidence_ref": "string", "outcome": "approved" }, "live": true, "node_id": "string", "objective": "string", "origin_session_id": "string", "run_id": "string", "run_status": "queued", "status": "active", "turn_limit": 0, "turns_used": 0 }}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}{ "diagnostic": { "category": "string", "code": "string", "data_freshness": "string", "doc_url": "string", "evidence": { "property1": null, "property2": null }, "id": "string", "message": "string", "severity": "string", "suggested_command": "string", "title": "string" }, "error": "string"}