---
title: "Revoke the active key set (sign-out)"
method: POST
path: "/devices/revoke"
tags: ["E2EE"]
---

# Revoke the active key set (sign-out)

`POST /devices/revoke`

## Request

- Base URL: `https://api.shopseen.com/v1`
- URL: `https://api.shopseen.com/v1/devices/revoke`
- Auth: HTTP bearer

Marks device_keys.revoked_at = now and DELETEs all OTPKs + Kyber prekeys so the (user_id, key_id) namespace is free for the next upload. Idempotent when no active set exists.

## Response `200`

Revoked (or no-op)

---

[API](https://skmtc.dev/shopseen/apis/a-side-api.md) - [All operations](https://skmtc.dev/shopseen/apis/a-side-api/llms.txt) - [OpenAPI document](https://skmtc.dev/shopseen/apis/a-side-api/revisions/f37f989e90da?raw)
