TFCL Play API · Docs
The TFCL Play API is our in-house API — it powers both
TFCL Play
(the community-facing site) and
TFCL Prime
(the seasonal league structure at prime.tfcleague.com, currently
in alpha at alpha.tfcleague.com). It is TFCL-specific and is the
API we run and consume ourselves.
Note: v1 also exposes a /api/premium/* surface area for the
TFCL Play premium tier (paid membership, gift codes,
premium API keys). That is a feature within TFCL Play itself — not the same thing as
the TFCL Prime league product above.
v1 is the current single-league surface area of the
TFCL Play API. v2 is the multi-tenant platform
extension of the same API — when the database migration completes, v2
lets a single deployment host other leagues (our own future sub-leagues, or partner
communities we onboard) alongside the original TFCL Play league. Existing v1 integrations
keep working unchanged (internally aliased to leagueId="tfcl").
The in-house API our team runs and consumes. 200+ endpoints covering lobbies, teams, tournaments, cups, servers, points, the TFCL Play premium tier, ELO, matchmaking, and admin operations — all scoped to the single TFCL Play league. Powers TFCL Play (the community site) and TFCL Prime (the seasonal league on its own subdomain). This is what every existing client uses today.
- sessionCookie / premiumApiKey / adminApiKey / pluginSecret
- OpenAPI 3.0 — swagger.yaml
Multi-tenant platform extension of the same TFCL Play API. Once the database
migration completes, v2 lets one deployment host other leagues (our own future
sub-leagues, or partner communities we onboard) alongside the original TFCL Play
league — under an explicit top-level League entity and
scoped endpoints /api/leagues/{leagueId}/…. v1 endpoints
continue working; internally they're aliased to leagueId="tfcl".
- + leagueAdminApiKey / leagueModeratorApiKey / leaguePremiumApiKey
- OpenAPI 3.0 — swagger.yaml