| Method | Endpoint | Description |
|---|---|---|
| GET | /agents | List all agents |
| POST | /agents | Create a new agent |
| GET | /agents/{id} | Get an agent |
| PATCH | /agents/{id} | Update an agent |
| DELETE | /agents/{id} | Delete an agent |
GET /agents{
"agents": [
{
"id": "17a0cb75-fa09-4bdd-9a44-92a70d829c88",
"name": "Customer Support Agent",
"business_name": "Acme Corp",
"is_active": true,
"first_message": "Hallo, welkom bij Acme. Waarmee kan ik u helpen?",
"voicemail_detection": false,
"max_duration_seconds": 600,
"autonomous_silence_handling": true,
"stt_config": {
"provider": "deepgram",
"model": "nova-3-general",
"language": "nl",
"keyterms": ["ja", "nee", "oké"]
},
"llm_config": {
"provider": "openai",
"model": "gpt-4o-mini",
"temperature": 0.7,
"messages": [...]
},
"tts_config": {
"provider": "openai",
"voice_id": "alloy",
"language": "nl"
},
"created_at": "2025-12-13T10:00:00.000Z",
"updated_at": "2025-12-13T10:00:00.000Z"
}
]
}name is required.POST /agents| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Agent display name |
business_name | string | No | Business the agent represents |
notification_email | No | Email for call notifications | |
first_message | string | No | Initial greeting message |
is_active | boolean | No | Whether agent is active (default: true) |
voicemail_detection | boolean | No | Enable voicemail detection |
voicemail_message | string | No | Message to leave on voicemail |
max_duration_seconds | integer | No | Maximum call duration in seconds |
autonomous_silence_handling | boolean | No | Auto-handle caller silence |
webhook_url | URL | No | Webhook URL for call events |
webhook_secret | string | No | Secret for webhook signatures |
webhook_events | array | No | Events to send to webhook |
stt_config | object | No | Speech-to-text configuration |
llm_config | object | No | Language model configuration |
tts_config | object | No | Text-to-speech configuration |
analysis_plan | object | No | Post-call analysis configuration |
{
"agent": {
"id": "17a0cb75-fa09-4bdd-9a44-92a70d829c88",
"name": "Customer Support Agent",
"business_name": "Acme Corp",
"is_active": true,
"voicemail_detection": true,
"max_duration_seconds": 600,
"autonomous_silence_handling": true,
"created_at": "2025-12-13T10:00:00.000Z",
"updated_at": "2025-12-13T10:00:00.000Z"
}
}GET /agents/{id}| Name | In | Type | Description |
|---|---|---|---|
id | path | UUID | Agent UUID |
{
"agent": {
"id": "17a0cb75-fa09-4bdd-9a44-92a70d829c88",
"name": "Customer Support Agent",
"business_name": "Acme Corp",
"is_active": true,
"stt_config": { ... },
"llm_config": { ... },
"tts_config": { ... }
}
}PATCH /agents/{id}| Name | In | Type | Description |
|---|---|---|---|
id | path | UUID | Agent UUID |
{
"agent": {
"id": "17a0cb75-fa09-4bdd-9a44-92a70d829c88",
"first_message": "Goedemiddag, u spreekt met Acme support.",
"is_active": false,
"max_duration_seconds": 900,
"updated_at": "2025-12-13T11:30:00.000Z"
}
}DELETE /agents/{id}| Name | In | Type | Description |
|---|---|---|---|
id | path | UUID | Agent UUID |
{
"success": true
}| Field | Type | Required | Description |
|---|---|---|---|
provider | string | Yes | deepgram |
model | string | Yes | e.g., nova-3-general |
language | string | Yes | e.g., nl, en, de |
keyterms | array | No | Words to boost recognition accuracy |
| Field | Type | Required | Description |
|---|---|---|---|
provider | string | Yes | openai, anthropic, groq |
model | string | Yes | e.g., gpt-4o-mini, claude-sonnet-4 |
temperature | number | No | 0-2, default 0.7 |
messages | array | No | System prompts with role/content |
tools | array | No | Available function tools |
| Field | Type | Required | Description |
|---|---|---|---|
provider | string | Yes | openai, elevenlabs, cartesia, local |
voice_id | string | Yes | Voice identifier |
language | string | Yes | e.g., nl, en |
model | string | No | Model name (provider-specific) |
speed | number | No | Speech speed (ElevenLabs: 0.5-2.0) |
stability | number | No | Voice stability (ElevenLabs: 0-1) |
similarity_boost | number | No | Clarity boost (ElevenLabs: 0-1) |
use_speaker_boost | boolean | No | Speaker boost (ElevenLabs) |
local provider is cost-efficient and uses robotic voices that improve user engagement for transactional callselevenlabs provides natural human-like voices with advanced controlsopenai offers good quality with simple configuration| Field | Type | Required | Description |
|---|---|---|---|
structured_data_plan | object | No | JSON schema for structured extraction |
min_messages_threshold | integer | No | Minimum messages before analysis runs |