curl --request PUT \
--url https://api.example.com/v2/ai-agents/{agent_id} \
--header 'Content-Type: application/json' \
--data '
{
"agent_name": "<string>",
"language_code": "<string>",
"llm": {
"llm_type": "simple",
"model_name": "<string>",
"model_temperature": 0.5,
"llm_name": "<string>",
"llm_description": "<string>",
"base_url": "<string>",
"api_key": "<string>",
"max_tokens": 123,
"required_dynamic_data": [
"<string>"
],
"system_prompt": "<string>",
"tools": [
{}
]
},
"stt": {
"provider": "deepgram"
},
"tts": {
"provider": "elevenlabs",
"voice_id": "<string>",
"voice_name": "<string>",
"voice_temperature": 0.2
},
"knowledge_base_id": "<string>",
"minimum_speech_duration_for_interruptions": 7.5,
"minimum_words_before_interruption": 2,
"wait_time_before_detecting_end_of_speech": 7.5,
"ambient_sound_volume": 1,
"webhook_url": "<string>",
"end_call_after_silence_seconds": 20,
"max_call_duration_seconds": 1815,
"welcome_message": "<string>",
"voicemail_detection_timeout_seconds": 1,
"dynamic_data_config": [
{
"url": "<string>",
"method": "<string>",
"timeout": 123,
"headers": {},
"body": {},
"query": {},
"cache": true,
"response_data": [
{
"name": "<string>",
"data": "<string>",
"context": "<string>"
}
]
}
],
"post_call_analysis": [
{
"type": "string",
"name": "<string>",
"description": "<string>",
"system_prompt": "<string>",
"examples": [
"<string>"
]
}
]
}
'import requests
url = "https://api.example.com/v2/ai-agents/{agent_id}"
payload = {
"agent_name": "<string>",
"language_code": "<string>",
"llm": {
"llm_type": "simple",
"model_name": "<string>",
"model_temperature": 0.5,
"llm_name": "<string>",
"llm_description": "<string>",
"base_url": "<string>",
"api_key": "<string>",
"max_tokens": 123,
"required_dynamic_data": ["<string>"],
"system_prompt": "<string>",
"tools": [{}]
},
"stt": { "provider": "deepgram" },
"tts": {
"provider": "elevenlabs",
"voice_id": "<string>",
"voice_name": "<string>",
"voice_temperature": 0.2
},
"knowledge_base_id": "<string>",
"minimum_speech_duration_for_interruptions": 7.5,
"minimum_words_before_interruption": 2,
"wait_time_before_detecting_end_of_speech": 7.5,
"ambient_sound_volume": 1,
"webhook_url": "<string>",
"end_call_after_silence_seconds": 20,
"max_call_duration_seconds": 1815,
"welcome_message": "<string>",
"voicemail_detection_timeout_seconds": 1,
"dynamic_data_config": [
{
"url": "<string>",
"method": "<string>",
"timeout": 123,
"headers": {},
"body": {},
"query": {},
"cache": True,
"response_data": [
{
"name": "<string>",
"data": "<string>",
"context": "<string>"
}
]
}
],
"post_call_analysis": [
{
"type": "string",
"name": "<string>",
"description": "<string>",
"system_prompt": "<string>",
"examples": ["<string>"]
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
agent_name: '<string>',
language_code: '<string>',
llm: {
llm_type: 'simple',
model_name: '<string>',
model_temperature: 0.5,
llm_name: '<string>',
llm_description: '<string>',
base_url: '<string>',
api_key: '<string>',
max_tokens: 123,
required_dynamic_data: ['<string>'],
system_prompt: '<string>',
tools: [{}]
},
stt: {provider: 'deepgram'},
tts: {
provider: 'elevenlabs',
voice_id: '<string>',
voice_name: '<string>',
voice_temperature: 0.2
},
knowledge_base_id: '<string>',
minimum_speech_duration_for_interruptions: 7.5,
minimum_words_before_interruption: 2,
wait_time_before_detecting_end_of_speech: 7.5,
ambient_sound_volume: 1,
webhook_url: '<string>',
end_call_after_silence_seconds: 20,
max_call_duration_seconds: 1815,
welcome_message: '<string>',
voicemail_detection_timeout_seconds: 1,
dynamic_data_config: [
{
url: '<string>',
method: '<string>',
timeout: 123,
headers: {},
body: JSON.stringify({}),
query: {},
cache: true,
response_data: [{name: '<string>', data: '<string>', context: '<string>'}]
}
],
post_call_analysis: [
{
type: 'string',
name: '<string>',
description: '<string>',
system_prompt: '<string>',
examples: ['<string>']
}
]
})
};
fetch('https://api.example.com/v2/ai-agents/{agent_id}', 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/v2/ai-agents/{agent_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'agent_name' => '<string>',
'language_code' => '<string>',
'llm' => [
'llm_type' => 'simple',
'model_name' => '<string>',
'model_temperature' => 0.5,
'llm_name' => '<string>',
'llm_description' => '<string>',
'base_url' => '<string>',
'api_key' => '<string>',
'max_tokens' => 123,
'required_dynamic_data' => [
'<string>'
],
'system_prompt' => '<string>',
'tools' => [
[
]
]
],
'stt' => [
'provider' => 'deepgram'
],
'tts' => [
'provider' => 'elevenlabs',
'voice_id' => '<string>',
'voice_name' => '<string>',
'voice_temperature' => 0.2
],
'knowledge_base_id' => '<string>',
'minimum_speech_duration_for_interruptions' => 7.5,
'minimum_words_before_interruption' => 2,
'wait_time_before_detecting_end_of_speech' => 7.5,
'ambient_sound_volume' => 1,
'webhook_url' => '<string>',
'end_call_after_silence_seconds' => 20,
'max_call_duration_seconds' => 1815,
'welcome_message' => '<string>',
'voicemail_detection_timeout_seconds' => 1,
'dynamic_data_config' => [
[
'url' => '<string>',
'method' => '<string>',
'timeout' => 123,
'headers' => [
],
'body' => [
],
'query' => [
],
'cache' => true,
'response_data' => [
[
'name' => '<string>',
'data' => '<string>',
'context' => '<string>'
]
]
]
],
'post_call_analysis' => [
[
'type' => 'string',
'name' => '<string>',
'description' => '<string>',
'system_prompt' => '<string>',
'examples' => [
'<string>'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"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/v2/ai-agents/{agent_id}"
payload := strings.NewReader("{\n \"agent_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"llm\": {\n \"llm_type\": \"simple\",\n \"model_name\": \"<string>\",\n \"model_temperature\": 0.5,\n \"llm_name\": \"<string>\",\n \"llm_description\": \"<string>\",\n \"base_url\": \"<string>\",\n \"api_key\": \"<string>\",\n \"max_tokens\": 123,\n \"required_dynamic_data\": [\n \"<string>\"\n ],\n \"system_prompt\": \"<string>\",\n \"tools\": [\n {}\n ]\n },\n \"stt\": {\n \"provider\": \"deepgram\"\n },\n \"tts\": {\n \"provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"voice_name\": \"<string>\",\n \"voice_temperature\": 0.2\n },\n \"knowledge_base_id\": \"<string>\",\n \"minimum_speech_duration_for_interruptions\": 7.5,\n \"minimum_words_before_interruption\": 2,\n \"wait_time_before_detecting_end_of_speech\": 7.5,\n \"ambient_sound_volume\": 1,\n \"webhook_url\": \"<string>\",\n \"end_call_after_silence_seconds\": 20,\n \"max_call_duration_seconds\": 1815,\n \"welcome_message\": \"<string>\",\n \"voicemail_detection_timeout_seconds\": 1,\n \"dynamic_data_config\": [\n {\n \"url\": \"<string>\",\n \"method\": \"<string>\",\n \"timeout\": 123,\n \"headers\": {},\n \"body\": {},\n \"query\": {},\n \"cache\": true,\n \"response_data\": [\n {\n \"name\": \"<string>\",\n \"data\": \"<string>\",\n \"context\": \"<string>\"\n }\n ]\n }\n ],\n \"post_call_analysis\": [\n {\n \"type\": \"string\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"examples\": [\n \"<string>\"\n ]\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://api.example.com/v2/ai-agents/{agent_id}")
.header("Content-Type", "application/json")
.body("{\n \"agent_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"llm\": {\n \"llm_type\": \"simple\",\n \"model_name\": \"<string>\",\n \"model_temperature\": 0.5,\n \"llm_name\": \"<string>\",\n \"llm_description\": \"<string>\",\n \"base_url\": \"<string>\",\n \"api_key\": \"<string>\",\n \"max_tokens\": 123,\n \"required_dynamic_data\": [\n \"<string>\"\n ],\n \"system_prompt\": \"<string>\",\n \"tools\": [\n {}\n ]\n },\n \"stt\": {\n \"provider\": \"deepgram\"\n },\n \"tts\": {\n \"provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"voice_name\": \"<string>\",\n \"voice_temperature\": 0.2\n },\n \"knowledge_base_id\": \"<string>\",\n \"minimum_speech_duration_for_interruptions\": 7.5,\n \"minimum_words_before_interruption\": 2,\n \"wait_time_before_detecting_end_of_speech\": 7.5,\n \"ambient_sound_volume\": 1,\n \"webhook_url\": \"<string>\",\n \"end_call_after_silence_seconds\": 20,\n \"max_call_duration_seconds\": 1815,\n \"welcome_message\": \"<string>\",\n \"voicemail_detection_timeout_seconds\": 1,\n \"dynamic_data_config\": [\n {\n \"url\": \"<string>\",\n \"method\": \"<string>\",\n \"timeout\": 123,\n \"headers\": {},\n \"body\": {},\n \"query\": {},\n \"cache\": true,\n \"response_data\": [\n {\n \"name\": \"<string>\",\n \"data\": \"<string>\",\n \"context\": \"<string>\"\n }\n ]\n }\n ],\n \"post_call_analysis\": [\n {\n \"type\": \"string\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"examples\": [\n \"<string>\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v2/ai-agents/{agent_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"agent_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"llm\": {\n \"llm_type\": \"simple\",\n \"model_name\": \"<string>\",\n \"model_temperature\": 0.5,\n \"llm_name\": \"<string>\",\n \"llm_description\": \"<string>\",\n \"base_url\": \"<string>\",\n \"api_key\": \"<string>\",\n \"max_tokens\": 123,\n \"required_dynamic_data\": [\n \"<string>\"\n ],\n \"system_prompt\": \"<string>\",\n \"tools\": [\n {}\n ]\n },\n \"stt\": {\n \"provider\": \"deepgram\"\n },\n \"tts\": {\n \"provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"voice_name\": \"<string>\",\n \"voice_temperature\": 0.2\n },\n \"knowledge_base_id\": \"<string>\",\n \"minimum_speech_duration_for_interruptions\": 7.5,\n \"minimum_words_before_interruption\": 2,\n \"wait_time_before_detecting_end_of_speech\": 7.5,\n \"ambient_sound_volume\": 1,\n \"webhook_url\": \"<string>\",\n \"end_call_after_silence_seconds\": 20,\n \"max_call_duration_seconds\": 1815,\n \"welcome_message\": \"<string>\",\n \"voicemail_detection_timeout_seconds\": 1,\n \"dynamic_data_config\": [\n {\n \"url\": \"<string>\",\n \"method\": \"<string>\",\n \"timeout\": 123,\n \"headers\": {},\n \"body\": {},\n \"query\": {},\n \"cache\": true,\n \"response_data\": [\n {\n \"name\": \"<string>\",\n \"data\": \"<string>\",\n \"context\": \"<string>\"\n }\n ]\n }\n ],\n \"post_call_analysis\": [\n {\n \"type\": \"string\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"examples\": [\n \"<string>\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"ai_agent_id": "<string>",
"agent_name": "<string>",
"llm": {
"llm_id": "<string>",
"llm_type": "simple",
"model_provider": "openai",
"model_name": "<string>",
"system_prompt": "<string>",
"model_temperature": 0,
"llm_name": "<string>",
"llm_description": "<string>",
"base_url": "<string>",
"api_key": "<string>",
"max_tokens": 123,
"required_dynamic_data": [
"<string>"
],
"tools": [
{}
]
},
"stt": {
"provider": "deepgram",
"model": "nova-2-general"
},
"tts": {
"provider": "elevenlabs",
"voice_id": "<string>",
"voice_name": "<string>",
"model_name": "eleven_turbo_v2_5",
"voice_temperature": 0.2
},
"created_by_user_id": "<string>",
"language_code": "en-US",
"knowledge_base_id": "<string>",
"enable_user_interruptions": true,
"minimum_speech_duration_for_interruptions": 0.5,
"minimum_words_before_interruption": 0,
"wait_time_before_detecting_end_of_speech": 0.5,
"ambient_sound": "none",
"ambient_sound_volume": 1,
"webhook_url": "<string>",
"end_call_after_silence_seconds": 10,
"max_call_duration_seconds": 1800,
"welcome_message": "<string>",
"voicemail_detection_timeout_seconds": 90,
"dynamic_data_config": [
{
"url": "<string>",
"method": "<string>",
"timeout": 123,
"headers": {},
"body": {},
"query": {},
"cache": true,
"response_data": [
{
"name": "<string>",
"data": "<string>",
"context": "<string>"
}
]
}
],
"post_call_analysis": [
{
"type": "string",
"name": "<string>",
"description": "<string>",
"system_prompt": "<string>",
"examples": [
"<string>"
]
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Update AI Agent
Update an existing AI agent.
curl --request PUT \
--url https://api.example.com/v2/ai-agents/{agent_id} \
--header 'Content-Type: application/json' \
--data '
{
"agent_name": "<string>",
"language_code": "<string>",
"llm": {
"llm_type": "simple",
"model_name": "<string>",
"model_temperature": 0.5,
"llm_name": "<string>",
"llm_description": "<string>",
"base_url": "<string>",
"api_key": "<string>",
"max_tokens": 123,
"required_dynamic_data": [
"<string>"
],
"system_prompt": "<string>",
"tools": [
{}
]
},
"stt": {
"provider": "deepgram"
},
"tts": {
"provider": "elevenlabs",
"voice_id": "<string>",
"voice_name": "<string>",
"voice_temperature": 0.2
},
"knowledge_base_id": "<string>",
"minimum_speech_duration_for_interruptions": 7.5,
"minimum_words_before_interruption": 2,
"wait_time_before_detecting_end_of_speech": 7.5,
"ambient_sound_volume": 1,
"webhook_url": "<string>",
"end_call_after_silence_seconds": 20,
"max_call_duration_seconds": 1815,
"welcome_message": "<string>",
"voicemail_detection_timeout_seconds": 1,
"dynamic_data_config": [
{
"url": "<string>",
"method": "<string>",
"timeout": 123,
"headers": {},
"body": {},
"query": {},
"cache": true,
"response_data": [
{
"name": "<string>",
"data": "<string>",
"context": "<string>"
}
]
}
],
"post_call_analysis": [
{
"type": "string",
"name": "<string>",
"description": "<string>",
"system_prompt": "<string>",
"examples": [
"<string>"
]
}
]
}
'import requests
url = "https://api.example.com/v2/ai-agents/{agent_id}"
payload = {
"agent_name": "<string>",
"language_code": "<string>",
"llm": {
"llm_type": "simple",
"model_name": "<string>",
"model_temperature": 0.5,
"llm_name": "<string>",
"llm_description": "<string>",
"base_url": "<string>",
"api_key": "<string>",
"max_tokens": 123,
"required_dynamic_data": ["<string>"],
"system_prompt": "<string>",
"tools": [{}]
},
"stt": { "provider": "deepgram" },
"tts": {
"provider": "elevenlabs",
"voice_id": "<string>",
"voice_name": "<string>",
"voice_temperature": 0.2
},
"knowledge_base_id": "<string>",
"minimum_speech_duration_for_interruptions": 7.5,
"minimum_words_before_interruption": 2,
"wait_time_before_detecting_end_of_speech": 7.5,
"ambient_sound_volume": 1,
"webhook_url": "<string>",
"end_call_after_silence_seconds": 20,
"max_call_duration_seconds": 1815,
"welcome_message": "<string>",
"voicemail_detection_timeout_seconds": 1,
"dynamic_data_config": [
{
"url": "<string>",
"method": "<string>",
"timeout": 123,
"headers": {},
"body": {},
"query": {},
"cache": True,
"response_data": [
{
"name": "<string>",
"data": "<string>",
"context": "<string>"
}
]
}
],
"post_call_analysis": [
{
"type": "string",
"name": "<string>",
"description": "<string>",
"system_prompt": "<string>",
"examples": ["<string>"]
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
agent_name: '<string>',
language_code: '<string>',
llm: {
llm_type: 'simple',
model_name: '<string>',
model_temperature: 0.5,
llm_name: '<string>',
llm_description: '<string>',
base_url: '<string>',
api_key: '<string>',
max_tokens: 123,
required_dynamic_data: ['<string>'],
system_prompt: '<string>',
tools: [{}]
},
stt: {provider: 'deepgram'},
tts: {
provider: 'elevenlabs',
voice_id: '<string>',
voice_name: '<string>',
voice_temperature: 0.2
},
knowledge_base_id: '<string>',
minimum_speech_duration_for_interruptions: 7.5,
minimum_words_before_interruption: 2,
wait_time_before_detecting_end_of_speech: 7.5,
ambient_sound_volume: 1,
webhook_url: '<string>',
end_call_after_silence_seconds: 20,
max_call_duration_seconds: 1815,
welcome_message: '<string>',
voicemail_detection_timeout_seconds: 1,
dynamic_data_config: [
{
url: '<string>',
method: '<string>',
timeout: 123,
headers: {},
body: JSON.stringify({}),
query: {},
cache: true,
response_data: [{name: '<string>', data: '<string>', context: '<string>'}]
}
],
post_call_analysis: [
{
type: 'string',
name: '<string>',
description: '<string>',
system_prompt: '<string>',
examples: ['<string>']
}
]
})
};
fetch('https://api.example.com/v2/ai-agents/{agent_id}', 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/v2/ai-agents/{agent_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'agent_name' => '<string>',
'language_code' => '<string>',
'llm' => [
'llm_type' => 'simple',
'model_name' => '<string>',
'model_temperature' => 0.5,
'llm_name' => '<string>',
'llm_description' => '<string>',
'base_url' => '<string>',
'api_key' => '<string>',
'max_tokens' => 123,
'required_dynamic_data' => [
'<string>'
],
'system_prompt' => '<string>',
'tools' => [
[
]
]
],
'stt' => [
'provider' => 'deepgram'
],
'tts' => [
'provider' => 'elevenlabs',
'voice_id' => '<string>',
'voice_name' => '<string>',
'voice_temperature' => 0.2
],
'knowledge_base_id' => '<string>',
'minimum_speech_duration_for_interruptions' => 7.5,
'minimum_words_before_interruption' => 2,
'wait_time_before_detecting_end_of_speech' => 7.5,
'ambient_sound_volume' => 1,
'webhook_url' => '<string>',
'end_call_after_silence_seconds' => 20,
'max_call_duration_seconds' => 1815,
'welcome_message' => '<string>',
'voicemail_detection_timeout_seconds' => 1,
'dynamic_data_config' => [
[
'url' => '<string>',
'method' => '<string>',
'timeout' => 123,
'headers' => [
],
'body' => [
],
'query' => [
],
'cache' => true,
'response_data' => [
[
'name' => '<string>',
'data' => '<string>',
'context' => '<string>'
]
]
]
],
'post_call_analysis' => [
[
'type' => 'string',
'name' => '<string>',
'description' => '<string>',
'system_prompt' => '<string>',
'examples' => [
'<string>'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"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/v2/ai-agents/{agent_id}"
payload := strings.NewReader("{\n \"agent_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"llm\": {\n \"llm_type\": \"simple\",\n \"model_name\": \"<string>\",\n \"model_temperature\": 0.5,\n \"llm_name\": \"<string>\",\n \"llm_description\": \"<string>\",\n \"base_url\": \"<string>\",\n \"api_key\": \"<string>\",\n \"max_tokens\": 123,\n \"required_dynamic_data\": [\n \"<string>\"\n ],\n \"system_prompt\": \"<string>\",\n \"tools\": [\n {}\n ]\n },\n \"stt\": {\n \"provider\": \"deepgram\"\n },\n \"tts\": {\n \"provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"voice_name\": \"<string>\",\n \"voice_temperature\": 0.2\n },\n \"knowledge_base_id\": \"<string>\",\n \"minimum_speech_duration_for_interruptions\": 7.5,\n \"minimum_words_before_interruption\": 2,\n \"wait_time_before_detecting_end_of_speech\": 7.5,\n \"ambient_sound_volume\": 1,\n \"webhook_url\": \"<string>\",\n \"end_call_after_silence_seconds\": 20,\n \"max_call_duration_seconds\": 1815,\n \"welcome_message\": \"<string>\",\n \"voicemail_detection_timeout_seconds\": 1,\n \"dynamic_data_config\": [\n {\n \"url\": \"<string>\",\n \"method\": \"<string>\",\n \"timeout\": 123,\n \"headers\": {},\n \"body\": {},\n \"query\": {},\n \"cache\": true,\n \"response_data\": [\n {\n \"name\": \"<string>\",\n \"data\": \"<string>\",\n \"context\": \"<string>\"\n }\n ]\n }\n ],\n \"post_call_analysis\": [\n {\n \"type\": \"string\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"examples\": [\n \"<string>\"\n ]\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://api.example.com/v2/ai-agents/{agent_id}")
.header("Content-Type", "application/json")
.body("{\n \"agent_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"llm\": {\n \"llm_type\": \"simple\",\n \"model_name\": \"<string>\",\n \"model_temperature\": 0.5,\n \"llm_name\": \"<string>\",\n \"llm_description\": \"<string>\",\n \"base_url\": \"<string>\",\n \"api_key\": \"<string>\",\n \"max_tokens\": 123,\n \"required_dynamic_data\": [\n \"<string>\"\n ],\n \"system_prompt\": \"<string>\",\n \"tools\": [\n {}\n ]\n },\n \"stt\": {\n \"provider\": \"deepgram\"\n },\n \"tts\": {\n \"provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"voice_name\": \"<string>\",\n \"voice_temperature\": 0.2\n },\n \"knowledge_base_id\": \"<string>\",\n \"minimum_speech_duration_for_interruptions\": 7.5,\n \"minimum_words_before_interruption\": 2,\n \"wait_time_before_detecting_end_of_speech\": 7.5,\n \"ambient_sound_volume\": 1,\n \"webhook_url\": \"<string>\",\n \"end_call_after_silence_seconds\": 20,\n \"max_call_duration_seconds\": 1815,\n \"welcome_message\": \"<string>\",\n \"voicemail_detection_timeout_seconds\": 1,\n \"dynamic_data_config\": [\n {\n \"url\": \"<string>\",\n \"method\": \"<string>\",\n \"timeout\": 123,\n \"headers\": {},\n \"body\": {},\n \"query\": {},\n \"cache\": true,\n \"response_data\": [\n {\n \"name\": \"<string>\",\n \"data\": \"<string>\",\n \"context\": \"<string>\"\n }\n ]\n }\n ],\n \"post_call_analysis\": [\n {\n \"type\": \"string\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"examples\": [\n \"<string>\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v2/ai-agents/{agent_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"agent_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"llm\": {\n \"llm_type\": \"simple\",\n \"model_name\": \"<string>\",\n \"model_temperature\": 0.5,\n \"llm_name\": \"<string>\",\n \"llm_description\": \"<string>\",\n \"base_url\": \"<string>\",\n \"api_key\": \"<string>\",\n \"max_tokens\": 123,\n \"required_dynamic_data\": [\n \"<string>\"\n ],\n \"system_prompt\": \"<string>\",\n \"tools\": [\n {}\n ]\n },\n \"stt\": {\n \"provider\": \"deepgram\"\n },\n \"tts\": {\n \"provider\": \"elevenlabs\",\n \"voice_id\": \"<string>\",\n \"voice_name\": \"<string>\",\n \"voice_temperature\": 0.2\n },\n \"knowledge_base_id\": \"<string>\",\n \"minimum_speech_duration_for_interruptions\": 7.5,\n \"minimum_words_before_interruption\": 2,\n \"wait_time_before_detecting_end_of_speech\": 7.5,\n \"ambient_sound_volume\": 1,\n \"webhook_url\": \"<string>\",\n \"end_call_after_silence_seconds\": 20,\n \"max_call_duration_seconds\": 1815,\n \"welcome_message\": \"<string>\",\n \"voicemail_detection_timeout_seconds\": 1,\n \"dynamic_data_config\": [\n {\n \"url\": \"<string>\",\n \"method\": \"<string>\",\n \"timeout\": 123,\n \"headers\": {},\n \"body\": {},\n \"query\": {},\n \"cache\": true,\n \"response_data\": [\n {\n \"name\": \"<string>\",\n \"data\": \"<string>\",\n \"context\": \"<string>\"\n }\n ]\n }\n ],\n \"post_call_analysis\": [\n {\n \"type\": \"string\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"system_prompt\": \"<string>\",\n \"examples\": [\n \"<string>\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"ai_agent_id": "<string>",
"agent_name": "<string>",
"llm": {
"llm_id": "<string>",
"llm_type": "simple",
"model_provider": "openai",
"model_name": "<string>",
"system_prompt": "<string>",
"model_temperature": 0,
"llm_name": "<string>",
"llm_description": "<string>",
"base_url": "<string>",
"api_key": "<string>",
"max_tokens": 123,
"required_dynamic_data": [
"<string>"
],
"tools": [
{}
]
},
"stt": {
"provider": "deepgram",
"model": "nova-2-general"
},
"tts": {
"provider": "elevenlabs",
"voice_id": "<string>",
"voice_name": "<string>",
"model_name": "eleven_turbo_v2_5",
"voice_temperature": 0.2
},
"created_by_user_id": "<string>",
"language_code": "en-US",
"knowledge_base_id": "<string>",
"enable_user_interruptions": true,
"minimum_speech_duration_for_interruptions": 0.5,
"minimum_words_before_interruption": 0,
"wait_time_before_detecting_end_of_speech": 0.5,
"ambient_sound": "none",
"ambient_sound_volume": 1,
"webhook_url": "<string>",
"end_call_after_silence_seconds": 10,
"max_call_duration_seconds": 1800,
"welcome_message": "<string>",
"voicemail_detection_timeout_seconds": 90,
"dynamic_data_config": [
{
"url": "<string>",
"method": "<string>",
"timeout": 123,
"headers": {},
"body": {},
"query": {},
"cache": true,
"response_data": [
{
"name": "<string>",
"data": "<string>",
"context": "<string>"
}
]
}
],
"post_call_analysis": [
{
"type": "string",
"name": "<string>",
"description": "<string>",
"system_prompt": "<string>",
"examples": [
"<string>"
]
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Path Parameters
Body
The display name for the AI agent that will be used in logs, analytics and user interfaces
BCP-47 language code (e.g., 'en-US', 'es-ES') that specifies the primary language for the agent's speech and understanding
Updated configuration for the Language Learning Model (LLM) that powers the agent's conversational abilities
- UpdateSimplePiaLLMRequest
- UpdateAgenticPiaLLMRequest
- UpdateCustomPiaLLMRequest
Show child attributes
Show child attributes
Updated configuration for the Speech-to-Text service that converts user speech to text for processing
- UpdateDeepgramSTTRequest
- UpdateGoogleSTTRequest
- UpdatePiaSTTRequest
Show child attributes
Show child attributes
Updated configuration for the Text-to-Speech service that converts the agent's responses to natural speech
- UpdateElevenLabsTTSRequest
- UpdateGoogleTTSRequest
- UpdateAzureTTSRequest
- UpdateCartesiaTTSRequest
- UpdatePiaTTSRequest
Show child attributes
Show child attributes
ID reference to a knowledge base containing domain-specific information the agent can use to enhance responses
Minimum duration in seconds that a user must speak before the agent can be interrupted, helps prevent premature interruptions
0 <= x <= 15Minimum number of words that must be spoken before allowing interruption, provides more natural conversation flow
0 <= x <= 5Time in seconds to wait for additional speech before concluding the user has finished speaking
0 <= x <= 15Type of background ambient sound to play during calls to create a more immersive and natural environment
office, cafe, restaurant, park, street, home, library, airport, train_station, beach, none Volume level for the ambient background sound, ranging from 0 (muted) to 2 (maximum volume)
0 <= x <= 2HTTPS URL endpoint where real-time call events and updates will be sent via webhook notifications
Number of seconds of continuous silence after which the call will automatically end to prevent hanging calls
10 <= x <= 30Maximum allowed duration for a single call in seconds (between 30 seconds and 1 hour) to prevent indefinite calls
30 <= x <= 3600Custom greeting message that the agent will speak at the beginning of each call
Maximum time in seconds to wait while attempting to detect if the call was answered by a voicemail system
x >= 0Configuration for external data sources that the agent can query in real-time during calls to provide up-to-date information
Show child attributes
Show child attributes
Configuration for automated analysis tasks to be performed after each call, such as sentiment analysis or call summarization
- UpdateStringPostCallAnalysisItemRequest
- UpdateEnumPostCallAnalysisItemRequest
- UpdateBooleanPostCallAnalysisItemRequest
- UpdateNumberPostCallAnalysisItemRequest
Show child attributes
Show child attributes
Response
Successful Response
Unique identifier for the AI agent
Name of the AI agent
Language model configuration for the AI agent
- SimplePiaLLMResponse
- AgenticPiaLLMResponse
- CustomPiaLLMResponse
Show child attributes
Show child attributes
Speech-to-text configuration for the AI agent
- DeepgramSTTResponse
- GoogleSTTResponse
- PiaSTTResponse
Show child attributes
Show child attributes
Text-to-speech configuration for the AI agent
- ElevenLabsTTSResponse
- GoogleTTSResponse
- AzureTTSResponse
- CartesiaTTSResponse
- PiaTTSResponse
Show child attributes
Show child attributes
ID of the user who created this AI agent
Language code for the AI agent in BCP-47 format
ID of the associated knowledge base, if any
Whether to allow users to interrupt the AI agent while speaking
Minimum duration of speech in seconds before interruptions are allowed
0 <= x <= 15Minimum number of words that must be spoken before interruption is allowed
0 <= x <= 5Time in seconds to wait before considering speech has ended
0 <= x <= 15Type of ambient background sound to use during calls
office, cafe, restaurant, park, street, home, library, airport, train_station, beach, none Volume level for ambient sound, from 0 (muted) to 2 (loud)
0 <= x <= 2URL to send webhook notifications about call events
Number of seconds of silence before automatically ending the call
10 <= x <= 30Maximum duration of a call in seconds
30 <= x <= 3600Custom welcome message to play at the start of calls
Time in seconds to wait for voicemail detection
x >= 0Configuration for dynamic data sources that can be used during calls
Show child attributes
Show child attributes
Configuration for analysis items to be processed after calls
- StringPostCallAnalysisItemResponse
- EnumPostCallAnalysisItemResponse
- BooleanPostCallAnalysisItemResponse
- NumberPostCallAnalysisItemResponse
Show child attributes
Show child attributes

