---
title: "Withdraw one grant and every connection it authorized"
method: POST
path: "/api/security/grants/{consent_id}/revoke"
tags: ["security"]
---

# Withdraw one grant and every connection it authorized

`POST /api/security/grants/{consent_id}/revoke`

## Request

- Base URL: `https://app.nerdit.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.nerdit.ai/api/security/grants/{consent_id}/revoke`
- Auth: none declared

Disconnect one app from one node: the consent and its families go.

## Path parameters

- `consent_id` string, uuid, required

## Response `200`

Successful Response

- GrantRevocationView: What withdrawing one grant — or one family — actually ended. Zeros are a success: the subject was already revoked, which is the state the caller asked for. ``closed_streams`` counts the live streams this request terminated, which is what makes the thirty-second bound (W-I8) something the page can show rather than only promise.
  - `revoked_families` integer, required
  - `closed_streams` integer, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Validation Error

---

[API](https://skmtc.dev/nerdit/apis/nerdit-cloud-web.md) · [All operations](https://skmtc.dev/nerdit/apis/nerdit-cloud-web/llms.txt) · [OpenAPI document](https://skmtc.dev/nerdit/apis/nerdit-cloud-web/revisions/06e3b44b58be?raw)
