---
title: "Hard-revoke any key (admin)"
method: DELETE
path: "/v1/admin/keys/{keyId}"
tags: ["admin"]
---

# Hard-revoke any key (admin)

`DELETE /v1/admin/keys/{keyId}`

## Request

- Base URL: `https://modelglass-api.vercel.app`
- URL: `https://modelglass-api.vercel.app/v1/admin/keys/{keyId}`
- Auth: HTTP bearer

Internal ops-only revoke by keyId, bypassing account-ownership checks. Idempotent — revoking an already-revoked key still returns 200. Not part of the public API.

## Path parameters

- `keyId` string, required

## Response `200`

Key revoked.

- object
  - `ok` true, required
  - `data` object, required
    - `revoked` true
    - `keyId` string
  - `meta` ResponseMeta, required
    - `artifact_version` integer, required
    - `built_at` string, date-time, required
    - `count` integer: Item count when `data` is a collection.

## Other responses

- `401`: Invalid or missing admin secret (UNAUTHORIZED).
- `404`: No key with that keyId (NOT_FOUND).

---

[API](https://skmtc.dev/modelglass/apis/modelglass-read-api.md) · [All operations](https://skmtc.dev/modelglass/apis/modelglass-read-api/llms.txt) · [OpenAPI document](https://skmtc.dev/modelglass/apis/modelglass-read-api/revisions/5948ffa60462?raw)
