curl --request PATCH \
--url https://api.callrounded.com/v1/agents/{agent_id} \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data @- <<EOF
{
"name": "<string>",
"initial_message": "<string>",
"initial_message_delay": 123,
"max_call_duration": 123,
"presence_check_phrases": [
"<string>"
],
"presence_check_idle_threshold": 123,
"presence_check_max_times": 123,
"base_prompt": "<string>",
"voice": {
"provider": "openai",
"instructions": "Warm, empathetic, friendly",
"speed": 1
},
"states": [
{
"name": "<string>",
"prompt": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"tools": [
{
"description": "Wait for 2 seconds",
"type": "wait"
},
{
"description": "Hang up the call",
"filler_sentence": "Goodbye!",
"type": "hang_up"
},
{
"description": "Transfer the call to the next available assistant",
"filler_sentence": "I'm transferring you to the next available assistant...",
"type": "transfer_call"
},
{
"description": "Leave a voicemail message",
"filler_sentence": "I tried to call you but you didn't answer. Please call me back at 1234567890",
"type": "leave_voicemail_message"
},
{
"content_type": "url_params",
"description": "Get the availability of the requested assistant by using its name",
"filler_sentence": "I'm checking the availability of the requested assistant...",
"headers": [
{
"description": "The API key to use to call the custom function",
"name": "Authorization",
"value": "Bearer 123"
}
],
"method": "GET",
"parameters": [
{
"description": "The name of the assistant to check the availability of",
"name": "assistant_name",
"type": "string"
}
],
"response_mapping": [
{
"destination_variable": "assistant_availability",
"json_path_to_data": "$.availability"
}
],
"type": "custom_function",
"url": "https://api.example.com/availability"
}
],
"transitions": [
{
"condition": "User provides valid input",
"destination_state_name": "next_state_name",
"filler_sentence": "I'm sorry, I didn't catch that. Can you please repeat?"
}
],
"variables": [
{
"description": "The variable's description",
"extraction_instructions": "The instructions for the variable extraction",
"name": "variable_name",
"type": "string"
}
],
"x_position": -401.1747211895911,
"y_position": 264.2527881040892,
"features": {
"entity_detection": true
}
}
],
"initial_state_name": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"transcriber": {
"provider": "azure"
},
"secure_recording_urls": true,
"interruptions": true,
"webhook_url": "<string>",
"webhook_subscriptions": [],
"custom_vocabulary": [
"<string>"
]
}
EOFimport requests
url = "https://api.callrounded.com/v1/agents/{agent_id}"
payload = {
"name": "<string>",
"initial_message": "<string>",
"initial_message_delay": 123,
"max_call_duration": 123,
"presence_check_phrases": ["<string>"],
"presence_check_idle_threshold": 123,
"presence_check_max_times": 123,
"base_prompt": "<string>",
"voice": {
"provider": "openai",
"instructions": "Warm, empathetic, friendly",
"speed": 1
},
"states": [
{
"name": "<string>",
"prompt": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"tools": [
{
"description": "Wait for 2 seconds",
"type": "wait"
},
{
"description": "Hang up the call",
"filler_sentence": "Goodbye!",
"type": "hang_up"
},
{
"description": "Transfer the call to the next available assistant",
"filler_sentence": "I'm transferring you to the next available assistant...",
"type": "transfer_call"
},
{
"description": "Leave a voicemail message",
"filler_sentence": "I tried to call you but you didn't answer. Please call me back at 1234567890",
"type": "leave_voicemail_message"
},
{
"content_type": "url_params",
"description": "Get the availability of the requested assistant by using its name",
"filler_sentence": "I'm checking the availability of the requested assistant...",
"headers": [
{
"description": "The API key to use to call the custom function",
"name": "Authorization",
"value": "Bearer 123"
}
],
"method": "GET",
"parameters": [
{
"description": "The name of the assistant to check the availability of",
"name": "assistant_name",
"type": "string"
}
],
"response_mapping": [
{
"destination_variable": "assistant_availability",
"json_path_to_data": "$.availability"
}
],
"type": "custom_function",
"url": "https://api.example.com/availability"
}
],
"transitions": [
{
"condition": "User provides valid input",
"destination_state_name": "next_state_name",
"filler_sentence": "I'm sorry, I didn't catch that. Can you please repeat?"
}
],
"variables": [
{
"description": "The variable's description",
"extraction_instructions": "The instructions for the variable extraction",
"name": "variable_name",
"type": "string"
}
],
"x_position": -401.1747211895911,
"y_position": 264.2527881040892,
"features": { "entity_detection": True }
}
],
"initial_state_name": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"transcriber": { "provider": "azure" },
"secure_recording_urls": True,
"interruptions": True,
"webhook_url": "<string>",
"webhook_subscriptions": [],
"custom_vocabulary": ["<string>"]
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
initial_message: '<string>',
initial_message_delay: 123,
max_call_duration: 123,
presence_check_phrases: ['<string>'],
presence_check_idle_threshold: 123,
presence_check_max_times: 123,
base_prompt: '<string>',
voice: {provider: 'openai', instructions: 'Warm, empathetic, friendly', speed: 1},
states: [
{
name: '<string>',
prompt: '<string>',
llm: {temperature: 0.5, provider: 'azure_openai'},
tools: [
{description: 'Wait for 2 seconds', type: 'wait'},
{description: 'Hang up the call', filler_sentence: 'Goodbye!', type: 'hang_up'},
{
description: 'Transfer the call to the next available assistant',
filler_sentence: 'I\'m transferring you to the next available assistant...',
type: 'transfer_call'
},
{
description: 'Leave a voicemail message',
filler_sentence: 'I tried to call you but you didn\'t answer. Please call me back at 1234567890',
type: 'leave_voicemail_message'
},
{
content_type: 'url_params',
description: 'Get the availability of the requested assistant by using its name',
filler_sentence: 'I\'m checking the availability of the requested assistant...',
headers: [
{
description: 'The API key to use to call the custom function',
name: 'Authorization',
value: 'Bearer 123'
}
],
method: 'GET',
parameters: [
{
description: 'The name of the assistant to check the availability of',
name: 'assistant_name',
type: 'string'
}
],
response_mapping: [
{
destination_variable: 'assistant_availability',
json_path_to_data: '$.availability'
}
],
type: 'custom_function',
url: 'https://api.example.com/availability'
}
],
transitions: [
{
condition: 'User provides valid input',
destination_state_name: 'next_state_name',
filler_sentence: 'I\'m sorry, I didn\'t catch that. Can you please repeat?'
}
],
variables: [
{
description: 'The variable\'s description',
extraction_instructions: 'The instructions for the variable extraction',
name: 'variable_name',
type: 'string'
}
],
x_position: -401.1747211895911,
y_position: 264.2527881040892,
features: {entity_detection: true}
}
],
initial_state_name: '<string>',
llm: {temperature: 0.5, provider: 'azure_openai'},
transcriber: {provider: 'azure'},
secure_recording_urls: true,
interruptions: true,
webhook_url: '<string>',
webhook_subscriptions: [],
custom_vocabulary: ['<string>']
})
};
fetch('https://api.callrounded.com/v1/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.callrounded.com/v1/agents/{agent_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([
'name' => '<string>',
'initial_message' => '<string>',
'initial_message_delay' => 123,
'max_call_duration' => 123,
'presence_check_phrases' => [
'<string>'
],
'presence_check_idle_threshold' => 123,
'presence_check_max_times' => 123,
'base_prompt' => '<string>',
'voice' => [
'provider' => 'openai',
'instructions' => 'Warm, empathetic, friendly',
'speed' => 1
],
'states' => [
[
'name' => '<string>',
'prompt' => '<string>',
'llm' => [
'temperature' => 0.5,
'provider' => 'azure_openai'
],
'tools' => [
[
'description' => 'Wait for 2 seconds',
'type' => 'wait'
],
[
'description' => 'Hang up the call',
'filler_sentence' => 'Goodbye!',
'type' => 'hang_up'
],
[
'description' => 'Transfer the call to the next available assistant',
'filler_sentence' => 'I\'m transferring you to the next available assistant...',
'type' => 'transfer_call'
],
[
'description' => 'Leave a voicemail message',
'filler_sentence' => 'I tried to call you but you didn\'t answer. Please call me back at 1234567890',
'type' => 'leave_voicemail_message'
],
[
'content_type' => 'url_params',
'description' => 'Get the availability of the requested assistant by using its name',
'filler_sentence' => 'I\'m checking the availability of the requested assistant...',
'headers' => [
[
'description' => 'The API key to use to call the custom function',
'name' => 'Authorization',
'value' => 'Bearer 123'
]
],
'method' => 'GET',
'parameters' => [
[
'description' => 'The name of the assistant to check the availability of',
'name' => 'assistant_name',
'type' => 'string'
]
],
'response_mapping' => [
[
'destination_variable' => 'assistant_availability',
'json_path_to_data' => '$.availability'
]
],
'type' => 'custom_function',
'url' => 'https://api.example.com/availability'
]
],
'transitions' => [
[
'condition' => 'User provides valid input',
'destination_state_name' => 'next_state_name',
'filler_sentence' => 'I\'m sorry, I didn\'t catch that. Can you please repeat?'
]
],
'variables' => [
[
'description' => 'The variable\'s description',
'extraction_instructions' => 'The instructions for the variable extraction',
'name' => 'variable_name',
'type' => 'string'
]
],
'x_position' => -401.1747211895911,
'y_position' => 264.2527881040892,
'features' => [
'entity_detection' => true
]
]
],
'initial_state_name' => '<string>',
'llm' => [
'temperature' => 0.5,
'provider' => 'azure_openai'
],
'transcriber' => [
'provider' => 'azure'
],
'secure_recording_urls' => true,
'interruptions' => true,
'webhook_url' => '<string>',
'webhook_subscriptions' => [
],
'custom_vocabulary' => [
'<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.callrounded.com/v1/agents/{agent_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"initial_message\": \"<string>\",\n \"initial_message_delay\": 123,\n \"max_call_duration\": 123,\n \"presence_check_phrases\": [\n \"<string>\"\n ],\n \"presence_check_idle_threshold\": 123,\n \"presence_check_max_times\": 123,\n \"base_prompt\": \"<string>\",\n \"voice\": {\n \"provider\": \"openai\",\n \"instructions\": \"Warm, empathetic, friendly\",\n \"speed\": 1\n },\n \"states\": [\n {\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"tools\": [\n {\n \"description\": \"Wait for 2 seconds\",\n \"type\": \"wait\"\n },\n {\n \"description\": \"Hang up the call\",\n \"filler_sentence\": \"Goodbye!\",\n \"type\": \"hang_up\"\n },\n {\n \"description\": \"Transfer the call to the next available assistant\",\n \"filler_sentence\": \"I'm transferring you to the next available assistant...\",\n \"type\": \"transfer_call\"\n },\n {\n \"description\": \"Leave a voicemail message\",\n \"filler_sentence\": \"I tried to call you but you didn't answer. Please call me back at 1234567890\",\n \"type\": \"leave_voicemail_message\"\n },\n {\n \"content_type\": \"url_params\",\n \"description\": \"Get the availability of the requested assistant by using its name\",\n \"filler_sentence\": \"I'm checking the availability of the requested assistant...\",\n \"headers\": [\n {\n \"description\": \"The API key to use to call the custom function\",\n \"name\": \"Authorization\",\n \"value\": \"Bearer 123\"\n }\n ],\n \"method\": \"GET\",\n \"parameters\": [\n {\n \"description\": \"The name of the assistant to check the availability of\",\n \"name\": \"assistant_name\",\n \"type\": \"string\"\n }\n ],\n \"response_mapping\": [\n {\n \"destination_variable\": \"assistant_availability\",\n \"json_path_to_data\": \"$.availability\"\n }\n ],\n \"type\": \"custom_function\",\n \"url\": \"https://api.example.com/availability\"\n }\n ],\n \"transitions\": [\n {\n \"condition\": \"User provides valid input\",\n \"destination_state_name\": \"next_state_name\",\n \"filler_sentence\": \"I'm sorry, I didn't catch that. Can you please repeat?\"\n }\n ],\n \"variables\": [\n {\n \"description\": \"The variable's description\",\n \"extraction_instructions\": \"The instructions for the variable extraction\",\n \"name\": \"variable_name\",\n \"type\": \"string\"\n }\n ],\n \"x_position\": -401.1747211895911,\n \"y_position\": 264.2527881040892,\n \"features\": {\n \"entity_detection\": true\n }\n }\n ],\n \"initial_state_name\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"transcriber\": {\n \"provider\": \"azure\"\n },\n \"secure_recording_urls\": true,\n \"interruptions\": true,\n \"webhook_url\": \"<string>\",\n \"webhook_subscriptions\": [],\n \"custom_vocabulary\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.callrounded.com/v1/agents/{agent_id}")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"initial_message\": \"<string>\",\n \"initial_message_delay\": 123,\n \"max_call_duration\": 123,\n \"presence_check_phrases\": [\n \"<string>\"\n ],\n \"presence_check_idle_threshold\": 123,\n \"presence_check_max_times\": 123,\n \"base_prompt\": \"<string>\",\n \"voice\": {\n \"provider\": \"openai\",\n \"instructions\": \"Warm, empathetic, friendly\",\n \"speed\": 1\n },\n \"states\": [\n {\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"tools\": [\n {\n \"description\": \"Wait for 2 seconds\",\n \"type\": \"wait\"\n },\n {\n \"description\": \"Hang up the call\",\n \"filler_sentence\": \"Goodbye!\",\n \"type\": \"hang_up\"\n },\n {\n \"description\": \"Transfer the call to the next available assistant\",\n \"filler_sentence\": \"I'm transferring you to the next available assistant...\",\n \"type\": \"transfer_call\"\n },\n {\n \"description\": \"Leave a voicemail message\",\n \"filler_sentence\": \"I tried to call you but you didn't answer. Please call me back at 1234567890\",\n \"type\": \"leave_voicemail_message\"\n },\n {\n \"content_type\": \"url_params\",\n \"description\": \"Get the availability of the requested assistant by using its name\",\n \"filler_sentence\": \"I'm checking the availability of the requested assistant...\",\n \"headers\": [\n {\n \"description\": \"The API key to use to call the custom function\",\n \"name\": \"Authorization\",\n \"value\": \"Bearer 123\"\n }\n ],\n \"method\": \"GET\",\n \"parameters\": [\n {\n \"description\": \"The name of the assistant to check the availability of\",\n \"name\": \"assistant_name\",\n \"type\": \"string\"\n }\n ],\n \"response_mapping\": [\n {\n \"destination_variable\": \"assistant_availability\",\n \"json_path_to_data\": \"$.availability\"\n }\n ],\n \"type\": \"custom_function\",\n \"url\": \"https://api.example.com/availability\"\n }\n ],\n \"transitions\": [\n {\n \"condition\": \"User provides valid input\",\n \"destination_state_name\": \"next_state_name\",\n \"filler_sentence\": \"I'm sorry, I didn't catch that. Can you please repeat?\"\n }\n ],\n \"variables\": [\n {\n \"description\": \"The variable's description\",\n \"extraction_instructions\": \"The instructions for the variable extraction\",\n \"name\": \"variable_name\",\n \"type\": \"string\"\n }\n ],\n \"x_position\": -401.1747211895911,\n \"y_position\": 264.2527881040892,\n \"features\": {\n \"entity_detection\": true\n }\n }\n ],\n \"initial_state_name\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"transcriber\": {\n \"provider\": \"azure\"\n },\n \"secure_recording_urls\": true,\n \"interruptions\": true,\n \"webhook_url\": \"<string>\",\n \"webhook_subscriptions\": [],\n \"custom_vocabulary\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.callrounded.com/v1/agents/{agent_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"initial_message\": \"<string>\",\n \"initial_message_delay\": 123,\n \"max_call_duration\": 123,\n \"presence_check_phrases\": [\n \"<string>\"\n ],\n \"presence_check_idle_threshold\": 123,\n \"presence_check_max_times\": 123,\n \"base_prompt\": \"<string>\",\n \"voice\": {\n \"provider\": \"openai\",\n \"instructions\": \"Warm, empathetic, friendly\",\n \"speed\": 1\n },\n \"states\": [\n {\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"tools\": [\n {\n \"description\": \"Wait for 2 seconds\",\n \"type\": \"wait\"\n },\n {\n \"description\": \"Hang up the call\",\n \"filler_sentence\": \"Goodbye!\",\n \"type\": \"hang_up\"\n },\n {\n \"description\": \"Transfer the call to the next available assistant\",\n \"filler_sentence\": \"I'm transferring you to the next available assistant...\",\n \"type\": \"transfer_call\"\n },\n {\n \"description\": \"Leave a voicemail message\",\n \"filler_sentence\": \"I tried to call you but you didn't answer. Please call me back at 1234567890\",\n \"type\": \"leave_voicemail_message\"\n },\n {\n \"content_type\": \"url_params\",\n \"description\": \"Get the availability of the requested assistant by using its name\",\n \"filler_sentence\": \"I'm checking the availability of the requested assistant...\",\n \"headers\": [\n {\n \"description\": \"The API key to use to call the custom function\",\n \"name\": \"Authorization\",\n \"value\": \"Bearer 123\"\n }\n ],\n \"method\": \"GET\",\n \"parameters\": [\n {\n \"description\": \"The name of the assistant to check the availability of\",\n \"name\": \"assistant_name\",\n \"type\": \"string\"\n }\n ],\n \"response_mapping\": [\n {\n \"destination_variable\": \"assistant_availability\",\n \"json_path_to_data\": \"$.availability\"\n }\n ],\n \"type\": \"custom_function\",\n \"url\": \"https://api.example.com/availability\"\n }\n ],\n \"transitions\": [\n {\n \"condition\": \"User provides valid input\",\n \"destination_state_name\": \"next_state_name\",\n \"filler_sentence\": \"I'm sorry, I didn't catch that. Can you please repeat?\"\n }\n ],\n \"variables\": [\n {\n \"description\": \"The variable's description\",\n \"extraction_instructions\": \"The instructions for the variable extraction\",\n \"name\": \"variable_name\",\n \"type\": \"string\"\n }\n ],\n \"x_position\": -401.1747211895911,\n \"y_position\": 264.2527881040892,\n \"features\": {\n \"entity_detection\": true\n }\n }\n ],\n \"initial_state_name\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"transcriber\": {\n \"provider\": \"azure\"\n },\n \"secure_recording_urls\": true,\n \"interruptions\": true,\n \"webhook_url\": \"<string>\",\n \"webhook_subscriptions\": [],\n \"custom_vocabulary\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"name": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"initial_message": "Hello, how can I help you today?",
"initial_message_delay": 0,
"max_call_duration": 300,
"presence_check_phrases": [
"Allo, vous êtes là ?",
"Pouvez-vous répéter s'il vous plaît ?"
],
"presence_check_idle_threshold": 10,
"presence_check_max_times": 1,
"base_prompt": "You are a helpful assistant",
"voice": {
"provider": "openai",
"instructions": "Warm, empathetic, friendly",
"speed": 1
},
"states": [
{
"name": "<string>",
"prompt": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"tools": [
{
"description": "Wait for 2 seconds",
"type": "wait"
},
{
"description": "Hang up the call",
"filler_sentence": "Goodbye!",
"type": "hang_up"
},
{
"description": "Transfer the call to the next available assistant",
"filler_sentence": "I'm transferring you to the next available assistant...",
"type": "transfer_call"
},
{
"description": "Leave a voicemail message",
"filler_sentence": "I tried to call you but you didn't answer. Please call me back at 1234567890",
"type": "leave_voicemail_message"
},
{
"content_type": "url_params",
"description": "Get the availability of the requested assistant by using its name",
"filler_sentence": "I'm checking the availability of the requested assistant...",
"headers": [
{
"description": "The API key to use to call the custom function",
"name": "Authorization",
"value": "Bearer 123"
}
],
"method": "GET",
"parameters": [
{
"description": "The name of the assistant to check the availability of",
"name": "assistant_name",
"type": "string"
}
],
"response_mapping": [
{
"destination_variable": "assistant_availability",
"json_path_to_data": "$.availability"
}
],
"type": "custom_function",
"url": "https://api.example.com/availability"
}
],
"transitions": [
{
"condition": "User provides valid input",
"destination_state_name": "next_state_name",
"filler_sentence": "I'm sorry, I didn't catch that. Can you please repeat?"
}
],
"variables": [
{
"description": "The variable's description",
"extraction_instructions": "The instructions for the variable extraction",
"name": "variable_name",
"type": "string"
}
],
"x_position": -401.1747211895911,
"y_position": 264.2527881040892,
"features": {
"entity_detection": true
}
}
],
"initial_state_name": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"transcriber": {
"provider": "azure"
},
"secure_recording_urls": true,
"interruptions": true,
"interruptions_sensitivity": "high",
"webhook_url": "https://webhook.site/123e4567-e89b-12d3-a456-426614174000",
"webhook_subscriptions": [
"event_variable_value_updated",
"event_all_variables_resolved"
],
"custom_vocabulary": [
"super",
"basta",
"bravo",
"gmail.com"
],
"version": 1,
"variables": [
{
"name": "<string>",
"type": "<string>",
"description": "The name of the customer",
"extraction_instructions": "Extract the name of the customer"
}
]
},
"message": "Agent updated successfully",
"error": {
"details": [
{
"field": "email",
"message": "Invalid email format"
}
],
"message": "An error occurred while processing your request",
"status": 400,
"type": "generic_error"
},
"status": 200
}Update agent
Update an existing agent with a new configuration. You can update any of the agent’s properties including name, language, voice settings, and states. The update will generate a new version of the latest draft configuration of the agent. The response includes headers about rate limiting.
curl --request PATCH \
--url https://api.callrounded.com/v1/agents/{agent_id} \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data @- <<EOF
{
"name": "<string>",
"initial_message": "<string>",
"initial_message_delay": 123,
"max_call_duration": 123,
"presence_check_phrases": [
"<string>"
],
"presence_check_idle_threshold": 123,
"presence_check_max_times": 123,
"base_prompt": "<string>",
"voice": {
"provider": "openai",
"instructions": "Warm, empathetic, friendly",
"speed": 1
},
"states": [
{
"name": "<string>",
"prompt": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"tools": [
{
"description": "Wait for 2 seconds",
"type": "wait"
},
{
"description": "Hang up the call",
"filler_sentence": "Goodbye!",
"type": "hang_up"
},
{
"description": "Transfer the call to the next available assistant",
"filler_sentence": "I'm transferring you to the next available assistant...",
"type": "transfer_call"
},
{
"description": "Leave a voicemail message",
"filler_sentence": "I tried to call you but you didn't answer. Please call me back at 1234567890",
"type": "leave_voicemail_message"
},
{
"content_type": "url_params",
"description": "Get the availability of the requested assistant by using its name",
"filler_sentence": "I'm checking the availability of the requested assistant...",
"headers": [
{
"description": "The API key to use to call the custom function",
"name": "Authorization",
"value": "Bearer 123"
}
],
"method": "GET",
"parameters": [
{
"description": "The name of the assistant to check the availability of",
"name": "assistant_name",
"type": "string"
}
],
"response_mapping": [
{
"destination_variable": "assistant_availability",
"json_path_to_data": "$.availability"
}
],
"type": "custom_function",
"url": "https://api.example.com/availability"
}
],
"transitions": [
{
"condition": "User provides valid input",
"destination_state_name": "next_state_name",
"filler_sentence": "I'm sorry, I didn't catch that. Can you please repeat?"
}
],
"variables": [
{
"description": "The variable's description",
"extraction_instructions": "The instructions for the variable extraction",
"name": "variable_name",
"type": "string"
}
],
"x_position": -401.1747211895911,
"y_position": 264.2527881040892,
"features": {
"entity_detection": true
}
}
],
"initial_state_name": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"transcriber": {
"provider": "azure"
},
"secure_recording_urls": true,
"interruptions": true,
"webhook_url": "<string>",
"webhook_subscriptions": [],
"custom_vocabulary": [
"<string>"
]
}
EOFimport requests
url = "https://api.callrounded.com/v1/agents/{agent_id}"
payload = {
"name": "<string>",
"initial_message": "<string>",
"initial_message_delay": 123,
"max_call_duration": 123,
"presence_check_phrases": ["<string>"],
"presence_check_idle_threshold": 123,
"presence_check_max_times": 123,
"base_prompt": "<string>",
"voice": {
"provider": "openai",
"instructions": "Warm, empathetic, friendly",
"speed": 1
},
"states": [
{
"name": "<string>",
"prompt": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"tools": [
{
"description": "Wait for 2 seconds",
"type": "wait"
},
{
"description": "Hang up the call",
"filler_sentence": "Goodbye!",
"type": "hang_up"
},
{
"description": "Transfer the call to the next available assistant",
"filler_sentence": "I'm transferring you to the next available assistant...",
"type": "transfer_call"
},
{
"description": "Leave a voicemail message",
"filler_sentence": "I tried to call you but you didn't answer. Please call me back at 1234567890",
"type": "leave_voicemail_message"
},
{
"content_type": "url_params",
"description": "Get the availability of the requested assistant by using its name",
"filler_sentence": "I'm checking the availability of the requested assistant...",
"headers": [
{
"description": "The API key to use to call the custom function",
"name": "Authorization",
"value": "Bearer 123"
}
],
"method": "GET",
"parameters": [
{
"description": "The name of the assistant to check the availability of",
"name": "assistant_name",
"type": "string"
}
],
"response_mapping": [
{
"destination_variable": "assistant_availability",
"json_path_to_data": "$.availability"
}
],
"type": "custom_function",
"url": "https://api.example.com/availability"
}
],
"transitions": [
{
"condition": "User provides valid input",
"destination_state_name": "next_state_name",
"filler_sentence": "I'm sorry, I didn't catch that. Can you please repeat?"
}
],
"variables": [
{
"description": "The variable's description",
"extraction_instructions": "The instructions for the variable extraction",
"name": "variable_name",
"type": "string"
}
],
"x_position": -401.1747211895911,
"y_position": 264.2527881040892,
"features": { "entity_detection": True }
}
],
"initial_state_name": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"transcriber": { "provider": "azure" },
"secure_recording_urls": True,
"interruptions": True,
"webhook_url": "<string>",
"webhook_subscriptions": [],
"custom_vocabulary": ["<string>"]
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
initial_message: '<string>',
initial_message_delay: 123,
max_call_duration: 123,
presence_check_phrases: ['<string>'],
presence_check_idle_threshold: 123,
presence_check_max_times: 123,
base_prompt: '<string>',
voice: {provider: 'openai', instructions: 'Warm, empathetic, friendly', speed: 1},
states: [
{
name: '<string>',
prompt: '<string>',
llm: {temperature: 0.5, provider: 'azure_openai'},
tools: [
{description: 'Wait for 2 seconds', type: 'wait'},
{description: 'Hang up the call', filler_sentence: 'Goodbye!', type: 'hang_up'},
{
description: 'Transfer the call to the next available assistant',
filler_sentence: 'I\'m transferring you to the next available assistant...',
type: 'transfer_call'
},
{
description: 'Leave a voicemail message',
filler_sentence: 'I tried to call you but you didn\'t answer. Please call me back at 1234567890',
type: 'leave_voicemail_message'
},
{
content_type: 'url_params',
description: 'Get the availability of the requested assistant by using its name',
filler_sentence: 'I\'m checking the availability of the requested assistant...',
headers: [
{
description: 'The API key to use to call the custom function',
name: 'Authorization',
value: 'Bearer 123'
}
],
method: 'GET',
parameters: [
{
description: 'The name of the assistant to check the availability of',
name: 'assistant_name',
type: 'string'
}
],
response_mapping: [
{
destination_variable: 'assistant_availability',
json_path_to_data: '$.availability'
}
],
type: 'custom_function',
url: 'https://api.example.com/availability'
}
],
transitions: [
{
condition: 'User provides valid input',
destination_state_name: 'next_state_name',
filler_sentence: 'I\'m sorry, I didn\'t catch that. Can you please repeat?'
}
],
variables: [
{
description: 'The variable\'s description',
extraction_instructions: 'The instructions for the variable extraction',
name: 'variable_name',
type: 'string'
}
],
x_position: -401.1747211895911,
y_position: 264.2527881040892,
features: {entity_detection: true}
}
],
initial_state_name: '<string>',
llm: {temperature: 0.5, provider: 'azure_openai'},
transcriber: {provider: 'azure'},
secure_recording_urls: true,
interruptions: true,
webhook_url: '<string>',
webhook_subscriptions: [],
custom_vocabulary: ['<string>']
})
};
fetch('https://api.callrounded.com/v1/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.callrounded.com/v1/agents/{agent_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([
'name' => '<string>',
'initial_message' => '<string>',
'initial_message_delay' => 123,
'max_call_duration' => 123,
'presence_check_phrases' => [
'<string>'
],
'presence_check_idle_threshold' => 123,
'presence_check_max_times' => 123,
'base_prompt' => '<string>',
'voice' => [
'provider' => 'openai',
'instructions' => 'Warm, empathetic, friendly',
'speed' => 1
],
'states' => [
[
'name' => '<string>',
'prompt' => '<string>',
'llm' => [
'temperature' => 0.5,
'provider' => 'azure_openai'
],
'tools' => [
[
'description' => 'Wait for 2 seconds',
'type' => 'wait'
],
[
'description' => 'Hang up the call',
'filler_sentence' => 'Goodbye!',
'type' => 'hang_up'
],
[
'description' => 'Transfer the call to the next available assistant',
'filler_sentence' => 'I\'m transferring you to the next available assistant...',
'type' => 'transfer_call'
],
[
'description' => 'Leave a voicemail message',
'filler_sentence' => 'I tried to call you but you didn\'t answer. Please call me back at 1234567890',
'type' => 'leave_voicemail_message'
],
[
'content_type' => 'url_params',
'description' => 'Get the availability of the requested assistant by using its name',
'filler_sentence' => 'I\'m checking the availability of the requested assistant...',
'headers' => [
[
'description' => 'The API key to use to call the custom function',
'name' => 'Authorization',
'value' => 'Bearer 123'
]
],
'method' => 'GET',
'parameters' => [
[
'description' => 'The name of the assistant to check the availability of',
'name' => 'assistant_name',
'type' => 'string'
]
],
'response_mapping' => [
[
'destination_variable' => 'assistant_availability',
'json_path_to_data' => '$.availability'
]
],
'type' => 'custom_function',
'url' => 'https://api.example.com/availability'
]
],
'transitions' => [
[
'condition' => 'User provides valid input',
'destination_state_name' => 'next_state_name',
'filler_sentence' => 'I\'m sorry, I didn\'t catch that. Can you please repeat?'
]
],
'variables' => [
[
'description' => 'The variable\'s description',
'extraction_instructions' => 'The instructions for the variable extraction',
'name' => 'variable_name',
'type' => 'string'
]
],
'x_position' => -401.1747211895911,
'y_position' => 264.2527881040892,
'features' => [
'entity_detection' => true
]
]
],
'initial_state_name' => '<string>',
'llm' => [
'temperature' => 0.5,
'provider' => 'azure_openai'
],
'transcriber' => [
'provider' => 'azure'
],
'secure_recording_urls' => true,
'interruptions' => true,
'webhook_url' => '<string>',
'webhook_subscriptions' => [
],
'custom_vocabulary' => [
'<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.callrounded.com/v1/agents/{agent_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"initial_message\": \"<string>\",\n \"initial_message_delay\": 123,\n \"max_call_duration\": 123,\n \"presence_check_phrases\": [\n \"<string>\"\n ],\n \"presence_check_idle_threshold\": 123,\n \"presence_check_max_times\": 123,\n \"base_prompt\": \"<string>\",\n \"voice\": {\n \"provider\": \"openai\",\n \"instructions\": \"Warm, empathetic, friendly\",\n \"speed\": 1\n },\n \"states\": [\n {\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"tools\": [\n {\n \"description\": \"Wait for 2 seconds\",\n \"type\": \"wait\"\n },\n {\n \"description\": \"Hang up the call\",\n \"filler_sentence\": \"Goodbye!\",\n \"type\": \"hang_up\"\n },\n {\n \"description\": \"Transfer the call to the next available assistant\",\n \"filler_sentence\": \"I'm transferring you to the next available assistant...\",\n \"type\": \"transfer_call\"\n },\n {\n \"description\": \"Leave a voicemail message\",\n \"filler_sentence\": \"I tried to call you but you didn't answer. Please call me back at 1234567890\",\n \"type\": \"leave_voicemail_message\"\n },\n {\n \"content_type\": \"url_params\",\n \"description\": \"Get the availability of the requested assistant by using its name\",\n \"filler_sentence\": \"I'm checking the availability of the requested assistant...\",\n \"headers\": [\n {\n \"description\": \"The API key to use to call the custom function\",\n \"name\": \"Authorization\",\n \"value\": \"Bearer 123\"\n }\n ],\n \"method\": \"GET\",\n \"parameters\": [\n {\n \"description\": \"The name of the assistant to check the availability of\",\n \"name\": \"assistant_name\",\n \"type\": \"string\"\n }\n ],\n \"response_mapping\": [\n {\n \"destination_variable\": \"assistant_availability\",\n \"json_path_to_data\": \"$.availability\"\n }\n ],\n \"type\": \"custom_function\",\n \"url\": \"https://api.example.com/availability\"\n }\n ],\n \"transitions\": [\n {\n \"condition\": \"User provides valid input\",\n \"destination_state_name\": \"next_state_name\",\n \"filler_sentence\": \"I'm sorry, I didn't catch that. Can you please repeat?\"\n }\n ],\n \"variables\": [\n {\n \"description\": \"The variable's description\",\n \"extraction_instructions\": \"The instructions for the variable extraction\",\n \"name\": \"variable_name\",\n \"type\": \"string\"\n }\n ],\n \"x_position\": -401.1747211895911,\n \"y_position\": 264.2527881040892,\n \"features\": {\n \"entity_detection\": true\n }\n }\n ],\n \"initial_state_name\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"transcriber\": {\n \"provider\": \"azure\"\n },\n \"secure_recording_urls\": true,\n \"interruptions\": true,\n \"webhook_url\": \"<string>\",\n \"webhook_subscriptions\": [],\n \"custom_vocabulary\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.callrounded.com/v1/agents/{agent_id}")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"initial_message\": \"<string>\",\n \"initial_message_delay\": 123,\n \"max_call_duration\": 123,\n \"presence_check_phrases\": [\n \"<string>\"\n ],\n \"presence_check_idle_threshold\": 123,\n \"presence_check_max_times\": 123,\n \"base_prompt\": \"<string>\",\n \"voice\": {\n \"provider\": \"openai\",\n \"instructions\": \"Warm, empathetic, friendly\",\n \"speed\": 1\n },\n \"states\": [\n {\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"tools\": [\n {\n \"description\": \"Wait for 2 seconds\",\n \"type\": \"wait\"\n },\n {\n \"description\": \"Hang up the call\",\n \"filler_sentence\": \"Goodbye!\",\n \"type\": \"hang_up\"\n },\n {\n \"description\": \"Transfer the call to the next available assistant\",\n \"filler_sentence\": \"I'm transferring you to the next available assistant...\",\n \"type\": \"transfer_call\"\n },\n {\n \"description\": \"Leave a voicemail message\",\n \"filler_sentence\": \"I tried to call you but you didn't answer. Please call me back at 1234567890\",\n \"type\": \"leave_voicemail_message\"\n },\n {\n \"content_type\": \"url_params\",\n \"description\": \"Get the availability of the requested assistant by using its name\",\n \"filler_sentence\": \"I'm checking the availability of the requested assistant...\",\n \"headers\": [\n {\n \"description\": \"The API key to use to call the custom function\",\n \"name\": \"Authorization\",\n \"value\": \"Bearer 123\"\n }\n ],\n \"method\": \"GET\",\n \"parameters\": [\n {\n \"description\": \"The name of the assistant to check the availability of\",\n \"name\": \"assistant_name\",\n \"type\": \"string\"\n }\n ],\n \"response_mapping\": [\n {\n \"destination_variable\": \"assistant_availability\",\n \"json_path_to_data\": \"$.availability\"\n }\n ],\n \"type\": \"custom_function\",\n \"url\": \"https://api.example.com/availability\"\n }\n ],\n \"transitions\": [\n {\n \"condition\": \"User provides valid input\",\n \"destination_state_name\": \"next_state_name\",\n \"filler_sentence\": \"I'm sorry, I didn't catch that. Can you please repeat?\"\n }\n ],\n \"variables\": [\n {\n \"description\": \"The variable's description\",\n \"extraction_instructions\": \"The instructions for the variable extraction\",\n \"name\": \"variable_name\",\n \"type\": \"string\"\n }\n ],\n \"x_position\": -401.1747211895911,\n \"y_position\": 264.2527881040892,\n \"features\": {\n \"entity_detection\": true\n }\n }\n ],\n \"initial_state_name\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"transcriber\": {\n \"provider\": \"azure\"\n },\n \"secure_recording_urls\": true,\n \"interruptions\": true,\n \"webhook_url\": \"<string>\",\n \"webhook_subscriptions\": [],\n \"custom_vocabulary\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.callrounded.com/v1/agents/{agent_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"initial_message\": \"<string>\",\n \"initial_message_delay\": 123,\n \"max_call_duration\": 123,\n \"presence_check_phrases\": [\n \"<string>\"\n ],\n \"presence_check_idle_threshold\": 123,\n \"presence_check_max_times\": 123,\n \"base_prompt\": \"<string>\",\n \"voice\": {\n \"provider\": \"openai\",\n \"instructions\": \"Warm, empathetic, friendly\",\n \"speed\": 1\n },\n \"states\": [\n {\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"tools\": [\n {\n \"description\": \"Wait for 2 seconds\",\n \"type\": \"wait\"\n },\n {\n \"description\": \"Hang up the call\",\n \"filler_sentence\": \"Goodbye!\",\n \"type\": \"hang_up\"\n },\n {\n \"description\": \"Transfer the call to the next available assistant\",\n \"filler_sentence\": \"I'm transferring you to the next available assistant...\",\n \"type\": \"transfer_call\"\n },\n {\n \"description\": \"Leave a voicemail message\",\n \"filler_sentence\": \"I tried to call you but you didn't answer. Please call me back at 1234567890\",\n \"type\": \"leave_voicemail_message\"\n },\n {\n \"content_type\": \"url_params\",\n \"description\": \"Get the availability of the requested assistant by using its name\",\n \"filler_sentence\": \"I'm checking the availability of the requested assistant...\",\n \"headers\": [\n {\n \"description\": \"The API key to use to call the custom function\",\n \"name\": \"Authorization\",\n \"value\": \"Bearer 123\"\n }\n ],\n \"method\": \"GET\",\n \"parameters\": [\n {\n \"description\": \"The name of the assistant to check the availability of\",\n \"name\": \"assistant_name\",\n \"type\": \"string\"\n }\n ],\n \"response_mapping\": [\n {\n \"destination_variable\": \"assistant_availability\",\n \"json_path_to_data\": \"$.availability\"\n }\n ],\n \"type\": \"custom_function\",\n \"url\": \"https://api.example.com/availability\"\n }\n ],\n \"transitions\": [\n {\n \"condition\": \"User provides valid input\",\n \"destination_state_name\": \"next_state_name\",\n \"filler_sentence\": \"I'm sorry, I didn't catch that. Can you please repeat?\"\n }\n ],\n \"variables\": [\n {\n \"description\": \"The variable's description\",\n \"extraction_instructions\": \"The instructions for the variable extraction\",\n \"name\": \"variable_name\",\n \"type\": \"string\"\n }\n ],\n \"x_position\": -401.1747211895911,\n \"y_position\": 264.2527881040892,\n \"features\": {\n \"entity_detection\": true\n }\n }\n ],\n \"initial_state_name\": \"<string>\",\n \"llm\": {\n \"temperature\": 0.5,\n \"provider\": \"azure_openai\"\n },\n \"transcriber\": {\n \"provider\": \"azure\"\n },\n \"secure_recording_urls\": true,\n \"interruptions\": true,\n \"webhook_url\": \"<string>\",\n \"webhook_subscriptions\": [],\n \"custom_vocabulary\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"name": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"initial_message": "Hello, how can I help you today?",
"initial_message_delay": 0,
"max_call_duration": 300,
"presence_check_phrases": [
"Allo, vous êtes là ?",
"Pouvez-vous répéter s'il vous plaît ?"
],
"presence_check_idle_threshold": 10,
"presence_check_max_times": 1,
"base_prompt": "You are a helpful assistant",
"voice": {
"provider": "openai",
"instructions": "Warm, empathetic, friendly",
"speed": 1
},
"states": [
{
"name": "<string>",
"prompt": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"tools": [
{
"description": "Wait for 2 seconds",
"type": "wait"
},
{
"description": "Hang up the call",
"filler_sentence": "Goodbye!",
"type": "hang_up"
},
{
"description": "Transfer the call to the next available assistant",
"filler_sentence": "I'm transferring you to the next available assistant...",
"type": "transfer_call"
},
{
"description": "Leave a voicemail message",
"filler_sentence": "I tried to call you but you didn't answer. Please call me back at 1234567890",
"type": "leave_voicemail_message"
},
{
"content_type": "url_params",
"description": "Get the availability of the requested assistant by using its name",
"filler_sentence": "I'm checking the availability of the requested assistant...",
"headers": [
{
"description": "The API key to use to call the custom function",
"name": "Authorization",
"value": "Bearer 123"
}
],
"method": "GET",
"parameters": [
{
"description": "The name of the assistant to check the availability of",
"name": "assistant_name",
"type": "string"
}
],
"response_mapping": [
{
"destination_variable": "assistant_availability",
"json_path_to_data": "$.availability"
}
],
"type": "custom_function",
"url": "https://api.example.com/availability"
}
],
"transitions": [
{
"condition": "User provides valid input",
"destination_state_name": "next_state_name",
"filler_sentence": "I'm sorry, I didn't catch that. Can you please repeat?"
}
],
"variables": [
{
"description": "The variable's description",
"extraction_instructions": "The instructions for the variable extraction",
"name": "variable_name",
"type": "string"
}
],
"x_position": -401.1747211895911,
"y_position": 264.2527881040892,
"features": {
"entity_detection": true
}
}
],
"initial_state_name": "<string>",
"llm": {
"temperature": 0.5,
"provider": "azure_openai"
},
"transcriber": {
"provider": "azure"
},
"secure_recording_urls": true,
"interruptions": true,
"interruptions_sensitivity": "high",
"webhook_url": "https://webhook.site/123e4567-e89b-12d3-a456-426614174000",
"webhook_subscriptions": [
"event_variable_value_updated",
"event_all_variables_resolved"
],
"custom_vocabulary": [
"super",
"basta",
"bravo",
"gmail.com"
],
"version": 1,
"variables": [
{
"name": "<string>",
"type": "<string>",
"description": "The name of the customer",
"extraction_instructions": "Extract the name of the customer"
}
]
},
"message": "Agent updated successfully",
"error": {
"details": [
{
"field": "email",
"message": "Invalid email format"
}
],
"message": "An error occurred while processing your request",
"status": 400,
"type": "generic_error"
},
"status": 200
}Authorizations
The API Key created in Rounded Studio.
- You can create it by going to the "API Keys" settings of your profile.
- Need help? You can email us at team@callrounded.com or join our Discord community.
Path Parameters
The ID of the agent to update.
Body
The agent data to update and generate a new configuration version. Some properties updates won't generate a new version as they are global settings and have immediate effect without requiring a deployment. These properties are:
namewebhook_urlwebhook_subscriptionssecure_recording_urls
For other properties, a new version will be created and available to be deployed. Properties definitions are the same as the agent create request, see POST /v1/agents for the complete schema definition. The response includes headers about rate limiting.
en, fr, fr-FR, fr-BE, fr-CA, es, de, it, nl, pl, ar, pt, el, hr, zh - AgentCreateOpenAIVoiceConfigurationApiRequest
- AgentCreateElevenLabsVoiceConfigurationApiRequest
- AgentCreateCartesiaVoiceConfigurationApiRequest
- AgentCreateAzureVoiceConfigurationApiRequest
- AgentCreateGoogleVoiceConfigurationApiRequest
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
high, medium, low event_variable_value_updated, event_all_variables_resolved, event_call_status_updated, event_call_recording_status_updated, event_call_answer_type_updated, event_task_transition, event_transcript, event_transcript_complete, event_phone_call_connected, event_phone_call_ended, event_phone_call_did_not_connect, event_web_call_connected, event_web_call_ended, event_recording, event_action, event_synthesizer_consumption, event_post_call, event_pipedream_connection Response
Successfully updated agent
The agent data retrieved after the update.
Show child attributes
Show child attributes
Response message indicating the result of the operation. It will be different depending on the update type (when a new version is created or not).
"Agent draft configuration updated to version 2. Deploy it to make it active."
"Agent global settings updated successfully."
Show child attributes
Show child attributes
{
"details": [
{
"field": "email",
"message": "Invalid email format"
}
],
"message": "An error occurred while processing your request",
"status": 400,
"type": "generic_error"
}
HTTP status code of the response.