Agents
Update an agent
PATCH
/
v1
/
agents
/
{agentId}
Update an agent
curl --request PATCH \
--url https://api.zavu.dev/v1/agents/{agentId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"enabled": true,
"model": "<string>",
"systemPrompt": "<string>",
"apiKey": "<string>",
"contextWindowMessages": 25,
"includeContactMetadata": true,
"maxTokens": 2048,
"temperature": 1,
"triggerOnChannels": [
"<string>"
],
"triggerOnMessageTypes": [
"<string>"
]
}
'import requests
url = "https://api.zavu.dev/v1/agents/{agentId}"
payload = {
"name": "<string>",
"enabled": True,
"model": "<string>",
"systemPrompt": "<string>",
"apiKey": "<string>",
"contextWindowMessages": 25,
"includeContactMetadata": True,
"maxTokens": 2048,
"temperature": 1,
"triggerOnChannels": ["<string>"],
"triggerOnMessageTypes": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
enabled: true,
model: '<string>',
systemPrompt: '<string>',
apiKey: '<string>',
contextWindowMessages: 25,
includeContactMetadata: true,
maxTokens: 2048,
temperature: 1,
triggerOnChannels: ['<string>'],
triggerOnMessageTypes: ['<string>']
})
};
fetch('https://api.zavu.dev/v1/agents/{agentId}', 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.zavu.dev/v1/agents/{agentId}",
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>',
'enabled' => true,
'model' => '<string>',
'systemPrompt' => '<string>',
'apiKey' => '<string>',
'contextWindowMessages' => 25,
'includeContactMetadata' => true,
'maxTokens' => 2048,
'temperature' => 1,
'triggerOnChannels' => [
'<string>'
],
'triggerOnMessageTypes' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.zavu.dev/v1/agents/{agentId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"model\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"contextWindowMessages\": 25,\n \"includeContactMetadata\": true,\n \"maxTokens\": 2048,\n \"temperature\": 1,\n \"triggerOnChannels\": [\n \"<string>\"\n ],\n \"triggerOnMessageTypes\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.zavu.dev/v1/agents/{agentId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"model\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"contextWindowMessages\": 25,\n \"includeContactMetadata\": true,\n \"maxTokens\": 2048,\n \"temperature\": 1,\n \"triggerOnChannels\": [\n \"<string>\"\n ],\n \"triggerOnMessageTypes\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zavu.dev/v1/agents/{agentId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"model\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"contextWindowMessages\": 25,\n \"includeContactMetadata\": true,\n \"maxTokens\": 2048,\n \"temperature\": 1,\n \"triggerOnChannels\": [\n \"<string>\"\n ],\n \"triggerOnMessageTypes\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"agent": {
"id": "agent_abc123",
"senderId": "sender_12345",
"name": "Customer Support Agent",
"enabled": true,
"model": "gpt-4o-mini",
"systemPrompt": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"contextWindowMessages": 10,
"includeContactMetadata": true,
"maxTokens": 123,
"temperature": 123,
"triggerOnChannels": [
"sms",
"whatsapp"
],
"triggerOnMessageTypes": [
"text"
],
"stats": {
"totalInvocations": 123,
"totalTokensUsed": 123,
"totalCost": 123
},
"voice": {
"enabled": true,
"greeting": "Hi, thanks for calling Acme. How can I help you today?",
"greetings": {
"es": "Hola, soy Atlas. Preguntame lo que quieras."
},
"language": "en",
"model": "openai/gpt-4o",
"sttProvider": "<string>",
"sttModel": "<string>",
"ttsProvider": "<string>",
"ttsVoiceId": "aria",
"voiceSpeed": 1,
"interruptible": true,
"maxCallDurationMinutes": 15,
"maxIdleSeconds": 30,
"recordCalls": true,
"voicemailAction": "hangup",
"voicemailMessage": "<string>",
"transferPhoneNumber": "+14155551234"
},
"senderIds": [
"<string>"
]
}
}{
"code": "invalid_request",
"message": "Phone number is invalid",
"details": {}
}{
"code": "invalid_request",
"message": "Phone number is invalid",
"details": {}
}{
"code": "invalid_request",
"message": "Phone number is invalid",
"details": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Agent ID.
Body
application/json
Maximum string length:
100LLM provider for the AI agent.
Available options:
openai, anthropic, google, mistral, zavu Maximum string length:
10000Required range:
1 <= x <= 50Required range:
1 <= x <= 4096Required range:
0 <= x <= 2Voice Agent configuration. Patch this object to enable voice, change the greeting, or adjust call limits. Requires the Voice Agents feature to be enabled for your team.
Show child attributes
Show child attributes
Response
Agent updated.
AI Agent configuration for a sender.
Show child attributes
Show child attributes
⌘I
Update an agent
curl --request PATCH \
--url https://api.zavu.dev/v1/agents/{agentId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"enabled": true,
"model": "<string>",
"systemPrompt": "<string>",
"apiKey": "<string>",
"contextWindowMessages": 25,
"includeContactMetadata": true,
"maxTokens": 2048,
"temperature": 1,
"triggerOnChannels": [
"<string>"
],
"triggerOnMessageTypes": [
"<string>"
]
}
'import requests
url = "https://api.zavu.dev/v1/agents/{agentId}"
payload = {
"name": "<string>",
"enabled": True,
"model": "<string>",
"systemPrompt": "<string>",
"apiKey": "<string>",
"contextWindowMessages": 25,
"includeContactMetadata": True,
"maxTokens": 2048,
"temperature": 1,
"triggerOnChannels": ["<string>"],
"triggerOnMessageTypes": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
enabled: true,
model: '<string>',
systemPrompt: '<string>',
apiKey: '<string>',
contextWindowMessages: 25,
includeContactMetadata: true,
maxTokens: 2048,
temperature: 1,
triggerOnChannels: ['<string>'],
triggerOnMessageTypes: ['<string>']
})
};
fetch('https://api.zavu.dev/v1/agents/{agentId}', 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.zavu.dev/v1/agents/{agentId}",
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>',
'enabled' => true,
'model' => '<string>',
'systemPrompt' => '<string>',
'apiKey' => '<string>',
'contextWindowMessages' => 25,
'includeContactMetadata' => true,
'maxTokens' => 2048,
'temperature' => 1,
'triggerOnChannels' => [
'<string>'
],
'triggerOnMessageTypes' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.zavu.dev/v1/agents/{agentId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"model\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"contextWindowMessages\": 25,\n \"includeContactMetadata\": true,\n \"maxTokens\": 2048,\n \"temperature\": 1,\n \"triggerOnChannels\": [\n \"<string>\"\n ],\n \"triggerOnMessageTypes\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.zavu.dev/v1/agents/{agentId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"model\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"contextWindowMessages\": 25,\n \"includeContactMetadata\": true,\n \"maxTokens\": 2048,\n \"temperature\": 1,\n \"triggerOnChannels\": [\n \"<string>\"\n ],\n \"triggerOnMessageTypes\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zavu.dev/v1/agents/{agentId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"enabled\": true,\n \"model\": \"<string>\",\n \"systemPrompt\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"contextWindowMessages\": 25,\n \"includeContactMetadata\": true,\n \"maxTokens\": 2048,\n \"temperature\": 1,\n \"triggerOnChannels\": [\n \"<string>\"\n ],\n \"triggerOnMessageTypes\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"agent": {
"id": "agent_abc123",
"senderId": "sender_12345",
"name": "Customer Support Agent",
"enabled": true,
"model": "gpt-4o-mini",
"systemPrompt": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"contextWindowMessages": 10,
"includeContactMetadata": true,
"maxTokens": 123,
"temperature": 123,
"triggerOnChannels": [
"sms",
"whatsapp"
],
"triggerOnMessageTypes": [
"text"
],
"stats": {
"totalInvocations": 123,
"totalTokensUsed": 123,
"totalCost": 123
},
"voice": {
"enabled": true,
"greeting": "Hi, thanks for calling Acme. How can I help you today?",
"greetings": {
"es": "Hola, soy Atlas. Preguntame lo que quieras."
},
"language": "en",
"model": "openai/gpt-4o",
"sttProvider": "<string>",
"sttModel": "<string>",
"ttsProvider": "<string>",
"ttsVoiceId": "aria",
"voiceSpeed": 1,
"interruptible": true,
"maxCallDurationMinutes": 15,
"maxIdleSeconds": 30,
"recordCalls": true,
"voicemailAction": "hangup",
"voicemailMessage": "<string>",
"transferPhoneNumber": "+14155551234"
},
"senderIds": [
"<string>"
]
}
}{
"code": "invalid_request",
"message": "Phone number is invalid",
"details": {}
}{
"code": "invalid_request",
"message": "Phone number is invalid",
"details": {}
}{
"code": "invalid_request",
"message": "Phone number is invalid",
"details": {}
}