/api/v1/* endpoints. Keys are
scoped to a tenant and can be configured with rate limits, allowed CORS
origins, and (in v1.1) per-scope restrictions.
These endpoints use dashboard (JWT) authentication, not API keys.
Your Supabase session must have the
api_keys:manage permission.Issue a key
api_keys:manage | Status: 201 Created
Request body
Response
List keys
Returns all keys for the tenant. The full key secret is never included.api_keys:manage | Status: 200 OK
Query parameter: include_revoked (boolean, default false) — set to
true to include revoked keys.
Response fields
Rotate a key
Atomically issues a new key and revokes the old one. The response contains the new key secret (shown once).api_keys:manage | Status: 201 Created
The old key is immediately revoked — there is no grace period. Deploy the
new key before rotating.
Revoke a key
Soft-revokes a key. Takes effect immediately.api_keys:manage | Status: 204 No Content
The optional reason field (max 500 chars) is stored for audit. If
omitted, defaults to "revoked via dashboard".
Key formats
Test keys create real database rows but do not place PSTN calls. See
Environments for the full behavior difference.

