Skip to content
Everruns Cloud is open in early access. Run agents without operating the platform.

POST /v1/sessions/{session_id}/tool-approvals

POST
/v1/sessions/{session_id}/tool-approvals
curl --request POST \
--url https://app.everruns.com/api/v1/sessions/example/tool-approvals \
--header 'Content-Type: application/json' \
--data '{ "decisions": [ { "decision": "allow", "tool_call_id": "tool_approval_toolu_01933b5a00007000800000000000001" } ] }'

Records a person’s decisions about tool calls an agent’s tool_approval gate held back, and resumes the paused turn.

session_id
required
string

Session ID (prefixed, e.g., session_…)

Media typeapplication/json

Request to answer pending tool-approval requests.

object
decisions
required

Decisions for the pending requests. A pending request in the same batch that is left out is resolved as not approved: the turn resumes once, so every request in it is settled now, and silence never approves.

Array<object>

One decision in a submission.

object
decision
required

The person’s decision.

string
Allowed values: allow allow_always reject reject_always
tool_call_id
required

The approve_tool_call call being answered.

string
Example
tool_approval_toolu_01933b5a00007000800000000000001

Decisions recorded and workflow resumed

Media typeapplication/json

Result of answering tool-approval requests.

object
resolved
required

How every pending request in the batch was settled.

Array<object>

How one pending request was settled.

object
outcome
required

allow, allow_always, reject, reject_always, not_approved (left out of the submission) or expired.

string
tool
required

The gated tool.

string
tool_call_id
required

The approve_tool_call call that was answered.

string
status
required

Session status after the decision.

string
Example
{
"resolved": [
{
"outcome": "allow"
}
],
"status": "active"
}

Invalid session ID or decisions

Caller may not manage this session

Session or pending approval request not found

Session is not waiting, the request expired, or it was already answered

Internal server error