Skip to main content
POST
/
leagues
/
{identifier}
/
tickets
/
{ticketId}
/
reply
Reply to a league support ticket
curl --request POST \
  --url https://teambattles.gg/api/v1/leagues/{identifier}/tickets/{ticketId}/reply \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "content": "<string>",
  "isInternal": true
}
'
{
  "success": true,
  "timestamp": "<string>"
}

Permission Required

This endpoint requires a league-operator API key bound to the league with the tickets capability set to write.

Membership Required

The API key owner must have a MANAGER or higher role in the league, or be a TeamBattles staff member.

League Identifier

The {identifier} path parameter accepts a league slug or Convex league ID.

Ticket ID

The {ticketId} path parameter is the league ticket to reply to.

Behavior

Replies are written as ticket messages by the API key owner. When the ticket has no first response timestamp, the reply records one. If the ticket was waiting on a response, the status moves to in_progress. Set isInternal to true to create an internal note for league staff.

Authorizations

Authorization
string
header
required

Send your API key as: Authorization: Bearer tb_

Path Parameters

identifier
string
required

League slug or Convex league ID.

ticketId
string
required

League ticket ID.

Body

application/json

Adds a reply or internal note to a league support ticket.

content
string
required
Required string length: 1 - 2000
isInternal
boolean

Response

The ticket reply was added.

success
boolean
required
timestamp
string
required

Response generation time (ISO 8601).