Skip to content

Calculate V3 Ranks

POST
/rank/v3/rank:calculate

Calculate a rank update on players and return the results without persisting them Requires at least two teams, the players’ ranks before the last match was played, and parameters on how to calculate the rank changes

Required Permissions:

  • For any player (including themselves) any of: rank:*, rank:calculate

Authorizations

Request Body required

A request body to calculate players’ rankings, and return the results. Player ranks will not be updated

object
match_length_seconds
required

How many seconds the match lasted

integer
teams
required

List of teams that participated in this match

Array<object>

One team of players from a match along with their placement in the match, and previous rank data about all of the players

object
players
required

List of CalculatedRank objects that give stats about a specific player from the match

Array<object>

Additional data about a specific player’s rank and previous match in order to make rank calculations

object
player_uuid
required

UUID for this specific player

string format: uuid
rank
required

Current rank info about player

object
mu
required

A measure of perceived skill in a player

number
sigma
required

A measure of how confident we are in the perceived skill (high sigma means low confidence)

number
>= 2
custom_data

Custom key-value player rank data

object
key
additional properties
string
>= 1 characters <= 4096 characters
seconds_in_match
required

How many seconds this player was in the match

integer
team_rank
required

What rank this team came in. 1 indicates victory, and higher values are placements. Matching ranks indicate draws

integer
>= 1
rank_config
required

Configs about how to recalculate and clamp newly calculated ranks

object
max_mu
required

The maximum mu value achievable. Any attempts to update a rank value to be higher than this get clamped to the maximum

number
min_mu
required

The minimum mu value achievable. Any attempts to update a rank value to be lower than this get clamped to the minimum

number
min_sigma
required

The minimum sigma allowed. Any attempts to update sigma to be lower than this get clamped to the minimum

number
>= 2
beta

The distance between skill ranks that yields ~76% chance of winning. Recommended value is half the default sigma

number
default_mu
required

The default mu value for this rank id. Will be used when players do not have any rank history

number
default_sigma
required

The default sigma for this rank id. Will be used when players do not have any rank history

number
>= 2
draw_probability

The percent probability of a draw occuring in the game. Must be in [0, 1)

number
<= 1
tau

Factor that determines how quickly a player’s sigma is adjusted. A larger tau will result in more volatile in ranks. Recommended value is is (default_sigma * .01)

number

Responses

200

Successful Response

A response to recalculating players’ ranks

object
updated_players
required

List of players and their updated ranks

Array<object>

Rank data about a specific player

object
player_uuid
required

UUID for this specific player

string format: uuid
rank
required

Current rank info about player

object
mu
required

A measure of perceived skill in a player

number
sigma
required

A measure of how confident we are in the perceived skill (high sigma means low confidence)

number
>= 2
custom_data

Custom key-value player rank data

object
key
additional properties
string
>= 1 characters <= 4096 characters

403

Forbidden

object
auth_success
boolean
default: true
error_code
required
string
desc
required
string

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string