> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coffeechats.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Action withdrawal tool

> The one tool that withdraws a change the agent proposed while you have not decided on it yet.

This tool withdraws a change the agent proposed while you have not decided on it yet. It needs the permission `profile:write`, which you grant on the Authorize access page when you connect.

This page is generated from the connector's tool catalogue. It describes 1 tool. Every tool reads or writes only your own account.

## Permissions this page needs

* `profile:write`: Update your profile preferences, and propose booking page changes you approve

The [permissions reference](/mcp/scopes.md) lists every permission you can grant.

## `actions.cancel`

Your agent host shows this tool as "Withdraw a proposed action".

What this changes: Withdraw an action this client proposed for the authenticated student, while it is still waiting for the student's decision and no execution has started.

Permissions: This tool needs `profile:write`, which the Authorize access page describes as "Update your profile preferences, and propose booking page changes you approve".

Risk: `safe_write`. This tool withdraws a review request the agent proposed and changes no setting of yours. It does not ask you to approve first, because a withdrawal writes nothing to your account and can only happen while you have not decided.

### Input

| Property | Type | Required | Bounds |
| - | - | - | - |
| `operationId` | string | yes | pattern `^[a-f0-9]{24}$` |

### Example call

```json actions.cancel input theme={"system"}
{
  "operationId": "0123456789abcdef01234567"
}
```

### Result

A result is never larger than 4,096 bytes.

This tool's result takes one of these 2 forms, and one call returns exactly one of them. The field named beside each form below says which one you are looking at. Open a form to read its top-level fields.

> **Shape 1, where status is failed**
>
> ```json Top-level fields theme={"system"}
> [
>   "error",
>   "operationId",
>   "scenario",
>   "status"
> ]
> ```

> **Shape 2, where status is cancelled**
>
> ```json Top-level fields theme={"system"}
> [
>   "error",
>   "operationId",
>   "scenario",
>   "status"
> ]
> ```

### Outcomes

A call carries one of these two codes, and `OPERATION_CANCELLED` is the success.

| Code | What it means |
| - | - |
| `OPERATION_CANCELLED` | The review request is withdrawn and nothing was written. A review request this tool finds already withdrawn returns the same code, so withdrawing twice is the same success. |
| `VERSION_CONFLICT` | The review request could no longer be withdrawn, so nothing was withdrawn and nothing was written. You had already decided it, or it had expired, or Coffee Chats had already started applying it. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.