Skip to main content
PUT
/
unified
/
agents
/
{agent_id}
/
config
Update Agent Configuration
curl --request PUT \
  --url https://api.example.com/unified/agents/{agent_id}/config \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "model_provider": "<string>",
  "model_name": "<string>",
  "temperature": 0.5,
  "max_tokens": 525,
  "first_message_mode": true,
  "first_message_script": "<string>",
  "voice_provider": "<string>",
  "voice_id": "<string>",
  "background_sound_url": "<string>",
  "input_min_characters": 55,
  "transcriber_provider": "<string>",
  "transcriber_model": "<string>",
  "background_denoising": true,
  "confidence_threshold": 0.5,
  "wait_seconds": 0.55,
  "smart_endpointing": true,
  "interruption_words": 5,
  "punctuation_boundary_ms": 275,
  "no_punctuation_boundary_ms": 1900,
  "silence_timeout_seconds": 65,
  "max_duration_seconds": 990,
  "idle_messages_enabled": true,
  "max_idle_messages": 5,
  "idle_timeout_seconds": 32.5,
  "analysis_prompt": "<string>",
  "analysis_timeout_sec": 30,
  "min_messages_for_analysis": 5,
  "voicemail_detection_enabled": true,
  "voicemail_message": "<string>",
  "end_call_message": "<string>",
  "keypad_input_enabled": true,
  "keypad_timeout_seconds": 3,
  "keypad_delimiters": "<string>",
  "workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "tools": [
    {}
  ],
  "default_user_lang": "<string>",
  "thinking_lang": "<string>",
  "interruptions_enabled": true,
  "escalation_policy": {}
}
'
import requests

url = "https://api.example.com/unified/agents/{agent_id}/config"

payload = {
"name": "<string>",
"description": "<string>",
"model_provider": "<string>",
"model_name": "<string>",
"temperature": 0.5,
"max_tokens": 525,
"first_message_mode": True,
"first_message_script": "<string>",
"voice_provider": "<string>",
"voice_id": "<string>",
"background_sound_url": "<string>",
"input_min_characters": 55,
"transcriber_provider": "<string>",
"transcriber_model": "<string>",
"background_denoising": True,
"confidence_threshold": 0.5,
"wait_seconds": 0.55,
"smart_endpointing": True,
"interruption_words": 5,
"punctuation_boundary_ms": 275,
"no_punctuation_boundary_ms": 1900,
"silence_timeout_seconds": 65,
"max_duration_seconds": 990,
"idle_messages_enabled": True,
"max_idle_messages": 5,
"idle_timeout_seconds": 32.5,
"analysis_prompt": "<string>",
"analysis_timeout_sec": 30,
"min_messages_for_analysis": 5,
"voicemail_detection_enabled": True,
"voicemail_message": "<string>",
"end_call_message": "<string>",
"keypad_input_enabled": True,
"keypad_timeout_seconds": 3,
"keypad_delimiters": "<string>",
"workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tools": [{}],
"default_user_lang": "<string>",
"thinking_lang": "<string>",
"interruptions_enabled": True,
"escalation_policy": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
model_provider: '<string>',
model_name: '<string>',
temperature: 0.5,
max_tokens: 525,
first_message_mode: true,
first_message_script: '<string>',
voice_provider: '<string>',
voice_id: '<string>',
background_sound_url: '<string>',
input_min_characters: 55,
transcriber_provider: '<string>',
transcriber_model: '<string>',
background_denoising: true,
confidence_threshold: 0.5,
wait_seconds: 0.55,
smart_endpointing: true,
interruption_words: 5,
punctuation_boundary_ms: 275,
no_punctuation_boundary_ms: 1900,
silence_timeout_seconds: 65,
max_duration_seconds: 990,
idle_messages_enabled: true,
max_idle_messages: 5,
idle_timeout_seconds: 32.5,
analysis_prompt: '<string>',
analysis_timeout_sec: 30,
min_messages_for_analysis: 5,
voicemail_detection_enabled: true,
voicemail_message: '<string>',
end_call_message: '<string>',
keypad_input_enabled: true,
keypad_timeout_seconds: 3,
keypad_delimiters: '<string>',
workflow_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
tools: [{}],
default_user_lang: '<string>',
thinking_lang: '<string>',
interruptions_enabled: true,
escalation_policy: {}
})
};

