Skip to main content

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.