Withdraw a held sandbox payment
withdraw_approvalTakes back a payment that sandbox_pay reported as held, as a real agent does when the task that needed the payment was cancelled or superseded: nothing is paid, the approval closes as withdrawn (distinct from deny), a later approve on that id is refused and await_approval answers withdrawn at once. Use it with an approval id from this sandbox; a new sandbox_pay call opens a fresh approval if the payment is wanted after all. Withdrawing an id that was already decided reports that decision as an error.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"sandbox_id": "<sandbox_id>",
"approvalId": "<approvalId>"
},
"name": "withdraw_approval"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Optional reason recorded with the withdrawal, e.g. "task cancelled", up to 200 characters | |
| approvalId | Yes | The approval id returned by sandbox_pay in its "waiting for approval" result (Approval id: ...) | |
| sandbox_id | Yes | The sandbox_id returned by sandbox_create (32 hex characters) |