Update Digital Employee
curl --request PUT \
--url https://api.tess.im/digital-employees/{employeeId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-workspace-id: <x-workspace-id>' \
--data '
{
"name": "<string>",
"status": "<string>",
"execution_mode": "<string>",
"execution_approval_mode": "<string>",
"heartbeat_cron": "<string>",
"heartbeat_schedule_json": {},
"execution_timezone": "<string>",
"default_interval_seconds": 123,
"system_prompt_override": "<string>",
"model_override": "<string>",
"tools_override": "<string>",
"search_intelligence_enabled": true,
"connectors_json": [
{}
],
"skills_override_json": [
{}
],
"max_consecutive_failures": 123,
"execution_order": 123,
"share_memory_with_owner": true,
"knowledge_base_file_ids": [
{}
],
"avatar": "<string>",
"avatar_thumbnail": "<string>",
"personality_type": "<string>",
"wake_policy_json": {},
"budget_policy_json": {},
"goal_json": {},
"work_policy_json": {},
"voice_realtime_voice": "<string>",
"delegation_config_json": {}
}
'import requests
url = "https://api.tess.im/digital-employees/{employeeId}"
payload = {
"name": "<string>",
"status": "<string>",
"execution_mode": "<string>",
"execution_approval_mode": "<string>",
"heartbeat_cron": "<string>",
"heartbeat_schedule_json": {},
"execution_timezone": "<string>",
"default_interval_seconds": 123,
"system_prompt_override": "<string>",
"model_override": "<string>",
"tools_override": "<string>",
"search_intelligence_enabled": True,
"connectors_json": [{}],
"skills_override_json": [{}],
"max_consecutive_failures": 123,
"execution_order": 123,
"share_memory_with_owner": True,
"knowledge_base_file_ids": [{}],
"avatar": "<string>",
"avatar_thumbnail": "<string>",
"personality_type": "<string>",
"wake_policy_json": {},
"budget_policy_json": {},
"goal_json": {},
"work_policy_json": {},
"voice_realtime_voice": "<string>",
"delegation_config_json": {}
}
headers = {
"x-workspace-id": "<x-workspace-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'x-workspace-id': '<x-workspace-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
status: '<string>',
execution_mode: '<string>',
execution_approval_mode: '<string>',
heartbeat_cron: '<string>',
heartbeat_schedule_json: {},
execution_timezone: '<string>',
default_interval_seconds: 123,
system_prompt_override: '<string>',
model_override: '<string>',
tools_override: '<string>',
search_intelligence_enabled: true,
connectors_json: [{}],
skills_override_json: [{}],
max_consecutive_failures: 123,
execution_order: 123,
share_memory_with_owner: true,
knowledge_base_file_ids: [{}],
avatar: '<string>',
avatar_thumbnail: '<string>',
personality_type: '<string>',
wake_policy_json: {},
budget_policy_json: {},
goal_json: {},
work_policy_json: {},
voice_realtime_voice: '<string>',
delegation_config_json: {}
})
};
fetch('https://api.tess.im/digital-employees/{employeeId}', 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.tess.im/digital-employees/{employeeId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'status' => '<string>',
'execution_mode' => '<string>',
'execution_approval_mode' => '<string>',
'heartbeat_cron' => '<string>',
'heartbeat_schedule_json' => [
],
'execution_timezone' => '<string>',
'default_interval_seconds' => 123,
'system_prompt_override' => '<string>',
'model_override' => '<string>',
'tools_override' => '<string>',
'search_intelligence_enabled' => true,
'connectors_json' => [
[
]
],
'skills_override_json' => [
[
]
],
'max_consecutive_failures' => 123,
'execution_order' => 123,
'share_memory_with_owner' => true,
'knowledge_base_file_ids' => [
[
]
],
'avatar' => '<string>',
'avatar_thumbnail' => '<string>',
'personality_type' => '<string>',
'wake_policy_json' => [
],
'budget_policy_json' => [
],
'goal_json' => [
],
'work_policy_json' => [
],
'voice_realtime_voice' => '<string>',
'delegation_config_json' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-workspace-id: <x-workspace-id>"
],
]);
$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.tess.im/digital-employees/{employeeId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"execution_mode\": \"<string>\",\n \"execution_approval_mode\": \"<string>\",\n \"heartbeat_cron\": \"<string>\",\n \"heartbeat_schedule_json\": {},\n \"execution_timezone\": \"<string>\",\n \"default_interval_seconds\": 123,\n \"system_prompt_override\": \"<string>\",\n \"model_override\": \"<string>\",\n \"tools_override\": \"<string>\",\n \"search_intelligence_enabled\": true,\n \"connectors_json\": [\n {}\n ],\n \"skills_override_json\": [\n {}\n ],\n \"max_consecutive_failures\": 123,\n \"execution_order\": 123,\n \"share_memory_with_owner\": true,\n \"knowledge_base_file_ids\": [\n {}\n ],\n \"avatar\": \"<string>\",\n \"avatar_thumbnail\": \"<string>\",\n \"personality_type\": \"<string>\",\n \"wake_policy_json\": {},\n \"budget_policy_json\": {},\n \"goal_json\": {},\n \"work_policy_json\": {},\n \"voice_realtime_voice\": \"<string>\",\n \"delegation_config_json\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-workspace-id", "<x-workspace-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.tess.im/digital-employees/{employeeId}")
.header("x-workspace-id", "<x-workspace-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"execution_mode\": \"<string>\",\n \"execution_approval_mode\": \"<string>\",\n \"heartbeat_cron\": \"<string>\",\n \"heartbeat_schedule_json\": {},\n \"execution_timezone\": \"<string>\",\n \"default_interval_seconds\": 123,\n \"system_prompt_override\": \"<string>\",\n \"model_override\": \"<string>\",\n \"tools_override\": \"<string>\",\n \"search_intelligence_enabled\": true,\n \"connectors_json\": [\n {}\n ],\n \"skills_override_json\": [\n {}\n ],\n \"max_consecutive_failures\": 123,\n \"execution_order\": 123,\n \"share_memory_with_owner\": true,\n \"knowledge_base_file_ids\": [\n {}\n ],\n \"avatar\": \"<string>\",\n \"avatar_thumbnail\": \"<string>\",\n \"personality_type\": \"<string>\",\n \"wake_policy_json\": {},\n \"budget_policy_json\": {},\n \"goal_json\": {},\n \"work_policy_json\": {},\n \"voice_realtime_voice\": \"<string>\",\n \"delegation_config_json\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tess.im/digital-employees/{employeeId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-workspace-id"] = '<x-workspace-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"execution_mode\": \"<string>\",\n \"execution_approval_mode\": \"<string>\",\n \"heartbeat_cron\": \"<string>\",\n \"heartbeat_schedule_json\": {},\n \"execution_timezone\": \"<string>\",\n \"default_interval_seconds\": 123,\n \"system_prompt_override\": \"<string>\",\n \"model_override\": \"<string>\",\n \"tools_override\": \"<string>\",\n \"search_intelligence_enabled\": true,\n \"connectors_json\": [\n {}\n ],\n \"skills_override_json\": [\n {}\n ],\n \"max_consecutive_failures\": 123,\n \"execution_order\": 123,\n \"share_memory_with_owner\": true,\n \"knowledge_base_file_ids\": [\n {}\n ],\n \"avatar\": \"<string>\",\n \"avatar_thumbnail\": \"<string>\",\n \"personality_type\": \"<string>\",\n \"wake_policy_json\": {},\n \"budget_policy_json\": {},\n \"goal_json\": {},\n \"work_policy_json\": {},\n \"voice_realtime_voice\": \"<string>\",\n \"delegation_config_json\": {}\n}"
response = http.request(request)
puts response.read_bodyDigital Employees
Update Digital Employee
Updates one or more fields of an existing digital employee.
PUT
/
digital-employees
/
{employeeId}
Update Digital Employee
curl --request PUT \
--url https://api.tess.im/digital-employees/{employeeId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-workspace-id: <x-workspace-id>' \
--data '
{
"name": "<string>",
"status": "<string>",
"execution_mode": "<string>",
"execution_approval_mode": "<string>",
"heartbeat_cron": "<string>",
"heartbeat_schedule_json": {},
"execution_timezone": "<string>",
"default_interval_seconds": 123,
"system_prompt_override": "<string>",
"model_override": "<string>",
"tools_override": "<string>",
"search_intelligence_enabled": true,
"connectors_json": [
{}
],
"skills_override_json": [
{}
],
"max_consecutive_failures": 123,
"execution_order": 123,
"share_memory_with_owner": true,
"knowledge_base_file_ids": [
{}
],
"avatar": "<string>",
"avatar_thumbnail": "<string>",
"personality_type": "<string>",
"wake_policy_json": {},
"budget_policy_json": {},
"goal_json": {},
"work_policy_json": {},
"voice_realtime_voice": "<string>",
"delegation_config_json": {}
}
'import requests
url = "https://api.tess.im/digital-employees/{employeeId}"
payload = {
"name": "<string>",
"status": "<string>",
"execution_mode": "<string>",
"execution_approval_mode": "<string>",
"heartbeat_cron": "<string>",
"heartbeat_schedule_json": {},
"execution_timezone": "<string>",
"default_interval_seconds": 123,
"system_prompt_override": "<string>",
"model_override": "<string>",
"tools_override": "<string>",
"search_intelligence_enabled": True,
"connectors_json": [{}],
"skills_override_json": [{}],
"max_consecutive_failures": 123,
"execution_order": 123,
"share_memory_with_owner": True,
"knowledge_base_file_ids": [{}],
"avatar": "<string>",
"avatar_thumbnail": "<string>",
"personality_type": "<string>",
"wake_policy_json": {},
"budget_policy_json": {},
"goal_json": {},
"work_policy_json": {},
"voice_realtime_voice": "<string>",
"delegation_config_json": {}
}
headers = {
"x-workspace-id": "<x-workspace-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'x-workspace-id': '<x-workspace-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
status: '<string>',
execution_mode: '<string>',
execution_approval_mode: '<string>',
heartbeat_cron: '<string>',
heartbeat_schedule_json: {},
execution_timezone: '<string>',
default_interval_seconds: 123,
system_prompt_override: '<string>',
model_override: '<string>',
tools_override: '<string>',
search_intelligence_enabled: true,
connectors_json: [{}],
skills_override_json: [{}],
max_consecutive_failures: 123,
execution_order: 123,
share_memory_with_owner: true,
knowledge_base_file_ids: [{}],
avatar: '<string>',
avatar_thumbnail: '<string>',
personality_type: '<string>',
wake_policy_json: {},
budget_policy_json: {},
goal_json: {},
work_policy_json: {},
voice_realtime_voice: '<string>',
delegation_config_json: {}
})
};
fetch('https://api.tess.im/digital-employees/{employeeId}', 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.tess.im/digital-employees/{employeeId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'status' => '<string>',
'execution_mode' => '<string>',
'execution_approval_mode' => '<string>',
'heartbeat_cron' => '<string>',
'heartbeat_schedule_json' => [
],
'execution_timezone' => '<string>',
'default_interval_seconds' => 123,
'system_prompt_override' => '<string>',
'model_override' => '<string>',
'tools_override' => '<string>',
'search_intelligence_enabled' => true,
'connectors_json' => [
[
]
],
'skills_override_json' => [
[
]
],
'max_consecutive_failures' => 123,
'execution_order' => 123,
'share_memory_with_owner' => true,
'knowledge_base_file_ids' => [
[
]
],
'avatar' => '<string>',
'avatar_thumbnail' => '<string>',
'personality_type' => '<string>',
'wake_policy_json' => [
],
'budget_policy_json' => [
],
'goal_json' => [
],
'work_policy_json' => [
],
'voice_realtime_voice' => '<string>',
'delegation_config_json' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-workspace-id: <x-workspace-id>"
],
]);
$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.tess.im/digital-employees/{employeeId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"execution_mode\": \"<string>\",\n \"execution_approval_mode\": \"<string>\",\n \"heartbeat_cron\": \"<string>\",\n \"heartbeat_schedule_json\": {},\n \"execution_timezone\": \"<string>\",\n \"default_interval_seconds\": 123,\n \"system_prompt_override\": \"<string>\",\n \"model_override\": \"<string>\",\n \"tools_override\": \"<string>\",\n \"search_intelligence_enabled\": true,\n \"connectors_json\": [\n {}\n ],\n \"skills_override_json\": [\n {}\n ],\n \"max_consecutive_failures\": 123,\n \"execution_order\": 123,\n \"share_memory_with_owner\": true,\n \"knowledge_base_file_ids\": [\n {}\n ],\n \"avatar\": \"<string>\",\n \"avatar_thumbnail\": \"<string>\",\n \"personality_type\": \"<string>\",\n \"wake_policy_json\": {},\n \"budget_policy_json\": {},\n \"goal_json\": {},\n \"work_policy_json\": {},\n \"voice_realtime_voice\": \"<string>\",\n \"delegation_config_json\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-workspace-id", "<x-workspace-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.tess.im/digital-employees/{employeeId}")
.header("x-workspace-id", "<x-workspace-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"execution_mode\": \"<string>\",\n \"execution_approval_mode\": \"<string>\",\n \"heartbeat_cron\": \"<string>\",\n \"heartbeat_schedule_json\": {},\n \"execution_timezone\": \"<string>\",\n \"default_interval_seconds\": 123,\n \"system_prompt_override\": \"<string>\",\n \"model_override\": \"<string>\",\n \"tools_override\": \"<string>\",\n \"search_intelligence_enabled\": true,\n \"connectors_json\": [\n {}\n ],\n \"skills_override_json\": [\n {}\n ],\n \"max_consecutive_failures\": 123,\n \"execution_order\": 123,\n \"share_memory_with_owner\": true,\n \"knowledge_base_file_ids\": [\n {}\n ],\n \"avatar\": \"<string>\",\n \"avatar_thumbnail\": \"<string>\",\n \"personality_type\": \"<string>\",\n \"wake_policy_json\": {},\n \"budget_policy_json\": {},\n \"goal_json\": {},\n \"work_policy_json\": {},\n \"voice_realtime_voice\": \"<string>\",\n \"delegation_config_json\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tess.im/digital-employees/{employeeId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-workspace-id"] = '<x-workspace-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"status\": \"<string>\",\n \"execution_mode\": \"<string>\",\n \"execution_approval_mode\": \"<string>\",\n \"heartbeat_cron\": \"<string>\",\n \"heartbeat_schedule_json\": {},\n \"execution_timezone\": \"<string>\",\n \"default_interval_seconds\": 123,\n \"system_prompt_override\": \"<string>\",\n \"model_override\": \"<string>\",\n \"tools_override\": \"<string>\",\n \"search_intelligence_enabled\": true,\n \"connectors_json\": [\n {}\n ],\n \"skills_override_json\": [\n {}\n ],\n \"max_consecutive_failures\": 123,\n \"execution_order\": 123,\n \"share_memory_with_owner\": true,\n \"knowledge_base_file_ids\": [\n {}\n ],\n \"avatar\": \"<string>\",\n \"avatar_thumbnail\": \"<string>\",\n \"personality_type\": \"<string>\",\n \"wake_policy_json\": {},\n \"budget_policy_json\": {},\n \"goal_json\": {},\n \"work_policy_json\": {},\n \"voice_realtime_voice\": \"<string>\",\n \"delegation_config_json\": {}\n}"
response = http.request(request)
puts response.read_bodyCode Examples
curl --request PUT \
--url 'https://api.tess.im/digital-employees/123' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--header 'x-workspace-id: YOUR_WORKSPACE_ID' \
--data '{
"name": "Finance Ops Updated",
"status": "active",
"execution_approval_mode": "approval_required"
}'
const axios = require('axios');
const employeeId = 123;
const config = {
method: 'put',
url: `https://api.tess.im/digital-employees/${employeeId}`,
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'x-workspace-id': 'YOUR_WORKSPACE_ID'
},
data: {
name: 'Finance Ops Updated',
status: 'active',
execution_approval_mode: 'approval_required'
}
};
try {
const response = await axios(config);
console.log(response.data);
} catch (error) {
console.error(error);
}
import requests
employee_id = 123
url = f"https://api.tess.im/digital-employees/{employee_id}"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
"x-workspace-id": "YOUR_WORKSPACE_ID"
}
payload = {
"name": "Finance Ops Updated",
"status": "active",
"execution_approval_mode": "approval_required"
}
response = requests.put(url, json=payload, headers=headers)
print(response.json())
<?php
$employeeId = 123;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tess.im/digital-employees/{$employeeId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
"name" => "Finance Ops Updated",
"status" => "active",
"execution_approval_mode" => "approval_required"
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_KEY",
"Content-Type: application/json",
"x-workspace-id: YOUR_WORKSPACE_ID"
]
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
int employeeId = 123;
String body = """
{
"name": "Finance Ops Updated",
"status": "active",
"execution_approval_mode": "approval_required"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.tess.im/digital-employees/" + employeeId))
.header("Authorization", "Bearer YOUR_API_KEY")
.header("Content-Type", "application/json")
.header("x-workspace-id", "YOUR_WORKSPACE_ID")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
package main
import (
"fmt"
"io/ioutil"
"net/http"
"strings"
)
func main() {
employeeId := 123
payload := strings.NewReader(`{
"name": "Finance Ops Updated",
"status": "active",
"execution_approval_mode": "approval_required"
}`)
client := &http.Client{}
url := fmt.Sprintf("https://api.tess.im/digital-employees/%d", employeeId)
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer YOUR_API_KEY")
req.Header.Add("Content-Type", "application/json")
req.Header.Add("x-workspace-id", "YOUR_WORKSPACE_ID")
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
using System.Net.Http;
using System.Text;
int employeeId = 123;
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");
client.DefaultRequestHeaders.Add("x-workspace-id", "YOUR_WORKSPACE_ID");
var json = """
{
"name": "Finance Ops Updated",
"status": "active",
"execution_approval_mode": "approval_required"
}
""";
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PutAsync(
$"https://api.tess.im/digital-employees/{employeeId}", content);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require 'uri'
require 'net/http'
require 'json'
employee_id = 123
uri = URI("https://api.tess.im/digital-employees/#{employee_id}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Put.new(uri)
request['Authorization'] = 'Bearer YOUR_API_KEY'
request['Content-Type'] = 'application/json'
request['x-workspace-id'] = 'YOUR_WORKSPACE_ID'
request.body = {
name: 'Finance Ops Updated',
status: 'active',
execution_approval_mode: 'approval_required'
}.to_json
response = http.request(request)
puts response.read_body
Headers
Pass your API key as a Bearer token in the
Authorization header.integer
required
ID of the workspace.
Path Parameters
integer
required
ID of the digital employee to update.
Request Body
All fields are optional. Only the fields provided will be updated.string
Employee name. Max 255 characters.
string
Set employee status. Values:
idle or active.string
Execution mode. Values:
agent (autonomous) or chat.string
Whether runs require manual approval. Values:
autonomous or approval_required.string
Cron expression for scheduled runs (e.g.
0 9 * * 1-5). Max 128 characters.object
Schedule builder config (alternative to
heartbeat_cron).string
Timezone for schedule execution (e.g.
America/Sao_Paulo). Max 64 characters.integer
Minimum seconds between runs. Either
0 (no limit) or >= 60.string
Custom system prompt for this employee. Max 4096 characters.
string
Override the AI model (e.g.
tess-6). Max 100 characters.string
Override tool configuration. Max 255 characters.
boolean
Enable Search Intelligence for runs.
array
Array of connector identifiers to enable.
array
Array of skill identifiers to override.
integer
Max consecutive run failures before auto-pause. Range: 1–100.
integer
Execution priority order. Range: 0–999.
boolean
Whether the employee shares memory with its owner agent.
array
Array of file IDs for the knowledge base. Max 20 entries.
string
Avatar image URL. Max 2048 characters.
string
Thumbnail image URL. Max 2048 characters.
string
MBTI personality type (e.g.
INTJ).object
Wake policy configuration object.
object
Budget policy configuration object.
object
Goal configuration object.
object
Work policy configuration object.
string
Voice identifier for real-time voice mode.
object
Delegation configuration object. Supported fields:
trigger:on_delegate_tag|on_schedule|on_parent_completeparallel: boolean — run children in parallelcontext_mode:summary|full|nonemax_concurrent_children: integer (1–10)inherit_budget: booleanauto_delegate_on_schedule: boolean
Response
{
"data": {
"id": 123,
"name": "Finance Ops Updated",
"status": "active"
}
}
⌘I