Skip to main content
POST
Create an API key

Authorizations

Authorization
string
header
required

Supabase JWT token (for Dashboard-only endpoints like API key management)

Body

application/json
name
string
required
Required string length: 1 - 255
permissions
enum<string>[]
required
Minimum array length: 1

Available permissions:

  • agents:read — List and view agent configurations
  • agents:write — Update agent settings
  • employees:read — List and view employees
  • employees:write — Create, update, delete employees
  • tools:read — List and view agent tools
  • tools:write — Create, update, delete tools
  • forwarding:read — List forwarding slots
  • forwarding:write — Create, update, delete forwarding slots
  • kb:read — List and view knowledge base documents
  • kb:write — Create, update, delete KB documents
  • calls:read — List and view call records
  • organization:read — View organization settings
  • organization:write — Update organization settings
  • contacts:read — List and view contacts (customer database)
  • contacts:write — Create, update, delete contacts
Available options:
agents:read,
agents:write,
employees:read,
employees:write,
tools:read,
tools:write,
forwarding:read,
forwarding:write,
kb:read,
kb:write,
calls:read,
organization:read,
organization:write,
contacts:read,
contacts:write
organization_id
string<uuid>

Home organization of the key; must be one of the caller's memberships. Defaults to the profile organization

allowed_agent_ids
string<uuid>[] | null
rate_limit_per_minute
integer
default:60
Required range: 1 <= x <= 600
rate_limit_per_hour
integer
default:1000
Required range: 1 <= x <= 10000
expires_at
string<date-time> | null

Optional expiration date (null = never expires)

Response

API key created (raw key shown only once)

key
string

The raw API key — store this securely, it will not be shown again

Example:

"tp_live_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"

id
string<uuid>
name
string
permissions
string[]
allowed_agent_ids
string<uuid>[] | null
rate_limit_per_minute
integer
rate_limit_per_hour
integer
created_at
string<date-time>