Create Agent
curl --request POST \
--url https://api.ravan.ai/api/v1/agents/ \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"widget_settings_id": "<string>",
"name": "<string>",
"agent_name": "<string>",
"model": "<string>",
"s2s_model": "<string>",
"voice_id": "<string>",
"temperature": 123,
"reminder_trigger_ms": 123,
"reminder_max_count": 123,
"ambient_sound": "<string>",
"ambient_sound_volume": 123,
"end_call_after_silence": true,
"max_call_duration_ms": 123,
"ring_duration_ms": 123,
"enable_voicemail_detection": true,
"voicemail_message": "<string>",
"voicemail_detection_timeout_ms": 123,
"enable_emergency_fallback": true,
"emergency_fallback_number": "<string>",
"ivr_options": {},
"post_call_analysis_model": "<string>",
"analysis_summary_prompt": "<string>",
"selected_tools": {},
"integrations": {},
"knowledge_base": "<string>",
"begin_message": "<string>",
"start_speaker": "<string>"
}
'import requests
url = "https://api.ravan.ai/api/v1/agents/"
payload = {
"widget_settings_id": "<string>",
"name": "<string>",
"agent_name": "<string>",
"model": "<string>",
"s2s_model": "<string>",
"voice_id": "<string>",
"temperature": 123,
"reminder_trigger_ms": 123,
"reminder_max_count": 123,
"ambient_sound": "<string>",
"ambient_sound_volume": 123,
"end_call_after_silence": True,
"max_call_duration_ms": 123,
"ring_duration_ms": 123,
"enable_voicemail_detection": True,
"voicemail_message": "<string>",
"voicemail_detection_timeout_ms": 123,
"enable_emergency_fallback": True,
"emergency_fallback_number": "<string>",
"ivr_options": {},
"post_call_analysis_model": "<string>",
"analysis_summary_prompt": "<string>",
"selected_tools": {},
"integrations": {},
"knowledge_base": "<string>",
"begin_message": "<string>",
"start_speaker": "<string>"
}
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({
widget_settings_id: '<string>',
name: '<string>',
agent_name: '<string>',
model: '<string>',
s2s_model: '<string>',
voice_id: '<string>',
temperature: 123,
reminder_trigger_ms: 123,
reminder_max_count: 123,
ambient_sound: '<string>',
ambient_sound_volume: 123,
end_call_after_silence: true,
max_call_duration_ms: 123,
ring_duration_ms: 123,
enable_voicemail_detection: true,
voicemail_message: '<string>',
voicemail_detection_timeout_ms: 123,
enable_emergency_fallback: true,
emergency_fallback_number: '<string>',
ivr_options: {},
post_call_analysis_model: '<string>',
analysis_summary_prompt: '<string>',
selected_tools: {},
integrations: {},
knowledge_base: '<string>',
begin_message: '<string>',
start_speaker: '<string>'
})
};
fetch('https://api.ravan.ai/api/v1/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.ravan.ai/api/v1/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([
'widget_settings_id' => '<string>',
'name' => '<string>',
'agent_name' => '<string>',
'model' => '<string>',
's2s_model' => '<string>',
'voice_id' => '<string>',
'temperature' => 123,
'reminder_trigger_ms' => 123,
'reminder_max_count' => 123,
'ambient_sound' => '<string>',
'ambient_sound_volume' => 123,
'end_call_after_silence' => true,
'max_call_duration_ms' => 123,
'ring_duration_ms' => 123,
'enable_voicemail_detection' => true,
'voicemail_message' => '<string>',
'voicemail_detection_timeout_ms' => 123,
'enable_emergency_fallback' => true,
'emergency_fallback_number' => '<string>',
'ivr_options' => [
],
'post_call_analysis_model' => '<string>',
'analysis_summary_prompt' => '<string>',
'selected_tools' => [
],
'integrations' => [
],
'knowledge_base' => '<string>',
'begin_message' => '<string>',
'start_speaker' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$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.ravan.ai/api/v1/agents/"
payload := strings.NewReader("{\n \"widget_settings_id\": \"<string>\",\n \"name\": \"<string>\",\n \"agent_name\": \"<string>\",\n \"model\": \"<string>\",\n \"s2s_model\": \"<string>\",\n \"voice_id\": \"<string>\",\n \"temperature\": 123,\n \"reminder_trigger_ms\": 123,\n \"reminder_max_count\": 123,\n \"ambient_sound\": \"<string>\",\n \"ambient_sound_volume\": 123,\n \"end_call_after_silence\": true,\n \"max_call_duration_ms\": 123,\n \"ring_duration_ms\": 123,\n \"enable_voicemail_detection\": true,\n \"voicemail_message\": \"<string>\",\n \"voicemail_detection_timeout_ms\": 123,\n \"enable_emergency_fallback\": true,\n \"emergency_fallback_number\": \"<string>\",\n \"ivr_options\": {},\n \"post_call_analysis_model\": \"<string>\",\n \"analysis_summary_prompt\": \"<string>\",\n \"selected_tools\": {},\n \"integrations\": {},\n \"knowledge_base\": \"<string>\",\n \"begin_message\": \"<string>\",\n \"start_speaker\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
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.ravan.ai/api/v1/agents/")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"widget_settings_id\": \"<string>\",\n \"name\": \"<string>\",\n \"agent_name\": \"<string>\",\n \"model\": \"<string>\",\n \"s2s_model\": \"<string>\",\n \"voice_id\": \"<string>\",\n \"temperature\": 123,\n \"reminder_trigger_ms\": 123,\n \"reminder_max_count\": 123,\n \"ambient_sound\": \"<string>\",\n \"ambient_sound_volume\": 123,\n \"end_call_after_silence\": true,\n \"max_call_duration_ms\": 123,\n \"ring_duration_ms\": 123,\n \"enable_voicemail_detection\": true,\n \"voicemail_message\": \"<string>\",\n \"voicemail_detection_timeout_ms\": 123,\n \"enable_emergency_fallback\": true,\n \"emergency_fallback_number\": \"<string>\",\n \"ivr_options\": {},\n \"post_call_analysis_model\": \"<string>\",\n \"analysis_summary_prompt\": \"<string>\",\n \"selected_tools\": {},\n \"integrations\": {},\n \"knowledge_base\": \"<string>\",\n \"begin_message\": \"<string>\",\n \"start_speaker\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ravan.ai/api/v1/agents/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"widget_settings_id\": \"<string>\",\n \"name\": \"<string>\",\n \"agent_name\": \"<string>\",\n \"model\": \"<string>\",\n \"s2s_model\": \"<string>\",\n \"voice_id\": \"<string>\",\n \"temperature\": 123,\n \"reminder_trigger_ms\": 123,\n \"reminder_max_count\": 123,\n \"ambient_sound\": \"<string>\",\n \"ambient_sound_volume\": 123,\n \"end_call_after_silence\": true,\n \"max_call_duration_ms\": 123,\n \"ring_duration_ms\": 123,\n \"enable_voicemail_detection\": true,\n \"voicemail_message\": \"<string>\",\n \"voicemail_detection_timeout_ms\": 123,\n \"enable_emergency_fallback\": true,\n \"emergency_fallback_number\": \"<string>\",\n \"ivr_options\": {},\n \"post_call_analysis_model\": \"<string>\",\n \"analysis_summary_prompt\": \"<string>\",\n \"selected_tools\": {},\n \"integrations\": {},\n \"knowledge_base\": \"<string>\",\n \"begin_message\": \"<string>\",\n \"start_speaker\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Agent created successfully",
"data": {
"id": "019eb654-a2c8-4b2c-9b1d-720b1d6b65f7",
"organization_id": "95a4e479-03a7-4f1b-834d-8705756e8e59",
"widget_settings_id": "a6f2b1d4-9d5d-4f9e-8f3d-0a16c7a3b55c",
"name": "Sales Automation Agent",
"agent_name": "Input Field FROM EARTH",
"status": "ACTIVE",
"model": "Agni Premium",
"s2s_model": "Agni Premium",
"voice_id": "Iris",
"temperature": 0.7,
"reminder_trigger_ms": 10000,
"reminder_max_count": 2,
"ambient_sound": "forest_ambience",
"ambient_sound_volume": 1,
"end_call_after_silence": true,
"max_call_duration_ms": 600000,
"ring_duration_ms": 32000,
"enable_voicemail_detection": true,
"voicemail_message": "",
"voicemail_detection_timeout_ms": 7000,
"enable_emergency_fallback": false,
"emergency_fallback_number": "+919123456789",
"ivr_options": {},
"post_call_analysis_model": "gpt-4o-mini",
"analysis_summary_prompt": "Summarize the call and capture the key outcome.",
"selected_tools": {},
"integrations": {
"ghl": true
},
"knowledge_base": "8619dc3f-3ef2-48b9-8b9d-3d750d573a59",
"begin_message": "Hi, thanks for calling. How can I help?",
"start_speaker": "agent",
"created_at": "2026-06-11T10:57:40.229069Z",
"updated_at": "2026-06-11T18:26:17.115921Z"
}
}
Agent API
Create Agent
Create a new agent.
POST
/
api
/
v1
/
agents
/
Create Agent
curl --request POST \
--url https://api.ravan.ai/api/v1/agents/ \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"widget_settings_id": "<string>",
"name": "<string>",
"agent_name": "<string>",
"model": "<string>",
"s2s_model": "<string>",
"voice_id": "<string>",
"temperature": 123,
"reminder_trigger_ms": 123,
"reminder_max_count": 123,
"ambient_sound": "<string>",
"ambient_sound_volume": 123,
"end_call_after_silence": true,
"max_call_duration_ms": 123,
"ring_duration_ms": 123,
"enable_voicemail_detection": true,
"voicemail_message": "<string>",
"voicemail_detection_timeout_ms": 123,
"enable_emergency_fallback": true,
"emergency_fallback_number": "<string>",
"ivr_options": {},
"post_call_analysis_model": "<string>",
"analysis_summary_prompt": "<string>",
"selected_tools": {},
"integrations": {},
"knowledge_base": "<string>",
"begin_message": "<string>",
"start_speaker": "<string>"
}
'import requests
url = "https://api.ravan.ai/api/v1/agents/"
payload = {
"widget_settings_id": "<string>",
"name": "<string>",
"agent_name": "<string>",
"model": "<string>",
"s2s_model": "<string>",
"voice_id": "<string>",
"temperature": 123,
"reminder_trigger_ms": 123,
"reminder_max_count": 123,
"ambient_sound": "<string>",
"ambient_sound_volume": 123,
"end_call_after_silence": True,
"max_call_duration_ms": 123,
"ring_duration_ms": 123,
"enable_voicemail_detection": True,
"voicemail_message": "<string>",
"voicemail_detection_timeout_ms": 123,
"enable_emergency_fallback": True,
"emergency_fallback_number": "<string>",
"ivr_options": {},
"post_call_analysis_model": "<string>",
"analysis_summary_prompt": "<string>",
"selected_tools": {},
"integrations": {},
"knowledge_base": "<string>",
"begin_message": "<string>",
"start_speaker": "<string>"
}
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({
widget_settings_id: '<string>',
name: '<string>',
agent_name: '<string>',
model: '<string>',
s2s_model: '<string>',
voice_id: '<string>',
temperature: 123,
reminder_trigger_ms: 123,
reminder_max_count: 123,
ambient_sound: '<string>',
ambient_sound_volume: 123,
end_call_after_silence: true,
max_call_duration_ms: 123,
ring_duration_ms: 123,
enable_voicemail_detection: true,
voicemail_message: '<string>',
voicemail_detection_timeout_ms: 123,
enable_emergency_fallback: true,
emergency_fallback_number: '<string>',
ivr_options: {},
post_call_analysis_model: '<string>',
analysis_summary_prompt: '<string>',
selected_tools: {},
integrations: {},
knowledge_base: '<string>',
begin_message: '<string>',
start_speaker: '<string>'
})
};
fetch('https://api.ravan.ai/api/v1/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.ravan.ai/api/v1/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([
'widget_settings_id' => '<string>',
'name' => '<string>',
'agent_name' => '<string>',
'model' => '<string>',
's2s_model' => '<string>',
'voice_id' => '<string>',
'temperature' => 123,
'reminder_trigger_ms' => 123,
'reminder_max_count' => 123,
'ambient_sound' => '<string>',
'ambient_sound_volume' => 123,
'end_call_after_silence' => true,
'max_call_duration_ms' => 123,
'ring_duration_ms' => 123,
'enable_voicemail_detection' => true,
'voicemail_message' => '<string>',
'voicemail_detection_timeout_ms' => 123,
'enable_emergency_fallback' => true,
'emergency_fallback_number' => '<string>',
'ivr_options' => [
],
'post_call_analysis_model' => '<string>',
'analysis_summary_prompt' => '<string>',
'selected_tools' => [
],
'integrations' => [
],
'knowledge_base' => '<string>',
'begin_message' => '<string>',
'start_speaker' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$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.ravan.ai/api/v1/agents/"
payload := strings.NewReader("{\n \"widget_settings_id\": \"<string>\",\n \"name\": \"<string>\",\n \"agent_name\": \"<string>\",\n \"model\": \"<string>\",\n \"s2s_model\": \"<string>\",\n \"voice_id\": \"<string>\",\n \"temperature\": 123,\n \"reminder_trigger_ms\": 123,\n \"reminder_max_count\": 123,\n \"ambient_sound\": \"<string>\",\n \"ambient_sound_volume\": 123,\n \"end_call_after_silence\": true,\n \"max_call_duration_ms\": 123,\n \"ring_duration_ms\": 123,\n \"enable_voicemail_detection\": true,\n \"voicemail_message\": \"<string>\",\n \"voicemail_detection_timeout_ms\": 123,\n \"enable_emergency_fallback\": true,\n \"emergency_fallback_number\": \"<string>\",\n \"ivr_options\": {},\n \"post_call_analysis_model\": \"<string>\",\n \"analysis_summary_prompt\": \"<string>\",\n \"selected_tools\": {},\n \"integrations\": {},\n \"knowledge_base\": \"<string>\",\n \"begin_message\": \"<string>\",\n \"start_speaker\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
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.ravan.ai/api/v1/agents/")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"widget_settings_id\": \"<string>\",\n \"name\": \"<string>\",\n \"agent_name\": \"<string>\",\n \"model\": \"<string>\",\n \"s2s_model\": \"<string>\",\n \"voice_id\": \"<string>\",\n \"temperature\": 123,\n \"reminder_trigger_ms\": 123,\n \"reminder_max_count\": 123,\n \"ambient_sound\": \"<string>\",\n \"ambient_sound_volume\": 123,\n \"end_call_after_silence\": true,\n \"max_call_duration_ms\": 123,\n \"ring_duration_ms\": 123,\n \"enable_voicemail_detection\": true,\n \"voicemail_message\": \"<string>\",\n \"voicemail_detection_timeout_ms\": 123,\n \"enable_emergency_fallback\": true,\n \"emergency_fallback_number\": \"<string>\",\n \"ivr_options\": {},\n \"post_call_analysis_model\": \"<string>\",\n \"analysis_summary_prompt\": \"<string>\",\n \"selected_tools\": {},\n \"integrations\": {},\n \"knowledge_base\": \"<string>\",\n \"begin_message\": \"<string>\",\n \"start_speaker\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ravan.ai/api/v1/agents/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"widget_settings_id\": \"<string>\",\n \"name\": \"<string>\",\n \"agent_name\": \"<string>\",\n \"model\": \"<string>\",\n \"s2s_model\": \"<string>\",\n \"voice_id\": \"<string>\",\n \"temperature\": 123,\n \"reminder_trigger_ms\": 123,\n \"reminder_max_count\": 123,\n \"ambient_sound\": \"<string>\",\n \"ambient_sound_volume\": 123,\n \"end_call_after_silence\": true,\n \"max_call_duration_ms\": 123,\n \"ring_duration_ms\": 123,\n \"enable_voicemail_detection\": true,\n \"voicemail_message\": \"<string>\",\n \"voicemail_detection_timeout_ms\": 123,\n \"enable_emergency_fallback\": true,\n \"emergency_fallback_number\": \"<string>\",\n \"ivr_options\": {},\n \"post_call_analysis_model\": \"<string>\",\n \"analysis_summary_prompt\": \"<string>\",\n \"selected_tools\": {},\n \"integrations\": {},\n \"knowledge_base\": \"<string>\",\n \"begin_message\": \"<string>\",\n \"start_speaker\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Agent created successfully",
"data": {
"id": "019eb654-a2c8-4b2c-9b1d-720b1d6b65f7",
"organization_id": "95a4e479-03a7-4f1b-834d-8705756e8e59",
"widget_settings_id": "a6f2b1d4-9d5d-4f9e-8f3d-0a16c7a3b55c",
"name": "Sales Automation Agent",
"agent_name": "Input Field FROM EARTH",
"status": "ACTIVE",
"model": "Agni Premium",
"s2s_model": "Agni Premium",
"voice_id": "Iris",
"temperature": 0.7,
"reminder_trigger_ms": 10000,
"reminder_max_count": 2,
"ambient_sound": "forest_ambience",
"ambient_sound_volume": 1,
"end_call_after_silence": true,
"max_call_duration_ms": 600000,
"ring_duration_ms": 32000,
"enable_voicemail_detection": true,
"voicemail_message": "",
"voicemail_detection_timeout_ms": 7000,
"enable_emergency_fallback": false,
"emergency_fallback_number": "+919123456789",
"ivr_options": {},
"post_call_analysis_model": "gpt-4o-mini",
"analysis_summary_prompt": "Summarize the call and capture the key outcome.",
"selected_tools": {},
"integrations": {
"ghl": true
},
"knowledge_base": "8619dc3f-3ef2-48b9-8b9d-3d750d573a59",
"begin_message": "Hi, thanks for calling. How can I help?",
"start_speaker": "agent",
"created_at": "2026-06-11T10:57:40.229069Z",
"updated_at": "2026-06-11T18:26:17.115921Z"
}
}
Actual endpoint:
POST https://api.ravan.ai/api/v1/agents/Authorizations
string
required
Your Agni API key used to authenticate the request. Pass it in the
X-Api-Key header. Find or rotate it from your Ravan AI account settings.Body
Use the current API contract fields below. The actual request schema uses snake_case keys.string
Optional widget settings ID associated with this agent.
string
Internal name for the agent.
string
Public-facing name that will be displayed to users.
string
LLM model identifier used for reasoning and responses.
string
Speech-to-speech model identifier used for real-time voice conversations.
string
Voice ID used for the agent’s TTS output.
number
Controls randomness in responses. Range:
0.0 to 1.0.integer
Milliseconds of silence before the agent sends a reminder.
integer
Maximum reminder messages allowed during a call.
string
Background sound profile. Leave empty to disable.
number
Ambient sound volume. Range:
0 to 1.boolean
Whether to end the call after a silence threshold is reached.
integer
Maximum call duration in milliseconds.
integer
Maximum time an outbound call rings before it is treated as unanswered.
boolean
Whether voicemail detection is enabled.
string
Message to leave when voicemail is detected.
integer
Timeout in milliseconds for voicemail detection.
boolean
Whether to allow emergency call transfer fallback.
string
Backup number to transfer the call to in an emergency. Use E.164 format.
object
Optional IVR configuration object.
string
Model used for post-call analysis, summaries, and structured extraction.
string
Prompt used to summarize call details after the conversation ends.
object
Tools enabled for the agent. This is an object keyed by tool name or tool ID.
object
Integration configuration for connected systems such as GHL or Salesforce.
string
Knowledge base ID to attach to the agent.
string
Initial message spoken by the agent when the conversation starts.
string
Who speaks first. Allowed values:
agent or user.Request Example
{
"widget_settings_id": "a6f2b1d4-9d5d-4f9e-8f3d-0a16c7a3b55c",
"name": "Sales Automation Agent",
"agent_name": "Input Field FROM EARTH",
"model": "Agni Premium",
"s2s_model": "Agni Premium",
"voice_id": "Iris",
"temperature": 0.7,
"reminder_trigger_ms": 10000,
"reminder_max_count": 2,
"ambient_sound": "forest_ambience",
"ambient_sound_volume": 1,
"end_call_after_silence": true,
"max_call_duration_ms": 600000,
"ring_duration_ms": 32000,
"enable_voicemail_detection": true,
"voicemail_message": "",
"voicemail_detection_timeout_ms": 7000,
"enable_emergency_fallback": false,
"emergency_fallback_number": "+919123456789",
"ivr_options": {},
"post_call_analysis_model": "gpt-4o-mini",
"analysis_summary_prompt": "Summarize the call and capture the key outcome.",
"selected_tools": {},
"integrations": {
"ghl": true
},
"knowledge_base": "8619dc3f-3ef2-48b9-8b9d-3d750d573a59",
"begin_message": "Hi, thanks for calling. How can I help?",
"start_speaker": "agent"
}
Response
boolean
Whether the request succeeded.
string
Human-readable status message. Example:
Agent created successfullyobject
Created agent object.
Show data
Show data
string
Unique agent ID.
string
Organization this agent belongs to.
string
Associated widget settings ID.
string
Internal name of the agent.
string
Display name of the agent.
string
Agent status.
string
LLM model identifier.
string
Speech-to-speech model identifier.
string
Voice ID for TTS.
number
LLM temperature setting.
integer
Milliseconds before sending a reminder.
integer
Maximum number of reminders to send.
string
Ambient sound identifier.
number
Ambient sound volume (0.0 - 1.0).
boolean
Whether the call ends after silence.
integer
Maximum call duration in milliseconds.
integer
Ring duration in milliseconds.
boolean
Whether voicemail detection is enabled.
string
Message left on voicemail.
integer
Voicemail detection timeout in milliseconds.
boolean
Whether emergency fallback is enabled.
string
Backup phone number for emergency transfer.
object
Optional IVR configuration.
string
Model used for post-call analysis.
string
Summary prompt used after the call.
object
Tools enabled for this agent.
object
Integration configuration.
string
Knowledge base reference.
string
Opening message spoken by the agent.
string
Who speaks first:
agent or user.string
Creation timestamp.
string
Last update timestamp.
{
"success": true,
"message": "Agent created successfully",
"data": {
"id": "019eb654-a2c8-4b2c-9b1d-720b1d6b65f7",
"organization_id": "95a4e479-03a7-4f1b-834d-8705756e8e59",
"widget_settings_id": "a6f2b1d4-9d5d-4f9e-8f3d-0a16c7a3b55c",
"name": "Sales Automation Agent",
"agent_name": "Input Field FROM EARTH",
"status": "ACTIVE",
"model": "Agni Premium",
"s2s_model": "Agni Premium",
"voice_id": "Iris",
"temperature": 0.7,
"reminder_trigger_ms": 10000,
"reminder_max_count": 2,
"ambient_sound": "forest_ambience",
"ambient_sound_volume": 1,
"end_call_after_silence": true,
"max_call_duration_ms": 600000,
"ring_duration_ms": 32000,
"enable_voicemail_detection": true,
"voicemail_message": "",
"voicemail_detection_timeout_ms": 7000,
"enable_emergency_fallback": false,
"emergency_fallback_number": "+919123456789",
"ivr_options": {},
"post_call_analysis_model": "gpt-4o-mini",
"analysis_summary_prompt": "Summarize the call and capture the key outcome.",
"selected_tools": {},
"integrations": {
"ghl": true
},
"knowledge_base": "8619dc3f-3ef2-48b9-8b9d-3d750d573a59",
"begin_message": "Hi, thanks for calling. How can I help?",
"start_speaker": "agent",
"created_at": "2026-06-11T10:57:40.229069Z",
"updated_at": "2026-06-11T18:26:17.115921Z"
}
}

