curl --request PATCH \
--url https://api.tryhamsa.com/v2/voice-agents/{voiceAgentId} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "Single Prompt",
"name": "Updated Customer Support Agent",
"conversation": {
"greetingMessage": "Welcome! How may I assist you?",
"greetingMessageType": "TEXT",
"preamble": "You are a customer support assistant.",
"pokeMessages": [
"Are you still there?"
],
"params": {},
"alignment": {
"greetingMessage": "ltr",
"preamble": "ltr"
}
},
"voice": {
"voiceId": "en-US-Neural2-B",
"lang": "en"
},
"llm": {
"provider": "openai",
"model": "gpt-4-turbo",
"temperature": 0.8,
"baseUrl": "https://api.example.com",
"apiKey": "sk-..."
},
"callSettings": {
"noiseCancellation": "telephony_optimized",
"cancelNoisePer": "conversation",
"interrupt": true,
"responseDelay": 500,
"minInterruptionDuration": 0.6,
"vadActivationThreshold": 0.6,
"userInactivityTimeout": 20,
"maxCallDuration": 400,
"silenceThreshold": 1000,
"backgroundNoise": true,
"enableAutoGainControl": true,
"sendDenoisedToStt": true,
"waitForUserToSpeakFirst": 1,
"thinkingVoice": true,
"speakerIdentification": true,
"agenticRag": true,
"languageDialectSwitcher": true,
"genderDetection": true,
"smartCallEnd": true
},
"tools": [
{
"persistentId": "tool_123",
"toolId": "48f7656f-098b-4c43-b165-7cfd2cc8ac30",
"version": 1,
"toolType": "FUNCTION",
"nodeId": "node_1",
"testResult": {},
"overrides": {}
}
],
"knowledgeBaseItemsIds": [
"48f7656f-098b-4c43-b165-7cfd2cc8ac30"
],
"voiceDictionaryIds": [
"48f7656f-098b-4c43-b165-7cfd2cc8ac30"
],
"phoneNumber": {
"type": "TWILIO",
"id": "48f7656f-098b-4c43-b165-7cfd2cc8ac30"
},
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {},
"workflow": {
"nodes": [
{
"id": "2ZHj3IUpJFc-83H2-f8d3",
"type": "start",
"label": "Start",
"message": "Hello, how can I help you today?",
"messageType": "prompt",
"position": {
"x": 0,
"y": 0
},
"metadata": {
"version": 1
},
"transitions": []
}
],
"edges": [],
"customVariables": [
{
"id": "z5QsyxUbrKPjYMGaMj1e1",
"name": "customer_name",
"dataType": "string",
"description": "",
"defaultValue": "john",
"extractionPrompt": "",
"enumValues": []
}
]
},
"outcomeResponseShape": {}
}
'import requests
url = "https://api.tryhamsa.com/v2/voice-agents/{voiceAgentId}"
payload = {
"type": "Single Prompt",
"name": "Updated Customer Support Agent",
"conversation": {
"greetingMessage": "Welcome! How may I assist you?",
"greetingMessageType": "TEXT",
"preamble": "You are a customer support assistant.",
"pokeMessages": ["Are you still there?"],
"params": {},
"alignment": {
"greetingMessage": "ltr",
"preamble": "ltr"
}
},
"voice": {
"voiceId": "en-US-Neural2-B",
"lang": "en"
},
"llm": {
"provider": "openai",
"model": "gpt-4-turbo",
"temperature": 0.8,
"baseUrl": "https://api.example.com",
"apiKey": "sk-..."
},
"callSettings": {
"noiseCancellation": "telephony_optimized",
"cancelNoisePer": "conversation",
"interrupt": True,
"responseDelay": 500,
"minInterruptionDuration": 0.6,
"vadActivationThreshold": 0.6,
"userInactivityTimeout": 20,
"maxCallDuration": 400,
"silenceThreshold": 1000,
"backgroundNoise": True,
"enableAutoGainControl": True,
"sendDenoisedToStt": True,
"waitForUserToSpeakFirst": 1,
"thinkingVoice": True,
"speakerIdentification": True,
"agenticRag": True,
"languageDialectSwitcher": True,
"genderDetection": True,
"smartCallEnd": True
},
"tools": [
{
"persistentId": "tool_123",
"toolId": "48f7656f-098b-4c43-b165-7cfd2cc8ac30",
"version": 1,
"toolType": "FUNCTION",
"nodeId": "node_1",
"testResult": {},
"overrides": {}
}
],
"knowledgeBaseItemsIds": ["48f7656f-098b-4c43-b165-7cfd2cc8ac30"],
"voiceDictionaryIds": ["48f7656f-098b-4c43-b165-7cfd2cc8ac30"],
"phoneNumber": {
"type": "TWILIO",
"id": "48f7656f-098b-4c43-b165-7cfd2cc8ac30"
},
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {},
"workflow": {
"nodes": [
{
"id": "2ZHj3IUpJFc-83H2-f8d3",
"type": "start",
"label": "Start",
"message": "Hello, how can I help you today?",
"messageType": "prompt",
"position": {
"x": 0,
"y": 0
},
"metadata": { "version": 1 },
"transitions": []
}
],
"edges": [],
"customVariables": [
{
"id": "z5QsyxUbrKPjYMGaMj1e1",
"name": "customer_name",
"dataType": "string",
"description": "",
"defaultValue": "john",
"extractionPrompt": "",
"enumValues": []
}
]
},
"outcomeResponseShape": {}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'Single Prompt',
name: 'Updated Customer Support Agent',
conversation: {
greetingMessage: 'Welcome! How may I assist you?',
greetingMessageType: 'TEXT',
preamble: 'You are a customer support assistant.',
pokeMessages: ['Are you still there?'],
params: {},
alignment: {greetingMessage: 'ltr', preamble: 'ltr'}
},
voice: {voiceId: 'en-US-Neural2-B', lang: 'en'},
llm: {
provider: 'openai',
model: 'gpt-4-turbo',
temperature: 0.8,
baseUrl: 'https://api.example.com',
apiKey: 'sk-...'
},
callSettings: {
noiseCancellation: 'telephony_optimized',
cancelNoisePer: 'conversation',
interrupt: true,
responseDelay: 500,
minInterruptionDuration: 0.6,
vadActivationThreshold: 0.6,
userInactivityTimeout: 20,
maxCallDuration: 400,
silenceThreshold: 1000,
backgroundNoise: true,
enableAutoGainControl: true,
sendDenoisedToStt: true,
waitForUserToSpeakFirst: 1,
thinkingVoice: true,
speakerIdentification: true,
agenticRag: true,
languageDialectSwitcher: true,
genderDetection: true,
smartCallEnd: true
},
tools: [
{
persistentId: 'tool_123',
toolId: '48f7656f-098b-4c43-b165-7cfd2cc8ac30',
version: 1,
toolType: 'FUNCTION',
nodeId: 'node_1',
testResult: {},
overrides: {}
}
],
knowledgeBaseItemsIds: ['48f7656f-098b-4c43-b165-7cfd2cc8ac30'],
voiceDictionaryIds: ['48f7656f-098b-4c43-b165-7cfd2cc8ac30'],
phoneNumber: {type: 'TWILIO', id: '48f7656f-098b-4c43-b165-7cfd2cc8ac30'},
webhookUrl: 'https://example.com/webhook',
webhookAuth: {},
workflow: {
nodes: [
{
id: '2ZHj3IUpJFc-83H2-f8d3',
type: 'start',
label: 'Start',
message: 'Hello, how can I help you today?',
messageType: 'prompt',
position: {x: 0, y: 0},
metadata: {version: 1},
transitions: []
}
],
edges: [],
customVariables: [
{
id: 'z5QsyxUbrKPjYMGaMj1e1',
name: 'customer_name',
dataType: 'string',
description: '',
defaultValue: 'john',
extractionPrompt: '',
enumValues: []
}
]
},
outcomeResponseShape: {}
})
};
fetch('https://api.tryhamsa.com/v2/voice-agents/{voiceAgentId}', 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.tryhamsa.com/v2/voice-agents/{voiceAgentId}",
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([
'type' => 'Single Prompt',
'name' => 'Updated Customer Support Agent',
'conversation' => [
'greetingMessage' => 'Welcome! How may I assist you?',
'greetingMessageType' => 'TEXT',
'preamble' => 'You are a customer support assistant.',
'pokeMessages' => [
'Are you still there?'
],
'params' => [
],
'alignment' => [
'greetingMessage' => 'ltr',
'preamble' => 'ltr'
]
],
'voice' => [
'voiceId' => 'en-US-Neural2-B',
'lang' => 'en'
],
'llm' => [
'provider' => 'openai',
'model' => 'gpt-4-turbo',
'temperature' => 0.8,
'baseUrl' => 'https://api.example.com',
'apiKey' => 'sk-...'
],
'callSettings' => [
'noiseCancellation' => 'telephony_optimized',
'cancelNoisePer' => 'conversation',
'interrupt' => true,
'responseDelay' => 500,
'minInterruptionDuration' => 0.6,
'vadActivationThreshold' => 0.6,
'userInactivityTimeout' => 20,
'maxCallDuration' => 400,
'silenceThreshold' => 1000,
'backgroundNoise' => true,
'enableAutoGainControl' => true,
'sendDenoisedToStt' => true,
'waitForUserToSpeakFirst' => 1,
'thinkingVoice' => true,
'speakerIdentification' => true,
'agenticRag' => true,
'languageDialectSwitcher' => true,
'genderDetection' => true,
'smartCallEnd' => true
],
'tools' => [
[
'persistentId' => 'tool_123',
'toolId' => '48f7656f-098b-4c43-b165-7cfd2cc8ac30',
'version' => 1,
'toolType' => 'FUNCTION',
'nodeId' => 'node_1',
'testResult' => [
],
'overrides' => [
]
]
],
'knowledgeBaseItemsIds' => [
'48f7656f-098b-4c43-b165-7cfd2cc8ac30'
],
'voiceDictionaryIds' => [
'48f7656f-098b-4c43-b165-7cfd2cc8ac30'
],
'phoneNumber' => [
'type' => 'TWILIO',
'id' => '48f7656f-098b-4c43-b165-7cfd2cc8ac30'
],
'webhookUrl' => 'https://example.com/webhook',
'webhookAuth' => [
],
'workflow' => [
'nodes' => [
[
'id' => '2ZHj3IUpJFc-83H2-f8d3',
'type' => 'start',
'label' => 'Start',
'message' => 'Hello, how can I help you today?',
'messageType' => 'prompt',
'position' => [
'x' => 0,
'y' => 0
],
'metadata' => [
'version' => 1
],
'transitions' => [
]
]
],
'edges' => [
],
'customVariables' => [
[
'id' => 'z5QsyxUbrKPjYMGaMj1e1',
'name' => 'customer_name',
'dataType' => 'string',
'description' => '',
'defaultValue' => 'john',
'extractionPrompt' => '',
'enumValues' => [
]
]
]
],
'outcomeResponseShape' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.tryhamsa.com/v2/voice-agents/{voiceAgentId}"
payload := strings.NewReader("{\n \"type\": \"Single Prompt\",\n \"name\": \"Updated Customer Support Agent\",\n \"conversation\": {\n \"greetingMessage\": \"Welcome! How may I assist you?\",\n \"greetingMessageType\": \"TEXT\",\n \"preamble\": \"You are a customer support assistant.\",\n \"pokeMessages\": [\n \"Are you still there?\"\n ],\n \"params\": {},\n \"alignment\": {\n \"greetingMessage\": \"ltr\",\n \"preamble\": \"ltr\"\n }\n },\n \"voice\": {\n \"voiceId\": \"en-US-Neural2-B\",\n \"lang\": \"en\"\n },\n \"llm\": {\n \"provider\": \"openai\",\n \"model\": \"gpt-4-turbo\",\n \"temperature\": 0.8,\n \"baseUrl\": \"https://api.example.com\",\n \"apiKey\": \"sk-...\"\n },\n \"callSettings\": {\n \"noiseCancellation\": \"telephony_optimized\",\n \"cancelNoisePer\": \"conversation\",\n \"interrupt\": true,\n \"responseDelay\": 500,\n \"minInterruptionDuration\": 0.6,\n \"vadActivationThreshold\": 0.6,\n \"userInactivityTimeout\": 20,\n \"maxCallDuration\": 400,\n \"silenceThreshold\": 1000,\n \"backgroundNoise\": true,\n \"enableAutoGainControl\": true,\n \"sendDenoisedToStt\": true,\n \"waitForUserToSpeakFirst\": 1,\n \"thinkingVoice\": true,\n \"speakerIdentification\": true,\n \"agenticRag\": true,\n \"languageDialectSwitcher\": true,\n \"genderDetection\": true,\n \"smartCallEnd\": true\n },\n \"tools\": [\n {\n \"persistentId\": \"tool_123\",\n \"toolId\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"version\": 1,\n \"toolType\": \"FUNCTION\",\n \"nodeId\": \"node_1\",\n \"testResult\": {},\n \"overrides\": {}\n }\n ],\n \"knowledgeBaseItemsIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"voiceDictionaryIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"phoneNumber\": {\n \"type\": \"TWILIO\",\n \"id\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n },\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {},\n \"workflow\": {\n \"nodes\": [\n {\n \"id\": \"2ZHj3IUpJFc-83H2-f8d3\",\n \"type\": \"start\",\n \"label\": \"Start\",\n \"message\": \"Hello, how can I help you today?\",\n \"messageType\": \"prompt\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"metadata\": {\n \"version\": 1\n },\n \"transitions\": []\n }\n ],\n \"edges\": [],\n \"customVariables\": [\n {\n \"id\": \"z5QsyxUbrKPjYMGaMj1e1\",\n \"name\": \"customer_name\",\n \"dataType\": \"string\",\n \"description\": \"\",\n \"defaultValue\": \"john\",\n \"extractionPrompt\": \"\",\n \"enumValues\": []\n }\n ]\n },\n \"outcomeResponseShape\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<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.tryhamsa.com/v2/voice-agents/{voiceAgentId}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"Single Prompt\",\n \"name\": \"Updated Customer Support Agent\",\n \"conversation\": {\n \"greetingMessage\": \"Welcome! How may I assist you?\",\n \"greetingMessageType\": \"TEXT\",\n \"preamble\": \"You are a customer support assistant.\",\n \"pokeMessages\": [\n \"Are you still there?\"\n ],\n \"params\": {},\n \"alignment\": {\n \"greetingMessage\": \"ltr\",\n \"preamble\": \"ltr\"\n }\n },\n \"voice\": {\n \"voiceId\": \"en-US-Neural2-B\",\n \"lang\": \"en\"\n },\n \"llm\": {\n \"provider\": \"openai\",\n \"model\": \"gpt-4-turbo\",\n \"temperature\": 0.8,\n \"baseUrl\": \"https://api.example.com\",\n \"apiKey\": \"sk-...\"\n },\n \"callSettings\": {\n \"noiseCancellation\": \"telephony_optimized\",\n \"cancelNoisePer\": \"conversation\",\n \"interrupt\": true,\n \"responseDelay\": 500,\n \"minInterruptionDuration\": 0.6,\n \"vadActivationThreshold\": 0.6,\n \"userInactivityTimeout\": 20,\n \"maxCallDuration\": 400,\n \"silenceThreshold\": 1000,\n \"backgroundNoise\": true,\n \"enableAutoGainControl\": true,\n \"sendDenoisedToStt\": true,\n \"waitForUserToSpeakFirst\": 1,\n \"thinkingVoice\": true,\n \"speakerIdentification\": true,\n \"agenticRag\": true,\n \"languageDialectSwitcher\": true,\n \"genderDetection\": true,\n \"smartCallEnd\": true\n },\n \"tools\": [\n {\n \"persistentId\": \"tool_123\",\n \"toolId\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"version\": 1,\n \"toolType\": \"FUNCTION\",\n \"nodeId\": \"node_1\",\n \"testResult\": {},\n \"overrides\": {}\n }\n ],\n \"knowledgeBaseItemsIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"voiceDictionaryIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"phoneNumber\": {\n \"type\": \"TWILIO\",\n \"id\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n },\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {},\n \"workflow\": {\n \"nodes\": [\n {\n \"id\": \"2ZHj3IUpJFc-83H2-f8d3\",\n \"type\": \"start\",\n \"label\": \"Start\",\n \"message\": \"Hello, how can I help you today?\",\n \"messageType\": \"prompt\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"metadata\": {\n \"version\": 1\n },\n \"transitions\": []\n }\n ],\n \"edges\": [],\n \"customVariables\": [\n {\n \"id\": \"z5QsyxUbrKPjYMGaMj1e1\",\n \"name\": \"customer_name\",\n \"dataType\": \"string\",\n \"description\": \"\",\n \"defaultValue\": \"john\",\n \"extractionPrompt\": \"\",\n \"enumValues\": []\n }\n ]\n },\n \"outcomeResponseShape\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryhamsa.com/v2/voice-agents/{voiceAgentId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"Single Prompt\",\n \"name\": \"Updated Customer Support Agent\",\n \"conversation\": {\n \"greetingMessage\": \"Welcome! How may I assist you?\",\n \"greetingMessageType\": \"TEXT\",\n \"preamble\": \"You are a customer support assistant.\",\n \"pokeMessages\": [\n \"Are you still there?\"\n ],\n \"params\": {},\n \"alignment\": {\n \"greetingMessage\": \"ltr\",\n \"preamble\": \"ltr\"\n }\n },\n \"voice\": {\n \"voiceId\": \"en-US-Neural2-B\",\n \"lang\": \"en\"\n },\n \"llm\": {\n \"provider\": \"openai\",\n \"model\": \"gpt-4-turbo\",\n \"temperature\": 0.8,\n \"baseUrl\": \"https://api.example.com\",\n \"apiKey\": \"sk-...\"\n },\n \"callSettings\": {\n \"noiseCancellation\": \"telephony_optimized\",\n \"cancelNoisePer\": \"conversation\",\n \"interrupt\": true,\n \"responseDelay\": 500,\n \"minInterruptionDuration\": 0.6,\n \"vadActivationThreshold\": 0.6,\n \"userInactivityTimeout\": 20,\n \"maxCallDuration\": 400,\n \"silenceThreshold\": 1000,\n \"backgroundNoise\": true,\n \"enableAutoGainControl\": true,\n \"sendDenoisedToStt\": true,\n \"waitForUserToSpeakFirst\": 1,\n \"thinkingVoice\": true,\n \"speakerIdentification\": true,\n \"agenticRag\": true,\n \"languageDialectSwitcher\": true,\n \"genderDetection\": true,\n \"smartCallEnd\": true\n },\n \"tools\": [\n {\n \"persistentId\": \"tool_123\",\n \"toolId\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"version\": 1,\n \"toolType\": \"FUNCTION\",\n \"nodeId\": \"node_1\",\n \"testResult\": {},\n \"overrides\": {}\n }\n ],\n \"knowledgeBaseItemsIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"voiceDictionaryIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"phoneNumber\": {\n \"type\": \"TWILIO\",\n \"id\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n },\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {},\n \"workflow\": {\n \"nodes\": [\n {\n \"id\": \"2ZHj3IUpJFc-83H2-f8d3\",\n \"type\": \"start\",\n \"label\": \"Start\",\n \"message\": \"Hello, how can I help you today?\",\n \"messageType\": \"prompt\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"metadata\": {\n \"version\": 1\n },\n \"transitions\": []\n }\n ],\n \"edges\": [],\n \"customVariables\": [\n {\n \"id\": \"z5QsyxUbrKPjYMGaMj1e1\",\n \"name\": \"customer_name\",\n \"dataType\": \"string\",\n \"description\": \"\",\n \"defaultValue\": \"john\",\n \"extractionPrompt\": \"\",\n \"enumValues\": []\n }\n ]\n },\n \"outcomeResponseShape\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Voice agent updated successfully",
"messageKey": "VoiceAgentUpdatedSuccessfully",
"data": {
"id": "48f7656f-098b-4c43-b165-7cfd2cc8ac30",
"type": "Single Prompt",
"name": "Customer Support Agent",
"conversation": {
"greetingMessage": "Hello, how can I help you today?",
"greetingMessageType": null,
"preamble": "You are a helpful assistant.",
"pokeMessages": [],
"params": {},
"alignment": {
"greetingMessage": "ltr",
"preamble": "ltr"
}
},
"voice": {
"voiceId": "en-US-Neural2-A",
"voiceRecordId": null,
"voiceRecord": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"provider": "<string>",
"language": "<string>",
"image": "<string>",
"languageCode": "<string>",
"voiceRecord": {}
},
"lang": "en",
"ttsParams": {}
},
"llm": {
"provider": "openai",
"model": "gpt-4",
"temperature": 0.2,
"baseUrl": null,
"apiKey": null
},
"callSettings": {
"noiseCancellation": "telephony_optimized",
"cancelNoisePer": "conversation",
"interrupt": true,
"responseDelay": 400,
"userInactivityTimeout": 15,
"maxCallDuration": 300,
"silenceThreshold": 800,
"backgroundNoise": false,
"thinkingVoice": false,
"speakerIdentification": false,
"agenticRag": false,
"languageDialectSwitcher": false,
"minInterruptionDuration": 0.5,
"vadActivationThreshold": 0.5,
"enableAutoGainControl": false,
"sendDenoisedToStt": false,
"genderDetection": false,
"smartCallEnd": false,
"waitForUserToSpeakFirst": 0
},
"tools": [
{}
],
"knowledgeBaseItemsIds": [],
"voiceDictionaryIds": [],
"phoneNumber": {
"type": "TWILIO",
"id": "48f7656f-098b-4c43-b165-7cfd2cc8ac30"
},
"webhookUrl": null,
"webhookAuth": {},
"workflow": {
"nodes": [
{
"id": "2ZHj3IUpJFc-83H2-f8d3",
"type": "start",
"label": "Start",
"message": "Hello, how can I help you today?",
"messageType": "prompt",
"position": {
"x": 0,
"y": 0
},
"metadata": {
"version": 1
},
"transitions": []
}
],
"edges": [],
"customVariables": [
{
"id": "z5QsyxUbrKPjYMGaMj1e1",
"name": "customer_name",
"dataType": "string",
"description": "",
"defaultValue": "john",
"extractionPrompt": "",
"enumValues": []
}
]
},
"outcomeResponseShape": {},
"resolvedWebTools": [
{}
],
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"account": {
"plan": "pro"
}
}
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Update Voice Agent
Updates an existing voice agent with new configuration.
curl --request PATCH \
--url https://api.tryhamsa.com/v2/voice-agents/{voiceAgentId} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "Single Prompt",
"name": "Updated Customer Support Agent",
"conversation": {
"greetingMessage": "Welcome! How may I assist you?",
"greetingMessageType": "TEXT",
"preamble": "You are a customer support assistant.",
"pokeMessages": [
"Are you still there?"
],
"params": {},
"alignment": {
"greetingMessage": "ltr",
"preamble": "ltr"
}
},
"voice": {
"voiceId": "en-US-Neural2-B",
"lang": "en"
},
"llm": {
"provider": "openai",
"model": "gpt-4-turbo",
"temperature": 0.8,
"baseUrl": "https://api.example.com",
"apiKey": "sk-..."
},
"callSettings": {
"noiseCancellation": "telephony_optimized",
"cancelNoisePer": "conversation",
"interrupt": true,
"responseDelay": 500,
"minInterruptionDuration": 0.6,
"vadActivationThreshold": 0.6,
"userInactivityTimeout": 20,
"maxCallDuration": 400,
"silenceThreshold": 1000,
"backgroundNoise": true,
"enableAutoGainControl": true,
"sendDenoisedToStt": true,
"waitForUserToSpeakFirst": 1,
"thinkingVoice": true,
"speakerIdentification": true,
"agenticRag": true,
"languageDialectSwitcher": true,
"genderDetection": true,
"smartCallEnd": true
},
"tools": [
{
"persistentId": "tool_123",
"toolId": "48f7656f-098b-4c43-b165-7cfd2cc8ac30",
"version": 1,
"toolType": "FUNCTION",
"nodeId": "node_1",
"testResult": {},
"overrides": {}
}
],
"knowledgeBaseItemsIds": [
"48f7656f-098b-4c43-b165-7cfd2cc8ac30"
],
"voiceDictionaryIds": [
"48f7656f-098b-4c43-b165-7cfd2cc8ac30"
],
"phoneNumber": {
"type": "TWILIO",
"id": "48f7656f-098b-4c43-b165-7cfd2cc8ac30"
},
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {},
"workflow": {
"nodes": [
{
"id": "2ZHj3IUpJFc-83H2-f8d3",
"type": "start",
"label": "Start",
"message": "Hello, how can I help you today?",
"messageType": "prompt",
"position": {
"x": 0,
"y": 0
},
"metadata": {
"version": 1
},
"transitions": []
}
],
"edges": [],
"customVariables": [
{
"id": "z5QsyxUbrKPjYMGaMj1e1",
"name": "customer_name",
"dataType": "string",
"description": "",
"defaultValue": "john",
"extractionPrompt": "",
"enumValues": []
}
]
},
"outcomeResponseShape": {}
}
'import requests
url = "https://api.tryhamsa.com/v2/voice-agents/{voiceAgentId}"
payload = {
"type": "Single Prompt",
"name": "Updated Customer Support Agent",
"conversation": {
"greetingMessage": "Welcome! How may I assist you?",
"greetingMessageType": "TEXT",
"preamble": "You are a customer support assistant.",
"pokeMessages": ["Are you still there?"],
"params": {},
"alignment": {
"greetingMessage": "ltr",
"preamble": "ltr"
}
},
"voice": {
"voiceId": "en-US-Neural2-B",
"lang": "en"
},
"llm": {
"provider": "openai",
"model": "gpt-4-turbo",
"temperature": 0.8,
"baseUrl": "https://api.example.com",
"apiKey": "sk-..."
},
"callSettings": {
"noiseCancellation": "telephony_optimized",
"cancelNoisePer": "conversation",
"interrupt": True,
"responseDelay": 500,
"minInterruptionDuration": 0.6,
"vadActivationThreshold": 0.6,
"userInactivityTimeout": 20,
"maxCallDuration": 400,
"silenceThreshold": 1000,
"backgroundNoise": True,
"enableAutoGainControl": True,
"sendDenoisedToStt": True,
"waitForUserToSpeakFirst": 1,
"thinkingVoice": True,
"speakerIdentification": True,
"agenticRag": True,
"languageDialectSwitcher": True,
"genderDetection": True,
"smartCallEnd": True
},
"tools": [
{
"persistentId": "tool_123",
"toolId": "48f7656f-098b-4c43-b165-7cfd2cc8ac30",
"version": 1,
"toolType": "FUNCTION",
"nodeId": "node_1",
"testResult": {},
"overrides": {}
}
],
"knowledgeBaseItemsIds": ["48f7656f-098b-4c43-b165-7cfd2cc8ac30"],
"voiceDictionaryIds": ["48f7656f-098b-4c43-b165-7cfd2cc8ac30"],
"phoneNumber": {
"type": "TWILIO",
"id": "48f7656f-098b-4c43-b165-7cfd2cc8ac30"
},
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {},
"workflow": {
"nodes": [
{
"id": "2ZHj3IUpJFc-83H2-f8d3",
"type": "start",
"label": "Start",
"message": "Hello, how can I help you today?",
"messageType": "prompt",
"position": {
"x": 0,
"y": 0
},
"metadata": { "version": 1 },
"transitions": []
}
],
"edges": [],
"customVariables": [
{
"id": "z5QsyxUbrKPjYMGaMj1e1",
"name": "customer_name",
"dataType": "string",
"description": "",
"defaultValue": "john",
"extractionPrompt": "",
"enumValues": []
}
]
},
"outcomeResponseShape": {}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'Single Prompt',
name: 'Updated Customer Support Agent',
conversation: {
greetingMessage: 'Welcome! How may I assist you?',
greetingMessageType: 'TEXT',
preamble: 'You are a customer support assistant.',
pokeMessages: ['Are you still there?'],
params: {},
alignment: {greetingMessage: 'ltr', preamble: 'ltr'}
},
voice: {voiceId: 'en-US-Neural2-B', lang: 'en'},
llm: {
provider: 'openai',
model: 'gpt-4-turbo',
temperature: 0.8,
baseUrl: 'https://api.example.com',
apiKey: 'sk-...'
},
callSettings: {
noiseCancellation: 'telephony_optimized',
cancelNoisePer: 'conversation',
interrupt: true,
responseDelay: 500,
minInterruptionDuration: 0.6,
vadActivationThreshold: 0.6,
userInactivityTimeout: 20,
maxCallDuration: 400,
silenceThreshold: 1000,
backgroundNoise: true,
enableAutoGainControl: true,
sendDenoisedToStt: true,
waitForUserToSpeakFirst: 1,
thinkingVoice: true,
speakerIdentification: true,
agenticRag: true,
languageDialectSwitcher: true,
genderDetection: true,
smartCallEnd: true
},
tools: [
{
persistentId: 'tool_123',
toolId: '48f7656f-098b-4c43-b165-7cfd2cc8ac30',
version: 1,
toolType: 'FUNCTION',
nodeId: 'node_1',
testResult: {},
overrides: {}
}
],
knowledgeBaseItemsIds: ['48f7656f-098b-4c43-b165-7cfd2cc8ac30'],
voiceDictionaryIds: ['48f7656f-098b-4c43-b165-7cfd2cc8ac30'],
phoneNumber: {type: 'TWILIO', id: '48f7656f-098b-4c43-b165-7cfd2cc8ac30'},
webhookUrl: 'https://example.com/webhook',
webhookAuth: {},
workflow: {
nodes: [
{
id: '2ZHj3IUpJFc-83H2-f8d3',
type: 'start',
label: 'Start',
message: 'Hello, how can I help you today?',
messageType: 'prompt',
position: {x: 0, y: 0},
metadata: {version: 1},
transitions: []
}
],
edges: [],
customVariables: [
{
id: 'z5QsyxUbrKPjYMGaMj1e1',
name: 'customer_name',
dataType: 'string',
description: '',
defaultValue: 'john',
extractionPrompt: '',
enumValues: []
}
]
},
outcomeResponseShape: {}
})
};
fetch('https://api.tryhamsa.com/v2/voice-agents/{voiceAgentId}', 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.tryhamsa.com/v2/voice-agents/{voiceAgentId}",
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([
'type' => 'Single Prompt',
'name' => 'Updated Customer Support Agent',
'conversation' => [
'greetingMessage' => 'Welcome! How may I assist you?',
'greetingMessageType' => 'TEXT',
'preamble' => 'You are a customer support assistant.',
'pokeMessages' => [
'Are you still there?'
],
'params' => [
],
'alignment' => [
'greetingMessage' => 'ltr',
'preamble' => 'ltr'
]
],
'voice' => [
'voiceId' => 'en-US-Neural2-B',
'lang' => 'en'
],
'llm' => [
'provider' => 'openai',
'model' => 'gpt-4-turbo',
'temperature' => 0.8,
'baseUrl' => 'https://api.example.com',
'apiKey' => 'sk-...'
],
'callSettings' => [
'noiseCancellation' => 'telephony_optimized',
'cancelNoisePer' => 'conversation',
'interrupt' => true,
'responseDelay' => 500,
'minInterruptionDuration' => 0.6,
'vadActivationThreshold' => 0.6,
'userInactivityTimeout' => 20,
'maxCallDuration' => 400,
'silenceThreshold' => 1000,
'backgroundNoise' => true,
'enableAutoGainControl' => true,
'sendDenoisedToStt' => true,
'waitForUserToSpeakFirst' => 1,
'thinkingVoice' => true,
'speakerIdentification' => true,
'agenticRag' => true,
'languageDialectSwitcher' => true,
'genderDetection' => true,
'smartCallEnd' => true
],
'tools' => [
[
'persistentId' => 'tool_123',
'toolId' => '48f7656f-098b-4c43-b165-7cfd2cc8ac30',
'version' => 1,
'toolType' => 'FUNCTION',
'nodeId' => 'node_1',
'testResult' => [
],
'overrides' => [
]
]
],
'knowledgeBaseItemsIds' => [
'48f7656f-098b-4c43-b165-7cfd2cc8ac30'
],
'voiceDictionaryIds' => [
'48f7656f-098b-4c43-b165-7cfd2cc8ac30'
],
'phoneNumber' => [
'type' => 'TWILIO',
'id' => '48f7656f-098b-4c43-b165-7cfd2cc8ac30'
],
'webhookUrl' => 'https://example.com/webhook',
'webhookAuth' => [
],
'workflow' => [
'nodes' => [
[
'id' => '2ZHj3IUpJFc-83H2-f8d3',
'type' => 'start',
'label' => 'Start',
'message' => 'Hello, how can I help you today?',
'messageType' => 'prompt',
'position' => [
'x' => 0,
'y' => 0
],
'metadata' => [
'version' => 1
],
'transitions' => [
]
]
],
'edges' => [
],
'customVariables' => [
[
'id' => 'z5QsyxUbrKPjYMGaMj1e1',
'name' => 'customer_name',
'dataType' => 'string',
'description' => '',
'defaultValue' => 'john',
'extractionPrompt' => '',
'enumValues' => [
]
]
]
],
'outcomeResponseShape' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.tryhamsa.com/v2/voice-agents/{voiceAgentId}"
payload := strings.NewReader("{\n \"type\": \"Single Prompt\",\n \"name\": \"Updated Customer Support Agent\",\n \"conversation\": {\n \"greetingMessage\": \"Welcome! How may I assist you?\",\n \"greetingMessageType\": \"TEXT\",\n \"preamble\": \"You are a customer support assistant.\",\n \"pokeMessages\": [\n \"Are you still there?\"\n ],\n \"params\": {},\n \"alignment\": {\n \"greetingMessage\": \"ltr\",\n \"preamble\": \"ltr\"\n }\n },\n \"voice\": {\n \"voiceId\": \"en-US-Neural2-B\",\n \"lang\": \"en\"\n },\n \"llm\": {\n \"provider\": \"openai\",\n \"model\": \"gpt-4-turbo\",\n \"temperature\": 0.8,\n \"baseUrl\": \"https://api.example.com\",\n \"apiKey\": \"sk-...\"\n },\n \"callSettings\": {\n \"noiseCancellation\": \"telephony_optimized\",\n \"cancelNoisePer\": \"conversation\",\n \"interrupt\": true,\n \"responseDelay\": 500,\n \"minInterruptionDuration\": 0.6,\n \"vadActivationThreshold\": 0.6,\n \"userInactivityTimeout\": 20,\n \"maxCallDuration\": 400,\n \"silenceThreshold\": 1000,\n \"backgroundNoise\": true,\n \"enableAutoGainControl\": true,\n \"sendDenoisedToStt\": true,\n \"waitForUserToSpeakFirst\": 1,\n \"thinkingVoice\": true,\n \"speakerIdentification\": true,\n \"agenticRag\": true,\n \"languageDialectSwitcher\": true,\n \"genderDetection\": true,\n \"smartCallEnd\": true\n },\n \"tools\": [\n {\n \"persistentId\": \"tool_123\",\n \"toolId\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"version\": 1,\n \"toolType\": \"FUNCTION\",\n \"nodeId\": \"node_1\",\n \"testResult\": {},\n \"overrides\": {}\n }\n ],\n \"knowledgeBaseItemsIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"voiceDictionaryIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"phoneNumber\": {\n \"type\": \"TWILIO\",\n \"id\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n },\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {},\n \"workflow\": {\n \"nodes\": [\n {\n \"id\": \"2ZHj3IUpJFc-83H2-f8d3\",\n \"type\": \"start\",\n \"label\": \"Start\",\n \"message\": \"Hello, how can I help you today?\",\n \"messageType\": \"prompt\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"metadata\": {\n \"version\": 1\n },\n \"transitions\": []\n }\n ],\n \"edges\": [],\n \"customVariables\": [\n {\n \"id\": \"z5QsyxUbrKPjYMGaMj1e1\",\n \"name\": \"customer_name\",\n \"dataType\": \"string\",\n \"description\": \"\",\n \"defaultValue\": \"john\",\n \"extractionPrompt\": \"\",\n \"enumValues\": []\n }\n ]\n },\n \"outcomeResponseShape\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<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.tryhamsa.com/v2/voice-agents/{voiceAgentId}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"Single Prompt\",\n \"name\": \"Updated Customer Support Agent\",\n \"conversation\": {\n \"greetingMessage\": \"Welcome! How may I assist you?\",\n \"greetingMessageType\": \"TEXT\",\n \"preamble\": \"You are a customer support assistant.\",\n \"pokeMessages\": [\n \"Are you still there?\"\n ],\n \"params\": {},\n \"alignment\": {\n \"greetingMessage\": \"ltr\",\n \"preamble\": \"ltr\"\n }\n },\n \"voice\": {\n \"voiceId\": \"en-US-Neural2-B\",\n \"lang\": \"en\"\n },\n \"llm\": {\n \"provider\": \"openai\",\n \"model\": \"gpt-4-turbo\",\n \"temperature\": 0.8,\n \"baseUrl\": \"https://api.example.com\",\n \"apiKey\": \"sk-...\"\n },\n \"callSettings\": {\n \"noiseCancellation\": \"telephony_optimized\",\n \"cancelNoisePer\": \"conversation\",\n \"interrupt\": true,\n \"responseDelay\": 500,\n \"minInterruptionDuration\": 0.6,\n \"vadActivationThreshold\": 0.6,\n \"userInactivityTimeout\": 20,\n \"maxCallDuration\": 400,\n \"silenceThreshold\": 1000,\n \"backgroundNoise\": true,\n \"enableAutoGainControl\": true,\n \"sendDenoisedToStt\": true,\n \"waitForUserToSpeakFirst\": 1,\n \"thinkingVoice\": true,\n \"speakerIdentification\": true,\n \"agenticRag\": true,\n \"languageDialectSwitcher\": true,\n \"genderDetection\": true,\n \"smartCallEnd\": true\n },\n \"tools\": [\n {\n \"persistentId\": \"tool_123\",\n \"toolId\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"version\": 1,\n \"toolType\": \"FUNCTION\",\n \"nodeId\": \"node_1\",\n \"testResult\": {},\n \"overrides\": {}\n }\n ],\n \"knowledgeBaseItemsIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"voiceDictionaryIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"phoneNumber\": {\n \"type\": \"TWILIO\",\n \"id\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n },\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {},\n \"workflow\": {\n \"nodes\": [\n {\n \"id\": \"2ZHj3IUpJFc-83H2-f8d3\",\n \"type\": \"start\",\n \"label\": \"Start\",\n \"message\": \"Hello, how can I help you today?\",\n \"messageType\": \"prompt\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"metadata\": {\n \"version\": 1\n },\n \"transitions\": []\n }\n ],\n \"edges\": [],\n \"customVariables\": [\n {\n \"id\": \"z5QsyxUbrKPjYMGaMj1e1\",\n \"name\": \"customer_name\",\n \"dataType\": \"string\",\n \"description\": \"\",\n \"defaultValue\": \"john\",\n \"extractionPrompt\": \"\",\n \"enumValues\": []\n }\n ]\n },\n \"outcomeResponseShape\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryhamsa.com/v2/voice-agents/{voiceAgentId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"Single Prompt\",\n \"name\": \"Updated Customer Support Agent\",\n \"conversation\": {\n \"greetingMessage\": \"Welcome! How may I assist you?\",\n \"greetingMessageType\": \"TEXT\",\n \"preamble\": \"You are a customer support assistant.\",\n \"pokeMessages\": [\n \"Are you still there?\"\n ],\n \"params\": {},\n \"alignment\": {\n \"greetingMessage\": \"ltr\",\n \"preamble\": \"ltr\"\n }\n },\n \"voice\": {\n \"voiceId\": \"en-US-Neural2-B\",\n \"lang\": \"en\"\n },\n \"llm\": {\n \"provider\": \"openai\",\n \"model\": \"gpt-4-turbo\",\n \"temperature\": 0.8,\n \"baseUrl\": \"https://api.example.com\",\n \"apiKey\": \"sk-...\"\n },\n \"callSettings\": {\n \"noiseCancellation\": \"telephony_optimized\",\n \"cancelNoisePer\": \"conversation\",\n \"interrupt\": true,\n \"responseDelay\": 500,\n \"minInterruptionDuration\": 0.6,\n \"vadActivationThreshold\": 0.6,\n \"userInactivityTimeout\": 20,\n \"maxCallDuration\": 400,\n \"silenceThreshold\": 1000,\n \"backgroundNoise\": true,\n \"enableAutoGainControl\": true,\n \"sendDenoisedToStt\": true,\n \"waitForUserToSpeakFirst\": 1,\n \"thinkingVoice\": true,\n \"speakerIdentification\": true,\n \"agenticRag\": true,\n \"languageDialectSwitcher\": true,\n \"genderDetection\": true,\n \"smartCallEnd\": true\n },\n \"tools\": [\n {\n \"persistentId\": \"tool_123\",\n \"toolId\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\",\n \"version\": 1,\n \"toolType\": \"FUNCTION\",\n \"nodeId\": \"node_1\",\n \"testResult\": {},\n \"overrides\": {}\n }\n ],\n \"knowledgeBaseItemsIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"voiceDictionaryIds\": [\n \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n ],\n \"phoneNumber\": {\n \"type\": \"TWILIO\",\n \"id\": \"48f7656f-098b-4c43-b165-7cfd2cc8ac30\"\n },\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {},\n \"workflow\": {\n \"nodes\": [\n {\n \"id\": \"2ZHj3IUpJFc-83H2-f8d3\",\n \"type\": \"start\",\n \"label\": \"Start\",\n \"message\": \"Hello, how can I help you today?\",\n \"messageType\": \"prompt\",\n \"position\": {\n \"x\": 0,\n \"y\": 0\n },\n \"metadata\": {\n \"version\": 1\n },\n \"transitions\": []\n }\n ],\n \"edges\": [],\n \"customVariables\": [\n {\n \"id\": \"z5QsyxUbrKPjYMGaMj1e1\",\n \"name\": \"customer_name\",\n \"dataType\": \"string\",\n \"description\": \"\",\n \"defaultValue\": \"john\",\n \"extractionPrompt\": \"\",\n \"enumValues\": []\n }\n ]\n },\n \"outcomeResponseShape\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Voice agent updated successfully",
"messageKey": "VoiceAgentUpdatedSuccessfully",
"data": {
"id": "48f7656f-098b-4c43-b165-7cfd2cc8ac30",
"type": "Single Prompt",
"name": "Customer Support Agent",
"conversation": {
"greetingMessage": "Hello, how can I help you today?",
"greetingMessageType": null,
"preamble": "You are a helpful assistant.",
"pokeMessages": [],
"params": {},
"alignment": {
"greetingMessage": "ltr",
"preamble": "ltr"
}
},
"voice": {
"voiceId": "en-US-Neural2-A",
"voiceRecordId": null,
"voiceRecord": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"provider": "<string>",
"language": "<string>",
"image": "<string>",
"languageCode": "<string>",
"voiceRecord": {}
},
"lang": "en",
"ttsParams": {}
},
"llm": {
"provider": "openai",
"model": "gpt-4",
"temperature": 0.2,
"baseUrl": null,
"apiKey": null
},
"callSettings": {
"noiseCancellation": "telephony_optimized",
"cancelNoisePer": "conversation",
"interrupt": true,
"responseDelay": 400,
"userInactivityTimeout": 15,
"maxCallDuration": 300,
"silenceThreshold": 800,
"backgroundNoise": false,
"thinkingVoice": false,
"speakerIdentification": false,
"agenticRag": false,
"languageDialectSwitcher": false,
"minInterruptionDuration": 0.5,
"vadActivationThreshold": 0.5,
"enableAutoGainControl": false,
"sendDenoisedToStt": false,
"genderDetection": false,
"smartCallEnd": false,
"waitForUserToSpeakFirst": 0
},
"tools": [
{}
],
"knowledgeBaseItemsIds": [],
"voiceDictionaryIds": [],
"phoneNumber": {
"type": "TWILIO",
"id": "48f7656f-098b-4c43-b165-7cfd2cc8ac30"
},
"webhookUrl": null,
"webhookAuth": {},
"workflow": {
"nodes": [
{
"id": "2ZHj3IUpJFc-83H2-f8d3",
"type": "start",
"label": "Start",
"message": "Hello, how can I help you today?",
"messageType": "prompt",
"position": {
"x": 0,
"y": 0
},
"metadata": {
"version": 1
},
"transitions": []
}
],
"edges": [],
"customVariables": [
{
"id": "z5QsyxUbrKPjYMGaMj1e1",
"name": "customer_name",
"dataType": "string",
"description": "",
"defaultValue": "john",
"extractionPrompt": "",
"enumValues": []
}
]
},
"outcomeResponseShape": {},
"resolvedWebTools": [
{}
],
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"account": {
"plan": "pro"
}
}
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Authorizations
Pass the API key in the Authorization header, You need to put Token keyword before the API key. e.g. 'Authorization: Token '
Path Parameters
UUID of the voice agent.
"48f7656f-098b-4c43-b165-7cfd2cc8ac30"
Body
All fields are optional for updates. Include only the fields you want to update.
Type of voice agent.
Single Prompt, Flow Agent "Single Prompt"
Name of the voice agent (max 150 characters).
150"Updated Customer Support Agent"
Conversation settings (partial update supported).
Show child attributes
Show child attributes
Voice settings (partial update supported).
Show child attributes
Show child attributes
LLM configuration (partial update supported).
Show child attributes
Show child attributes
Call settings (partial update supported).
Show child attributes
Show child attributes
Web tools (replaces existing tools).
Show child attributes
Show child attributes
Knowledge base item UUIDs (replaces existing).
["48f7656f-098b-4c43-b165-7cfd2cc8ac30"]
Voice dictionary UUIDs (replaces existing).
["48f7656f-098b-4c43-b165-7cfd2cc8ac30"]
Show child attributes
Show child attributes
"https://example.com/webhook"
Workflow update for Flow Agents. nodes, edges and customVariables are each replaced wholesale when provided; omitted keys keep their stored value.
Show child attributes
Show child attributes
{
"nodes": [
{
"id": "2ZHj3IUpJFc-83H2-f8d3",
"type": "start",
"label": "Start",
"message": "Hello, how can I help you today?",
"messageType": "prompt",
"position": { "x": 0, "y": 0 },
"metadata": { "version": 1 },
"transitions": []
}
],
"edges": [],
"customVariables": [
{
"id": "z5QsyxUbrKPjYMGaMj1e1",
"name": "customer_name",
"dataType": "string",
"description": "",
"defaultValue": "john",
"extractionPrompt": "",
"enumValues": []
}
]
}
Was this page helpful?