Get desktop application:
View/edit binary Protocol Buffers messages
Required: UUID of the season
UUID of player (required unless scope is ALL_PLAYERS)
Minutes to add to time bank
Which games/players to affect
Number of games modified
Season management
Explicit status (SCHEDULED, ACTIVE)
UUID of the cheater to penalize
Ongoing games that were force-forfeited
Completed games with scores modified
UUID of season
Division number to create; existing divisions numbered >= this are shifted up by one
Optional; defaults to "Division {division_number}"
UUID of the newly created division
League management
UUID of season
UUID of division to delete; must have no players registered to it
Remaining divisions with a higher number that were shifted down to close the gap
Division and standings
Roster: all players across all seasons, with division and standings
All players who have ever played in this league.
Season numbers present in the league, ascending.
Statistics (Phase 8)
Phase 8 implementation
Head-to-head records for a player across all league seasons
UUID of player
UUID or slug of league
Optional: filter by specific league
UUID or slug
Number of most recent seasons to return (by season_number desc)
Admin operations
UUID of player to move
UUID of season
UUID of current division
UUID of target division
UUID or slug (for context, not used)
Required: UUID of season to open registration for
Player management
Used in:
Per-season game details (empty until backend is deployed with this field)
Used in:
Used as request type in: LeagueService.InviteUserToLeagues, LeagueService.RevokeUserFromLeagues
UUID of user to invite
Used as response type in: LeagueService.InviteUserToLeagues, LeagueService.RevokeUserFromLeagues
Used as request type in: LeagueService.GetAllSeasons, LeagueService.GetCurrentSeason, LeagueService.GetLeague, LeagueService.GetLeagueRoster, LeagueService.GetLeagueStatistics, LeagueService.GetPastSeasons
UUID or slug
Used as response type in: LeagueService.CreateLeague, LeagueService.GetLeague, LeagueService.UpdateLeagueMetadata, LeagueService.UpdateLeagueSettings
Used in:
One entry per season the player participated in.
Used in:
Final rank in division (0 if season incomplete)
Promoted, relegated, stayed, champion
Used in:
Used in:
"win", "loss", "draw", "turn", "in_progress"
Optional round number
Live clock anchor, populated only for in-progress correspondence/league games (zero/unset for finished games), so a client can tick the on-turn player's deadline. last_update is the time of the last move; increment_secs is the per-turn allowance; on_turn_time_bank_ms is the on-turn player's remaining time bank in milliseconds. Whose turn it is is read from result ("turn" = this player, "in_progress" = the opponent).
mistake_index is this player's "mistake score" for the game from BestBot analysis (lower is better; 0 is a perfect game). It is only present once the game has completed analysis; when absent the client should show a placeholder rather than 0, since 0 is itself a meaningful (perfect) value.
Used in:
Used in:
Empty if not assigned to division yet
0 if not assigned to division yet
Used as request type in: LeagueService.GetAllDivisionStandings, LeagueService.GetSeason, LeagueService.GetSeasonPlayersWithUnstartedGames, LeagueService.GetSeasonRegistrations, LeagueService.GetSeasonZeroMoveGames, LeagueService.RecalculateSeasonExtendedStats
Used as response type in: LeagueService.BootstrapSeason, LeagueService.GetCurrentSeason, LeagueService.GetSeason, LeagueService.OpenRegistration, LeagueService.UpdateSeasonDates, LeagueService.UpdateSeasonPromotionFormula
Used in:
Scope for time bank additions
Used in:
Only the specified player's side in their games
Both sides of the player's games
All in-progress games in the season
Used in: