Reference
Quick Start
Get started with the TournamentSuite API in 5 minutes.
Get up and running with the TournamentSuite API in 5 minutes.
Prerequisites
- A TournamentSuite organizer account (Sign up)
- An API key generated from your project's Settings → Developer → API Keys
1. Make your first request
List tournaments in your project:
curl https://api.tournamentsuite.com/api/v1/tournaments \
-H "X-API-Key: YOUR_API_KEY"Expected response:
{
"success": true,
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Summer Open 2026",
"status": "PUBLISHED",
"startDate": "2026-07-01T00:00:00Z",
"maxParticipants": 64,
"currentParticipants": 48
2. Create a tournament
curl -X POST https://api.tournamentsuite.com/api/v1/tournaments \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My First Tournament",
"disciplineId": "cs2",
"maxParticipants": 16,
"teamSize": 5,
"stages": [
{ "format": "SINGLE_ELIMINATION", "name": "Playoffs" }
],
"startDate": "2026-08-01T00:00:00Z"
}'3. Retrieve the bracket
Once a tournament has started, fetch the full bracket:
curl https://api.tournamentsuite.com/api/v1/tournaments/TOURNAMENT_ID/bracket \
-H "X-API-Key: YOUR_API_KEY"4. Set up a webhook
Register an endpoint to receive real-time event notifications:
curl -X POST https://api.tournamentsuite.com/api/v1/developer/webhooks \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://yourapp.com/webhooks/tournamentsuite",
"events": ["tournament.started", "match.completed"]
}'See Webhooks for the full setup guide including signature verification.
Using TypeScript
const BASE_URL = 'https://api.tournamentsuite.com/api/v1';
const API_KEY = process.env.TOURNAMENTSUITE_API_KEY!;
async function getTournaments() {
const response = await fetch(
Using Python
import requests
import os
BASE_URL = 'https://api.tournamentsuite.com/api/v1'
headers = {'X-API-Key': os.environ['TOURNAMENTSUITE_API_KEY']}
response = requests.get(f
Common errors
| Status | Cause | Fix |
|---|---|---|
401 Unauthorized | Missing or invalid API key | Check X-API-Key header |
403 Forbidden | Insufficient scope | Add required scope to API key |
404 Not Found | Wrong ID | Verify the resource exists in your project |
429 Too Many Requests | Rate limit hit | Wait and retry; see X-RateLimit-Reset header |
Next steps
- Authentication — API keys vs. OAuth 2
- Core Concepts — understand the data model
- Endpoint Catalog — full list of available endpoints
- Webhooks — react to events in real time