Bug (or inconsistancy) in Team Match endpoint

Sort:
Tricky_Dicky

This looks to be an exceptional situation for rating restricted team matches during registration. Relates only to players who have registered but then their rating exceeds limits before match starts. On web page, player who exceeds rating limit is moved down to bottom of roster and if rating remains outside limits then will be eliminated as match starts.

Web page shows rating, API end point does not.

Example: https://www.chess.com/club/matches/1204580/games board #16. (as at 10th Feb)

In Team match endpoint https://api.chess.com/pub/match/{ID} spec shows

"players": [
                {
                    "username": "username", 
                    "board": "url", // url of board ***
                    "rating": 1355, //rating of player
                    "rd": 25.12, //Glicko RD
                    "timeout_percent": 25.12, //timeout percentage in the last 90 days
                    "status": "basic" //status of user
                }
            ]

From API endpoint https://api.chess.com/pub/match/1204580 no rating shown.
{"username":"thewiddy","timeout_percent":0,"rd":88.54,"status":"premium"}

*** Also in all cases no board url is shown during registration
Tricky_Dicky

My prefered solution would be a change to the specification. I think the endpoint reflects the real world correctly.

ImperfectAge

Why would the rating for such players not be reported in the endpoint? The rating is included for the other players. It would be even more convenient if there was another field that specifically indicates they are outside the rating limits and liable to be removed when the match starts.

Tricky_Dicky

If the rating where to be included the endpoint would incorrectly assume, in this case, that the player would be playing on board #one. Registration phase the registered players are listed in rating order. In_progress the are listed alphabetically with a board number included.

The option for out of range members would be another valid solution but would require the endpoint modifying. Not sure that's going to happen ATM. So pragmatically, change the spec.

stephen_33
ImperfectAge wrote:

Why would the rating for such players not be reported in the endpoint? The rating is included for the other players. It would be even more convenient if there was another field that specifically indicates they are outside the rating limits and liable to be removed when the match starts.

Agree fully, that makes more sense to me too - if a player who's rating has drifted outside of the match rating limits becomes effectively excluded from taking part, show them as being excluded (until their rating drifts back of course).

This situation of omitting just the rating field from the player's endpoint data seems ... arbitrary?

Nevfy
ImperfectAge:

<...> It would be even more convenient if there was another field that specifically indicates they are outside the rating limits and liable to be removed when the match starts.

I don't like such idea. From what you have now, you can easily understand: will the player be removed or not.

Even if rating for "unsuitable" players will be returned as well, you can easily calculate for each player: will he be removed or not. All matches, that have rating restrictions, have fields 'max_rating' or/and 'min_rating' in 'settings' (check out, for example, match from topic starter: https://api.chess.com/pub/match/1204580 ), so just compare player's rating with these values.

In its turn, introduction of a new field for each player would make an endpoint larger without bringing any useful benefits.