---
title: "Logout"
method: POST
path: "/api/v1/auth/logout"
tags: ["auth"]
---

# Logout

`POST /api/v1/auth/logout`

Revoke the caller's current access token.

``get_current_user`` authenticates the request (verifying the JWT and
checking revocation status).  We then look up the token's expiry from the
principal cache — it is always present after ``get_current_user`` runs —
and write the token hash to the revocation table.

The UI should also revoke the Clerk session so it is terminated at the
identity-provider level.

## Headers

- `Authorization` string, nullable

## Response `204`

Successful Response

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/xenovia/apis/controlplane.md) · [All operations](https://skmtc.net/xenovia/apis/controlplane/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xenovia/controlplane/revisions/4e9892b1f604/schema)
