---
title: "Revoke Tenant Admin Token"
method: POST
path: "/tenants/{tenant_id}/admin-tokens/{token_id}/revoke"
---

# Revoke Tenant Admin Token

`POST /tenants/{tenant_id}/admin-tokens/{token_id}/revoke`

## Request

- Base URL: `https://api-docs.session-exchange.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api-docs.session-exchange.com/tenants/{tenant_id}/admin-tokens/{token_id}/revoke`
- Auth: none declared

Revoke one tenant-admin token by id. Takes effect on the next request (token lookup reads
the in-memory registry, which the upsert updates) and survives a restart (JSONL replay keeps
the last line per hash). Idempotent: revoking a revoked token is 200 with `already_revoked`.

Revoking the token the request itself is authenticated with locks the caller out, so it must
be explicit: without `?confirm=self` it is refused 409 `confirm_self_revoke` and nothing
changes.

## Path parameters

- `tenant_id` string, required
- `token_id` string, required

## Query parameters

- `confirm` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/session-exchange/apis/a4sx.md) · [All operations](https://skmtc.dev/session-exchange/apis/a4sx/llms.txt) · [OpenAPI document](https://skmtc.dev/session-exchange/apis/a4sx/revisions/abaefc33dfc7?raw)
