Claim ticket
curl --request POST \
--url https://api.series.hr/tickets/{ticketId}/claim \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"staffUserId": 123
}
'import requests
url = "https://api.series.hr/tickets/{ticketId}/claim"
payload = { "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({staffUserId: 123})
};
fetch('https://api.series.hr/tickets/{ticketId}/claim', 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}/claim",
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([
'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}/claim"
payload := strings.NewReader("{\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}/claim")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"staffUserId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.series.hr/tickets/{ticketId}/claim")
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 \"staffUserId\": 123\n}"
response = http.request(request)
puts response.read_bodyTickets
Claim Ticket
Claim a ticket for handling
POST
/
tickets
/
{ticketId}
/
claim
Claim ticket
curl --request POST \
--url https://api.series.hr/tickets/{ticketId}/claim \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"staffUserId": 123
}
'import requests
url = "https://api.series.hr/tickets/{ticketId}/claim"
payload = { "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({staffUserId: 123})
};
fetch('https://api.series.hr/tickets/{ticketId}/claim', 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}/claim",
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([
'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}/claim"
payload := strings.NewReader("{\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}/claim")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"staffUserId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.series.hr/tickets/{ticketId}/claim")
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 \"staffUserId\": 123\n}"
response = http.request(request)
puts response.read_bodyRequires Premium or Enterprise subscription
Overview
Claim a ticket for handling by a staff member. Sets the ticket status toin-progress.
Important Notes:
- Only one staff member can claim a ticket at a time
- Claimed tickets cannot be claimed by another staff member until unclaimed
- A system message is automatically added when claiming
Path Parameters
string
required
Ticket ID
Request Body
integer
required
UserId of the staff member claiming the ticket
Response
boolean
Whether the request was successful
Example
curl -X POST "https://api.series.hr/tickets/TICKET-1234567890-ABCD/claim" \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"staffUserId": 987654321
}'
const response = await fetch('https://api.series.hr/tickets/TICKET-1234567890-ABCD/claim', {
method: 'POST',
headers: {
'apikey': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
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/claim",
Method = "POST",
Headers = {
["apikey"] = "YOUR_API_KEY",
["Content-Type"] = "application/json"
},
Body = HttpService:JSONEncode({
staffUserId = 987654321
})
})
local data = HttpService:JSONDecode(response.Body)
import requests
response = requests.post(
'https://api.series.hr/tickets/TICKET-1234567890-ABCD/claim',
headers={
'apikey': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={'staffUserId': 987654321}
)
data = response.json()
Response Example
{
"success": true,
"data": {
"message": "Ticket claimed successfully"
}
}
Error Responses
400 - Already Claimed
400 - Already Claimed
{
"success": false,
"error": {
"code": 400,
"message": "Ticket already claimed"
}
}
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
UserId of the staff member claiming the ticket
Response
Ticket claimed successfully
⌘I

