Endpoint
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.
Authentication
This endpoint requires an OAuth access token. Send it as a bearer token:
Required scope: agent:write
The agent runs as the access token’s user and inherits exactly that user’s access.
Path Parameters
Query Parameters
Request Body
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.
Request Example
Response
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.
Success Response (stream=false)
Status Code: 200 OK
See Response Fields for every field.
Error Responses
400 Bad Request
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.
401 Unauthorized
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.
403 Forbidden
Returned when the token does not carry the required scope.
404 Not Found
Returned when the conversation or the interaction does not exist. Make sure you pass
pending_approval.source_interaction_id exactly as returned.
409 Conflict
Returned when the approval was already answered, or a run is active on the conversation. The
detail is passed through from the agent service.
422 Validation Error
Returned when the request is invalid, for example a decision other than approved or rejected,
or an ID that is not a UUID.
429 Too Many Requests
Returned when your organization exceeds its per-minute request limit.
500 Internal Server Error
Returned when the run could not be resumed or failed before producing an answer.