A tournament's participating teams
Participants ordered by seed then name. Seed is null until bracket data is sourced. Unknown tournament yields an empty list. Enveloped `{"data": [TournamentParticipant, ...], "meta": {...}}` (not cursor-paginated).
Participants ordered by seed then name. Seed is null until bracket data is sourced. Unknown tournament yields an empty list. Enveloped {"data": [TournamentParticipant, ...], "meta": {...}} (not cursor-paginated).
Primary auth (live). Authorization: Bearer <api-key> — the header takes precedence over the query fallback. The raw key is hashed (SHA-256, hex) and looked up in api.keys.key_hash; the raw value is never stored.
In: header
Path Parameters
Game slug. cs2 is the only populated title today; an un-onboarded game 404s cleanly.
Resource identifier — either a UUID or the resource's human-readable slug, scoped to {game}. /v1/cs2/teams/natus-vincere and /v1/cs2/teams/019f23d1-fb5c-7987-b522-47c3a5e72111 address the same row, so you can go straight from a slug you already have without first looking up its id.
Slugs work on teams, players and tournaments. Matches have no slug, so a match id must be a UUID. Either way, an identifier that resolves to nothing returns 404 not_found.
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/cs2/tournaments/019f2858-e253-7f3d-bdff-bc7738bd1036/teams"{ "data": [ { "team_id": "019f23d1-fb5b-71d8-9023-a08747198ad8", "name": "ALKA", "short_name": "ALKAa", "seed": null }, { "team_id": "019f23d1-fb5b-77ca-8df2-9ffa3341d8b7", "name": "BESTIA Academy", "short_name": "", "seed": null }, { "team_id": "019f23d1-fb5b-7009-acc8-c2bd6bfdbd17", "name": "Blitzkrieg", "short_name": "BK", "seed": null } ], "meta": { "count": 26, "next_cursor": null }}{ "error": { "code": "not_found", "message": "not found", "request_id": "019f3d18-c15f-7319-81a7-343e8a80a578" }}{ "error": { "code": "not_found", "message": "not found", "request_id": "019f3d18-c15f-7319-81a7-343e8a80a578" }}A single tournament GET
One tournament by id. For the field list see the `Tournament` schema; for who is playing, use the participating-teams sub-resource.
List tournaments for a game GET
Every tournament in the game, newest first by start date, cursor-paginated. Filter by `slug`, `tier`, `region`, `year` or `status`; the filters combine with AND. Note `status` is derived from the event's dates rather than stored, so a tournament with no `starts_at` has a null status and is excluded by any `status` filter.