Skip to main content
POST
/
tickets
/
create-game-report
Create game report
curl --request POST \
  --url https://api.series.hr/tickets/create-game-report \
  --header 'Content-Type: application/json' \
  --header 'apikey: <api-key>' \
  --data '
{
  "subject": "<string>",
  "category": "<string>",
  "message": "<string>",
  "authorUserId": 123,
  "authorAvatarUrl": "<string>",
  "placeId": "<string>",
  "priority": "medium",
  "authorUsername": "<string>",
  "authorDisplayName": "<string>",
  "serverId": "<string>"
}
'
Requires Premium or Enterprise subscription

Overview

Create a ticket from an in-game player report. Used by game servers to report players directly to the tickets system. Important Notes:
  • Game reports are marked with GameReport: true
  • Includes GameData with place and server information
  • Discord notifications include a special game report indicator
  • Cannot receive staff replies (game reports are view-only)
  • authorAvatarUrl is required

Request Body

subject
string
required
Report subject
category
string
required
Category ID
message
string
required
Report details
priority
string
Priority level: low, medium, high, urgent (default: medium)
authorUserId
integer
required
Reporter’s UserId
authorUsername
string
Reporter’s username
authorDisplayName
string
Reporter’s display name
authorAvatarUrl
string
required
Reporter’s avatar URL
placeId
string
required
Place ID where the report originated
serverId
string
Server ID where the report originated (optional)

Response

success
boolean
Whether the request was successful
data
object

Example

curl -X POST https://api.series.hr/tickets/create-game-report \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Rule violation report",
    "category": "reports",
    "message": "Player was exploiting",
    "priority": "high",
    "authorUserId": 123456789,
    "authorUsername": "reporter123",
    "authorDisplayName": "Reporter Name",
    "authorAvatarUrl": "https://tr.rbxcdn.com/avatar-url",
    "placeId": "123456789",
    "serverId": "game-server-id-123"
  }'

Response Example

{
  "success": true,
  "data": {
    "TicketId": "TICKET-1234567890-ABCD",
    "_id": "...",
    "WorkspaceId": "a7d5339a-5531-4336-99c6-6f3249c9ac20",
    "Subject": "Rule violation report",
    "Category": "reports",
    "Department": "moderation-dept",
    "Status": "open",
    "Priority": "high",
    "Author": {
      "UserId": 123456789,
      "Username": "reporter123",
      "DisplayName": "Reporter Name",
      "AvatarUrl": "https://..."
    },
    "GameReport": true,
    "GameData": {
      "PlaceId": 123456789,
      "ServerId": "game-server-id-123"
    },
    "CreatedAt": "2025-01-15T10:30:00.000Z",
    "UpdatedAt": "2025-01-15T10:30:00.000Z"
  }
}

Error Responses

{
  "success": false,
  "error": {
    "code": 400,
    "message": "Validation error: Subject is required"
  }
}
{
  "success": false,
  "error": {
    "code": 403,
    "message": "Tickets module requires a Premium or Enterprise subscription"
  }
}
{
  "success": false,
  "error": {
    "code": 403,
    "message": "Tickets module is not enabled for this workspace"
  }
}

Rate Limit

25 requests per second per API key

Authorizations

apikey
string
header
required

Pass your API key in the apikey header. Alternatively, the x-api-key header is also accepted.

Body

application/json
subject
string
required

Report subject

category
string
required

Category ID

message
string
required

Report details

authorUserId
integer
required

Reporter's UserId

authorAvatarUrl
string
required

Avatar URL of the reporter

placeId
string
required

Place ID where the report originated

priority
enum<string>
default:medium
Available options:
low,
medium,
high,
urgent
authorUsername
string

Reporter's username

authorDisplayName
string

Reporter's display name

serverId
string

Server ID where the report originated

Response

Game report ticket created successfully