---
title: "Revoke a product API key"
method: POST
path: "/v1/api-keys/{apiKeyId}/revoke"
tags: ["Start", "Founder login"]
---

# Revoke a product API key

`POST /v1/api-keys/{apiKeyId}/revoke`

## Request

- Base URL: `https://hyperscale0.ai`
- URL: `https://hyperscale0.ai/v1/api-keys/{apiKeyId}/revoke`
- Auth: HTTP bearer

Immediately invalidates a product API key. The revoked secret fails authentication on the next request, and revoking an already-revoked key succeeds without side effects.

## Path parameters

- `apiKeyId` string, required: Hyperscale API key ID

## Headers

- `X-Hyperscale-Environment` 'sandbox' | 'live'
- `Idempotency-Key` string, required

## Request body

- object
  - `tenantId` string, required: Organization tenant ID
  - `productId` string, required: Hyperscale product ID
  - `reason` string: Required for staff writes; retained in the audit event

## Response `200`

Success

- ApiKeyRevokeOutput
  - `tenantId` string, required: Organization tenant ID
  - `productId` string, required: Hyperscale product ID
  - `apiKeyId` string, required: Hyperscale API key ID
  - `updatedAt` string, date-time, required
  - `status` 'revoked' | 'already_revoked', required

## Other responses

- `default`: ErrorResponse. See x-error-codes and x-errors for codes, HTTP statuses and retry guidance.

---

[API](https://skmtc.dev/hyperscale0/apis/hyperscale-product-api.md) · [All operations](https://skmtc.dev/hyperscale0/apis/hyperscale-product-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hyperscale0/apis/hyperscale-product-api/revisions/e9e8faa044d5?raw)
