Skip to main content
API key management endpoints. These endpoints require Supabase JWT authentication (Dashboard login), not API key authentication.

Key concepts

  • API keys are created and managed through the Dashboard or these endpoints
  • The raw key (tp_live_...) is returned only once at creation time — store it securely
  • Keys are SHA-256 hashed before storage and cannot be retrieved later
  • A key carries configurable permissions and agent access. Its organization field is only the home organization used for key management — at request time, a key’s data scope is resolved from the current organization memberships of the user who created it
  • Key management is restricted to the dev_admin role, and only via JWT — a key cannot manage keys. Other roles (including client_admin) receive 403 FORBIDDEN

Data model

Available permissions

Endpoints

List API keys

Auth: JWT only Returns keys the caller is allowed to manage. Key values are never returned — only the prefix.
  • dev_admin — only keys they created themselves, across every organization those keys belong to
The same scope applies to PATCH and DELETE: a key outside it responds 404 NOT_FOUND, whether it does not exist or belongs to someone else.

Create API key

Auth: JWT only
organization_id is optional: it sets the key’s home organization and must be one of your memberships (otherwise 400 VALIDATION_ERROR). Without it, your profile organization is used. Response includes the raw key (shown only once):

Update API key

Auth: JWT only Update name, permissions, rate limits, or active status. The key value cannot be changed.

Revoke API key

Auth: JWT only | Returns 204 No Content Permanently deletes the key. Any requests using this key will immediately receive 401 Unauthorized.

Key rotation workflow

  1. Create a new key with the same permissions
  2. Update your integration to use the new key
  3. Verify the integration works
  4. Delete the old key