Resources
Agents
Agents are voice AI workers that handle inbound and outbound calls. Each agent owns a system prompt, voice settings, and optional knowledge documents.
The agent object
Agents have the following shape. Fields marked optional may be null.
id- opaque identifier (agt_…)name- human labelsystem_prompt- instructions for the LLMgreeting- first line the agent speaksvoice_provider,llm_provider,stt_provider- model selection (e.g.cartesia/sonic-3)caller_id_number- optional caller-ID overridevoicemail_detection- boolean, AMD on outboundcreated_at,updated_at- ISO 8601
Endpoints
List every agent in the authenticated workspace, newest first.
Response
{
"agents": [
{
"id": "agt_2k9f1a",
"name": "Sales Receptionist",
"voice_provider": "cartesia/sonic-3",
"llm_provider": "openai/gpt-4o-mini",
"created_at": "2026-05-01T12: 00: 00Z"
}
]
}Retrieve a single agent by id.
Response
{
"agent": {
"id": "agt_2k9f1a",
"name": "Sales Receptionist",
"system_prompt": "You are a friendly receptionist for…",
"greeting": "Hi, thanks for calling Acme. How can I help?",
"voice_provider": "cartesia/sonic-3",
"llm_provider": "openai/gpt-4o-mini",
"stt_provider": "deepgram/nova-3",
"caller_id_number": null,
"voicemail_detection": false,
"voicemail_message": null,
"created_at": "2026-05-01T12: 00: 00Z",
"updated_at": "2026-05-10T09: 30: 00Z"
}
}Create a new agent. Pass a template_slug to bootstrap from a Floo template (your fields override the template defaults).
Request body
{
"name": "Sales Receptionist",
"system_prompt": "You are a friendly receptionist for Acme Co.",
"greeting": "Hi, thanks for calling Acme. How can I help?",
"voice_provider": "cartesia/sonic-3",
"llm_provider": "openai/gpt-4o-mini",
"stt_provider": "deepgram/nova-3"
}Response
{
"agent": {
"id": "agt_2k9f1a",
"name": "Sales Receptionist",
"created_at": "2026-05-15T18: 00: 00Z"
}
}Update an existing agent. Only the fields you send are changed.
Request body
{
"greeting": "Hello! Welcome to Acme, how can I help today?",
"voicemail_detection": true,
"voicemail_message": "Hi, sorry I missed you - please call back."
}Response
{
"agent": {
"id": "agt_2k9f1a",
"greeting": "Hello! Welcome to Acme, how can I help today?",
"voicemail_detection": true,
"voicemail_message": "Hi, sorry I missed you - please call back.",
"updated_at": "2026-05-15T18: 02: 00Z"
}
}Permanently delete an agent. In-flight calls are not interrupted, but no new calls will route to this agent.
Response
{
"ok": true
}Attach a document to an agent's knowledge base. Accepts JSON (text or URL) or multipart/form-data (PDF, DOCX, TXT, MD). Server extracts text, chunks, and embeds - synchronous for small docs.
Request body
{
"name": "Refund Policy",
"source": "text",
"text": "Customers may request a refund within 30 days of purchase…"
}Response
{
"ok": true,
"document_id": "doc_8h2k1m",
"chunk_count": 14
}