curl --request POST \
--url https://api.threetone.in/v1/convai/agents/create \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"conversation_config": {
"asr": {
"quality": "high",
"provider": "elevenlabs",
"user_input_audio_format": "pcm_16000",
"keywords": [
"<string>"
]
},
"turn": {
"turn_timeout": 7,
"initial_wait_time": 123,
"silence_end_call_timeout": -1,
"soft_timeout_config": {
"timeout_seconds": -1,
"message": "Hhmmmm...yeah.",
"use_llm_generated_message": false
},
"speculative_turn": false
},
"tts": {
"model_id": "eleven_flash_v2",
"voice_id": "cjVigY5qzO86Huf0OWal",
"supported_voices": [
{
"label": "<string>",
"voice_id": "<string>",
"description": "<string>",
"language": "<string>",
"model_family": "<string>",
"stability": 0.5,
"speed": 0.95,
"similarity_boost": 0.5
}
],
"expressive_mode": true,
"suggested_audio_tags": [
{
"tag": "<string>",
"description": "<string>"
}
],
"agent_output_audio_format": "pcm_16000",
"optimize_streaming_latency": 3,
"stability": 0.5,
"speed": 1,
"similarity_boost": 0.8,
"text_normalisation_type": "system_prompt",
"pronunciation_dictionary_locators": [
{
"pronunciation_dictionary_id": "<string>",
"version_id": "<string>"
}
]
},
"conversation": {
"text_only": false,
"max_duration_seconds": 600,
"client_events": [],
"file_input": {
"enabled": true,
"max_files_per_conversation": 10
},
"monitoring_enabled": false,
"monitoring_events": []
},
"language_presets": {},
"agent": {
"first_message": "",
"language": "en",
"dynamic_variables": {
"dynamic_variable_placeholders": {
"user_name": "John Doe"
}
},
"disable_first_message_interruptions": false,
"max_conversation_duration_message": "",
"prompt": {
"knowledge_base": [],
"llm": "gemini-2.5-flash",
"max_tokens": -1,
"mcp_server_ids": [],
"native_mcp_server_ids": [],
"prompt": "You are a helpful assistant that can answer questions about the topic of the conversation.",
"temperature": 0,
"tool_ids": []
}
}
},
"name": "My agent"
}
'import requests
url = "https://api.threetone.in/v1/convai/agents/create"
payload = {
"conversation_config": {
"asr": {
"quality": "high",
"provider": "elevenlabs",
"user_input_audio_format": "pcm_16000",
"keywords": ["<string>"]
},
"turn": {
"turn_timeout": 7,
"initial_wait_time": 123,
"silence_end_call_timeout": -1,
"soft_timeout_config": {
"timeout_seconds": -1,
"message": "Hhmmmm...yeah.",
"use_llm_generated_message": False
},
"speculative_turn": False
},
"tts": {
"model_id": "eleven_flash_v2",
"voice_id": "cjVigY5qzO86Huf0OWal",
"supported_voices": [
{
"label": "<string>",
"voice_id": "<string>",
"description": "<string>",
"language": "<string>",
"model_family": "<string>",
"stability": 0.5,
"speed": 0.95,
"similarity_boost": 0.5
}
],
"expressive_mode": True,
"suggested_audio_tags": [
{
"tag": "<string>",
"description": "<string>"
}
],
"agent_output_audio_format": "pcm_16000",
"optimize_streaming_latency": 3,
"stability": 0.5,
"speed": 1,
"similarity_boost": 0.8,
"text_normalisation_type": "system_prompt",
"pronunciation_dictionary_locators": [
{
"pronunciation_dictionary_id": "<string>",
"version_id": "<string>"
}
]
},
"conversation": {
"text_only": False,
"max_duration_seconds": 600,
"client_events": [],
"file_input": {
"enabled": True,
"max_files_per_conversation": 10
},
"monitoring_enabled": False,
"monitoring_events": []
},
"language_presets": {},
"agent": {
"first_message": "",
"language": "en",
"dynamic_variables": { "dynamic_variable_placeholders": { "user_name": "John Doe" } },
"disable_first_message_interruptions": False,
"max_conversation_duration_message": "",
"prompt": {
"knowledge_base": [],
"llm": "gemini-2.5-flash",
"max_tokens": -1,
"mcp_server_ids": [],
"native_mcp_server_ids": [],
"prompt": "You are a helpful assistant that can answer questions about the topic of the conversation.",
"temperature": 0,
"tool_ids": []
}
}
},
"name": "My agent"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
conversation_config: {
asr: {
quality: 'high',
provider: 'elevenlabs',
user_input_audio_format: 'pcm_16000',
keywords: ['<string>']
},
turn: {
turn_timeout: 7,
initial_wait_time: 123,
silence_end_call_timeout: -1,
soft_timeout_config: {
timeout_seconds: -1,
message: 'Hhmmmm...yeah.',
use_llm_generated_message: false
},
speculative_turn: false
},
tts: {
model_id: 'eleven_flash_v2',
voice_id: 'cjVigY5qzO86Huf0OWal',
supported_voices: [
{
label: '<string>',
voice_id: '<string>',
description: '<string>',
language: '<string>',
model_family: '<string>',
stability: 0.5,
speed: 0.95,
similarity_boost: 0.5
}
],
expressive_mode: true,
suggested_audio_tags: [{tag: '<string>', description: '<string>'}],
agent_output_audio_format: 'pcm_16000',
optimize_streaming_latency: 3,
stability: 0.5,
speed: 1,
similarity_boost: 0.8,
text_normalisation_type: 'system_prompt',
pronunciation_dictionary_locators: [{pronunciation_dictionary_id: '<string>', version_id: '<string>'}]
},
conversation: {
text_only: false,
max_duration_seconds: 600,
client_events: [],
file_input: {enabled: true, max_files_per_conversation: 10},
monitoring_enabled: false,
monitoring_events: []
},
language_presets: {},
agent: {
first_message: '',
language: 'en',
dynamic_variables: {dynamic_variable_placeholders: {user_name: 'John Doe'}},
disable_first_message_interruptions: false,
max_conversation_duration_message: '',
prompt: {
knowledge_base: [],
llm: 'gemini-2.5-flash',
max_tokens: -1,
mcp_server_ids: [],
native_mcp_server_ids: [],
prompt: 'You are a helpful assistant that can answer questions about the topic of the conversation.',
temperature: 0,
tool_ids: []
}
}
},
name: 'My agent'
})
};
fetch('https://api.threetone.in/v1/convai/agents/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"agent_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Create Agent
Create an agent from a config object
curl --request POST \
--url https://api.threetone.in/v1/convai/agents/create \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"conversation_config": {
"asr": {
"quality": "high",
"provider": "elevenlabs",
"user_input_audio_format": "pcm_16000",
"keywords": [
"<string>"
]
},
"turn": {
"turn_timeout": 7,
"initial_wait_time": 123,
"silence_end_call_timeout": -1,
"soft_timeout_config": {
"timeout_seconds": -1,
"message": "Hhmmmm...yeah.",
"use_llm_generated_message": false
},
"speculative_turn": false
},
"tts": {
"model_id": "eleven_flash_v2",
"voice_id": "cjVigY5qzO86Huf0OWal",
"supported_voices": [
{
"label": "<string>",
"voice_id": "<string>",
"description": "<string>",
"language": "<string>",
"model_family": "<string>",
"stability": 0.5,
"speed": 0.95,
"similarity_boost": 0.5
}
],
"expressive_mode": true,
"suggested_audio_tags": [
{
"tag": "<string>",
"description": "<string>"
}
],
"agent_output_audio_format": "pcm_16000",
"optimize_streaming_latency": 3,
"stability": 0.5,
"speed": 1,
"similarity_boost": 0.8,
"text_normalisation_type": "system_prompt",
"pronunciation_dictionary_locators": [
{
"pronunciation_dictionary_id": "<string>",
"version_id": "<string>"
}
]
},
"conversation": {
"text_only": false,
"max_duration_seconds": 600,
"client_events": [],
"file_input": {
"enabled": true,
"max_files_per_conversation": 10
},
"monitoring_enabled": false,
"monitoring_events": []
},
"language_presets": {},
"agent": {
"first_message": "",
"language": "en",
"dynamic_variables": {
"dynamic_variable_placeholders": {
"user_name": "John Doe"
}
},
"disable_first_message_interruptions": false,
"max_conversation_duration_message": "",
"prompt": {
"knowledge_base": [],
"llm": "gemini-2.5-flash",
"max_tokens": -1,
"mcp_server_ids": [],
"native_mcp_server_ids": [],
"prompt": "You are a helpful assistant that can answer questions about the topic of the conversation.",
"temperature": 0,
"tool_ids": []
}
}
},
"name": "My agent"
}
'import requests
url = "https://api.threetone.in/v1/convai/agents/create"
payload = {
"conversation_config": {
"asr": {
"quality": "high",
"provider": "elevenlabs",
"user_input_audio_format": "pcm_16000",
"keywords": ["<string>"]
},
"turn": {
"turn_timeout": 7,
"initial_wait_time": 123,
"silence_end_call_timeout": -1,
"soft_timeout_config": {
"timeout_seconds": -1,
"message": "Hhmmmm...yeah.",
"use_llm_generated_message": False
},
"speculative_turn": False
},
"tts": {
"model_id": "eleven_flash_v2",
"voice_id": "cjVigY5qzO86Huf0OWal",
"supported_voices": [
{
"label": "<string>",
"voice_id": "<string>",
"description": "<string>",
"language": "<string>",
"model_family": "<string>",
"stability": 0.5,
"speed": 0.95,
"similarity_boost": 0.5
}
],
"expressive_mode": True,
"suggested_audio_tags": [
{
"tag": "<string>",
"description": "<string>"
}
],
"agent_output_audio_format": "pcm_16000",
"optimize_streaming_latency": 3,
"stability": 0.5,
"speed": 1,
"similarity_boost": 0.8,
"text_normalisation_type": "system_prompt",
"pronunciation_dictionary_locators": [
{
"pronunciation_dictionary_id": "<string>",
"version_id": "<string>"
}
]
},
"conversation": {
"text_only": False,
"max_duration_seconds": 600,
"client_events": [],
"file_input": {
"enabled": True,
"max_files_per_conversation": 10
},
"monitoring_enabled": False,
"monitoring_events": []
},
"language_presets": {},
"agent": {
"first_message": "",
"language": "en",
"dynamic_variables": { "dynamic_variable_placeholders": { "user_name": "John Doe" } },
"disable_first_message_interruptions": False,
"max_conversation_duration_message": "",
"prompt": {
"knowledge_base": [],
"llm": "gemini-2.5-flash",
"max_tokens": -1,
"mcp_server_ids": [],
"native_mcp_server_ids": [],
"prompt": "You are a helpful assistant that can answer questions about the topic of the conversation.",
"temperature": 0,
"tool_ids": []
}
}
},
"name": "My agent"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
conversation_config: {
asr: {
quality: 'high',
provider: 'elevenlabs',
user_input_audio_format: 'pcm_16000',
keywords: ['<string>']
},
turn: {
turn_timeout: 7,
initial_wait_time: 123,
silence_end_call_timeout: -1,
soft_timeout_config: {
timeout_seconds: -1,
message: 'Hhmmmm...yeah.',
use_llm_generated_message: false
},
speculative_turn: false
},
tts: {
model_id: 'eleven_flash_v2',
voice_id: 'cjVigY5qzO86Huf0OWal',
supported_voices: [
{
label: '<string>',
voice_id: '<string>',
description: '<string>',
language: '<string>',
model_family: '<string>',
stability: 0.5,
speed: 0.95,
similarity_boost: 0.5
}
],
expressive_mode: true,
suggested_audio_tags: [{tag: '<string>', description: '<string>'}],
agent_output_audio_format: 'pcm_16000',
optimize_streaming_latency: 3,
stability: 0.5,
speed: 1,
similarity_boost: 0.8,
text_normalisation_type: 'system_prompt',
pronunciation_dictionary_locators: [{pronunciation_dictionary_id: '<string>', version_id: '<string>'}]
},
conversation: {
text_only: false,
max_duration_seconds: 600,
client_events: [],
file_input: {enabled: true, max_files_per_conversation: 10},
monitoring_enabled: false,
monitoring_events: []
},
language_presets: {},
agent: {
first_message: '',
language: 'en',
dynamic_variables: {dynamic_variable_placeholders: {user_name: 'John Doe'}},
disable_first_message_interruptions: false,
max_conversation_duration_message: '',
prompt: {
knowledge_base: [],
llm: 'gemini-2.5-flash',
max_tokens: -1,
mcp_server_ids: [],
native_mcp_server_ids: [],
prompt: 'You are a helpful assistant that can answer questions about the topic of the conversation.',
temperature: 0,
tool_ids: []
}
}
},
name: 'My agent'
})
};
fetch('https://api.threetone.in/v1/convai/agents/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"agent_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API key for programmatic access
Headers
Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
Query Parameters
Enable versioning for the agent
Body
Request body for POST /v1/convai/agents/create.
Conversation configuration for an agent
Show child attributes
Show child attributes
Platform settings for the agent are all settings that aren't related to the conversation orchestration and content.
Show child attributes
Show child attributes
Workflow for the agent. This is used to define the flow of the conversation and how the agent interacts with tools.
Show child attributes
Show child attributes
A name to make the agent easier to find
"My agent"
Tags to help classify and filter the agent
[
"Customer Support",
"Technical Help",
"Eleven"
]
Response
Successful Response
ID of the created agent