Skip to main content
POST
Report the result of one run

Authorizations

Authorization
string
header
required

Runner token beginning with agt_r, returned once by POST /v1/runners

Body

application/json

POST /v1/runners/me/reports — one batched write keyed by event id.

checkpoint
object
required

Where to resume this session.

event_id
string
required

The event this report is about.

failure_detail
string
required

Human-readable cause, stored only on failure.

fencing_token
integer<int64>
required

Monotonic guard, verified against the fleet's live sequence.

Required range: x >= 0
lease_id
string
required

The lease being reported on.

outcome
enum<string>
required

The binary verdict.

Available options:
processed,
fleet_error
requests
object[]
required

The provider requests no renewal acknowledged yet, one line each.

response_text
string
required

The run's output.

telemetry
object
required

Latency the runner observed.

tokens
integer<int64>
required

The run's total tokens, for the event history. Billing charges requests, never this sum.

Required range: x >= 0
failure_reason
enum<string> | null

The granular cause when the run failed.

Available options:
startup_posture,
policy_deny,
timeout_kill,
oom_kill,
resource_kill,
runner_crash,
transport_loss,
landlock_deny,
lease_expired,
renewal_terminate,
budget_breach
held_until
string<date-time> | null

Until when this runner holds the run's sandbox, frozen, for the fleet's next event. Absent when it holds none.

tool_calls
object | null

Every tool call the run made, kept with its answer. Absent from runners that do not record one. A trace that is not one, or that breaks a bound, is dropped and the report still settles.

Response

OK

POST /v1/runners/me/reports reply.

ok
boolean
required

Whether the write landed.