TS
Tournament Suite
TS
Tournament Suite
Developer Documentation

Endpoint Catalog

Quick reference for all public TournamentSuite REST API endpoints, organized by resource.

API Version: v1 Base URL: https://api.tournamentsuite.com/api/v1

All requests require an X-API-Key header or an Authorization: Bearer <token> header. Endpoints marked Public do not require authentication.


Tournaments

# Public
GET    /tournaments/:id               # Get tournament details
GET    /tournaments/:id/bracket       # Get bracket structure
GET    /tournaments/:id/schedule      # Get match schedule
GET    /tournaments/:id/stages        # Get tournament stages

# Organizer (API key with manage:tournaments)
POST   /tournaments                   # Create tournament
PUT    /tournaments/:id               # Update tournament
DELETE /tournaments/:id               # Delete tournament
POST   /tournaments/:id/start         # Start tournament and generate bracket
POST   /tournaments/:id/publish       # Publish tournament (make it public)

# Participant (user access token)
POST   /tournaments/:id/participate   # Register for a tournament
POST   /tournaments/:id/checkin       # Confirm attendance (check in)

Participants

# Public
GET    /tournaments/:id/participants          # List participants
GET    /tournaments/:id/participants/:pid    # Get participant details

# Organizer
DELETE /tournaments/:id/participants/:pid    # Remove or disqualify participant
PATCH  /tournaments/:id/participants/:pid    # Update participant (seed, status)

Matches

# Public
GET    /matches/:id                   # Get match details

# Participant (user access token)
POST   /matches/:id/start             # Signal match has started
POST   /matches/:id/report            # Submit match result
POST   /matches/:id/confirm           # Confirm opponent's reported result
POST   /matches/:id/dispute           # Open a dispute on the result
POST   /matches/:id/evidence          # Attach evidence to a dispute

# Organizer
POST   /matches/:id/resolve           # Override result and resolve dispute

Circuits

# Public
GET    /circuits/public/active        # List active circuits
GET    /circuits/public/:id           # Get circuit details

# Authenticated (read:circuits)
GET    /circuits/:id                  # Get circuit with full details
GET    /circuits/:id/standings        # Get cumulative standings
GET    /circuits/:id/seasons/:sid     # Get season details
GET    /circuits/:id/tournaments      # List tournaments in circuit

# Organizer (manage:circuits)
POST   /circuits                      # Create circuit
PUT    /circuits/:id                  # Update circuit
POST   /circuits/:id/seasons          # Create a new season
POST   /circuits/:id/tournaments/:tid/classify  # Classify tournament results into standings
POST   /circuits/:id/start            # Start a circuit season
POST   /circuits/:id/complete         # Complete a circuit season

Organizations & Teams

# Public
GET    /organizations/:id             # Get organization details

# Authenticated
POST   /organizations                 # Create organization
PUT    /organizations/:id             # Update organization
DELETE /organizations/:id             # Delete organization
GET    /organizations/:id/staff       # List staff members
POST   /organizations/:id/staff/invite           # Invite staff member
POST   /organizations/:id/staff/invitations/:token/accept  # Accept invitation
DELETE /organizations/:id/staff/:staffId         # Remove staff member

Users & Profiles

# Public
GET    /users/:username               # Get public user profile

# Authenticated (own account)
GET    /users/me                      # Get own profile
PATCH  /users/me                      # Update own profile

# Gaming account links
POST   /gaming/platforms/:platform/link     # Link a gaming account (Steam, Riot, Epic)
DELETE /gaming/platforms/:platform/unlink   # Unlink a gaming account
GET    /gaming/profile                      # Get all linked gaming profiles

Notifications

# Authenticated
GET    /notifications                         # List notifications
PATCH  /notifications/:id/read                # Mark notification as read
PATCH  /notifications/read-all                # Mark all as read
GET    /notifications/preferences             # Get notification preferences
PATCH  /notifications/preferences             # Update notification preferences

Webhooks & Developer

# Authenticated (manage:webhooks)
GET    /developer/webhooks            # List webhook subscriptions
POST   /developer/webhooks            # Create webhook subscription
PATCH  /developer/webhooks/:id        # Update webhook subscription
DELETE /developer/webhooks/:id        # Delete webhook subscription

# Authenticated (read:webhooks)
GET    /developer/api-keys            # List API keys
POST   /developer/api-keys            # Create API key
DELETE /developer/api-keys/:id        # Revoke API key

Calendar

# Authenticated
GET    /calendar/feed                 # Get calendar feed (filterable by tournament, circuit)
GET    /calendar/export               # Export as iCalendar (.ics)

Analytics

# Authenticated (read:analytics)
GET    /tournaments/:id/analytics     # Tournament participant and match analytics
GET    /circuits/:id/analytics        # Circuit engagement and standings analytics

Health

# Public
GET    /health                        # API health check

Common query parameters

All list endpoints support standard pagination and filtering:

?page=1&limit=20
?status=PUBLISHED
?startDate=2026-07-01
?endDate=2026-08-31
?sortBy=createdAt&sortOrder=desc

See Pagination for details.


Response codes

See Response Codes for the full list of status codes and error envelope format.


Related

  • Authentication
  • Scopes
  • Webhooks
  • Core Concepts

On this page

TournamentsParticipantsMatchesCircuitsOrganizations & TeamsUsers & ProfilesNotificationsWebhooks & DeveloperCalendarAnalyticsHealthCommon query parametersResponse codesRelated