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 '
{
"organizationId": "<string>",
"agentName": "<string>",
"status": "<string>",
"model": "<string>",
"s2sModel": "<string>",
"voiceId": "<string>",
"temperature": 123,
"reminderTriggerMs": 123,
"reminderMaxCount": 123,
"reminderMessage": "<string>",
"ambientSound": "<string>",
"ambientSoundVolume": 123,
"maxCallDurationMs": 123,
"ringDurationMs": 123,
"voicemailMessage": "<string>",
"voicemailDetectionTimeoutMs": 123,
"voicemailCustomPatterns": [
{}
],
"postCallAnalysisModel": "<string>",
"postCallAnalysisData": [
{
"name": "<string>",
"description": "<string>",
"type": "<string>",
"choices": [
"<string>"
]
}
],
"selectedTools": [
{}
],
"knowledgeBase": "<string>",
"beginMessage": "<string>",
"startSpeaker": "<string>",
"prompt": "<string>",
"webhookUrls": [
"<string>"
],
"endcallOnSilenceDuration": 123,
"interruptionSensitivity": 123,
"memory": true,
"calendarTimezone": "<string>",
"accent": [
"<string>"
],
"emotion": true,
"salesforceCalendarId": "<string>",
"emergencyFallback": "<string>"
}
'import requests
url = "https://api.ravan.ai/api/v1/agents/"
payload = {
"organizationId": "<string>",
"agentName": "<string>",
"status": "<string>",
"model": "<string>",
"s2sModel": "<string>",
"voiceId": "<string>",
"temperature": 123,
"reminderTriggerMs": 123,
"reminderMaxCount": 123,
"reminderMessage": "<string>",
"ambientSound": "<string>",
"ambientSoundVolume": 123,
"maxCallDurationMs": 123,
"ringDurationMs": 123,
"voicemailMessage": "<string>",
"voicemailDetectionTimeoutMs": 123,
"voicemailCustomPatterns": [{}],
"postCallAnalysisModel": "<string>",
"postCallAnalysisData": [
{
"name": "<string>",
"description": "<string>",
"type": "<string>",
"choices": ["<string>"]
}
],
"selectedTools": [{}],
"knowledgeBase": "<string>",
"beginMessage": "<string>",
"startSpeaker": "<string>",
"prompt": "<string>",
"webhookUrls": ["<string>"],
"endcallOnSilenceDuration": 123,
"interruptionSensitivity": 123,
"memory": True,
"calendarTimezone": "<string>",
"accent": ["<string>"],
"emotion": True,
"salesforceCalendarId": "<string>",
"emergencyFallback": "<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({
organizationId: '<string>',
agentName: '<string>',
status: '<string>',
model: '<string>',
s2sModel: '<string>',
voiceId: '<string>',
temperature: 123,
reminderTriggerMs: 123,
reminderMaxCount: 123,
reminderMessage: '<string>',
ambientSound: '<string>',
ambientSoundVolume: 123,
maxCallDurationMs: 123,
ringDurationMs: 123,
voicemailMessage: '<string>',
voicemailDetectionTimeoutMs: 123,
voicemailCustomPatterns: [{}],
postCallAnalysisModel: '<string>',
postCallAnalysisData: [
{
name: '<string>',
description: '<string>',
type: '<string>',
choices: ['<string>']
}
],
selectedTools: [{}],
knowledgeBase: '<string>',
beginMessage: '<string>',
startSpeaker: '<string>',
prompt: '<string>',
webhookUrls: ['<string>'],
endcallOnSilenceDuration: 123,
interruptionSensitivity: 123,
memory: true,
calendarTimezone: '<string>',
accent: ['<string>'],
emotion: true,
salesforceCalendarId: '<string>',
emergencyFallback: '<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([
'organizationId' => '<string>',
'agentName' => '<string>',
'status' => '<string>',
'model' => '<string>',
's2sModel' => '<string>',
'voiceId' => '<string>',
'temperature' => 123,
'reminderTriggerMs' => 123,
'reminderMaxCount' => 123,
'reminderMessage' => '<string>',
'ambientSound' => '<string>',
'ambientSoundVolume' => 123,
'maxCallDurationMs' => 123,
'ringDurationMs' => 123,
'voicemailMessage' => '<string>',
'voicemailDetectionTimeoutMs' => 123,
'voicemailCustomPatterns' => [
[
]
],
'postCallAnalysisModel' => '<string>',
'postCallAnalysisData' => [
[
'name' => '<string>',
'description' => '<string>',
'type' => '<string>',
'choices' => [
'<string>'
]
]
],
'selectedTools' => [
[
]
],
'knowledgeBase' => '<string>',
'beginMessage' => '<string>',
'startSpeaker' => '<string>',
'prompt' => '<string>',
'webhookUrls' => [
'<string>'
],
'endcallOnSilenceDuration' => 123,
'interruptionSensitivity' => 123,
'memory' => true,
'calendarTimezone' => '<string>',
'accent' => [
'<string>'
],
'emotion' => true,
'salesforceCalendarId' => '<string>',
'emergencyFallback' => '<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 \"organizationId\": \"<string>\",\n \"agentName\": \"<string>\",\n \"status\": \"<string>\",\n \"model\": \"<string>\",\n \"s2sModel\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"temperature\": 123,\n \"reminderTriggerMs\": 123,\n \"reminderMaxCount\": 123,\n \"reminderMessage\": \"<string>\",\n \"ambientSound\": \"<string>\",\n \"ambientSoundVolume\": 123,\n \"maxCallDurationMs\": 123,\n \"ringDurationMs\": 123,\n \"voicemailMessage\": \"<string>\",\n \"voicemailDetectionTimeoutMs\": 123,\n \"voicemailCustomPatterns\": [\n {}\n ],\n \"postCallAnalysisModel\": \"<string>\",\n \"postCallAnalysisData\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"type\": \"<string>\",\n \"choices\": [\n \"<string>\"\n ]\n }\n ],\n \"selectedTools\": [\n {}\n ],\n \"knowledgeBase\": \"<string>\",\n \"beginMessage\": \"<string>\",\n \"startSpeaker\": \"<string>\",\n \"prompt\": \"<string>\",\n \"webhookUrls\": [\n \"<string>\"\n ],\n \"endcallOnSilenceDuration\": 123,\n \"interruptionSensitivity\": 123,\n \"memory\": true,\n \"calendarTimezone\": \"<string>\",\n \"accent\": [\n \"<string>\"\n ],\n \"emotion\": true,\n \"salesforceCalendarId\": \"<string>\",\n \"emergencyFallback\": \"<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 \"organizationId\": \"<string>\",\n \"agentName\": \"<string>\",\n \"status\": \"<string>\",\n \"model\": \"<string>\",\n \"s2sModel\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"temperature\": 123,\n \"reminderTriggerMs\": 123,\n \"reminderMaxCount\": 123,\n \"reminderMessage\": \"<string>\",\n \"ambientSound\": \"<string>\",\n \"ambientSoundVolume\": 123,\n \"maxCallDurationMs\": 123,\n \"ringDurationMs\": 123,\n \"voicemailMessage\": \"<string>\",\n \"voicemailDetectionTimeoutMs\": 123,\n \"voicemailCustomPatterns\": [\n {}\n ],\n \"postCallAnalysisModel\": \"<string>\",\n \"postCallAnalysisData\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"type\": \"<string>\",\n \"choices\": [\n \"<string>\"\n ]\n }\n ],\n \"selectedTools\": [\n {}\n ],\n \"knowledgeBase\": \"<string>\",\n \"beginMessage\": \"<string>\",\n \"startSpeaker\": \"<string>\",\n \"prompt\": \"<string>\",\n \"webhookUrls\": [\n \"<string>\"\n ],\n \"endcallOnSilenceDuration\": 123,\n \"interruptionSensitivity\": 123,\n \"memory\": true,\n \"calendarTimezone\": \"<string>\",\n \"accent\": [\n \"<string>\"\n ],\n \"emotion\": true,\n \"salesforceCalendarId\": \"<string>\",\n \"emergencyFallback\": \"<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 \"organizationId\": \"<string>\",\n \"agentName\": \"<string>\",\n \"status\": \"<string>\",\n \"model\": \"<string>\",\n \"s2sModel\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"temperature\": 123,\n \"reminderTriggerMs\": 123,\n \"reminderMaxCount\": 123,\n \"reminderMessage\": \"<string>\",\n \"ambientSound\": \"<string>\",\n \"ambientSoundVolume\": 123,\n \"maxCallDurationMs\": 123,\n \"ringDurationMs\": 123,\n \"voicemailMessage\": \"<string>\",\n \"voicemailDetectionTimeoutMs\": 123,\n \"voicemailCustomPatterns\": [\n {}\n ],\n \"postCallAnalysisModel\": \"<string>\",\n \"postCallAnalysisData\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"type\": \"<string>\",\n \"choices\": [\n \"<string>\"\n ]\n }\n ],\n \"selectedTools\": [\n {}\n ],\n \"knowledgeBase\": \"<string>\",\n \"beginMessage\": \"<string>\",\n \"startSpeaker\": \"<string>\",\n \"prompt\": \"<string>\",\n \"webhookUrls\": [\n \"<string>\"\n ],\n \"endcallOnSilenceDuration\": 123,\n \"interruptionSensitivity\": 123,\n \"memory\": true,\n \"calendarTimezone\": \"<string>\",\n \"accent\": [\n \"<string>\"\n ],\n \"emotion\": true,\n \"salesforceCalendarId\": \"<string>\",\n \"emergencyFallback\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"data": {
"id": "<string>",
"organizationId": "<string>",
"agentName": "<string>",
"status": "<string>",
"model": "<string>",
"s2sModel": "<string>",
"voiceId": "<string>",
"temperature": 123,
"reminderTriggerMs": 123,
"reminderMaxCount": 123,
"reminderMessage": "<string>",
"ambientSound": "<string>",
"ambientSoundVolume": 123,
"maxCallDurationMs": 123,
"ringDurationMs": 123,
"voicemailMessage": "<string>",
"voicemailDetectionTimeoutMs": 123,
"voicemailCustomPatterns": [
{}
],
"postCallAnalysisModel": "<string>",
"postCallAnalysisData": [
{}
],
"selectedTools": [
{}
],
"knowledgeBase": "<string>",
"beginMessage": "<string>",
"startSpeaker": "<string>",
"prompt": "<string>",
"webhookUrls": [
"<string>"
],
"endcallOnSilenceDuration": 123,
"interruptionSensitivity": 123,
"memory": true,
"calendarTimezone": "<string>",
"accent": [
"<string>"
],
"emotion": true,
"calcomStatus": "<string>",
"ghlAssignUserIdList": [
{}
],
"crmSyncProviders": {},
"salesforceCalendarId": "<string>",
"salesforceAssignUserIdList": [
{}
],
"emergencyFallback": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
}Agent API
Create Agent
Create 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 '
{
"organizationId": "<string>",
"agentName": "<string>",
"status": "<string>",
"model": "<string>",
"s2sModel": "<string>",
"voiceId": "<string>",
"temperature": 123,
"reminderTriggerMs": 123,
"reminderMaxCount": 123,
"reminderMessage": "<string>",
"ambientSound": "<string>",
"ambientSoundVolume": 123,
"maxCallDurationMs": 123,
"ringDurationMs": 123,
"voicemailMessage": "<string>",
"voicemailDetectionTimeoutMs": 123,
"voicemailCustomPatterns": [
{}
],
"postCallAnalysisModel": "<string>",
"postCallAnalysisData": [
{
"name": "<string>",
"description": "<string>",
"type": "<string>",
"choices": [
"<string>"
]
}
],
"selectedTools": [
{}
],
"knowledgeBase": "<string>",
"beginMessage": "<string>",
"startSpeaker": "<string>",
"prompt": "<string>",
"webhookUrls": [
"<string>"
],
"endcallOnSilenceDuration": 123,
"interruptionSensitivity": 123,
"memory": true,
"calendarTimezone": "<string>",
"accent": [
"<string>"
],
"emotion": true,
"salesforceCalendarId": "<string>",
"emergencyFallback": "<string>"
}
'import requests
url = "https://api.ravan.ai/api/v1/agents/"
payload = {
"organizationId": "<string>",
"agentName": "<string>",
"status": "<string>",
"model": "<string>",
"s2sModel": "<string>",
"voiceId": "<string>",
"temperature": 123,
"reminderTriggerMs": 123,
"reminderMaxCount": 123,
"reminderMessage": "<string>",
"ambientSound": "<string>",
"ambientSoundVolume": 123,
"maxCallDurationMs": 123,
"ringDurationMs": 123,
"voicemailMessage": "<string>",
"voicemailDetectionTimeoutMs": 123,
"voicemailCustomPatterns": [{}],
"postCallAnalysisModel": "<string>",
"postCallAnalysisData": [
{
"name": "<string>",
"description": "<string>",
"type": "<string>",
"choices": ["<string>"]
}
],
"selectedTools": [{}],
"knowledgeBase": "<string>",
"beginMessage": "<string>",
"startSpeaker": "<string>",
"prompt": "<string>",
"webhookUrls": ["<string>"],
"endcallOnSilenceDuration": 123,
"interruptionSensitivity": 123,
"memory": True,
"calendarTimezone": "<string>",
"accent": ["<string>"],
"emotion": True,
"salesforceCalendarId": "<string>",
"emergencyFallback": "<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({
organizationId: '<string>',
agentName: '<string>',
status: '<string>',
model: '<string>',
s2sModel: '<string>',
voiceId: '<string>',
temperature: 123,
reminderTriggerMs: 123,
reminderMaxCount: 123,
reminderMessage: '<string>',
ambientSound: '<string>',
ambientSoundVolume: 123,
maxCallDurationMs: 123,
ringDurationMs: 123,
voicemailMessage: '<string>',
voicemailDetectionTimeoutMs: 123,
voicemailCustomPatterns: [{}],
postCallAnalysisModel: '<string>',
postCallAnalysisData: [
{
name: '<string>',
description: '<string>',
type: '<string>',
choices: ['<string>']
}
],
selectedTools: [{}],
knowledgeBase: '<string>',
beginMessage: '<string>',
startSpeaker: '<string>',
prompt: '<string>',
webhookUrls: ['<string>'],
endcallOnSilenceDuration: 123,
interruptionSensitivity: 123,
memory: true,
calendarTimezone: '<string>',
accent: ['<string>'],
emotion: true,
salesforceCalendarId: '<string>',
emergencyFallback: '<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([
'organizationId' => '<string>',
'agentName' => '<string>',
'status' => '<string>',
'model' => '<string>',
's2sModel' => '<string>',
'voiceId' => '<string>',
'temperature' => 123,
'reminderTriggerMs' => 123,
'reminderMaxCount' => 123,
'reminderMessage' => '<string>',
'ambientSound' => '<string>',
'ambientSoundVolume' => 123,
'maxCallDurationMs' => 123,
'ringDurationMs' => 123,
'voicemailMessage' => '<string>',
'voicemailDetectionTimeoutMs' => 123,
'voicemailCustomPatterns' => [
[
]
],
'postCallAnalysisModel' => '<string>',
'postCallAnalysisData' => [
[
'name' => '<string>',
'description' => '<string>',
'type' => '<string>',
'choices' => [
'<string>'
]
]
],
'selectedTools' => [
[
]
],
'knowledgeBase' => '<string>',
'beginMessage' => '<string>',
'startSpeaker' => '<string>',
'prompt' => '<string>',
'webhookUrls' => [
'<string>'
],
'endcallOnSilenceDuration' => 123,
'interruptionSensitivity' => 123,
'memory' => true,
'calendarTimezone' => '<string>',
'accent' => [
'<string>'
],
'emotion' => true,
'salesforceCalendarId' => '<string>',
'emergencyFallback' => '<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 \"organizationId\": \"<string>\",\n \"agentName\": \"<string>\",\n \"status\": \"<string>\",\n \"model\": \"<string>\",\n \"s2sModel\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"temperature\": 123,\n \"reminderTriggerMs\": 123,\n \"reminderMaxCount\": 123,\n \"reminderMessage\": \"<string>\",\n \"ambientSound\": \"<string>\",\n \"ambientSoundVolume\": 123,\n \"maxCallDurationMs\": 123,\n \"ringDurationMs\": 123,\n \"voicemailMessage\": \"<string>\",\n \"voicemailDetectionTimeoutMs\": 123,\n \"voicemailCustomPatterns\": [\n {}\n ],\n \"postCallAnalysisModel\": \"<string>\",\n \"postCallAnalysisData\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"type\": \"<string>\",\n \"choices\": [\n \"<string>\"\n ]\n }\n ],\n \"selectedTools\": [\n {}\n ],\n \"knowledgeBase\": \"<string>\",\n \"beginMessage\": \"<string>\",\n \"startSpeaker\": \"<string>\",\n \"prompt\": \"<string>\",\n \"webhookUrls\": [\n \"<string>\"\n ],\n \"endcallOnSilenceDuration\": 123,\n \"interruptionSensitivity\": 123,\n \"memory\": true,\n \"calendarTimezone\": \"<string>\",\n \"accent\": [\n \"<string>\"\n ],\n \"emotion\": true,\n \"salesforceCalendarId\": \"<string>\",\n \"emergencyFallback\": \"<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 \"organizationId\": \"<string>\",\n \"agentName\": \"<string>\",\n \"status\": \"<string>\",\n \"model\": \"<string>\",\n \"s2sModel\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"temperature\": 123,\n \"reminderTriggerMs\": 123,\n \"reminderMaxCount\": 123,\n \"reminderMessage\": \"<string>\",\n \"ambientSound\": \"<string>\",\n \"ambientSoundVolume\": 123,\n \"maxCallDurationMs\": 123,\n \"ringDurationMs\": 123,\n \"voicemailMessage\": \"<string>\",\n \"voicemailDetectionTimeoutMs\": 123,\n \"voicemailCustomPatterns\": [\n {}\n ],\n \"postCallAnalysisModel\": \"<string>\",\n \"postCallAnalysisData\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"type\": \"<string>\",\n \"choices\": [\n \"<string>\"\n ]\n }\n ],\n \"selectedTools\": [\n {}\n ],\n \"knowledgeBase\": \"<string>\",\n \"beginMessage\": \"<string>\",\n \"startSpeaker\": \"<string>\",\n \"prompt\": \"<string>\",\n \"webhookUrls\": [\n \"<string>\"\n ],\n \"endcallOnSilenceDuration\": 123,\n \"interruptionSensitivity\": 123,\n \"memory\": true,\n \"calendarTimezone\": \"<string>\",\n \"accent\": [\n \"<string>\"\n ],\n \"emotion\": true,\n \"salesforceCalendarId\": \"<string>\",\n \"emergencyFallback\": \"<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 \"organizationId\": \"<string>\",\n \"agentName\": \"<string>\",\n \"status\": \"<string>\",\n \"model\": \"<string>\",\n \"s2sModel\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"temperature\": 123,\n \"reminderTriggerMs\": 123,\n \"reminderMaxCount\": 123,\n \"reminderMessage\": \"<string>\",\n \"ambientSound\": \"<string>\",\n \"ambientSoundVolume\": 123,\n \"maxCallDurationMs\": 123,\n \"ringDurationMs\": 123,\n \"voicemailMessage\": \"<string>\",\n \"voicemailDetectionTimeoutMs\": 123,\n \"voicemailCustomPatterns\": [\n {}\n ],\n \"postCallAnalysisModel\": \"<string>\",\n \"postCallAnalysisData\": [\n {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"type\": \"<string>\",\n \"choices\": [\n \"<string>\"\n ]\n }\n ],\n \"selectedTools\": [\n {}\n ],\n \"knowledgeBase\": \"<string>\",\n \"beginMessage\": \"<string>\",\n \"startSpeaker\": \"<string>\",\n \"prompt\": \"<string>\",\n \"webhookUrls\": [\n \"<string>\"\n ],\n \"endcallOnSilenceDuration\": 123,\n \"interruptionSensitivity\": 123,\n \"memory\": true,\n \"calendarTimezone\": \"<string>\",\n \"accent\": [\n \"<string>\"\n ],\n \"emotion\": true,\n \"salesforceCalendarId\": \"<string>\",\n \"emergencyFallback\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"data": {
"id": "<string>",
"organizationId": "<string>",
"agentName": "<string>",
"status": "<string>",
"model": "<string>",
"s2sModel": "<string>",
"voiceId": "<string>",
"temperature": 123,
"reminderTriggerMs": 123,
"reminderMaxCount": 123,
"reminderMessage": "<string>",
"ambientSound": "<string>",
"ambientSoundVolume": 123,
"maxCallDurationMs": 123,
"ringDurationMs": 123,
"voicemailMessage": "<string>",
"voicemailDetectionTimeoutMs": 123,
"voicemailCustomPatterns": [
{}
],
"postCallAnalysisModel": "<string>",
"postCallAnalysisData": [
{}
],
"selectedTools": [
{}
],
"knowledgeBase": "<string>",
"beginMessage": "<string>",
"startSpeaker": "<string>",
"prompt": "<string>",
"webhookUrls": [
"<string>"
],
"endcallOnSilenceDuration": 123,
"interruptionSensitivity": 123,
"memory": true,
"calendarTimezone": "<string>",
"accent": [
"<string>"
],
"emotion": true,
"calcomStatus": "<string>",
"ghlAssignUserIdList": [
{}
],
"crmSyncProviders": {},
"salesforceCalendarId": "<string>",
"salesforceAssignUserIdList": [
{}
],
"emergencyFallback": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
}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
string
The organization ID this agent belongs to.
string
The public-facing display name for the agent.
string
Agent status. Allowed values:
ACTIVE, INACTIVE.string
The LLM model identifier used by the agent for reasoning and responses.
string
The speech-to-speech model identifier used for realtime voice conversations.
string
The voice ID used for the agent speech output.
number
Controls response randomness. Lower values are more deterministic; higher values are more varied. Range:
0.0 – 1.0.integer
Milliseconds of silence before the agent sends a reminder message.
integer
Maximum number of reminder messages the agent can send during a call.
string
The message the agent sends as a reminder during silence.
string
Background sound profile to play during calls. Leave empty to disable.
number
Volume for the ambient sound. Range:
0 (muted) to 1 (full volume).integer
Maximum allowed call duration in milliseconds.
integer
Maximum time in milliseconds to let an outbound call ring before treating it as unanswered.
string
Message to leave when voicemail is detected.
integer
Maximum time in milliseconds to wait for voicemail detection.
array
Custom patterns used for voicemail detection. Pass
null to disable.string
Model used to generate post-call analysis such as summaries and sentiment.
array
array
Tools enabled for the agent. Pass
null to disable.string
Knowledge base ID to attach to this agent.
string
The first message the agent says when the conversation starts.
string
Who speaks first. Allowed values:
agent, user.string
The system prompt used by the agent. Supports template variables like
{{current_time_Asia/Calcutta}}.string[]
List of webhook URLs to receive call events.
integer
Duration of silence in milliseconds after which the call ends automatically.
number
Sensitivity for detecting user interruptions. Range:
0.0 – 1.0.boolean
Whether the agent retains memory across turns in a conversation.
string
IANA timezone used for calendar scheduling.
string[]
Accent preferences for the agent voice.
boolean
Whether the agent expresses emotion in its voice.
string
Salesforce calendar ID for appointment scheduling.
string
Backup phone number to transfer the call to on failure (E.164 format).
Response
boolean
Whether the request succeeded.
string
Human-readable status message. Example:
Agent created successfullyobject
Created agent object.
Show data
Show data
string
Agent UUID. Example:
019ebc45-3cae-79b5-bd64-658da275fd08string
Organization UUID. Example:
95a4e479-03a7-4f1b-834d-8705756e8e59string
Display name of the agent. Example:
Input Field FROM EARTHstring
Agent status. Example:
ACTIVEstring
LLM model identifier. Example:
Agni Premiumstring
Speech-to-speech model identifier. Example:
Agni Premiumstring
Voice ID for TTS. Example:
Irisnumber
LLM temperature setting. Example:
0.7integer
Milliseconds before sending a reminder. Example:
10000integer
Maximum reminders per call. Example:
2string
Reminder message text. Example:
HI are you there??string
Ambient sound identifier. Example:
forest_ambiencenumber
Ambient sound volume (0–1). Example:
1integer
Maximum call duration in milliseconds. Example:
600000integer
Ring duration in milliseconds. Example:
32000string
Voicemail message text.
integer
Voicemail detection timeout in milliseconds. Example:
7000array
Custom voicemail detection patterns.
string
Post-call analysis model. Example:
gpt-4o-miniarray
Structured fields extracted after the call.
array
Tools enabled for this agent.
string
Attached knowledge base ID. Example:
8619dc3f-.......string
Opening message spoken by the agent.
string
Who speaks first. Example:
agentstring
System prompt used by the agent.
string[]
Webhook URLs receiving call events. Example:
["https://webhook.site/"]integer
Silence duration in ms before call ends. Example:
10000number
Interruption detection sensitivity. Example:
0.1boolean
Whether memory is enabled. Example:
truestring
Calendar timezone. Example:
Asia/Calcuttastring[]
Accent preferences. Example:
["india/hindi"]boolean
Whether emotion is enabled. Example:
truestring
Cal.com integration status. Example:
inactivearray
GHL assigned user IDs.
object
CRM sync provider configuration.
string
Salesforce calendar ID.
array
Salesforce assigned user IDs.
string
Emergency fallback phone number. Example:
+919123456789string
Creation timestamp. Example:
2026-06-12 14:38:34.670214 +0000 UTCstring
Last updated timestamp. Example:
2026-06-12 14:38:34.670214 +0000 UTC⌘I

