curl --request POST \
--url https://api.helpdesk.com/v1/teams \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Sales team",
"settings": {
"notifyTeamAboutRequestersActivity": true,
"notifyTeamAboutAssignedTicket": true,
"unauthReplyCreatesNewTicket": true,
"tagReminder": true
},
"replyAddressID": "9dd9e888-b42e-46c1-aa63-20cb5354c28c",
"replyName": "Company / Support",
"templateID": "6712e8a9-3401-4ed3-9662-944aa6be817f",
"autoassignmentAgentIDs": [
"9dd9e888-b42e-46c1-aa63-20cb5354c28c"
]
}
'import requests
url = "https://api.helpdesk.com/v1/teams"
payload = {
"name": "Sales team",
"settings": {
"notifyTeamAboutRequestersActivity": True,
"notifyTeamAboutAssignedTicket": True,
"unauthReplyCreatesNewTicket": True,
"tagReminder": True
},
"replyAddressID": "9dd9e888-b42e-46c1-aa63-20cb5354c28c",
"replyName": "Company / Support",
"templateID": "6712e8a9-3401-4ed3-9662-944aa6be817f",
"autoassignmentAgentIDs": ["9dd9e888-b42e-46c1-aa63-20cb5354c28c"]
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Sales team',
settings: {
notifyTeamAboutRequestersActivity: true,
notifyTeamAboutAssignedTicket: true,
unauthReplyCreatesNewTicket: true,
tagReminder: true
},
replyAddressID: '9dd9e888-b42e-46c1-aa63-20cb5354c28c',
replyName: 'Company / Support',
templateID: '6712e8a9-3401-4ed3-9662-944aa6be817f',
autoassignmentAgentIDs: ['9dd9e888-b42e-46c1-aa63-20cb5354c28c']
})
};
fetch('https://api.helpdesk.com/v1/teams', 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/teams",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Sales team',
'settings' => [
'notifyTeamAboutRequestersActivity' => true,
'notifyTeamAboutAssignedTicket' => true,
'unauthReplyCreatesNewTicket' => true,
'tagReminder' => true
],
'replyAddressID' => '9dd9e888-b42e-46c1-aa63-20cb5354c28c',
'replyName' => 'Company / Support',
'templateID' => '6712e8a9-3401-4ed3-9662-944aa6be817f',
'autoassignmentAgentIDs' => [
'9dd9e888-b42e-46c1-aa63-20cb5354c28c'
]
]),
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/teams"
payload := strings.NewReader("{\n \"name\": \"Sales team\",\n \"settings\": {\n \"notifyTeamAboutRequestersActivity\": true,\n \"notifyTeamAboutAssignedTicket\": true,\n \"unauthReplyCreatesNewTicket\": true,\n \"tagReminder\": true\n },\n \"replyAddressID\": \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\",\n \"replyName\": \"Company / Support\",\n \"templateID\": \"6712e8a9-3401-4ed3-9662-944aa6be817f\",\n \"autoassignmentAgentIDs\": [\n \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.helpdesk.com/v1/teams")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Sales team\",\n \"settings\": {\n \"notifyTeamAboutRequestersActivity\": true,\n \"notifyTeamAboutAssignedTicket\": true,\n \"unauthReplyCreatesNewTicket\": true,\n \"tagReminder\": true\n },\n \"replyAddressID\": \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\",\n \"replyName\": \"Company / Support\",\n \"templateID\": \"6712e8a9-3401-4ed3-9662-944aa6be817f\",\n \"autoassignmentAgentIDs\": [\n \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.helpdesk.com/v1/teams")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Sales team\",\n \"settings\": {\n \"notifyTeamAboutRequestersActivity\": true,\n \"notifyTeamAboutAssignedTicket\": true,\n \"unauthReplyCreatesNewTicket\": true,\n \"tagReminder\": true\n },\n \"replyAddressID\": \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\",\n \"replyName\": \"Company / Support\",\n \"templateID\": \"6712e8a9-3401-4ed3-9662-944aa6be817f\",\n \"autoassignmentAgentIDs\": [\n \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\"\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",
"name": "Sales team",
"settings": {
"notifyTeamAboutRequestersActivity": true,
"notifyTeamAboutAssignedTicket": true,
"unauthReplyCreatesNewTicket": true,
"tagReminder": true
},
"replyAddressID": "9dd9e888-b42e-46c1-aa63-20cb5354c28c",
"replyName": "Company / Support",
"templateID": "6712e8a9-3401-4ed3-9662-944aa6be817f"
}Create team
curl --request POST \
--url https://api.helpdesk.com/v1/teams \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Sales team",
"settings": {
"notifyTeamAboutRequestersActivity": true,
"notifyTeamAboutAssignedTicket": true,
"unauthReplyCreatesNewTicket": true,
"tagReminder": true
},
"replyAddressID": "9dd9e888-b42e-46c1-aa63-20cb5354c28c",
"replyName": "Company / Support",
"templateID": "6712e8a9-3401-4ed3-9662-944aa6be817f",
"autoassignmentAgentIDs": [
"9dd9e888-b42e-46c1-aa63-20cb5354c28c"
]
}
'import requests
url = "https://api.helpdesk.com/v1/teams"
payload = {
"name": "Sales team",
"settings": {
"notifyTeamAboutRequestersActivity": True,
"notifyTeamAboutAssignedTicket": True,
"unauthReplyCreatesNewTicket": True,
"tagReminder": True
},
"replyAddressID": "9dd9e888-b42e-46c1-aa63-20cb5354c28c",
"replyName": "Company / Support",
"templateID": "6712e8a9-3401-4ed3-9662-944aa6be817f",
"autoassignmentAgentIDs": ["9dd9e888-b42e-46c1-aa63-20cb5354c28c"]
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Sales team',
settings: {
notifyTeamAboutRequestersActivity: true,
notifyTeamAboutAssignedTicket: true,
unauthReplyCreatesNewTicket: true,
tagReminder: true
},
replyAddressID: '9dd9e888-b42e-46c1-aa63-20cb5354c28c',
replyName: 'Company / Support',
templateID: '6712e8a9-3401-4ed3-9662-944aa6be817f',
autoassignmentAgentIDs: ['9dd9e888-b42e-46c1-aa63-20cb5354c28c']
})
};
fetch('https://api.helpdesk.com/v1/teams', 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/teams",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Sales team',
'settings' => [
'notifyTeamAboutRequestersActivity' => true,
'notifyTeamAboutAssignedTicket' => true,
'unauthReplyCreatesNewTicket' => true,
'tagReminder' => true
],
'replyAddressID' => '9dd9e888-b42e-46c1-aa63-20cb5354c28c',
'replyName' => 'Company / Support',
'templateID' => '6712e8a9-3401-4ed3-9662-944aa6be817f',
'autoassignmentAgentIDs' => [
'9dd9e888-b42e-46c1-aa63-20cb5354c28c'
]
]),
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/teams"
payload := strings.NewReader("{\n \"name\": \"Sales team\",\n \"settings\": {\n \"notifyTeamAboutRequestersActivity\": true,\n \"notifyTeamAboutAssignedTicket\": true,\n \"unauthReplyCreatesNewTicket\": true,\n \"tagReminder\": true\n },\n \"replyAddressID\": \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\",\n \"replyName\": \"Company / Support\",\n \"templateID\": \"6712e8a9-3401-4ed3-9662-944aa6be817f\",\n \"autoassignmentAgentIDs\": [\n \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.helpdesk.com/v1/teams")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Sales team\",\n \"settings\": {\n \"notifyTeamAboutRequestersActivity\": true,\n \"notifyTeamAboutAssignedTicket\": true,\n \"unauthReplyCreatesNewTicket\": true,\n \"tagReminder\": true\n },\n \"replyAddressID\": \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\",\n \"replyName\": \"Company / Support\",\n \"templateID\": \"6712e8a9-3401-4ed3-9662-944aa6be817f\",\n \"autoassignmentAgentIDs\": [\n \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.helpdesk.com/v1/teams")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Sales team\",\n \"settings\": {\n \"notifyTeamAboutRequestersActivity\": true,\n \"notifyTeamAboutAssignedTicket\": true,\n \"unauthReplyCreatesNewTicket\": true,\n \"tagReminder\": true\n },\n \"replyAddressID\": \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\",\n \"replyName\": \"Company / Support\",\n \"templateID\": \"6712e8a9-3401-4ed3-9662-944aa6be817f\",\n \"autoassignmentAgentIDs\": [\n \"9dd9e888-b42e-46c1-aa63-20cb5354c28c\"\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",
"name": "Sales team",
"settings": {
"notifyTeamAboutRequestersActivity": true,
"notifyTeamAboutAssignedTicket": true,
"unauthReplyCreatesNewTicket": true,
"tagReminder": true
},
"replyAddressID": "9dd9e888-b42e-46c1-aa63-20cb5354c28c",
"replyName": "Company / Support",
"templateID": "6712e8a9-3401-4ed3-9662-944aa6be817f"
}Authorizations
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.
Body
The team name.
Show child attributes
Show child attributes
The reply address ID.
From name visible in reply email.
The template ID.
A list of agents that will be considered for ticket assignment within the team.
Response
Successful response.
Unique object identifier.
Unique account identifier.
The time of creation.
The creator identifier.
The creator type.
agent, client, system The time of last modification.
The modification author identifier.
The team name.
Show child attributes
Show child attributes
The reply address ID.
From name visible in reply email.
The template ID.
The external integrations data.
Was this page helpful?