Skip to main content

Documentation Index

Fetch the complete documentation index at: https://katavenai.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

An agent is a configured conversation runner. It holds a system prompt, a voice, an LLM model, and a set of tools / playbooks / FAQs it can draw on. End-users talk to agents — never directly to the underlying model.

What’s on an agent

FieldNotes
name, description, categoryDisplay only.
statusdraft / active / paused / archived. Only active agents accept calls.
system_promptThe full instructional prompt fed to the LLM.
greeting_messageFirst thing the agent says.
llm_modelgpt-4o, claude-sonnet-4-6, etc.
voice_provider + voice_idCartesia / ElevenLabs / your provider here.
greeting_modeinterruptible (caller can talk over the greeting) or locked.
ringing_enabledWhether to play a synthesized ring before pickup.
background_audio_enabled + background_audio_volumeOffice-ambience track behind the agent’s voice.
noise_suppression_enabledDTLN inbound noise suppression.
auth_modepublic (anyone can talk) or authenticated (requires a signed widget JWT).
playbooks, faqsAttached knowledge — see Playbooks & FAQs.

Lifecycle

Only active agents accept inbound calls and originate outbound calls.

Operations

OperationEndpointSDK
ListGET /api/agentsclient.agents.list()
GetGET /api/agents/{id}client.agents.get(id)
CreatePOST /api/agentsclient.agents.create(...)
UpdatePATCH /api/agents/{id}client.agents.update(id, ...)
DeleteDELETE /api/agents/{id}client.agents.delete(id)
Attach playbookPOST /api/agents/{id}/playbooksclient.agents.attach_playbook(id, pb_id)
Detach playbookDELETE /api/agents/{id}/playbooks/{pbId}client.agents.detach_playbook(id, pb_id)
Attach FAQPOST /api/agents/{id}/faqsclient.agents.attach_faq(id, faq_id)
Configure toolPOST /api/agents/{id}/toolsclient.agents.upsert_tool(id, tool_name, config, enabled)

Where agents talk

An agent is just config. The actual conversation runs in the Call Processor (Pipecat-based, GPU-friendly). You connect the agent to one of three transports:
  1. PSTN (phone) — assign a phone_number to the agent (see Telephony). Inbound rings the agent; outbound goes through POST /api/v1/calls/originate.
  2. WebRTC widget — embed the JS SDK on a customer page (see Widget).
  3. Direct WebSocket — for custom clients that speak the gateway protocol directly.