Create Agent
Create a new agent using LiveKit Cloud for all media/dispatch config.
curl --request POST \
--url https://api.example.com/agents \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"default_user_lang": "<string>",
"thinking_lang": "<string>",
"description": "<string>",
"default_voice_id": "<string>",
"interruptions_enabled": true,
"escalation_policy": {},
"model_provider": "openai",
"model_name": "gpt-4o-mini",
"temperature": 0.7,
"max_tokens": 150,
"system_prompt": "<string>",
"persona": "<string>",
"first_message_mode": "assistant-speaks-first",
"first_message_script": "<string>",
"voice_provider": "elevenlabs",
"voice_id": "<string>",
"background_sound_url": "<string>",
"input_min_characters": 30,
"transcriber_provider": "deepgram",
"transcriber_model": "nova-3",
"background_denoising": true,
"confidence_threshold": 0.4,
"multilingual_enabled": false,
"supported_languages": [
"<string>"
],
"language_detection_provider": "auto",
"respond_in_user_language": true,
"wait_seconds": 0.4,
"smart_endpointing": true,
"interruption_words": 3,
"punctuation_boundary_ms": 100,
"no_punctuation_boundary_ms": 1500,
"silence_timeout_seconds": 30,
"max_duration_seconds": 600,
"idle_messages_enabled": true,
"max_idle_messages": 3,
"idle_timeout_seconds": 7.5,
"analysis_prompt": "<string>",
"analysis_timeout_sec": 10,
"min_messages_for_analysis": 2,
"voicemail_detection_enabled": true,
"voicemail_message": "<string>",
"end_call_message": "<string>",
"keypad_input_enabled": false,
"keypad_timeout_seconds": 2,
"keypad_delimiters": "#",
"sip_enabled": false,
"recording_enabled": true,
"analytics_enabled": true,
"knowledge": [
{}
],
"tools": [
{}
],
"channels": {}
}
'import requests
url = "https://api.example.com/agents"
payload = {
"name": "<string>",
"default_user_lang": "<string>",
"thinking_lang": "<string>",
"description": "<string>",
"default_voice_id": "<string>",
"interruptions_enabled": True,
"escalation_policy": {},
"model_provider": "openai",
"model_name": "gpt-4o-mini",
"temperature": 0.7,
"max_tokens": 150,
"system_prompt": "<string>",
"persona": "<string>",
"first_message_mode": "assistant-speaks-first",
"first_message_script": "<string>",
"voice_provider": "elevenlabs",
"voice_id": "<string>",
"background_sound_url": "<string>",
"input_min_characters": 30,
"transcriber_provider": "deepgram",
"transcriber_model": "nova-3",
"background_denoising": True,
"confidence_threshold": 0.4,
"multilingual_enabled": False,
"supported_languages": ["<string>"],
"language_detection_provider": "auto",
"respond_in_user_language": True,
"wait_seconds": 0.4,
"smart_endpointing": True,
"interruption_words": 3,
"punctuation_boundary_ms": 100,
"no_punctuation_boundary_ms": 1500,
"silence_timeout_seconds": 30,
"max_duration_seconds": 600,
"idle_messages_enabled": True,
"max_idle_messages": 3,
"idle_timeout_seconds": 7.5,
"analysis_prompt": "<string>",
"analysis_timeout_sec": 10,
"min_messages_for_analysis": 2,
"voicemail_detection_enabled": True,
"voicemail_message": "<string>",
"end_call_message": "<string>",
"keypad_input_enabled": False,
"keypad_timeout_seconds": 2,
"keypad_delimiters": "#",
"sip_enabled": False,
"recording_enabled": True,
"analytics_enabled": True,
"knowledge": [{}],
"tools": [{}],
"channels": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
default_user_lang: '<string>',
thinking_lang: '<string>',
description: '<string>',
default_voice_id: '<string>',
interruptions_enabled: true,
escalation_policy: {},
model_provider: 'openai',
model_name: 'gpt-4o-mini',
temperature: 0.7,
max_tokens: 150,
system_prompt: '<string>',
persona: '<string>',
first_message_mode: 'assistant-speaks-first',
first_message_script: '<string>',
voice_provider: 'elevenlabs',
voice_id: '<string>',
background_sound_url: '<string>',
input_min_characters: 30,
transcriber_provider: 'deepgram',
transcriber_model: 'nova-3',
background_denoising: true,
confidence_threshold: 0.4,
multilingual_enabled: false,
supported_languages: ['<string>'],
language_detection_provider: 'auto',
respond_in_user_language: true,
wait_seconds: 0.4,
smart_endpointing: true,
interruption_words: 3,
punctuation_boundary_ms: 100,
no_punctuation_boundary_ms: 1500,
silence_timeout_seconds: 30,
max_duration_seconds: 600,
idle_messages_enabled: true,
max_idle_messages: 3,
idle_timeout_seconds: 7.5,
analysis_prompt: '<string>',
analysis_timeout_sec: 10,
min_messages_for_analysis: 2,
voicemail_detection_enabled: true,
voicemail_message: '<string>',
end_call_message: '<string>',
keypad_input_enabled: false,
keypad_timeout_seconds: 2,
keypad_delimiters: '#',
sip_enabled: false,
recording_enabled: true,
analytics_enabled: true,
knowledge: [{}],
tools: [{}],
channels: {}
})
};
fetch('https://api.example.com/agents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'default_user_lang' => '<string>',
'thinking_lang' => '<string>',
'description' => '<string>',
'default_voice_id' => '<string>',
'interruptions_enabled' => true,
'escalation_policy' => [
],
'model_provider' => 'openai',
'model_name' => 'gpt-4o-mini',
'temperature' => 0.7,
'max_tokens' => 150,
'system_prompt' => '<string>',
'persona' => '<string>',
'first_message_mode' => 'assistant-speaks-first',
'first_message_script' => '<string>',
'voice_provider' => 'elevenlabs',
'voice_id' => '<string>',
'background_sound_url' => '<string>',
'input_min_characters' => 30,
'transcriber_provider' => 'deepgram',
'transcriber_model' => 'nova-3',
'background_denoising' => true,
'confidence_threshold' => 0.4,
'multilingual_enabled' => false,
'supported_languages' => [
'<string>'
],
'language_detection_provider' => 'auto',
'respond_in_user_language' => true,
'wait_seconds' => 0.4,
'smart_endpointing' => true,
'interruption_words' => 3,
'punctuation_boundary_ms' => 100,
'no_punctuation_boundary_ms' => 1500,
'silence_timeout_seconds' => 30,
'max_duration_seconds' => 600,
'idle_messages_enabled' => true,
'max_idle_messages' => 3,
'idle_timeout_seconds' => 7.5,
'analysis_prompt' => '<string>',
'analysis_timeout_sec' => 10,
'min_messages_for_analysis' => 2,
'voicemail_detection_enabled' => true,
'voicemail_message' => '<string>',
'end_call_message' => '<string>',
'keypad_input_enabled' => false,
'keypad_timeout_seconds' => 2,
'keypad_delimiters' => '#',
'sip_enabled' => false,
'recording_enabled' => true,
'analytics_enabled' => true,
'knowledge' => [
[
]
],
'tools' => [
[
]
],
'channels' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/agents"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"default_user_lang\": \"<string>\",\n \"thinking_lang\": \"<string>\",\n \"description\": \"<string>\",\n \"default_voice_id\": \"<string>\",\n \"interruptions_enabled\": true,\n \"escalation_policy\": {},\n \"model_provider\": \"openai\",\n \"model_name\": \"gpt-4o-mini\",\n \"temperature\": 0.7,\n \"max_tokens\": 150,\n \"system_prompt\": \"<string>\",\n \"persona\": \"<string>\",\n \"first_message_mode\": \"assistant-speaks-first\",\n \"first_message_script\": \"<string>\",\n \"voice_provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"background_sound_url\": \"<string>\",\n \"input_min_characters\": 30,\n \"transcriber_provider\": \"deepgram\",\n \"transcriber_model\": \"nova-3\",\n \"background_denoising\": true,\n \"confidence_threshold\": 0.4,\n \"multilingual_enabled\": false,\n \"supported_languages\": [\n \"<string>\"\n ],\n \"language_detection_provider\": \"auto\",\n \"respond_in_user_language\": true,\n \"wait_seconds\": 0.4,\n \"smart_endpointing\": true,\n \"interruption_words\": 3,\n \"punctuation_boundary_ms\": 100,\n \"no_punctuation_boundary_ms\": 1500,\n \"silence_timeout_seconds\": 30,\n \"max_duration_seconds\": 600,\n \"idle_messages_enabled\": true,\n \"max_idle_messages\": 3,\n \"idle_timeout_seconds\": 7.5,\n \"analysis_prompt\": \"<string>\",\n \"analysis_timeout_sec\": 10,\n \"min_messages_for_analysis\": 2,\n \"voicemail_detection_enabled\": true,\n \"voicemail_message\": \"<string>\",\n \"end_call_message\": \"<string>\",\n \"keypad_input_enabled\": false,\n \"keypad_timeout_seconds\": 2,\n \"keypad_delimiters\": \"#\",\n \"sip_enabled\": false,\n \"recording_enabled\": true,\n \"analytics_enabled\": true,\n \"knowledge\": [\n {}\n ],\n \"tools\": [\n {}\n ],\n \"channels\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/agents")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"default_user_lang\": \"<string>\",\n \"thinking_lang\": \"<string>\",\n \"description\": \"<string>\",\n \"default_voice_id\": \"<string>\",\n \"interruptions_enabled\": true,\n \"escalation_policy\": {},\n \"model_provider\": \"openai\",\n \"model_name\": \"gpt-4o-mini\",\n \"temperature\": 0.7,\n \"max_tokens\": 150,\n \"system_prompt\": \"<string>\",\n \"persona\": \"<string>\",\n \"first_message_mode\": \"assistant-speaks-first\",\n \"first_message_script\": \"<string>\",\n \"voice_provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"background_sound_url\": \"<string>\",\n \"input_min_characters\": 30,\n \"transcriber_provider\": \"deepgram\",\n \"transcriber_model\": \"nova-3\",\n \"background_denoising\": true,\n \"confidence_threshold\": 0.4,\n \"multilingual_enabled\": false,\n \"supported_languages\": [\n \"<string>\"\n ],\n \"language_detection_provider\": \"auto\",\n \"respond_in_user_language\": true,\n \"wait_seconds\": 0.4,\n \"smart_endpointing\": true,\n \"interruption_words\": 3,\n \"punctuation_boundary_ms\": 100,\n \"no_punctuation_boundary_ms\": 1500,\n \"silence_timeout_seconds\": 30,\n \"max_duration_seconds\": 600,\n \"idle_messages_enabled\": true,\n \"max_idle_messages\": 3,\n \"idle_timeout_seconds\": 7.5,\n \"analysis_prompt\": \"<string>\",\n \"analysis_timeout_sec\": 10,\n \"min_messages_for_analysis\": 2,\n \"voicemail_detection_enabled\": true,\n \"voicemail_message\": \"<string>\",\n \"end_call_message\": \"<string>\",\n \"keypad_input_enabled\": false,\n \"keypad_timeout_seconds\": 2,\n \"keypad_delimiters\": \"#\",\n \"sip_enabled\": false,\n \"recording_enabled\": true,\n \"analytics_enabled\": true,\n \"knowledge\": [\n {}\n ],\n \"tools\": [\n {}\n ],\n \"channels\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"default_user_lang\": \"<string>\",\n \"thinking_lang\": \"<string>\",\n \"description\": \"<string>\",\n \"default_voice_id\": \"<string>\",\n \"interruptions_enabled\": true,\n \"escalation_policy\": {},\n \"model_provider\": \"openai\",\n \"model_name\": \"gpt-4o-mini\",\n \"temperature\": 0.7,\n \"max_tokens\": 150,\n \"system_prompt\": \"<string>\",\n \"persona\": \"<string>\",\n \"first_message_mode\": \"assistant-speaks-first\",\n \"first_message_script\": \"<string>\",\n \"voice_provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"background_sound_url\": \"<string>\",\n \"input_min_characters\": 30,\n \"transcriber_provider\": \"deepgram\",\n \"transcriber_model\": \"nova-3\",\n \"background_denoising\": true,\n \"confidence_threshold\": 0.4,\n \"multilingual_enabled\": false,\n \"supported_languages\": [\n \"<string>\"\n ],\n \"language_detection_provider\": \"auto\",\n \"respond_in_user_language\": true,\n \"wait_seconds\": 0.4,\n \"smart_endpointing\": true,\n \"interruption_words\": 3,\n \"punctuation_boundary_ms\": 100,\n \"no_punctuation_boundary_ms\": 1500,\n \"silence_timeout_seconds\": 30,\n \"max_duration_seconds\": 600,\n \"idle_messages_enabled\": true,\n \"max_idle_messages\": 3,\n \"idle_timeout_seconds\": 7.5,\n \"analysis_prompt\": \"<string>\",\n \"analysis_timeout_sec\": 10,\n \"min_messages_for_analysis\": 2,\n \"voicemail_detection_enabled\": true,\n \"voicemail_message\": \"<string>\",\n \"end_call_message\": \"<string>\",\n \"keypad_input_enabled\": false,\n \"keypad_timeout_seconds\": 2,\n \"keypad_delimiters\": \"#\",\n \"sip_enabled\": false,\n \"recording_enabled\": true,\n \"analytics_enabled\": true,\n \"knowledge\": [\n {}\n ],\n \"tools\": [\n {}\n ],\n \"channels\": {}\n}"
response = http.request(request)
puts response.read_body{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version": 123,
"livekit": {},
"embed": {},
"sip": {},
"capabilities": {},
"tools": [],
"workflow": {},
"client_messages": [
"conversation-update",
"tool-calls",
"transcript.partial",
"transcript.final"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Agent creation model.
1 - 2552 - 102 - 10^(openai|azure_openai|anthropic|google|groq|cerebras|deepseek|xai|perplexity|together|amazon_bedrock|anyscale|openrouter|deepinfra)$1 - 1000 <= x <= 150 <= x <= 1000Full system prompt defining the agent's role, behavior, and instructions. Falls back to description if not set.
8000Short character/personality descriptor (e.g. 'Friendly British accountant'). Renders as 'Personality: ...' in the system prompt.
2000^(assistant-speaks-first|wait-for-user|assistant-speaks-first-with-model-generated-message)$500^(elevenlabs|cartesia|openai|deepgram|google|azure|rime|lmnt)$50010 <= x <= 100^(deepgram|openai|assemblyai|google|azure)$1 - 1000 <= x <= 1Enable automatic language detection for multilingual conversations
List of language codes the agent supports (e.g., ['en', 'es', 'fr']). If multilingual_enabled=true and this is empty, all languages are supported.
Provider for language detection: 'auto' uses STT provider's built-in detection
^(auto|deepgram|whisper)$When true, agent responds in the detected user language. When false, always responds in default_user_lang.
0.1 <= x <= 10 <= x <= 1050 <= x <= 500800 <= x <= 300010 <= x <= 120180 <= x <= 18001 <= x <= 105 <= x <= 6020001 <= x <= 600 <= x <= 105005001 <= x <= 6^[#*]+$Enable SIP/phone calling for this agent
Enable call recording for this agent
Enable analytics tracking for this agent
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
Successful Response
Agent creation response model.
curl --request POST \
--url https://api.example.com/agents \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"default_user_lang": "<string>",
"thinking_lang": "<string>",
"description": "<string>",
"default_voice_id": "<string>",
"interruptions_enabled": true,
"escalation_policy": {},
"model_provider": "openai",
"model_name": "gpt-4o-mini",
"temperature": 0.7,
"max_tokens": 150,
"system_prompt": "<string>",
"persona": "<string>",
"first_message_mode": "assistant-speaks-first",
"first_message_script": "<string>",
"voice_provider": "elevenlabs",
"voice_id": "<string>",
"background_sound_url": "<string>",
"input_min_characters": 30,
"transcriber_provider": "deepgram",
"transcriber_model": "nova-3",
"background_denoising": true,
"confidence_threshold": 0.4,
"multilingual_enabled": false,
"supported_languages": [
"<string>"
],
"language_detection_provider": "auto",
"respond_in_user_language": true,
"wait_seconds": 0.4,
"smart_endpointing": true,
"interruption_words": 3,
"punctuation_boundary_ms": 100,
"no_punctuation_boundary_ms": 1500,
"silence_timeout_seconds": 30,
"max_duration_seconds": 600,
"idle_messages_enabled": true,
"max_idle_messages": 3,
"idle_timeout_seconds": 7.5,
"analysis_prompt": "<string>",
"analysis_timeout_sec": 10,
"min_messages_for_analysis": 2,
"voicemail_detection_enabled": true,
"voicemail_message": "<string>",
"end_call_message": "<string>",
"keypad_input_enabled": false,
"keypad_timeout_seconds": 2,
"keypad_delimiters": "#",
"sip_enabled": false,
"recording_enabled": true,
"analytics_enabled": true,
"knowledge": [
{}
],
"tools": [
{}
],
"channels": {}
}
'import requests
url = "https://api.example.com/agents"
payload = {
"name": "<string>",
"default_user_lang": "<string>",
"thinking_lang": "<string>",
"description": "<string>",
"default_voice_id": "<string>",
"interruptions_enabled": True,
"escalation_policy": {},
"model_provider": "openai",
"model_name": "gpt-4o-mini",
"temperature": 0.7,
"max_tokens": 150,
"system_prompt": "<string>",
"persona": "<string>",
"first_message_mode": "assistant-speaks-first",
"first_message_script": "<string>",
"voice_provider": "elevenlabs",
"voice_id": "<string>",
"background_sound_url": "<string>",
"input_min_characters": 30,
"transcriber_provider": "deepgram",
"transcriber_model": "nova-3",
"background_denoising": True,
"confidence_threshold": 0.4,
"multilingual_enabled": False,
"supported_languages": ["<string>"],
"language_detection_provider": "auto",
"respond_in_user_language": True,
"wait_seconds": 0.4,
"smart_endpointing": True,
"interruption_words": 3,
"punctuation_boundary_ms": 100,
"no_punctuation_boundary_ms": 1500,
"silence_timeout_seconds": 30,
"max_duration_seconds": 600,
"idle_messages_enabled": True,
"max_idle_messages": 3,
"idle_timeout_seconds": 7.5,
"analysis_prompt": "<string>",
"analysis_timeout_sec": 10,
"min_messages_for_analysis": 2,
"voicemail_detection_enabled": True,
"voicemail_message": "<string>",
"end_call_message": "<string>",
"keypad_input_enabled": False,
"keypad_timeout_seconds": 2,
"keypad_delimiters": "#",
"sip_enabled": False,
"recording_enabled": True,
"analytics_enabled": True,
"knowledge": [{}],
"tools": [{}],
"channels": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
default_user_lang: '<string>',
thinking_lang: '<string>',
description: '<string>',
default_voice_id: '<string>',
interruptions_enabled: true,
escalation_policy: {},
model_provider: 'openai',
model_name: 'gpt-4o-mini',
temperature: 0.7,
max_tokens: 150,
system_prompt: '<string>',
persona: '<string>',
first_message_mode: 'assistant-speaks-first',
first_message_script: '<string>',
voice_provider: 'elevenlabs',
voice_id: '<string>',
background_sound_url: '<string>',
input_min_characters: 30,
transcriber_provider: 'deepgram',
transcriber_model: 'nova-3',
background_denoising: true,
confidence_threshold: 0.4,
multilingual_enabled: false,
supported_languages: ['<string>'],
language_detection_provider: 'auto',
respond_in_user_language: true,
wait_seconds: 0.4,
smart_endpointing: true,
interruption_words: 3,
punctuation_boundary_ms: 100,
no_punctuation_boundary_ms: 1500,
silence_timeout_seconds: 30,
max_duration_seconds: 600,
idle_messages_enabled: true,
max_idle_messages: 3,
idle_timeout_seconds: 7.5,
analysis_prompt: '<string>',
analysis_timeout_sec: 10,
min_messages_for_analysis: 2,
voicemail_detection_enabled: true,
voicemail_message: '<string>',
end_call_message: '<string>',
keypad_input_enabled: false,
keypad_timeout_seconds: 2,
keypad_delimiters: '#',
sip_enabled: false,
recording_enabled: true,
analytics_enabled: true,
knowledge: [{}],
tools: [{}],
channels: {}
})
};
fetch('https://api.example.com/agents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'default_user_lang' => '<string>',
'thinking_lang' => '<string>',
'description' => '<string>',
'default_voice_id' => '<string>',
'interruptions_enabled' => true,
'escalation_policy' => [
],
'model_provider' => 'openai',
'model_name' => 'gpt-4o-mini',
'temperature' => 0.7,
'max_tokens' => 150,
'system_prompt' => '<string>',
'persona' => '<string>',
'first_message_mode' => 'assistant-speaks-first',
'first_message_script' => '<string>',
'voice_provider' => 'elevenlabs',
'voice_id' => '<string>',
'background_sound_url' => '<string>',
'input_min_characters' => 30,
'transcriber_provider' => 'deepgram',
'transcriber_model' => 'nova-3',
'background_denoising' => true,
'confidence_threshold' => 0.4,
'multilingual_enabled' => false,
'supported_languages' => [
'<string>'
],
'language_detection_provider' => 'auto',
'respond_in_user_language' => true,
'wait_seconds' => 0.4,
'smart_endpointing' => true,
'interruption_words' => 3,
'punctuation_boundary_ms' => 100,
'no_punctuation_boundary_ms' => 1500,
'silence_timeout_seconds' => 30,
'max_duration_seconds' => 600,
'idle_messages_enabled' => true,
'max_idle_messages' => 3,
'idle_timeout_seconds' => 7.5,
'analysis_prompt' => '<string>',
'analysis_timeout_sec' => 10,
'min_messages_for_analysis' => 2,
'voicemail_detection_enabled' => true,
'voicemail_message' => '<string>',
'end_call_message' => '<string>',
'keypad_input_enabled' => false,
'keypad_timeout_seconds' => 2,
'keypad_delimiters' => '#',
'sip_enabled' => false,
'recording_enabled' => true,
'analytics_enabled' => true,
'knowledge' => [
[
]
],
'tools' => [
[
]
],
'channels' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/agents"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"default_user_lang\": \"<string>\",\n \"thinking_lang\": \"<string>\",\n \"description\": \"<string>\",\n \"default_voice_id\": \"<string>\",\n \"interruptions_enabled\": true,\n \"escalation_policy\": {},\n \"model_provider\": \"openai\",\n \"model_name\": \"gpt-4o-mini\",\n \"temperature\": 0.7,\n \"max_tokens\": 150,\n \"system_prompt\": \"<string>\",\n \"persona\": \"<string>\",\n \"first_message_mode\": \"assistant-speaks-first\",\n \"first_message_script\": \"<string>\",\n \"voice_provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"background_sound_url\": \"<string>\",\n \"input_min_characters\": 30,\n \"transcriber_provider\": \"deepgram\",\n \"transcriber_model\": \"nova-3\",\n \"background_denoising\": true,\n \"confidence_threshold\": 0.4,\n \"multilingual_enabled\": false,\n \"supported_languages\": [\n \"<string>\"\n ],\n \"language_detection_provider\": \"auto\",\n \"respond_in_user_language\": true,\n \"wait_seconds\": 0.4,\n \"smart_endpointing\": true,\n \"interruption_words\": 3,\n \"punctuation_boundary_ms\": 100,\n \"no_punctuation_boundary_ms\": 1500,\n \"silence_timeout_seconds\": 30,\n \"max_duration_seconds\": 600,\n \"idle_messages_enabled\": true,\n \"max_idle_messages\": 3,\n \"idle_timeout_seconds\": 7.5,\n \"analysis_prompt\": \"<string>\",\n \"analysis_timeout_sec\": 10,\n \"min_messages_for_analysis\": 2,\n \"voicemail_detection_enabled\": true,\n \"voicemail_message\": \"<string>\",\n \"end_call_message\": \"<string>\",\n \"keypad_input_enabled\": false,\n \"keypad_timeout_seconds\": 2,\n \"keypad_delimiters\": \"#\",\n \"sip_enabled\": false,\n \"recording_enabled\": true,\n \"analytics_enabled\": true,\n \"knowledge\": [\n {}\n ],\n \"tools\": [\n {}\n ],\n \"channels\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/agents")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"default_user_lang\": \"<string>\",\n \"thinking_lang\": \"<string>\",\n \"description\": \"<string>\",\n \"default_voice_id\": \"<string>\",\n \"interruptions_enabled\": true,\n \"escalation_policy\": {},\n \"model_provider\": \"openai\",\n \"model_name\": \"gpt-4o-mini\",\n \"temperature\": 0.7,\n \"max_tokens\": 150,\n \"system_prompt\": \"<string>\",\n \"persona\": \"<string>\",\n \"first_message_mode\": \"assistant-speaks-first\",\n \"first_message_script\": \"<string>\",\n \"voice_provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"background_sound_url\": \"<string>\",\n \"input_min_characters\": 30,\n \"transcriber_provider\": \"deepgram\",\n \"transcriber_model\": \"nova-3\",\n \"background_denoising\": true,\n \"confidence_threshold\": 0.4,\n \"multilingual_enabled\": false,\n \"supported_languages\": [\n \"<string>\"\n ],\n \"language_detection_provider\": \"auto\",\n \"respond_in_user_language\": true,\n \"wait_seconds\": 0.4,\n \"smart_endpointing\": true,\n \"interruption_words\": 3,\n \"punctuation_boundary_ms\": 100,\n \"no_punctuation_boundary_ms\": 1500,\n \"silence_timeout_seconds\": 30,\n \"max_duration_seconds\": 600,\n \"idle_messages_enabled\": true,\n \"max_idle_messages\": 3,\n \"idle_timeout_seconds\": 7.5,\n \"analysis_prompt\": \"<string>\",\n \"analysis_timeout_sec\": 10,\n \"min_messages_for_analysis\": 2,\n \"voicemail_detection_enabled\": true,\n \"voicemail_message\": \"<string>\",\n \"end_call_message\": \"<string>\",\n \"keypad_input_enabled\": false,\n \"keypad_timeout_seconds\": 2,\n \"keypad_delimiters\": \"#\",\n \"sip_enabled\": false,\n \"recording_enabled\": true,\n \"analytics_enabled\": true,\n \"knowledge\": [\n {}\n ],\n \"tools\": [\n {}\n ],\n \"channels\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"default_user_lang\": \"<string>\",\n \"thinking_lang\": \"<string>\",\n \"description\": \"<string>\",\n \"default_voice_id\": \"<string>\",\n \"interruptions_enabled\": true,\n \"escalation_policy\": {},\n \"model_provider\": \"openai\",\n \"model_name\": \"gpt-4o-mini\",\n \"temperature\": 0.7,\n \"max_tokens\": 150,\n \"system_prompt\": \"<string>\",\n \"persona\": \"<string>\",\n \"first_message_mode\": \"assistant-speaks-first\",\n \"first_message_script\": \"<string>\",\n \"voice_provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"background_sound_url\": \"<string>\",\n \"input_min_characters\": 30,\n \"transcriber_provider\": \"deepgram\",\n \"transcriber_model\": \"nova-3\",\n \"background_denoising\": true,\n \"confidence_threshold\": 0.4,\n \"multilingual_enabled\": false,\n \"supported_languages\": [\n \"<string>\"\n ],\n \"language_detection_provider\": \"auto\",\n \"respond_in_user_language\": true,\n \"wait_seconds\": 0.4,\n \"smart_endpointing\": true,\n \"interruption_words\": 3,\n \"punctuation_boundary_ms\": 100,\n \"no_punctuation_boundary_ms\": 1500,\n \"silence_timeout_seconds\": 30,\n \"max_duration_seconds\": 600,\n \"idle_messages_enabled\": true,\n \"max_idle_messages\": 3,\n \"idle_timeout_seconds\": 7.5,\n \"analysis_prompt\": \"<string>\",\n \"analysis_timeout_sec\": 10,\n \"min_messages_for_analysis\": 2,\n \"voicemail_detection_enabled\": true,\n \"voicemail_message\": \"<string>\",\n \"end_call_message\": \"<string>\",\n \"keypad_input_enabled\": false,\n \"keypad_timeout_seconds\": 2,\n \"keypad_delimiters\": \"#\",\n \"sip_enabled\": false,\n \"recording_enabled\": true,\n \"analytics_enabled\": true,\n \"knowledge\": [\n {}\n ],\n \"tools\": [\n {}\n ],\n \"channels\": {}\n}"
response = http.request(request)
puts response.read_body{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version": 123,
"livekit": {},
"embed": {},
"sip": {},
"capabilities": {},
"tools": [],
"workflow": {},
"client_messages": [
"conversation-update",
"tool-calls",
"transcript.partial",
"transcript.final"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}