Lobby/Games API
Scenario 1: Display the Lobby
Concurrent players in the lobby at peak time:
| Estimation for the repartition of players within the different tabs:
|
Requests:
Action | Endpoint | Frequency | Estimation | With +50% margin |
---|---|---|---|---|
Refresh the sso token | PUT /keepalive/{authToken} | every 5 min | = 2,000 calls / min = 34 TPS | 50 TPS |
Get the list of zone games | GET /zone/games/{playMode}/{gameType}/{buyin}/{limit}/{seats}?authToken={authToken} | every 50 sec | 7% players on zone tab = 700 players = 14 TPS | 21 TPS |
Get the list of cash tables | GET /cash/tables/{playMode}/{gameType}/{buyin}/{limit}/{seats}?authToken={authToken} | every 50 sec | 32% players on cash tab = 3,200 players = 64 TPS | 96 TPS |
Get the list of tournaments | GET/tournaments/games/{playMode}/{gameFormat}/{tournamentType}/{gameType}/{buyin}/{limit}/{seats}?authToken={authToken} | 1 time | 990 logins / min 53 % of players going to a tournament tab = 8.7 TPS | 13 TPS |
In addition, each player will have a WebSocket connection to the Lobby Websocket API.
Scenario 2: Play a Game
Concurrent players playing a game at peak time:
| Estimation for the repartition of players within the different game types:
|
Requests:
Action | Endpoint | Frequency | Current peak / estimation | With +50% margin |
---|---|---|---|---|
Get buyin info for a zone game | GET /zone/buyin/{gameId}/{authToken} | 1 time | 30 / min = 0.5 TPS | 0.75 TPS |
Buyin to a zone game | POST /zone/buyin/{gameId}/{authToken} | 1 time | 30 / min = 0.5 TPS | 0.75 TPS |
Get buyin info for a tournament | GET /tournaments/{tournamentId}/register/{authToken} | 1 time | 153 / min = 2.6 TPS | 4 TPS |
Buyin to a tournament | POST /tournaments/{tournamentId}/register/{authToken} | 1 time | 153 / min = 2.6 TPS | 4 TPS |
Launch a game | POST /launchGame/{gameFormat}/{gameId}/{authToken} | 1 time | 224 / min = 3.7 TPS | 5.5 TPS |
Get tournament information | GET /tournaments/{tournamentId}/info | 1 time | 153 / min = 2.6 TPS | 4 TPS |
Get tournament state | GET /tournaments/{tournamentId}/state | every 30 sec | 60% players in tournaments = 6,000 = 200 TPS | 300 TPS |
Get tournament table list | GET /tournaments/{tournamentId}/tables | every 10 sec | 60% players in tournaments = 6,000 = 600 TPS | 900 TPS |
Get tournament leaderboard | GET /tournaments/{tournamentId}/leaderboard | every 10 sec | 60% players in tournaments = 6,000 = 600 TPS | 900 TPS |
Get my rank | GET /tournaments/{tournamentId}/rank/{authToken} | 1 time | 153 / min = 2.6 TPS | 4 TPS |
In addition, each player will have a WebSocket connection to the Games API.
Other actions
Requests:
Action | Endpoint | Frequency | Current peak | With +50% margin |
---|---|---|---|---|
Unregister from a tournament | POST /tournaments/{tournamentId}/unregister/{authToken} | 1 time | 10 / min = 0.16 TPS | 0.25 TPS |
Account API
Action | Endpoint | Frequency | Current peak / estimation | With +50% margin |
---|---|---|---|---|
Get account information | GET /account/{authToken} | 1 time (launch DL) | Mobile: 87/min DL: 224/min = 5 TPS | 7.5 TPS |
Request play money | PUT /account/playMoney/{authToken} | 1 time | Mobile: 8/min DL: 52/min = 1 TPS | 1.5 TPS |
Get preferences | GET /preferences/{preferenceType}/{authToken} | 1 time (launch DL) | 1,632/min = 27 TPS | 41 TPS |
Set preferences | PUT /preferences/{preferenceType}/{authToken} | 1 time | 389/min = 6.5 TPS | 9.75 TPS |
Get system wide message | GET/message/{messageType}/{messageId}/{clientType}/{authToken} | 1 time | 10,000/min = 166 TPS | 250 TPS |
Set fingerprint | PUT /fingerprint/{authToken} | 1 time (launch DL) | Mobile: 87/min DL: 990/min = 18 TPS | 27 TPS |
Check profile status | PUT /checkProfile/{authToken} | 1 time (launch DL) | DL: 990/min = 16.5 TPS | 24.75 TPS |
Get banned words | GET /bannedWords | 1 time (launch DL) | Mobile: 58/min DL: 1,100/min = 19 TPS | 29 TPS |
Get server settings | GET /settings | 1 time (launch DL) | Mobile: 45/min DL: 1,100/min = 19 TPS | 29 TPS |
Get operator profile | GET /operatorProfile | 1 time (launch DL) | DL: 1,100/min = 18 TPS | 27.5 TPS |
Get tournament custom type | GET /tournamentCustomType | 1 time (launch DL) | DL: 8,600/min = 143 TPS | 215 TPS |
Get banners info | GET /banners | 1 time (launch DL) | DL: 4,090/min = 68 TPS | 102 TPS |
Get bonus feature status | GET /bonus/feature | 1 time | Mobile: 116/min = 2 TPS | 3 TPS |
Get bonus indicator | GET /bonus/indicator/{authToken} | every 5 min in DL client | DL: 2,000/min = 33 TPS | 50 TPS |
Get active bonus information | GET /bonus/active/{authToken} | 1 time | Mobile: 80/min = 1.5 TPS | 2 TPS |
Get available bonus list | GET /bonus/available/{authToken} | 1 time | Mobile: 11/min = 0.2 TPS | 0.3 TPS |
Get bonus details | GET /bonus/{bonusId}/details/{authToken} | 1 time | Mobile: 9/min = 0.15 TPS | 0.23 TPS |
Activate bonus | PUT /bonus/{bonusId}/{action}/{authToken} | 1 time | Mobile: 1/min = 0.01 TPS | 0.02 TPS |
Reorder bonus | PUT /bonus/{bonusId}/move/{direction}/{authToken} | 1 time | Mobile: 1/min = 0.01 TPS | 0.02 TPS |
Get HH list | GET /hh/{gameFormat}/{authToken} | 1 time | Mobile: 9/min DL: 154/min = 2.7 TPS | 4 TPS |
Get HH details | GET /hh/{gameFormat}/{handId}/{authToken} | 1 time | Mobile: 32/min DL: 154/min = 3 TPS | 5 TPS |
Send error log to server | POST /logging/client/{logType}/{authToken} | 1 time | DL: 1,882/min = 31 TPS | 47 TPS |
Calculation API
Action | Endpoint | Frequency | Current peak / estimation | With +50% margin |
---|---|---|---|---|
Get all-in percentages | POST /all-in-percentages | 80% holdem 20% omaha
33% 5 board cards 33% 4 board cards 23% 3 board cards 11% no board cards
| 1000/min = 16.5 TPS | 25 TPS |