Answer an end-user approval gate
Session-authenticated approval for browser client-token sessions. Answers a paused approval whose gate the agent authored with tools.approval.approver: 'end-user', then streams the continued run over Server-Sent Events in the same shape as /v1/client/resume. The decision is bound to the session that started the turn, single-use, and bound to the exact reviewed tool parameters; visitors cannot create persistent “always allow” grants. A gate with the default owner approver is refused with 403 APPROVAL_APPROVER_NOT_END_USER; answer those with POST /v1/dispatch/approve. Does not count against execution limits.
Request
The approvalId from the approval_start event this decision answers.
Id for the assistant message this resumed leg produces, so a re-send deduplicates by id. Optional; same contract as /v1/client/resume.
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. Matches GET /v1/executions/{executionId}/status.
The agent version recorded for the run. When agentTargetResolution is legacy-live-row, this is the version the agent row pointed at, and the run read the mutable row rather than that version. Absent when neither exists.
The release alias (for example live) the version was resolved through, when one was.