Skip to navigation

Get execution detail

Get full details for a single agent execution including final output, iteration details, and loop configuration.

Authentication

AuthorizationBearer
API key or Clerk session token

Path parameters

idstringRequired
executionIdstringRequired

Response

Execution detail
agentIdstring or null
agentSourcestring or null
agentTargetResolutionenum

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.

Allowed values:
agentVersionobject or null

Version number and label for agentVersionId, joined from agent_versions. null exactly when agentVersionId is null.

agentVersionIdstring or 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.

budgetExhaustedboolean or null

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.

cancelRequestedAtstring or null
completedAtstring or null
conversationIdstring or null

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.

createdAtstring
executionIdstring
executionLaneenum

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.

Allowed values:
executionModeenum
Allowed values:
expiresAtstring or null
externalObservedApprovalsobject

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.

externalTelemetryobject or null

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.

idstring
iterationsinteger or null
lastHeartbeatAtstring or null
notificationModeenum
Allowed values:
parentAgentIdstring or null
parentConversationIdstring or null
parentExecutionIdstring or null
parentToolCallIdstring or null
pendingApprovalobject or null
retryOfExecutionIdstring or null
rootExecutionIdstring or null
startedAtstring or null
statusenum
stopReasonstring or null
surfaceTypestring or null
totalCoststring or null
agentSpecanyOptional
finalOutputanyOptional
inputMessagesanyOptional
iterationDetailsanyOptional
loopConfiganyOptional
progressanyOptional
totalTokensanyOptional

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
500
Internal Server Error