TS
Tournament Suite
TS
Tournament Suite
Developer Documentation

Tournaments

How tournaments work in TournamentSuite — lifecycle, structure, and key API operations.

A tournament is the central resource in TournamentSuite. It defines the competitive event, its format, its participants, and its schedule.

Tournament lifecycle

Tournaments move through the following states:

DRAFT → PUBLISHED → REGISTRATION_OPEN → REGISTRATION_CLOSED → ONGOING → COMPLETED
StatusDescription
DRAFTTournament is being configured; not visible to the public
PUBLISHEDTournament is public; registration may or may not be open
REGISTRATION_OPENPlayers can register
REGISTRATION_CLOSEDRegistration period has ended; organizer finalizes the bracket
ONGOINGTournament is in progress; matches are being played
COMPLETEDAll matches are resolved; final results are locked

Once a tournament moves to ONGOING, structural settings (format, team size, stage configuration) are locked.

Structure

A tournament contains one or more stages. Each stage has a format:

FormatDescription
SINGLE_ELIMINATIONLosers are immediately eliminated
DOUBLE_ELIMINATIONLosers get a second chance through a losers bracket
ROUND_ROBINEvery participant plays every other participant
SWISSParticipants are paired by current score each round
GROUPSPool stage producing ranked qualifiers

Stages run sequentially. Participants who advance from Stage 1 are automatically seeded into Stage 2.

Key endpoints

List tournaments

GET /api/v1/tournaments?status=PUBLISHED&page=1&limit=20

Get a tournament

GET /api/v1/tournaments/:id

Response includes full tournament details, current status, stage configuration, and participant counts.

Create a tournament

POST /api/v1/tournaments
Content-Type: application/json
X-API-Key: YOUR_API_KEY

{
  "name": "Summer Open 2026",
  "disciplineId": "cs2",
  "maxParticipants": 64,
  "teamSize": 5,
  "stages": [
    { "format": "GROUPS", "name": "Group Stage" },
    { "format": "SINGLE_ELIMINATION", "name": "Playoffs" }
  ],
  "startDate": "2026-07-01T00:00:00Z"
}

Start a tournament

POST /api/v1/tournaments/:id/start

Starting a tournament closes registration, generates the bracket, and seeds participants. After this point, the tournament is ONGOING.

Brackets and seeding

Once a tournament starts, each stage generates its bracket or group table. You can retrieve the bracket at any point:

GET /api/v1/tournaments/:id/bracket

The response includes the full match tree with participant assignments, scores, and advancement paths.

Related resources

  • Participants — who is in the tournament
  • Matches — individual games within a stage
  • Webhooks — get notified when tournament state changes

On this page

Tournament lifecycleStructureKey endpointsList tournamentsGet a tournamentCreate a tournamentStart a tournamentBrackets and seedingRelated resources