Circuits
How circuits link multiple tournaments into a season with cumulative standings on TournamentSuite.
A circuit is a competitive series that spans multiple tournaments. Participants earn points in each tournament according to a configured scoring system, and those points accumulate into a season-wide leaderboard called standings.
Circuits are useful for league operators, publishers, and studios that run recurring competitive programs — for example, a monthly tournament series leading to an annual championship.
Circuit structure
Circuit
└── Season
├── Tournament A → Points
├── Tournament B → Points
└── Tournament C → Points
└── Standings (cumulative)A circuit has one or more seasons. Each season has a start and end date, a set of contributing tournaments, and a point scoring configuration. At the end of a season, standings are finalized and can be used to determine championship qualifiers.
Scoring strategies
When you configure a circuit, you choose how points are awarded:
| Strategy | Description |
|---|---|
PLACEMENT | Points awarded by finish position (1st, 2nd, 3rd…) |
LINEAR | Fixed points per position, decreasing by a set amount |
EXPONENTIAL | Points decrease exponentially — rewards top finishes heavily |
Example placement configuration:
{
"strategy": "PLACEMENT",
"placements": {
"1": 100,
"2": 75,
"3": 60,
"4-8": 40,
"9-16": 20
}
}Key endpoints
List circuits
GET /api/v1/circuits?status=ACTIVE
X-API-Key: YOUR_API_KEYGet circuit standings
GET /api/v1/circuits/:id/standings
X-API-Key: YOUR_API_KEYReturns the current ranked list of participants with their accumulated points, wins, and rank.
Get season details
GET /api/v1/circuits/:circuitId/seasons/:seasonId
X-API-Key: YOUR_API_KEYAdd a tournament to a circuit
Once a tournament completes, its results can be classified into a circuit season to award points:
POST /api/v1/circuits/:id/tournaments/:tournamentId/classify
X-API-Key: YOUR_API_KEY
Content-Type: application/json
{
"pointMultiplier": 1.5
}The optional pointMultiplier scales the base points — useful for giving "major" tournaments higher weight in the standings.
Real-time standings
Subscribe to circuit events via Webhooks:
circuit.standings_updated— standings changed after a tournament was classifiedcircuit.season_started— a new season has beguncircuit.season_ended— season is concluded and standings are finalized