Skip to main content
GET
/
tickets
/
{ticketId}
Get one of the API key owner's tickets
curl --request GET \
  --url https://teambattles.gg/api/v1/tickets/{ticketId} \
  --header 'Authorization: Bearer <token>'
{
  "id": "<string>",
  "ticketNumber": 0,
  "subject": "<string>",
  "description": "<string>",
  "category": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>",
  "resolvedAt": "<string>",
  "closedAt": "<string>",
  "messages": [
    {
      "id": "<string>",
      "content": "<string>",
      "isSystem": true,
      "isOwnMessage": true,
      "createdAt": "<string>"
    }
  ],
  "timestamp": "<string>"
}

Permission Required

This endpoint requires tickets.read:read on your API key. The reader is always the API key owner, derived from the key itself - it is never accepted as a parameter.

Access / Membership Rules

Tickets are owner-scoped (binding: "none"). You may read a ticket only if you own it. A ticket you do not own - or an unknown id - reads as 404 TICKET_NOT_FOUND and never reveals its existence. Internal staff notes are excluded from the returned thread.

What’s Returned

Returns the ticket and its message thread: id, ticketNumber, subject, description, category, status (open, in_progress, awaiting_response, resolved, or closed), priority (low, medium, high, or urgent), createdAt, updatedAt, resolvedAt, closedAt, a messages array, and a timestamp. Each entry in messages carries id, content, isSystem (true for automated system messages), isOwnMessage (true when you sent it), and createdAt. Mintlify renders the full schema from the spec below.
To reply on this ticket, call Reply To One Of Your Tickets with this ticket’s id.

Authorizations

Authorization
string
header
required

Send your API key as: Authorization: Bearer tb_

Path Parameters

ticketId
string
required

Ticket ID.

Response

The ticket and its message thread.

id
string
required
ticketNumber
integer
required
Required range: -9007199254740991 <= x <= 9007199254740991
subject
string
required
description
string
required
category
string
required
status
enum<string>
required
Available options:
open,
in_progress,
awaiting_response,
resolved,
closed
priority
enum<string>
required
Available options:
low,
medium,
high,
urgent
createdAt
string | null
required
updatedAt
string | null
required
resolvedAt
string | null
required
closedAt
string | null
required
messages
object[]
required
timestamp
string
required