Changelog
v1.1.0
Opt-in populates via ?include=
- Extended
?include=to support nested populates and per-field selection. Tokens:a,a.b,a.b.c,a(x,y),a.b(x,y). Multiple tokens with the same root automatically merge. See Query Parameter:?include=. - Breaking: the following GET endpoints previously force-populated reference fields. They now return ObjectId strings unless the caller opts in with
?include=. To preserve old behavior, append the listed include tokens:GET /api/v1/divisions/*— add?include=league,layoutGET /api/v1/games/:id— add?include=homeTeam.players,awayTeam.players,organization,leagueGET /api/v1/games/team/:idand/league/:id— add?include=homeTeam,awayTeam,organization,league(plus,divisionfor the/league/:idvariant)GET /api/v1/leagues/:id,/organization/:id— add?include=tournamentGET /api/v1/leagues/tournament/:id— add?include=paymentProduct,tournamentGET /api/v1/tournaments/:idand/organizationName/:name— add?include=paymentProductGET /api/v1/players/team/:id,/division/:id,/registration/:id,/registrationTeam/:id,/game/:id,/league/:id,/leagueName/:name— add?include=teamGET /api/v1/players?team=:id— add&include=teamGET /api/v1/players/search— add&include=team,organizationGET /api/v1/registrations/:id,/organizationName/:name,/tournament/:id,/league/:id,/organizationName/:name/all— add?include=contests,paymentProduct,tournament,contest(plus,leaguefor the/allvariant)GET /api/v1/registrationTeams/:id— add?include=division,playerzGET /api/v1/registrationTeams/registration/:id/all— add?include=division,requestedDivision,tournament,contest,requestedContest,divisionTeam,user(email,name),registration(paymentProduct)GET /api/v1/registrationTeams/organizationName/:name— add?include=team,division,requestedDivision.paymentProduct,requestedContest.paymentProduct,tournament.paymentProduct,contestGET /api/v1/teams/:id,/league/:id,/division/:id,/organizationName/:name,/organization/:orgId/division/:divId— add?include=divisionGET /api/v1/divisionTeams/:id— add?include=division,registrationTeam,registrationGET /api/v1/divisionTeams/division/:id,/registration/d/:id,/registrationTeam/d/:id— add?include=division,team(append,playersto also get rosters)GET /api/v1/divisionTeams/league/:id— add?include=division,team,registrationTeamGET /api/v1/stats/player/:id— add?include=vsTeam,game,organization(name,_id),league(name,_id),player(name,_id)GET /api/v1/stats/players?id=...— add&include=division(name,_id),organization(name,_id),league(name,_id),team,vsTeam,game,player,player.team,player.organizationGET /api/v1/stats/team/:id— add?include=team,vsTeam,game,player,organization,leagueGET /api/v1/stats/game/:id— add?include=player,gameGET /api/v1/payments/organization/:name— add?include=registration,registrationTeam,user(email)GET /api/v1/timeSlots/organizationName/:name,/league/:id,/tournament/:id— add?include=location.parentLocationGET /api/v1/users/profile,/watchlist,PUT /users/addwatch,PUT /users/removewatch— add?include=players,players.team,players.organization,players.leagueGET /api/v1/admins/clerk/:id— add?include=organizations
- A handful of write endpoints (notably
POST /registrationTeams/:id/playerRemove,/requestTeamAccept, and the admin-dashboard summary endpoints) keep their existing populates because the populated fields drive server-side email and business logic; no caller change needed.
v1.0.0
Initial API release
GET/POST/PUT /api/v1/leagues— Season/competition period managementGET/POST/PUT /api/v1/tournaments— Bracket tournament managementGET/POST/PUT /api/v1/divisions— Division and standings managementGET/POST/PUT /api/v1/registrations— Team enrollment windowsGET/POST/PUT /api/v1/players— Player profiles and rostersGET/POST/PUT /api/v1/games— Game scheduling and scores (Basketball, Baseball, Judo, Golf, Racket, Track)GET /api/v1/divisionTeams— Division team roster queries with?include=players- Bearer token authentication with scoped API keys
- Response envelope:
{ success, data, count } - Rate limits: Free (60/min), Pro (300/min), Enterprise (custom)
Last updated on