POST /v2/agent/conversations/{session_id}/approvals
Some agent tools need a person to approve them before they run. When that happens, the run stops
and reports itself as parked: the stream=false response has status: "parked" and a
pending_approval object. The run makes no further progress until you answer it here, and there is
no other way to resume it.
The pending_approval.source_interaction_id from the response that reported the run as parked
decision
string
Yes
Whether to allow the agent to use the tool it is waiting on. One of approved or rejected
reason
string or null
No
Optional explanation shown to the agent
The agent stopped because a person should decide. If you build this into an integration, show the
user pending_approval.tool and pending_approval.description and use their answer - do not
approve automatically.
The resumed run is returned in the same shape as Ask the Agent:
a Server-Sent Events stream by default, or a single JSON body with stream=false. The resumed run
can park again on another tool - check status each time.
{ "session_id": "3f6c2a8e-1b4d-4e7a-9c21-5d8f0e6b7a90", "answer": "Done. I started the Vendor Contract Review workflow for Acme.", "status": "completed", "pending_approval": null}
Returned when the access token has no user behind it.
client_credentials tokens act as the admin who created the application, so this applies only to
tokens issued before application creators were recorded.
{ "detail": "client_credentials tokens are not associated with a user"}
Returned when the access token is missing, unknown, revoked, or expired, or when an X-API-Key was
sent instead of a bearer token. See OAuth error responses.