---
title: "Revoke Key"
method: DELETE
path: "/v2/admin/keys/{key_hash}"
tags: ["admin", "admin"]
---

# Revoke Key

`DELETE /v2/admin/keys/{key_hash}`

## Request

- Base URL: `https://api.etymolt.com`
- URL: `https://api.etymolt.com/v2/admin/keys/{key_hash}`
- Auth: none declared

Stamp ``revoked_at`` on a key row. Idempotent; returns whether the
UPDATE actually wrote (True for the first call, False thereafter).

The path parameter is the full sha256 hash returned by GET /keys —
NOT the prefix. This is intentional: a prefix is enough to identify
a key visually but not enough to revoke one accidentally.

B-AUTH-AUDIT (R1 F4 + R12 F2, 2026-05-17): requires a session
issued within the last 60 minutes (step-up) and an Origin/Referer
that matches the etymolt allowlist. Writes an audit_log row.

## Path parameters

- `key_hash` string, required

## Headers

- `authorization` string, nullable
- `x-etymolt-session` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names.md) · [All operations](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/llms.txt) · [OpenAPI document](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/revisions/7228ffa1efa7?raw)
