Get execution detail
Authentication
Path parameters
Response
How the run selected its definition: alias or version for a request that named a selector, legacy-live-row for a run that read the mutable agent row.
Version number and label for agentVersionId, joined from agent_versions. null exactly when agentVersionId is null.
The agent_versions row this run was recorded against, or null. null means the surface that admitted the run stamps no version (A2A, Product API, A2A pause admission and the Product MCP capability path record none today) or the run predates version stamping. It is never a claim that the run executed an unversioned configuration.
Whether the agent loop ended by exhausting its maxTurns budget. Read this rather than inferring truncation from stopReason: a single-turn loop publishes end_turn on a budget end to preserve its original payload shape, and several clean success paths publish that same value. null means UNKNOWN — a run recorded before this field existed, or one executed by a lane that reports no per-iteration breakdown (external agents, Claude Managed) — and must not be read as false.
The conversation thread this run belongs to, so consumers can group a multi-turn conversation’s runs without a per-run log query. This is the run’s OWN thread, distinct from parentConversationId (subagent lineage, the conversation of the run that spawned it). null on stateless surfaces (webhook, schedule, eval, one-shot API) and on runs persisted before the column existed.
Which substrate actually ran this turn. durable means a Durable Object owned it: a Runtype session for an attached turn (the only lane that sets the X-Runtype-Execution-Driver response header), or the run owner a detached run is handed to. in_process means the request worker ran it to completion. Read back from the run’s own admission-time record, so it reports what happened rather than what the current routing policy would choose now. executionMode cannot answer this on its own: both lanes record attached for an attached turn. One routing rule is worth knowing when comparing runs: POST /v1/dispatch keeps a request that sets options.debugMode: true on in_process.
Read-only approval observations within producer traces. Null means history unavailable; an empty lifecycle list means none observed. Structural history survives ingest-fact expiry and is retained when verbose logging is off.
Bounded state of the authorized external OTLP trace. Null means no matching trace state is available; it never means complete. This contains no trace facts or captured content.