POSThttps://api.breeze.blue/v1/api-keys/{key_id}/rotate

Rotate an API key

Create a replacement API key and mark the source key as expiring. The replacement secret is returned once.

Authentication

Browser session: Browser session required. API keys are not accepted on this endpoint.

Headers

FieldTypeDescription
cookierequiredstringAuthenticated browser session cookie (for example breeze_blue_session=...). API keys are not accepted on this endpoint.

Path parameters

FieldTypeDescription
key_idrequiredstringPublic API key identifier returned by GET /v1/api-keys.

Example request

python import os import requests response = requests.post( "https://api.breeze.blue/v1/api-keys/key_01hprod/rotate", headers={ "cookie": "breeze_blue_session=$BREEZE_SESSION" }, ) response.raise_for_status() print(response.json()) typescript const response = await fetch("https://api.breeze.blue/v1/api-keys/key_01hprod/rotate", { method: "POST", headers: { cookie: "breeze_blue_session=$BREEZE_SESSION", }, }); if (!response.ok) { throw new Error("Request failed: " + response.status); } console.log(await response.json()); curl curl -X POST "https://api.breeze.blue/v1/api-keys/key_01hprod/rotate" \ -H "cookie: breeze_blue_session=$BREEZE_SESSION"
import os
import requests

response = requests.post(
    "https://api.breeze.blue/v1/api-keys/key_01hprod/rotate",
    headers={ "cookie": "breeze_blue_session=$BREEZE_SESSION" },
)
response.raise_for_status()

print(response.json())

Response

Replacement API key.

Content types: application/json

{
  "key_id": "key_01hprod",
  "name": "Example",
  "status": "active",
  "api_key": "string",
  "prefix": "string",
  "created_at": "2026-04-02T10:15:30Z",
  "last_used_at": "string",
  "disabled_at": "string",
  "expires_at": "string",
  "rotated_from_key_id": "rotated_from_key_id_01h",
  "rotated_at": "string"
}