Transfer department
curl --request POST \
--url https://api.series.hr/tickets/{ticketId}/transfer \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"departmentId": "<string>",
"staffUserId": 123
}
'import requests
url = "https://api.series.hr/tickets/{ticketId}/transfer"
payload = {
"departmentId": "<string>",
"staffUserId": 123
}
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({departmentId: '<string>', staffUserId: 123})
};
fetch('https://api.series.hr/tickets/{ticketId}/transfer', 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.series.hr/tickets/{ticketId}/transfer",
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([
'departmentId' => '<string>',
'staffUserId' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <api-key>"
],
]);
$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.series.hr/tickets/{ticketId}/transfer"
payload := strings.NewReader("{\n \"departmentId\": \"<string>\",\n \"staffUserId\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
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.series.hr/tickets/{ticketId}/transfer")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"departmentId\": \"<string>\",\n \"staffUserId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.series.hr/tickets/{ticketId}/transfer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"departmentId\": \"<string>\",\n \"staffUserId\": 123\n}"
response = http.request(request)
puts response.read_bodyTickets
Transfer Department
Transfer a ticket to a different department
POST
/
tickets
/
{ticketId}
/
transfer
Transfer department
curl --request POST \
--url https://api.series.hr/tickets/{ticketId}/transfer \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"departmentId": "<string>",
"staffUserId": 123
}
'import requests
url = "https://api.series.hr/tickets/{ticketId}/transfer"
payload = {
"departmentId": "<string>",
"staffUserId": 123
}
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({departmentId: '<string>', staffUserId: 123})
};
fetch('https://api.series.hr/tickets/{ticketId}/transfer', 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.series.hr/tickets/{ticketId}/transfer",
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([
'departmentId' => '<string>',
'staffUserId' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <api-key>"
],
]);
$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.series.hr/tickets/{ticketId}/transfer"
payload := strings.NewReader("{\n \"departmentId\": \"<string>\",\n \"staffUserId\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
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.series.hr/tickets/{ticketId}/transfer")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"departmentId\": \"<string>\",\n \"staffUserId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.series.hr/tickets/{ticketId}/transfer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"departmentId\": \"<string>\",\n \"staffUserId\": 123\n}"
response = http.request(request)
puts response.read_bodyRequires Premium or Enterprise subscription
Overview
Transfer a ticket to a different department. This automatically unclaims the ticket. Important Notes:- The ticket is moved to the new department
- The ticket is automatically unclaimed
- System messages are added for transfer and unclaim actions
- The new department must be configured to handle the ticket’s category
Path Parameters
string
required
Ticket ID
Request Body
string
required
ID of the target department
integer
required
UserId of the staff member transferring the ticket
Response
boolean
Whether the request was successful
Example
curl -X POST "https://api.series.hr/tickets/TICKET-1234567890-ABCD/transfer" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"departmentId": "moderation-dept",
"staffUserId": 987654321
}'
const response = await fetch('https://api.series.hr/tickets/TICKET-1234567890-ABCD/transfer', {
method: 'POST',
headers: {
'apikey': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
departmentId: 'moderation-dept',
staffUserId: 987654321
})
});
const data = await response.json();
local HttpService = game:GetService("HttpService")
local response = HttpService:RequestAsync({
Url = "https://api.series.hr/tickets/TICKET-1234567890-ABCD/transfer",
Method = "POST",
Headers = {
["apikey"] = "YOUR_API_KEY",
["Content-Type"] = "application/json"
},
Body = HttpService:JSONEncode({
departmentId = "moderation-dept",
staffUserId = 987654321
})
})
local data = HttpService:JSONDecode(response.Body)
import requests
response = requests.post(
'https://api.series.hr/tickets/TICKET-1234567890-ABCD/transfer',
headers={
'apikey': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'departmentId': 'moderation-dept',
'staffUserId': 987654321
}
)
data = response.json()
Response Example
{
"success": true,
"data": {
"message": "Ticket transferred to Moderation Department"
}
}
Error Responses
404 - Department Not Found
404 - Department Not Found
{
"success": false,
"error": {
"code": 404,
"message": "Department not found"
}
}
403 - Premium Required
403 - Premium Required
{
"success": false,
"error": {
"code": 403,
"message": "Tickets module requires a Premium or Enterprise subscription"
}
}
404 - Ticket Not Found
404 - Ticket Not Found
{
"success": false,
"error": {
"code": 404,
"message": "Ticket not found"
}
}
Rate Limit
25 requests per second per API keyAuthorizations
Pass your API key in the apikey header. Alternatively, the x-api-key header is also accepted.
Path Parameters
Ticket ID
Body
application/json
Response
Ticket transferred successfully
⌘I

