curl --request PATCH \
--url https://api.duvo.ai/v2/agents/{agent_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"slack_enabled": true,
"microsoft_teams_enabled": true,
"agentic_memory_enabled": true,
"thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pinned": true,
"computer_use_sandbox_template_id": "standard",
"computer_use_vpn_config_id": "direct"
}
'import requests
url = "https://api.duvo.ai/v2/agents/{agent_id}"
payload = {
"name": "<string>",
"slack_enabled": True,
"microsoft_teams_enabled": True,
"agentic_memory_enabled": True,
"thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pinned": True,
"computer_use_sandbox_template_id": "standard",
"computer_use_vpn_config_id": "direct"
}
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>',
slack_enabled: true,
microsoft_teams_enabled: true,
agentic_memory_enabled: true,
thread_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
pinned: true,
computer_use_sandbox_template_id: 'standard',
computer_use_vpn_config_id: 'direct'
})
};
fetch('https://api.duvo.ai/v2/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.duvo.ai/v2/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>',
'slack_enabled' => true,
'microsoft_teams_enabled' => true,
'agentic_memory_enabled' => true,
'thread_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'pinned' => true,
'computer_use_sandbox_template_id' => 'standard',
'computer_use_vpn_config_id' => 'direct'
]),
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.duvo.ai/v2/agents/{agent_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"slack_enabled\": true,\n \"microsoft_teams_enabled\": true,\n \"agentic_memory_enabled\": true,\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pinned\": true,\n \"computer_use_sandbox_template_id\": \"standard\",\n \"computer_use_vpn_config_id\": \"direct\"\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.duvo.ai/v2/agents/{agent_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"slack_enabled\": true,\n \"microsoft_teams_enabled\": true,\n \"agentic_memory_enabled\": true,\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pinned\": true,\n \"computer_use_sandbox_template_id\": \"standard\",\n \"computer_use_vpn_config_id\": \"direct\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.duvo.ai/v2/agents/{agent_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"slack_enabled\": true,\n \"microsoft_teams_enabled\": true,\n \"agentic_memory_enabled\": true,\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pinned\": true,\n \"computer_use_sandbox_template_id\": \"standard\",\n \"computer_use_vpn_config_id\": \"direct\"\n}"
response = http.request(request)
puts response.read_body{
"agent": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"slack_enabled": true,
"microsoft_teams_enabled": true,
"agentic_memory_enabled": true,
"team_id": "<string>",
"thread_id": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"computer_use_sandbox_template_id": "<string>",
"computer_use_vpn_config_id": "<string>",
"folder_id": "<string>",
"automation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by": {
"id": "<string>",
"name": "<string>",
"email": "<string>"
},
"updated_by": {
"id": "<string>",
"name": "<string>",
"email": "<string>"
}
},
"user_context": {
"pinned_at": "<string>"
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Update Agent
Update an agent’s display name or delivery settings.
curl --request PATCH \
--url https://api.duvo.ai/v2/agents/{agent_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"slack_enabled": true,
"microsoft_teams_enabled": true,
"agentic_memory_enabled": true,
"thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pinned": true,
"computer_use_sandbox_template_id": "standard",
"computer_use_vpn_config_id": "direct"
}
'import requests
url = "https://api.duvo.ai/v2/agents/{agent_id}"
payload = {
"name": "<string>",
"slack_enabled": True,
"microsoft_teams_enabled": True,
"agentic_memory_enabled": True,
"thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pinned": True,
"computer_use_sandbox_template_id": "standard",
"computer_use_vpn_config_id": "direct"
}
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>',
slack_enabled: true,
microsoft_teams_enabled: true,
agentic_memory_enabled: true,
thread_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
pinned: true,
computer_use_sandbox_template_id: 'standard',
computer_use_vpn_config_id: 'direct'
})
};
fetch('https://api.duvo.ai/v2/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.duvo.ai/v2/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>',
'slack_enabled' => true,
'microsoft_teams_enabled' => true,
'agentic_memory_enabled' => true,
'thread_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'pinned' => true,
'computer_use_sandbox_template_id' => 'standard',
'computer_use_vpn_config_id' => 'direct'
]),
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.duvo.ai/v2/agents/{agent_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"slack_enabled\": true,\n \"microsoft_teams_enabled\": true,\n \"agentic_memory_enabled\": true,\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pinned\": true,\n \"computer_use_sandbox_template_id\": \"standard\",\n \"computer_use_vpn_config_id\": \"direct\"\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.duvo.ai/v2/agents/{agent_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"slack_enabled\": true,\n \"microsoft_teams_enabled\": true,\n \"agentic_memory_enabled\": true,\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pinned\": true,\n \"computer_use_sandbox_template_id\": \"standard\",\n \"computer_use_vpn_config_id\": \"direct\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.duvo.ai/v2/agents/{agent_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"slack_enabled\": true,\n \"microsoft_teams_enabled\": true,\n \"agentic_memory_enabled\": true,\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"pinned\": true,\n \"computer_use_sandbox_template_id\": \"standard\",\n \"computer_use_vpn_config_id\": \"direct\"\n}"
response = http.request(request)
puts response.read_body{
"agent": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"slack_enabled": true,
"microsoft_teams_enabled": true,
"agentic_memory_enabled": true,
"team_id": "<string>",
"thread_id": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"computer_use_sandbox_template_id": "<string>",
"computer_use_vpn_config_id": "<string>",
"folder_id": "<string>",
"automation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by": {
"id": "<string>",
"name": "<string>",
"email": "<string>"
},
"updated_by": {
"id": "<string>",
"name": "<string>",
"email": "<string>"
}
},
"user_context": {
"pinned_at": "<string>"
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
API key authentication. Get your API key from the Duvo dashboard.
Path Parameters
The agent's unique identifier
Body
New agent display name.
Whether the agent is reachable via Slack.
Whether the agent is reachable via Microsoft Teams.
Toggle agentic memory for the agent.
Thread id to associate with the agent, or null to clear.
Pin the agent to the top of your agents list (true) or unpin it (false). Per-user — each viewer has their own pin. A team on Automations has no agents list for a pin to order, so a pin or unpin there is refused with a 409.
"standard" to durably pin the standard Duvo desktop (immune to future team-default changes), a template UUID to pin that desktop, or null to follow the team default.
standard "direct" to durably pin direct internet (no VPN, immune to future team-default changes), a VPN config UUID to pin that network, or null to follow the team default.
direct Was this page helpful?