cancel eval
cancel_evalStop a pending or running eval run before more generation or judge calls are billed. Cancel misconfigured or unneeded runs; completed runs are left unchanged.
Instructions
Stop a PENDING or RUNNING eval run so no further generations or judge calls are billed — use it when a run was misconfigured or is no longer needed. POST /v1/evals/{id}/cancel (API-key scope: evals:write). Returns: 200 with the run object (same shape as GET /v1/evals/{id}) with status "CANCELLED" and error set to "Cancelled by <email of the key's minting user>"; progress_ratio reflects work completed so far. Notes: Requires OWNER/ADMIN minting user (403) — same gate as create, because it controls wallet spend. A run already DONE|ERROR|CANCELLED is refused 400 ("This run is already done — only a pending or running eval can be cancelled."); a terminal result is never overwritten. 404 if not in this workspace. Cancelled runs are inert: no future tick claims them, so nothing more is billed; a slice already in flight finishes its bounded batch (already-paid work), and in the rare race where that was the last slice the run may still land DONE with real results. No request body is read.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"id": "<id>"
},
"name": "cancel_eval"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The eval run id. |