Hi everyone,
When integrating with the API, I noticed inconsistencies across API calls when returning white and black values. For example, for `Current Daily Chess`, the documentation tells us that white/black is a string. But then for `Daily Team match board`, white/black is suddenly an object containing more information (username, rating, etc.). Ok, this doesn't make much sense to me but I can live with it, I just need to use different classes for different calls.
Today, I encountered sometimes way worse. Inconsistencies within the same endpoint. When calling the `Tournament's round group` endpoint, `games` contains white/black values that are documented to be string. But depending on which tournament you are calling it for, a string or a complex object will be returned. For example, for this call, the response contains
{"url": "https://www.chess.com/game/daily/138891582",..."white": {"rating": 1428,"result": "insufficient","@id": "https://api.chess.com/pub/player/rockaround","username": "Rockaround"},"black": {"rating": 1533,"result": "insufficient","@id": "https://api.chess.com/pub/player/mrtn","username": "mrtn"},"tournament": "https://api.chess.com/pub/tournament/-33rd-chesscom-quick-knockouts-1401-1600"}
Ok, that means the documentation is wrong but whatever. What is seriously wrong is that if you make the exact same call for this tournament, you'll get the following:
{"url": "https://www.chess.com/game/daily/289647422",..."white": "https://api.chess.com/pub/player/rainbowsandcastle","black": "https://api.chess.com/pub/player/mainak_roy",...}
Am I missing something? Could this be fixed? This makes it very hard to integrate with the API...