fetch('https://api.example.com/unified/agents/{agent_id}/config', 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/unified/agents/{agent_id}/config",
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([
'name' => '<string>',
'description' => '<string>',
'model_provider' => '<string>',
'model_name' => '<string>',
'temperature' => 0.5,
'max_tokens' => 525,
'first_message_mode' => true,
'first_message_script' => '<string>',
'voice_provider' => '<string>',
'voice_id' => '<string>',
'background_sound_url' => '<string>',
'input_min_characters' => 55,
'transcriber_provider' => '<string>',
'transcriber_model' => '<string>',
'background_denoising' => true,
'confidence_threshold' => 0.5,
'wait_seconds' => 0.55,
'smart_endpointing' => true,
'interruption_words' => 5,
'punctuation_boundary_ms' => 275,
'no_punctuation_boundary_ms' => 1900,
'silence_timeout_seconds' => 65,
'max_duration_seconds' => 990,
'idle_messages_enabled' => true,
'max_idle_messages' => 5,
'idle_timeout_seconds' => 32.5,
'analysis_prompt' => '<string>',
'analysis_timeout_sec' => 30,
'min_messages_for_analysis' => 5,
'voicemail_detection_enabled' => true,
'voicemail_message' => '<string>',
'end_call_message' => '<string>',
'keypad_input_enabled' => true,
'keypad_timeout_seconds' => 3,
'keypad_delimiters' => '<string>',
'workflow_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'tools' => [
[

]
],
'default_user_lang' => '<string>',
'thinking_lang' => '<string>',
'interruptions_enabled' => true,
'escalation_policy' => [

]
]),
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.example.com/unified/agents/{agent_id}/config"

payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"model_provider\": \"<string>\",\n \"model_name\": \"<string>\",\n \"temperature\": 0.5,\n \"max_tokens\": 525,\n \"first_message_mode\": true,\n \"first_message_script\": \"<string>\",\n \"voice_provider\": \"<string>\",\n \"voice_id\": \"<string>\",\n \"background_sound_url\": \"<string>\",\n \"input_min_characters\": 55,\n \"transcriber_provider\": \"<string>\",\n \"transcriber_model\": \"<string>\",\n \"background_denoising\": true,\n \"confidence_threshold\": 0.5,\n \"wait_seconds\": 0.55,\n \"smart_endpointing\": true,\n \"interruption_words\": 5,\n \"punctuation_boundary_ms\": 275,\n \"no_punctuation_boundary_ms\": 1900,\n \"silence_timeout_seconds\": 65,\n \"max_duration_seconds\": 990,\n \"idle_messages_enabled\": true,\n \"max_idle_messages\": 5,\n \"idle_timeout_seconds\": 32.5,\n \"analysis_prompt\": \"<string>\",\n \"analysis_timeout_sec\": 30,\n \"min_messages_for_analysis\": 5,\n \"voicemail_detection_enabled\": true,\n \"voicemail_message\": \"<string>\",\n \"end_call_message\": \"<string>\",\n \"keypad_input_enabled\": true,\n \"keypad_timeout_seconds\": 3,\n \"keypad_delimiters\": \"<string>\",\n \"workflow_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"tools\": [\n {}\n ],\n \"default_user_lang\": \"<string>\",\n \"thinking_lang\": \"<string>\",\n \"interruptions_enabled\": true,\n \"escalation_policy\": {}\n}")

req, _ := http.NewRequest("PUT", 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.put("https://api.example.com/unified/agents/{agent_id}/config")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"model_provider\": \"<string>\",\n \"model_name\": \"<string>\",\n \"temperature\": 0.5,\n \"max_tokens\": 525,\n \"first_message_mode\": true,\n \"first_message_script\": \"<string>\",\n \"voice_provider\": \"<string>\",\n \"voice_id\": \"<string>\",\n \"background_sound_url\": \"<string>\",\n \"input_min_characters\": 55,\n \"transcriber_provider\": \"<string>\",\n \"transcriber_model\": \"<string>\",\n \"background_denoising\": true,\n \"confidence_threshold\": 0.5,\n \"wait_seconds\": 0.55,\n \"smart_endpointing\": true,\n \"interruption_words\": 5,\n \"punctuation_boundary_ms\": 275,\n \"no_punctuation_boundary_ms\": 1900,\n \"silence_timeout_seconds\": 65,\n \"max_duration_seconds\": 990,\n \"idle_messages_enabled\": true,\n \"max_idle_messages\": 5,\n \"idle_timeout_seconds\": 32.5,\n \"analysis_prompt\": \"<string>\",\n \"analysis_timeout_sec\": 30,\n \"min_messages_for_analysis\": 5,\n \"voicemail_detection_enabled\": true,\n \"voicemail_message\": \"<string>\",\n \"end_call_message\": \"<string>\",\n \"keypad_input_enabled\": true,\n \"keypad_timeout_seconds\": 3,\n \"keypad_delimiters\": \"<string>\",\n \"workflow_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"tools\": [\n {}\n ],\n \"default_user_lang\": \"<string>\",\n \"thinking_lang\": \"<string>\",\n \"interruptions_enabled\": true,\n \"escalation_policy\": {}\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.example.com/unified/agents/{agent_id}/config")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"model_provider\": \"<string>\",\n \"model_name\": \"<string>\",\n \"temperature\": 0.5,\n \"max_tokens\": 525,\n \"first_message_mode\": true,\n \"first_message_script\": \"<string>\",\n \"voice_provider\": \"<string>\",\n \"voice_id\": \"<string>\",\n \"background_sound_url\": \"<string>\",\n \"input_min_characters\": 55,\n \"transcriber_provider\": \"<string>\",\n \"transcriber_model\": \"<string>\",\n \"background_denoising\": true,\n \"confidence_threshold\": 0.5,\n \"wait_seconds\": 0.55,\n \"smart_endpointing\": true,\n \"interruption_words\": 5,\n \"punctuation_boundary_ms\": 275,\n \"no_punctuation_boundary_ms\": 1900,\n \"silence_timeout_seconds\": 65,\n \"max_duration_seconds\": 990,\n \"idle_messages_enabled\": true,\n \"max_idle_messages\": 5,\n \"idle_timeout_seconds\": 32.5,\n \"analysis_prompt\": \"<string>\",\n \"analysis_timeout_sec\": 30,\n \"min_messages_for_analysis\": 5,\n \"voicemail_detection_enabled\": true,\n \"voicemail_message\": \"<string>\",\n \"end_call_message\": \"<string>\",\n \"keypad_input_enabled\": true,\n \"keypad_timeout_seconds\": 3,\n \"keypad_delimiters\": \"<string>\",\n \"workflow_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"tools\": [\n {}\n ],\n \"default_user_lang\": \"<string>\",\n \"thinking_lang\": \"<string>\",\n \"interruptions_enabled\": true,\n \"escalation_policy\": {}\n}"

