---
title: "Revoke a credential you issued to a customer"
method: DELETE
path: "/api/v1/businesses/{id}/keys"
tags: ["businesses"]
---

# Revoke a credential you issued to a customer

`DELETE /api/v1/businesses/{id}/keys`

## Request

- Base URL: `https://app.blueticked.com`
- URL: `https://app.blueticked.com/api/v1/businesses/{id}/keys`
- Auth: HTTP bearer

Revoke one key minted by the calling API key for this business, preserving its audit history.

key_id is required and must be a UUID. The business must belong to this workspace and the key must have been minted by this exact caller for that business; all other keys return 404.

Idempotent: an already-revoked matching key returns 200 with already_revoked:true, preserving its original revocation timestamp and writing no duplicate audit event.

SDK revokeKey support follows in the next SDK release; call this REST endpoint until then. Keys created in the dashboard or before minter attribution was recorded must be managed in the dashboard.

## Path parameters

- `id` string, required

## Query parameters

- `key_id` string, uuid, required

## Response `200`

Success

- object
  - `id` string, uuid, required
  - `revoked` boolean, required
  - `already_revoked` boolean, required
  - `request_id` string, required

## Other responses

- `400`: Validation failed
- `401`: Unauthorized: missing or invalid API key
- `402`: Insufficient wallet balance
- `403`: Forbidden: scope, plan limit, or suspension
- `404`: Not found
- `409`: Conflict (idempotency-key reuse or resource in use)
- `422`: Understood but refused: the request is well-formed, the action is not permitted for this resource
- `429`: Rate limited
- `500`: Internal error
- `502`: An upstream provider refused or failed the request
- `503`: Channel or send queue unavailable

---

[API](https://skmtc.dev/blueticked/apis/blueticked-api.md) · [All operations](https://skmtc.dev/blueticked/apis/blueticked-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blueticked/apis/blueticked-api/revisions/07132284f4ff?raw)
