Skip to content
AGH RuntimeAPI Reference

Loops

AGH Loops HTTP endpoints.

Audience
Operators running durable agent work
Focus
API Reference guidance shaped for scanability, day-two clarity, and operator context.
GET/api/workspaces/{workspace_id}/loop-runs

Path Parameters

workspace_id*string

Workspace id

Query Parameters

loop?string

Filter by Loop name

status?string

Filter by Loop status

origin?string

Filter by catalog or session origin

origin_session?string

Filter by origin session id

live?boolean

Filter by live or terminal status

limit?integer

Maximum number of records to return

Formatint32

Response 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"}
GET/api/workspaces/{workspace_id}/loop-runs/{run_id}

Path Parameters

workspace_id*string

Workspace id

run_id*string

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"}
POST/api/workspaces/{workspace_id}/loop-runs/{run_id}/approve

Path Parameters

workspace_id*string

Workspace id

run_id*string

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"}
GET/api/workspaces/{workspace_id}/loop-runs/{run_id}/events

Path Parameters

workspace_id*string

Workspace id

run_id*string

Loop run id

Query Parameters

after_sequence?string

Resume after this sequence

Header Parameters

Last-Event-ID?string

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"}
POST/api/workspaces/{workspace_id}/loop-runs/{run_id}/pause

Path Parameters

workspace_id*string

Workspace id

run_id*string

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"}
POST/api/workspaces/{workspace_id}/loop-runs/{run_id}/resume

Path Parameters

workspace_id*string

Workspace id

run_id*string

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"}
POST/api/workspaces/{workspace_id}/loop-runs/{run_id}/stop

Path Parameters

workspace_id*string

Workspace id

run_id*string

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"}
GET/api/workspaces/{workspace_id}/loop-runs/{run_id}/turns

Path Parameters

workspace_id*string

Workspace id

run_id*string

Loop run id

Query Parameters

node?string

Filter by Goal node id

item?integer

Filter by nonnegative item index

Formatint32
after_seq?integer

Resume after this run-wide Goal sequence

Formatint32
limit?integer

Page size from 1 to 200; defaults to 50

Formatint32

Response 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"}
GET/api/workspaces/{workspace_id}/loops

Path Parameters

workspace_id*string

Workspace id

Query Parameters

q?string

Search Loop name or contract goal

kind?string

Filter by effective Loop kind

Value in

  • "read_only"
  • "workspace"
category?string

Filter by exact catalog category

status?string

Filter by exact latest-run status

Value in

  • "queued"
  • "running"
  • "watching"
  • "needs-approval"
  • "paused"
  • "done"
  • "no-op"
  • "blocked"
  • "failed"
  • "exhausted"
  • "stalled"
sort?"name"

Stable read-only-first name order

Value in

  • "name"
cursor?string

Continue after this workspace- and query-bound Loop cursor

limit?integer

Maximum number of Loops to return; defaults to 50 and is capped at 200

Formatint32

Response 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"}
POST/api/workspaces/{workspace_id}/loops

Path Parameters

workspace_id*string

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"}
GET/api/workspaces/{workspace_id}/loops/{name}

Path Parameters

workspace_id*string

Workspace id

name*string

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"}
PATCH/api/workspaces/{workspace_id}/loops/{name}

Path Parameters

workspace_id*string

Workspace id

name*string

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"}
DELETE/api/workspaces/{workspace_id}/loops/{name}

Path Parameters

workspace_id*string

Workspace id

name*string

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"
Empty
{  "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"}
GET/api/workspaces/{workspace_id}/loops/{name}/annotations

Path Parameters

workspace_id*string

Workspace id

name*string

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"}
PUT/api/workspaces/{workspace_id}/loops/{name}/annotations

Path Parameters

workspace_id*string

Workspace id

name*string

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"}
GET/api/workspaces/{workspace_id}/loops/{name}/config

Path Parameters

workspace_id*string

Workspace id

name*string

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"}
PUT/api/workspaces/{workspace_id}/loops/{name}/config

Path Parameters

workspace_id*string

Workspace id

name*string

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"}
POST/api/workspaces/{workspace_id}/loops/{name}/run

Path Parameters

workspace_id*string

Workspace id

name*string

Loop name

Query Parameters

dry?boolean

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"}
POST/api/workspaces/{workspace_id}/loops/{name}/validate

Path Parameters

workspace_id*string

Workspace id

name*string

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"}
GET/api/workspaces/{workspace_id}/sessions/{session_id}/goal

Path Parameters

workspace_id*string

Workspace id

session_id*string

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"}