response = http.request(request)
puts response.read_body
{
  "agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "description": "<string>",
  "status": "<string>",
  "model_settings": {},
  "voice_config": {},
  "transcriber_config": {},
  "conversation_control": {},
  "call_timeout": {},
  "analysis_config": {},
  "voicemail_config": {},
  "keypad_config": {},
  "tools": [
    {}
  ],
  "language_config": {},
  "advanced_config": {},
  "external_integration": {},
  "created_at": "<string>",
  "updated_at": "<string>",
  "workflow": {}
}
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

agent_id
string<uuid>
required

Body

application/json

Comprehensive agent configuration update model.

name
string | null
Required string length: 1 - 255
description
string | null
status
enum<string> | null

Agent status enumeration.

Available options:
draft,
active,
paused
model_provider
string | null
Pattern: ^(openai|azure_openai|anthropic|google|groq|cerebras|deepseek|xai|mistral|perplexity|together|fireworks|cohere|amazon_bedrock|alibaba_qwen|ibm_watsonx|meta_llama|anyscale|openrouter|deepinfra|custom_llm)$
model_name
string | null
temperature
number | null
Required range: 0 <= x <= 1
max_tokens
integer | null
Required range: 50 <= x <= 1000
first_message_mode
boolean | null
first_message_script
string | null
voice_provider
string | null
Pattern: ^(elevenlabs|cartesia|azure|livekit_inference)$
voice_id
string | null
background_sound_url
string | null
input_min_characters
integer | null
Required range: 10 <= x <= 100
transcriber_provider
string | null
Pattern: ^(deepgram|google|azure|assemblyai|livekit_inference)$
transcriber_model
string | null
background_denoising
boolean | null
confidence_threshold
number | null
Required range: 0 <= x <= 1
wait_seconds
number | null
Required range: 0.1 <= x <= 1
smart_endpointing
boolean | null
interruption_words
integer | null
Required range: 0 <= x <= 10
punctuation_boundary_ms
integer | null
Required range: 50 <= x <= 500
no_punctuation_boundary_ms
integer | null
Required range: 800 <= x <= 3000
silence_timeout_seconds
integer | null
Required range: 10 <= x <= 120
max_duration_seconds
integer | null
Required range: 180 <= x <= 1800
idle_messages_enabled
boolean | null
max_idle_messages
integer | null
Required range: 1 <= x <= 10
idle_timeout_seconds
number | null
Required range: 5 <= x <= 60
analysis_prompt
string | null
analysis_timeout_sec
integer | null
Required range: 1 <= x <= 60
min_messages_for_analysis
integer | null
Required range: 0 <= x <= 10
voicemail_detection_enabled
boolean | null
voicemail_message
string | null
end_call_message
string | null
keypad_input_enabled
boolean | null
keypad_timeout_seconds
integer | null
Required range: 1 <= x <= 6
keypad_delimiters
string | null
Pattern: ^[#*]+$
workflow_id
string<uuid> | null
tools
Tools · object[] | null
default_user_lang
string | null
Required string length: 2 - 10
thinking_lang
string | null
Required string length: 2 - 10
interruptions_enabled
boolean | null
escalation_policy
Escalation Policy · object | null

Response

Successful Response

Comprehensive agent configuration response.

agent_id
string<uuid>
required
name
string
required
description
string | null
required
status
string
required
model_settings
Model Settings · object
required
voice_config
Voice Config · object
required
transcriber_config
Transcriber Config · object
required
conversation_control
Conversation Control · object
required
call_timeout
Call Timeout · object
required
analysis_config
Analysis Config · object
required
voicemail_config
Voicemail Config · object
required
keypad_config
Keypad Config · object
required
tools
Tools · object[]
required
language_config
Language Config · object
required
advanced_config
Advanced Config · object
required
external_integration
External Integration · object
required
created_at
string
required
updated_at
string
required
workflow
Workflow · object | null