---
title: "Revoke a share"
method: POST
path: "/api/v1/apps/{appId}/shares/{shareId}/revoke"
tags: ["AppShares"]
---

# Revoke a share

`POST /api/v1/apps/{appId}/shares/{shareId}/revoke`

## Request

- Base URL: `https://charm.ing`
- URL: `https://charm.ing/api/v1/apps/{appId}/shares/{shareId}/revoke`
- Auth: HTTP bearer

User-gated (`chrm_user_*` or session); requires `app:share`. Idempotently removes the grant or email invitation addressed by its opaque share id.

## Path parameters

- `appId` string, uuid, required
- `shareId` string, uuid, required

## Response `200`

Revoked, or no matching share remained.

- ShareRemovedResponse
  - `ok` true, required
  - `removed` boolean, required

## Other responses

- `400`: Invalid app id or share id.
- `401`: Sign-in required.
- `403`: The caller cannot manage shares.
- `404`: App not found.

---

[API](https://skmtc.dev/charm/apis/charming-api.md) · [All operations](https://skmtc.dev/charm/apis/charming-api/llms.txt) · [OpenAPI document](https://skmtc.dev/charm/apis/charming-api/revisions/a9d06c419b3a?raw)
