Update agent
curl --request PATCH \
--url https://api.vatel.ai/v1/agents/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"phone_number_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"llm": "<string>",
"fallback_llm": "<string>",
"prompt": "<string>",
"first_message": "<string>",
"first_message_interruption_time": 123,
"default_language": "<string>",
"summarize_calls": true,
"noise_cancel_settings": {
"enabled": true,
"level": 123
},
"vad_settings": {
"start_secs": 123,
"stop_secs": 123,
"silence_timeout_secs": 123
},
"enable_first_message_outbound": true,
"timeout_settings": {
"default_timeout": 123,
"transfer_number": "<string>",
"transfer_message": "<string>",
"silence_counter": 123,
"silence_transfer_number": "<string>"
},
"keyterms": [
"<string>"
],
"voice_settings": {
"id": "<string>",
"speed": 123,
"stability": 123,
"similarity_boost": 123,
"volume": 123
}
}
'import requests
url = "https://api.vatel.ai/v1/agents/{id}"
payload = {
"phone_number_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"llm": "<string>",
"fallback_llm": "<string>",
"prompt": "<string>",
"first_message": "<string>",
"first_message_interruption_time": 123,
"default_language": "<string>",
"summarize_calls": True,
"noise_cancel_settings": {
"enabled": True,
"level": 123
},
"vad_settings": {
"start_secs": 123,
"stop_secs": 123,
"silence_timeout_secs": 123
},
"enable_first_message_outbound": True,
"timeout_settings": {
"default_timeout": 123,
"transfer_number": "<string>",
"transfer_message": "<string>",
"silence_counter": 123,
"silence_transfer_number": "<string>"
},
"keyterms": ["<string>"],
"voice_settings": {
"id": "<string>",
"speed": 123,
"stability": 123,
"similarity_boost": 123,
"volume": 123
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
phone_number_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
llm: '<string>',
fallback_llm: '<string>',
prompt: '<string>',
first_message: '<string>',
first_message_interruption_time: 123,
default_language: '<string>',
summarize_calls: true,
noise_cancel_settings: {enabled: true, level: 123},
vad_settings: {start_secs: 123, stop_secs: 123, silence_timeout_secs: 123},
enable_first_message_outbound: true,
timeout_settings: {
default_timeout: 123,
transfer_number: '<string>',
transfer_message: '<string>',
silence_counter: 123,
silence_transfer_number: '<string>'
},
keyterms: ['<string>'],
voice_settings: {id: '<string>', speed: 123, stability: 123, similarity_boost: 123, volume: 123}
})
};
fetch('https://api.vatel.ai/v1/agents/{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.vatel.ai/v1/agents/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'phone_number_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'llm' => '<string>',
'fallback_llm' => '<string>',
'prompt' => '<string>',
'first_message' => '<string>',
'first_message_interruption_time' => 123,
'default_language' => '<string>',
'summarize_calls' => true,
'noise_cancel_settings' => [
'enabled' => true,
'level' => 123
],
'vad_settings' => [
'start_secs' => 123,
'stop_secs' => 123,
'silence_timeout_secs' => 123
],
'enable_first_message_outbound' => true,
'timeout_settings' => [
'default_timeout' => 123,
'transfer_number' => '<string>',
'transfer_message' => '<string>',
'silence_counter' => 123,
'silence_transfer_number' => '<string>'
],
'keyterms' => [
'<string>'
],
'voice_settings' => [
'id' => '<string>',
'speed' => 123,
'stability' => 123,
'similarity_boost' => 123,
'volume' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.vatel.ai/v1/agents/{id}"
payload := strings.NewReader("{\n \"phone_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"llm\": \"<string>\",\n \"fallback_llm\": \"<string>\",\n \"prompt\": \"<string>\",\n \"first_message\": \"<string>\",\n \"first_message_interruption_time\": 123,\n \"default_language\": \"<string>\",\n \"summarize_calls\": true,\n \"noise_cancel_settings\": {\n \"enabled\": true,\n \"level\": 123\n },\n \"vad_settings\": {\n \"start_secs\": 123,\n \"stop_secs\": 123,\n \"silence_timeout_secs\": 123\n },\n \"enable_first_message_outbound\": true,\n \"timeout_settings\": {\n \"default_timeout\": 123,\n \"transfer_number\": \"<string>\",\n \"transfer_message\": \"<string>\",\n \"silence_counter\": 123,\n \"silence_transfer_number\": \"<string>\"\n },\n \"keyterms\": [\n \"<string>\"\n ],\n \"voice_settings\": {\n \"id\": \"<string>\",\n \"speed\": 123,\n \"stability\": 123,\n \"similarity_boost\": 123,\n \"volume\": 123\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.vatel.ai/v1/agents/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"phone_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"llm\": \"<string>\",\n \"fallback_llm\": \"<string>\",\n \"prompt\": \"<string>\",\n \"first_message\": \"<string>\",\n \"first_message_interruption_time\": 123,\n \"default_language\": \"<string>\",\n \"summarize_calls\": true,\n \"noise_cancel_settings\": {\n \"enabled\": true,\n \"level\": 123\n },\n \"vad_settings\": {\n \"start_secs\": 123,\n \"stop_secs\": 123,\n \"silence_timeout_secs\": 123\n },\n \"enable_first_message_outbound\": true,\n \"timeout_settings\": {\n \"default_timeout\": 123,\n \"transfer_number\": \"<string>\",\n \"transfer_message\": \"<string>\",\n \"silence_counter\": 123,\n \"silence_transfer_number\": \"<string>\"\n },\n \"keyterms\": [\n \"<string>\"\n ],\n \"voice_settings\": {\n \"id\": \"<string>\",\n \"speed\": 123,\n \"stability\": 123,\n \"similarity_boost\": 123,\n \"volume\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vatel.ai/v1/agents/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"llm\": \"<string>\",\n \"fallback_llm\": \"<string>\",\n \"prompt\": \"<string>\",\n \"first_message\": \"<string>\",\n \"first_message_interruption_time\": 123,\n \"default_language\": \"<string>\",\n \"summarize_calls\": true,\n \"noise_cancel_settings\": {\n \"enabled\": true,\n \"level\": 123\n },\n \"vad_settings\": {\n \"start_secs\": 123,\n \"stop_secs\": 123,\n \"silence_timeout_secs\": 123\n },\n \"enable_first_message_outbound\": true,\n \"timeout_settings\": {\n \"default_timeout\": 123,\n \"transfer_number\": \"<string>\",\n \"transfer_message\": \"<string>\",\n \"silence_counter\": 123,\n \"silence_transfer_number\": \"<string>\"\n },\n \"keyterms\": [\n \"<string>\"\n ],\n \"voice_settings\": {\n \"id\": \"<string>\",\n \"speed\": 123,\n \"stability\": 123,\n \"similarity_boost\": 123,\n \"volume\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"phone_number_id": "<string>",
"name": "<string>",
"llm": "<string>",
"fallback_llm": "<string>",
"prompt": "<string>",
"first_message": "<string>",
"first_message_interruption_time": 123,
"default_language": "<string>",
"summarize_calls": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"noise_cancel_settings": {
"enabled": true,
"level": 123
},
"vad_settings": {
"start_secs": 123,
"stop_secs": 123,
"silence_timeout_secs": 123
},
"enable_first_message_outbound": true,
"voice_settings": {
"id": "<string>",
"speed": 123,
"stability": 123,
"similarity_boost": 123,
"volume": 123
},
"timeout_settings": {
"default_timeout": 123,
"transfer_number": "<string>",
"transfer_message": "<string>",
"silence_counter": 123,
"silence_transfer_number": "<string>"
},
"keyterms": [
"<string>"
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Send your organization API key as Authorization: Bearer <key>.
Path Parameters
Agent id
Body
Partial update: only send fields to change. keyterms, when present, replaces the entire list.
New assigned number id, or null to clear assignment.
Language model id in provider/model form. Use GET /v1/llms for values accepted on create and update.
Language model id in provider/model form. Use GET /v1/llms for values accepted on create and update.
Whether the agent accepts traffic.
active, inactive One of: multi, en, es, fr, de, it, pt, ru, zh, ja, ko, ar, hi (see Agent.default_language).
Inbound noise suppression profile.
Show child attributes
Show child attributes
Voice-activity detection timing for turn-taking. On PATCH, send only the fields to change; omitted properties keep their stored values.
Show child attributes
Show child attributes
Limits and escalation rules for user silence and overall call duration.
Show child attributes
Show child attributes
Voice and TTS provider for the agent. On create or update, include id and provider; optional tuning fields (when sent and non-zero) must be between 0 and 2.
Show child attributes
Show child attributes
Response
Updated agent
Voice agent configuration for your organization. llm is the primary model; fallback_llm is used when the primary cannot serve.
Stable agent id.
Assigned Twilio number id for this agent, if any. Empty when unassigned.
Display name.
Language model id in provider/model form. Use GET /v1/llms for values accepted on create and update.
Language model id in provider/model form. Use GET /v1/llms for values accepted on create and update.
Whether the agent accepts traffic.
active, inactive System or base instructions for the model.
Opening line the agent speaks when a call starts.
Window (seconds) where the first message can be interrupted.
Primary speech language: multi, en, es, fr, de, it, pt, ru, zh, ja, ko, ar, or hi (same set as the builder UI). multi is only appropriate for multilingual STT (e.g. Deepgram Nova).
Whether to generate summaries after calls.
Inbound noise suppression profile.
Show child attributes
Show child attributes
Voice-activity detection timing for turn-taking. On PATCH, send only the fields to change; omitted properties keep their stored values.
Show child attributes
Show child attributes
Play first_message on outbound calls when true.
Voice and TTS provider for the agent. On create or update, include id and provider; optional tuning fields (when sent and non-zero) must be between 0 and 2.
Show child attributes
Show child attributes
Limits and escalation rules for user silence and overall call duration.
Show child attributes
Show child attributes
Hints for transcription or keyword boosting, up to server limits.
curl --request PATCH \
--url https://api.vatel.ai/v1/agents/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"phone_number_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"llm": "<string>",
"fallback_llm": "<string>",
"prompt": "<string>",
"first_message": "<string>",
"first_message_interruption_time": 123,
"default_language": "<string>",
"summarize_calls": true,
"noise_cancel_settings": {
"enabled": true,
"level": 123
},
"vad_settings": {
"start_secs": 123,
"stop_secs": 123,
"silence_timeout_secs": 123
},
"enable_first_message_outbound": true,
"timeout_settings": {
"default_timeout": 123,
"transfer_number": "<string>",
"transfer_message": "<string>",
"silence_counter": 123,
"silence_transfer_number": "<string>"
},
"keyterms": [
"<string>"
],
"voice_settings": {
"id": "<string>",
"speed": 123,
"stability": 123,
"similarity_boost": 123,
"volume": 123
}
}
'import requests
url = "https://api.vatel.ai/v1/agents/{id}"
payload = {
"phone_number_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"llm": "<string>",
"fallback_llm": "<string>",
"prompt": "<string>",
"first_message": "<string>",
"first_message_interruption_time": 123,
"default_language": "<string>",
"summarize_calls": True,
"noise_cancel_settings": {
"enabled": True,
"level": 123
},
"vad_settings": {
"start_secs": 123,
"stop_secs": 123,
"silence_timeout_secs": 123
},
"enable_first_message_outbound": True,
"timeout_settings": {
"default_timeout": 123,
"transfer_number": "<string>",
"transfer_message": "<string>",
"silence_counter": 123,
"silence_transfer_number": "<string>"
},
"keyterms": ["<string>"],
"voice_settings": {
"id": "<string>",
"speed": 123,
"stability": 123,
"similarity_boost": 123,
"volume": 123
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
phone_number_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
llm: '<string>',
fallback_llm: '<string>',
prompt: '<string>',
first_message: '<string>',
first_message_interruption_time: 123,
default_language: '<string>',
summarize_calls: true,
noise_cancel_settings: {enabled: true, level: 123},
vad_settings: {start_secs: 123, stop_secs: 123, silence_timeout_secs: 123},
enable_first_message_outbound: true,
timeout_settings: {
default_timeout: 123,
transfer_number: '<string>',
transfer_message: '<string>',
silence_counter: 123,
silence_transfer_number: '<string>'
},
keyterms: ['<string>'],
voice_settings: {id: '<string>', speed: 123, stability: 123, similarity_boost: 123, volume: 123}
})
};
fetch('https://api.vatel.ai/v1/agents/{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.vatel.ai/v1/agents/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'phone_number_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'llm' => '<string>',
'fallback_llm' => '<string>',
'prompt' => '<string>',
'first_message' => '<string>',
'first_message_interruption_time' => 123,
'default_language' => '<string>',
'summarize_calls' => true,
'noise_cancel_settings' => [
'enabled' => true,
'level' => 123
],
'vad_settings' => [
'start_secs' => 123,
'stop_secs' => 123,
'silence_timeout_secs' => 123
],
'enable_first_message_outbound' => true,
'timeout_settings' => [
'default_timeout' => 123,
'transfer_number' => '<string>',
'transfer_message' => '<string>',
'silence_counter' => 123,
'silence_transfer_number' => '<string>'
],
'keyterms' => [
'<string>'
],
'voice_settings' => [
'id' => '<string>',
'speed' => 123,
'stability' => 123,
'similarity_boost' => 123,
'volume' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.vatel.ai/v1/agents/{id}"
payload := strings.NewReader("{\n \"phone_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"llm\": \"<string>\",\n \"fallback_llm\": \"<string>\",\n \"prompt\": \"<string>\",\n \"first_message\": \"<string>\",\n \"first_message_interruption_time\": 123,\n \"default_language\": \"<string>\",\n \"summarize_calls\": true,\n \"noise_cancel_settings\": {\n \"enabled\": true,\n \"level\": 123\n },\n \"vad_settings\": {\n \"start_secs\": 123,\n \"stop_secs\": 123,\n \"silence_timeout_secs\": 123\n },\n \"enable_first_message_outbound\": true,\n \"timeout_settings\": {\n \"default_timeout\": 123,\n \"transfer_number\": \"<string>\",\n \"transfer_message\": \"<string>\",\n \"silence_counter\": 123,\n \"silence_transfer_number\": \"<string>\"\n },\n \"keyterms\": [\n \"<string>\"\n ],\n \"voice_settings\": {\n \"id\": \"<string>\",\n \"speed\": 123,\n \"stability\": 123,\n \"similarity_boost\": 123,\n \"volume\": 123\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.vatel.ai/v1/agents/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"phone_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"llm\": \"<string>\",\n \"fallback_llm\": \"<string>\",\n \"prompt\": \"<string>\",\n \"first_message\": \"<string>\",\n \"first_message_interruption_time\": 123,\n \"default_language\": \"<string>\",\n \"summarize_calls\": true,\n \"noise_cancel_settings\": {\n \"enabled\": true,\n \"level\": 123\n },\n \"vad_settings\": {\n \"start_secs\": 123,\n \"stop_secs\": 123,\n \"silence_timeout_secs\": 123\n },\n \"enable_first_message_outbound\": true,\n \"timeout_settings\": {\n \"default_timeout\": 123,\n \"transfer_number\": \"<string>\",\n \"transfer_message\": \"<string>\",\n \"silence_counter\": 123,\n \"silence_transfer_number\": \"<string>\"\n },\n \"keyterms\": [\n \"<string>\"\n ],\n \"voice_settings\": {\n \"id\": \"<string>\",\n \"speed\": 123,\n \"stability\": 123,\n \"similarity_boost\": 123,\n \"volume\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vatel.ai/v1/agents/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"llm\": \"<string>\",\n \"fallback_llm\": \"<string>\",\n \"prompt\": \"<string>\",\n \"first_message\": \"<string>\",\n \"first_message_interruption_time\": 123,\n \"default_language\": \"<string>\",\n \"summarize_calls\": true,\n \"noise_cancel_settings\": {\n \"enabled\": true,\n \"level\": 123\n },\n \"vad_settings\": {\n \"start_secs\": 123,\n \"stop_secs\": 123,\n \"silence_timeout_secs\": 123\n },\n \"enable_first_message_outbound\": true,\n \"timeout_settings\": {\n \"default_timeout\": 123,\n \"transfer_number\": \"<string>\",\n \"transfer_message\": \"<string>\",\n \"silence_counter\": 123,\n \"silence_transfer_number\": \"<string>\"\n },\n \"keyterms\": [\n \"<string>\"\n ],\n \"voice_settings\": {\n \"id\": \"<string>\",\n \"speed\": 123,\n \"stability\": 123,\n \"similarity_boost\": 123,\n \"volume\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"phone_number_id": "<string>",
"name": "<string>",
"llm": "<string>",
"fallback_llm": "<string>",
"prompt": "<string>",
"first_message": "<string>",
"first_message_interruption_time": 123,
"default_language": "<string>",
"summarize_calls": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"noise_cancel_settings": {
"enabled": true,
"level": 123
},
"vad_settings": {
"start_secs": 123,
"stop_secs": 123,
"silence_timeout_secs": 123
},
"enable_first_message_outbound": true,
"voice_settings": {
"id": "<string>",
"speed": 123,
"stability": 123,
"similarity_boost": 123,
"volume": 123
},
"timeout_settings": {
"default_timeout": 123,
"transfer_number": "<string>",
"transfer_message": "<string>",
"silence_counter": 123,
"silence_transfer_number": "<string>"
},
"keyterms": [
"<string>"
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}
