Skip to main content
sk_live_ server-to-server credentials. Listing endpoints work with any auth; CRUD operations are gated to the Hub UI — a leaked sk_live_ cannot mint another. Mint via hub.kataven.ai/settings → API Keys.

Endpoints at a glance

Reference

GET /api/v1/api-keys

List API keys Returns metadata for every sk_live_ key in this account. Plaintext key values are never returned — only the last 8 characters and the row id. Responses Example

POST /api/v1/api-keys

Create an API key (returns plaintext sk_live_ ONCE) Mints a new sk_live_ credential. The plaintext value is returned in the response and never again — store it in your secret manager. Requires Hub UI (Zitadel) auth; sk_live_ keys cannot mint other sk_live_ keys. Request body (application/json) Schema: handlers.CreateApiKeyRequest. Server-set fields (id, created_at, updated_at, …) are ignored if supplied; only the user-settable fields are shown below. Responses Example

PATCH /api/v1/api-keys/{id}

Update or revoke an API key Renames the key or revokes it (disabled=true sets disabled_at=now() — idempotent). Requires Hub UI (Zitadel) auth so a leaked sk_live_ cannot disable other keys. Parameters Request body (application/json) Schema: handlers.UpdateApiKeyRequest. Server-set fields (id, created_at, updated_at, …) are ignored if supplied; only the user-settable fields are shown below. Responses Example

DELETE /api/v1/api-keys/{id}

Delete or soft-disable an API key Hard-deletes the row if the key was never used; otherwise sets disabled_at=now() to preserve the audit trail. Requires Hub UI auth. Parameters Responses Example