latestOpenAPI 3.1.0raw.githubusercontent.com2026-08-20150217601.0 KB

8bf151c2dd8b

Eval runs

Cancel a run

Request cancellation of an in-flight run; marks the run and its pending/running iterations cancelled. A no-op success when the run is already cancelled; returns 409 when the run already reached a terminal status (completed/failed/timed_out).

post/projects/{projectId}/eval-runs/{runId}/cancel

Path parameters

projectIdstring required

ID of the hosted project that contains the server.

runIdstring required

Eval run ID, as returned by POST /eval-runs.

Response

The cancelled run.

idstring required
suiteIdstring required
runNumberinteger nullable
status'pending' | 'running' | 'completed' | 'failed' | 'cancelled' required

Poll until terminal: completed, failed, or cancelled.

result'passed' | 'failed' | 'null' nullable

Pass/fail verdict once terminal.

source'ui' | 'api' | 'sdk' required

Run origin. API-created runs are api.

notesstring nullable
createdAtnumber required

Epoch milliseconds.

completedAtnumber nullable

Epoch milliseconds, null until terminal.

scoreIntegrity'valid' | 'invalid' | 'null' nullable

Whether the run's score evidence verified at ingest. TRI-STATE, and the third state matters: valid means the backend checked and definitions and results agree; invalid means they do not; null (or absent) means NO VERDICT was produced, on a deployment that predates integrity checking. A score gate must treat null exactly like invalid — absent evidence is not valid evidence.

executionEnginestring

Which engine executed the run: emulated (the platform's own turn loop) or harness:<id> (a real agent runtime such as Claude Code). ABSENT means the run recorded no engine — a run created before the platform attributed one. Treat that as UNKNOWN, never as emulated: those are different claims, and the runs whose engine was never recorded are exactly the ones a reader must not vouch for.