Expire Stale Runs
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.
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.
HTTPBearerAuthorizationBearer <token>company_id*Company IduuidSuccessful Response
application/json- response
[key: string]?anycurl -X POST "https://example.com/api/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/runs/expire-stale"{}Claim Run POST
Atomically take the oldest queued run this runner can execute. Skips agents that are dormant or already running something, marks the run running under the caller's runner_id and returns its full context. Answers 204 when there is nothing to do. Runners must start runs through this, never by PATCHing status=running, so two runners can't execute the same run.
Get Run GET
Get one run, including its full transcript. Answers 404 `NOT_FOUND` when the run does not belong to this company.