Get Run
Get one run, including its full transcript. Answers 404 `NOT_FOUND` when the run does not belong to this company.
Get one run, including its full transcript.
Answers 404 NOT_FOUND when the run does not belong to this company.
HTTPBearerAuthorizationBearer <token>run_id*Run Iduuidcompany_id*Company IduuidSuccessful Response
application/json- response
agent_id*Agent Iduuidcost_cents*Cost Centscreated_at*|nullended_at*|nullerror*string|nullheartbeat_at?|nullid*Iduuidroutine_id*|nullrunner_id?string|nullstarted_at*|nullstatus*Statussummary*string|nulltask_id*|nulltokens_in*Tokens Intokens_out*Tokens Outtranscript*array<>|nulltrigger*Triggercurl -X GET "https://example.com/api/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/runs/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978", "cost_cents": 0, "created_at": "2019-08-24T14:15:22Z", "ended_at": "2019-08-24T14:15:22Z", "error": "string", "heartbeat_at": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "routine_id": "f53c5ff7-cfb7-4f43-8b79-3421a01d8e2a", "runner_id": "string", "started_at": "2019-08-24T14:15:22Z", "status": "string", "summary": "string", "task_id": "736fde4d-9029-4915-8189-01353d6982cb", "tokens_in": 0, "tokens_out": 0, "transcript": [ {} ], "trigger": "string"}Expire Stale Runs POST
Fail running runs whose runner stopped reporting. A run expires when its last heartbeat (or start time) is older than the lease, `RUN_LEASE_SECONDS` (default 300). Expired runs become `failed`, their running agents move to `error`, and budgets are enforced as for any finished run. Returns the expired run ids as `{"expired": [...]}`. `POST /runs/claim` does this automatically before claiming.
Update Run PATCH
Progress report from the process executing the run. Any report refreshes the lease (`heartbeat_at`); `append_transcript` entries are added to the end of the transcript. Moving to a finished status (`succeeded`, `failed`, `cancelled`) stamps `ended_at`, sets a running agent back to `idle` (`error` after a failure) and enforces its monthly budget, pausing it with a `budget_override` approval when reached. Errors: 400 `RUN_FINISHED` (already finished), 400 `INVALID_STATE` (back to `queued`), 409 `RUN_LEASE_LOST` (`runner_id` differs from the claiming runner). Publishes `run.updated`, plus `agent.updated` and `approval.created` as needed.