---
title: "Withdraw a mandate immediately"
method: POST
path: "/api/mandate/revoke"
tags: ["mandates"]
---

# Withdraw a mandate immediately

`POST /api/mandate/revoke`

## Request

- Base URL: `https://api.anygas.xyz/svc`
- URL: `https://api.anygas.xyz/svc/api/mandate/revoke`
- Auth: none declared

A budget you cannot withdraw is not a safety control: the moment you most need the limit is the moment you want it gone entirely, not merely capped, and waiting for expiry is not an option. Only the PRINCIPAL who granted the mandate can revoke it — an agent cannot revoke the budget that constrains it, and a third party cannot revoke someone else's (401 otherwise). Revocation is DELIBERATELY IRREVERSIBLE. A kill switch that can be flipped back is one an attacker who briefly holds the key can undo; issue a fresh mandate instead. It stops Robyn endorsing further spend. It does NOT claw back money already spent and does not stop the agent spending elsewhere with the same key — if the key is compromised, rotate the key. The consumption record is kept so history stays auditable.

## Request body

- object

## Response `200`

revoked status

- object

## Other responses

- `401`: not signed by the principal
- `404`: unknown mandate

---

[API](https://skmtc.dev/anygas/apis/robyn-anygas-api.md) · [All operations](https://skmtc.dev/anygas/apis/robyn-anygas-api/llms.txt) · [OpenAPI document](https://skmtc.dev/anygas/apis/robyn-anygas-api/revisions/9b7498be8304?raw)
