Batch update agents
curl --request PATCH \
--url https://api.helpdesk.com/v1/agents \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"ids": [
"42e113f9-9353-4e89-9f68-69b92f423b0c"
],
"fields": {
"teamIDs": [
"f56caf69-3f05-4386-9567-fdc909d7ad77"
],
"flags": {
"visitedWelcomeTutorial": true
},
"settings": {
"emailNotificationsActive": true,
"webpushNotificationsActive": "always"
}
}
}
'import requests
url = "https://api.helpdesk.com/v1/agents"
payload = {
"ids": ["42e113f9-9353-4e89-9f68-69b92f423b0c"],
"fields": {
"teamIDs": ["f56caf69-3f05-4386-9567-fdc909d7ad77"],
"flags": { "visitedWelcomeTutorial": True },
"settings": {
"emailNotificationsActive": True,
"webpushNotificationsActive": "always"
}
}
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ids: ['42e113f9-9353-4e89-9f68-69b92f423b0c'],
fields: {
teamIDs: ['f56caf69-3f05-4386-9567-fdc909d7ad77'],
flags: {visitedWelcomeTutorial: true},
settings: {emailNotificationsActive: true, webpushNotificationsActive: 'always'}
}
})
};
fetch('https://api.helpdesk.com/v1/agents', 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.helpdesk.com/v1/agents",
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([
'ids' => [
'42e113f9-9353-4e89-9f68-69b92f423b0c'
],
'fields' => [
'teamIDs' => [
'f56caf69-3f05-4386-9567-fdc909d7ad77'
],
'flags' => [
'visitedWelcomeTutorial' => true
],
'settings' => [
'emailNotificationsActive' => true,
'webpushNotificationsActive' => 'always'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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.helpdesk.com/v1/agents"
payload := strings.NewReader("{\n \"ids\": [\n \"42e113f9-9353-4e89-9f68-69b92f423b0c\"\n ],\n \"fields\": {\n \"teamIDs\": [\n \"f56caf69-3f05-4386-9567-fdc909d7ad77\"\n ],\n \"flags\": {\n \"visitedWelcomeTutorial\": true\n },\n \"settings\": {\n \"emailNotificationsActive\": true,\n \"webpushNotificationsActive\": \"always\"\n }\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.helpdesk.com/v1/agents")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"42e113f9-9353-4e89-9f68-69b92f423b0c\"\n ],\n \"fields\": {\n \"teamIDs\": [\n \"f56caf69-3f05-4386-9567-fdc909d7ad77\"\n ],\n \"flags\": {\n \"visitedWelcomeTutorial\": true\n },\n \"settings\": {\n \"emailNotificationsActive\": true,\n \"webpushNotificationsActive\": \"always\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.helpdesk.com/v1/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ids\": [\n \"42e113f9-9353-4e89-9f68-69b92f423b0c\"\n ],\n \"fields\": {\n \"teamIDs\": [\n \"f56caf69-3f05-4386-9567-fdc909d7ad77\"\n ],\n \"flags\": {\n \"visitedWelcomeTutorial\": true\n },\n \"settings\": {\n \"emailNotificationsActive\": true,\n \"webpushNotificationsActive\": \"always\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"ID": "42e113f9-9353-4e89-9f68-69b92f423b0c",
"licenseID": 13381337,
"createdAt": "2026-06-30T22:02:08.901Z",
"createdBy": "f56caf69-3f05-4386-9567-fdc909d7ad77",
"createdByType": "agent",
"updatedAt": "2026-06-30T22:02:08.901Z",
"updatedBy": "f56caf69-3f05-4386-9567-fdc909d7ad77",
"roles": [
"owner"
],
"teamIDs": [
"f56caf69-3f05-4386-9567-fdc909d7ad77"
],
"email": "john@helpdesk.com",
"name": "John Text",
"status": "active",
"avatar": "https://livechat.s3.amazonaws.com/1520/avatars/c17903a3abff472f4b36ac33187cc135.jpeg",
"flags": {
"visitedWelcomeTutorial": true
},
"settings": {
"emailNotificationsActive": true,
"webpushNotificationsActive": "always"
},
"autoassignment": true,
"autoassignmentTeamIDs": [
"9dd9e888-b42e-46c1-aa63-20cb5354c28c"
],
"signature": {
"text": "Best regards,\nJohn // Text, Inc.\n",
"richTextObj": [
{
"type": "paragraph"
},
{
"children": [
{
"text": "Best regards,"
},
{
"type": "paragraph"
},
{
"children": null
},
{
"text": "Jogn // Text, Inc."
}
]
}
],
"attachments": []
}
}Agents
Batch update agents
PATCH
/
v1
/
agents
Batch update agents
curl --request PATCH \
--url https://api.helpdesk.com/v1/agents \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"ids": [
"42e113f9-9353-4e89-9f68-69b92f423b0c"
],
"fields": {
"teamIDs": [
"f56caf69-3f05-4386-9567-fdc909d7ad77"
],
"flags": {
"visitedWelcomeTutorial": true
},
"settings": {
"emailNotificationsActive": true,
"webpushNotificationsActive": "always"
}
}
}
'import requests
url = "https://api.helpdesk.com/v1/agents"
payload = {
"ids": ["42e113f9-9353-4e89-9f68-69b92f423b0c"],
"fields": {
"teamIDs": ["f56caf69-3f05-4386-9567-fdc909d7ad77"],
"flags": { "visitedWelcomeTutorial": True },
"settings": {
"emailNotificationsActive": True,
"webpushNotificationsActive": "always"
}
}
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ids: ['42e113f9-9353-4e89-9f68-69b92f423b0c'],
fields: {
teamIDs: ['f56caf69-3f05-4386-9567-fdc909d7ad77'],
flags: {visitedWelcomeTutorial: true},
settings: {emailNotificationsActive: true, webpushNotificationsActive: 'always'}
}
})
};
fetch('https://api.helpdesk.com/v1/agents', 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.helpdesk.com/v1/agents",
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([
'ids' => [
'42e113f9-9353-4e89-9f68-69b92f423b0c'
],
'fields' => [
'teamIDs' => [
'f56caf69-3f05-4386-9567-fdc909d7ad77'
],
'flags' => [
'visitedWelcomeTutorial' => true
],
'settings' => [
'emailNotificationsActive' => true,
'webpushNotificationsActive' => 'always'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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.helpdesk.com/v1/agents"
payload := strings.NewReader("{\n \"ids\": [\n \"42e113f9-9353-4e89-9f68-69b92f423b0c\"\n ],\n \"fields\": {\n \"teamIDs\": [\n \"f56caf69-3f05-4386-9567-fdc909d7ad77\"\n ],\n \"flags\": {\n \"visitedWelcomeTutorial\": true\n },\n \"settings\": {\n \"emailNotificationsActive\": true,\n \"webpushNotificationsActive\": \"always\"\n }\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.helpdesk.com/v1/agents")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"42e113f9-9353-4e89-9f68-69b92f423b0c\"\n ],\n \"fields\": {\n \"teamIDs\": [\n \"f56caf69-3f05-4386-9567-fdc909d7ad77\"\n ],\n \"flags\": {\n \"visitedWelcomeTutorial\": true\n },\n \"settings\": {\n \"emailNotificationsActive\": true,\n \"webpushNotificationsActive\": \"always\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.helpdesk.com/v1/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ids\": [\n \"42e113f9-9353-4e89-9f68-69b92f423b0c\"\n ],\n \"fields\": {\n \"teamIDs\": [\n \"f56caf69-3f05-4386-9567-fdc909d7ad77\"\n ],\n \"flags\": {\n \"visitedWelcomeTutorial\": true\n },\n \"settings\": {\n \"emailNotificationsActive\": true,\n \"webpushNotificationsActive\": \"always\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"ID": "42e113f9-9353-4e89-9f68-69b92f423b0c",
"licenseID": 13381337,
"createdAt": "2026-06-30T22:02:08.901Z",
"createdBy": "f56caf69-3f05-4386-9567-fdc909d7ad77",
"createdByType": "agent",
"updatedAt": "2026-06-30T22:02:08.901Z",
"updatedBy": "f56caf69-3f05-4386-9567-fdc909d7ad77",
"roles": [
"owner"
],
"teamIDs": [
"f56caf69-3f05-4386-9567-fdc909d7ad77"
],
"email": "john@helpdesk.com",
"name": "John Text",
"status": "active",
"avatar": "https://livechat.s3.amazonaws.com/1520/avatars/c17903a3abff472f4b36ac33187cc135.jpeg",
"flags": {
"visitedWelcomeTutorial": true
},
"settings": {
"emailNotificationsActive": true,
"webpushNotificationsActive": "always"
},
"autoassignment": true,
"autoassignmentTeamIDs": [
"9dd9e888-b42e-46c1-aa63-20cb5354c28c"
],
"signature": {
"text": "Best regards,\nJohn // Text, Inc.\n",
"richTextObj": [
{
"type": "paragraph"
},
{
"children": [
{
"text": "Best regards,"
},
{
"type": "paragraph"
},
{
"children": null
},
{
"text": "Jogn // Text, Inc."
}
]
}
],
"attachments": []
}
}Authorizations
PersonalAccessTokenBearerAuth
Use your account ID as the username and your personal access token (PAT) as the password, or pass a Base64-encoded value directly in the Authorization header. For more information, see the personal access tokens guide.
Response
200 - application/json
Successful response.
Unique object identifier.
Unique account identifier.
The time of creation.
The creator identifier.
The creator type.
Available options:
agent, client, system The time of last modification.
The modification author identifier.
Agent role
Available options:
owner, normal, viewer A list of teams that agent is a member of.
The agent's email.
The full name.
The account status.
Available options:
active, invited The avatar URL.
The job title.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Enable autoassignment for the agent.
A list of teams from which an agent can be auto-assigned.
Show child attributes
Show child attributes
Was this page helpful?
⌘I