Skip to navigation

Resume a paused client execution

Session-authenticated sibling of POST /v1/dispatch/resume for browser client-token sessions. Resumes a paused local-tool (WebMCP / clientTools) execution by supplying toolOutputs keyed by the per-call toolCallId (or tool name, legacy). Optionally accepts a refreshed clientTools[] + clientToolsFingerprint snapshot (same diff-only protocol as /client/chat) so page tools registered after a mid-run navigation become callable on the next model turn; the refreshed set is re-validated against the surface WebMCP policy. Streams the continued flow/agent events over Server-Sent Events. Does not count against execution limits.

Request

This endpoint expects an object.
executionIdstringRequired>=1 character
sessionIdstringRequired>=1 character
streamResponsefalseRequired
afterstringOptional<=128 charactersDefaults to
assistantMessageIdstringOptional<=128 characters

Id for the assistant message this resumed leg produces. The leg’s completion is persisted to the conversation, so sending the id the client already uses locally makes a later re-send of that same message deduplicate exactly instead of by text. Optional and backward compatible.

clientToolslist of objectsOptional
clientToolsFingerprintstringOptional<=128 characters
messageslist of objectsOptional
toolOutputsmap from strings to anyOptionalDefaults to {}

Response

eventslist of objects
executionIdstring
statusenum
Allowed values:
successboolean
agentTargetResolutionenumOptional

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.

Allowed values:
agentVersionIdstringOptional

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.

aliasstringOptional

The release alias (for example live) the version was resolved through, when one was.

blockReasonstringOptional
codestringOptional
errorstringOptional
pausedReasonobjectOptional
upgradeUrlstringOptional

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
410
Gone Error
500
Internal Server Error
503
Service Unavailable Error