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

Overview

Create a new support ticket. The author does not need to be a workspace member unless the category requires it. Author Information:
  • authorUserId is required
  • authorAvatarUrl is required
  • authorUsername and authorDisplayName are optional but recommended for users not in the database

Request Body

subject
string
required
Ticket subject/title
category
string
required
Category ID (must exist in workspace configuration)
message
string
required
Initial message content
priority
string
Ticket priority: low, medium, high, urgent (default: medium)
authorUserId
integer
required
UserId of the ticket creator
authorUsername
string
Username of the author (used if not in database)
authorDisplayName
string
Display name of the author (used if not in database)
authorAvatarUrl
string
required
Avatar URL of the ticket author

Response

success
boolean
Whether the request was successful
data
object

Example

curl -X POST https://api.series.hr/tickets/create \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Help with ranking",
    "category": "support",
    "message": "I need help getting ranked in the group",
    "priority": "medium",
    "authorUserId": 123456789,
    "authorUsername": "player123",
    "authorDisplayName": "Player Name",
    "authorAvatarUrl": "https://tr.rbxcdn.com/avatar-url"
  }'

Response Example

{
  "success": true,
  "data": {
    "TicketId": "TICKET-1234567890-ABCD",
    "_id": "...",
    "WorkspaceId": "a7d5339a-5531-4336-99c6-6f3249c9ac20",
    "Subject": "Help with ranking",
    "Category": "support",
    "Department": "support-dept",
    "Status": "open",
    "Priority": "medium",
    "Author": {
      "UserId": 123456789,
      "Username": "player123",
      "DisplayName": "Player Name",
      "AvatarUrl": "https://..."
    },
    "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": 400,
    "message": "authorAvatarUrl 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"
  }
}
{
  "success": false,
  "error": {
    "code": 403,
    "message": "Workspace membership is required to create tickets in this category"
  }
}
{
  "success": false,
  "error": {
    "code": 400,
    "message": "You can only have 5 open tickets in this category"
  }
}

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

Ticket subject

category
string
required

Category ID

message
string
required

Initial message content

authorUserId
integer
required

UserId of the ticket creator

authorAvatarUrl
string
required

Avatar URL of the ticket author

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

Username of the author

authorDisplayName
string

Display name of the author

Response

Ticket created successfully