Overview
An agent defines the AI persona that handles calls and widget interactions. It holds the system prompt, voice configuration, and language settings. Create one agent per use case and reuse it across calls, widgets, and workflows.
All provider and model identifiers are aliased — you will never see internal provider names. Use the alias values returned by the API when updating agent settings.
Required scopes: agents:read (read operations), agents:write (create/update)
GET /v1/agents/voices
Returns available voice providers and their supported models and voices. Use these values when updating an agent’s voice configuration.
200 OK
Common errors: 403 missing agents:read scope
GET /v1/agents
Returns all agents available to your organization.
200 OK
Common errors: 403 missing agents:read scope · 404 key or org context not found
POST /v1/agents
Creates a new agent.
201 Created
Common errors: 400 validation error (missing required fields) · 403 missing agents:write scope
GET /v1/agents/{id}
Returns a single agent by ID.
200 OK
Common errors: 403 missing agents:read scope · 404 agent not found
PATCH /v1/agents/{id}
Updates an agent’s settings (prompt, model, voice, etc.).
This endpoint requires the agent id in both the URL path and the request
body. Omitting it from the body will return a 400 validation error.
200 OK
Common errors: 400 validation error (check id is in body) · 403 missing agents:write scope · 404 agent not found
PATCH field reference
Recommended integration flow
- Create an agent with your base persona (
POST /v1/agents).
- Copy the returned
id.
- List available voices with
GET /v1/agents/voices to get valid provider and model aliases.
- Use the
id when creating widgets, calls, or workflows.
- Update prompts and model settings over time with
PATCH /v1/agents/{id}.