# Recommendations API

**Recommendations API** provides recommendations of casino lobbies, user lobbies and similar games for a player to an Operator based on a player's interactions (gameplays) on Hub88 platform.

Our recommendation engine uses player interaction data—specifically bet activity across all suppliers—to deliver personalised game suggestions.

**How it works?**

* **For similar games,** recommendations are generated using collaborative filtering, based on what a player plays alongside others who play the same games.
* **For lobbies,** recommendations are done in two ways, either by:&#x20;
  * Reflecting **network-wide trends** (all game plays across Hub88) (default).
  * Showing **top-performing games by turnover** in the last 30 days *(Configurable on demand).*

The Recommendations API's use case enables more tailored, data-driven experiences for players.

***

## Recommendations API Reference

***

### Get casino lobby recommendations

***

## POST /recommendations/lobby

> \*\*Casino lobby recommendation:\*\*\
> &#x20;        The endpoint provides a list of  recommended top games based on overall unique users’ interactions with the games. The list of games returned is sorted and scored from high to low, a higher score indicates an increased possibility of interaction with the game.

```json
{"openapi":"3.1.1","info":{"title":"Hub88","version":"2.0"},"tags":[{"name":"Recommendations API","description":"Games recommendation to operator based on players interactions (game plays) on Hub88 platform."}],"paths":{"/recommendations/lobby":{"post":{"tags":["Recommendations API"],"summary":"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Recommendations"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationsError"}}}}},"parameters":[{"schema":{"type":"string"},"required":true,"name":"X-Hub88-Signature","in":"header","description":"RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key associated with the provided `operator_id`."}],"description":"**Casino lobby recommendation:**\n         The endpoint provides a list of  recommended top games based on overall unique users’ interactions with the games. The list of games returned is sorted and scored from high to low, a higher score indicates an increased possibility of interaction with the game.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["operator_id","platform"],"properties":{"operator_id":{"description":"","$ref":"#/components/schemas/operator_id"},"platform":{"type":"string","description":"The device platform type for which game recommendations are provided. It's the current device platform the user is accessing the Operator's site from."},"user":{"type":"string","description":"The unique user name of the player on Operator's side. \n The parameter is required to reference if a user exists on Hub88 platform, i.e. has launched a game at least once. "},"language":{"type":"string","description":"The language enabled for the user on the site, used to help improve the quality of recommendations. Optional context parameter. "},"currency":{"type":"string","description":"The currency which has been currently enabled for the wallet on the site. This value can be provided to help improve the quality of recommendations, in a situation where user switches between multiple wallets (currencies) to play games on the site. Optional context parameter."},"location":{"type":"string","description":"The country location provided to help improve the quality of the recommendation in a situation player plays from multiple locations (countries). Optional context parameter."},"limit":{"type":"integer","description":"The limits for the count of returned game recommendations. Default limit: 50, Maximum limit: 500."}}}}},"required":true,"description":""}}}},"components":{"schemas":{"Recommendations":{"type":"object","title":"Success response","required":["games","recommendation_id"],"properties":{"games":{"description":"List of recommended Games","type":"array","items":{"type":"object","title":"","required":["category","blocked_countries","game_code","name","platforms","product","url_background","url_thumb"],"properties":{"url_thumb":{"type":"string","description":"Game preview image URL"},"url_background":{"type":"string","description":"Game background image URL"},"product":{"type":"string","description":"The Game provider"},"platforms":{"type":"array","items":{"$ref":"#/components/schemas/platform"},"description":"List of supported platforms"},"name":{"type":"string","description":"Full game name"},"game_code":{"description":"","$ref":"#/components/schemas/game_code"},"freebet_support":{"type":"boolean","description":"Flag which shows whether game supports the creation of freebets"},"enabled":{"type":"boolean","description":"Shows whether the Game is enabled or not"},"category":{"description":"","$ref":"#/components/schemas/category"},"blocked_countries":{"description":"","$ref":"#/components/schemas/blocked_countries"},"release_date":{"type":"string","format":"date","description":"[RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) / [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) formatted date when the Game is due to go live."},"scatters":{"type":"boolean","description":"Shows whether the Game has scatters logic."},"in_game_freebets":{"type":"boolean","description":"Shows whether the Game has an in-game bonus logic for rewarding users with free games."},"volatility":{"type":"integer","enum":[1,2,3,4,5,6],"description":"Shows how volatile the Game is on scale of numerical 1-6.\n\n1 - Low\n\n2 - Medium-Low\n\n3 - Medium\n\n4 - Medium-High\n\n5 - High\n\n6 - Very High"},"rtp":{"type":"string","description":"Return To Player percentage of the Game. The value is stored as decimal in a form of a string, showing how much of the total bet amount will be redistributed between players as winnings."},"paylines":{"type":"integer","description":"Shows maximum number of available paylines in the game."},"hit_ratio":{"type":"string","description":"The Hit Ratio indicates the ratio between winning and losing bets in a span of 100 bets. The Ratio is stored as decimal in the form of a string. Can be sent as null, when the game is live or supplier hasn't forwarded the data."},"certifications":{"type":"array","items":{"enum":["CURACAO","MGA","IOM"],"type":"string"},"description":"Shows the list of gaming authorities, which have certified the Game."},"languages":{"type":"array","items":{"type":"string","description":"[ISO 639-2 alpha-3](https://www.iso.org/iso-639-language-code) language code."},"description":"The List of languages supported by the Game."},"theme":{"type":"array","items":{"type":"string"},"description":"List of themes assigned to the Game."},"technology":{"type":"array","items":{"type":"string"},"description":"Technologies used within the Game."},"score":{"type":"number","description":"Recommendation score. The higher the score the higher the chance of user interacting with the Game."}}}},"recommendation_id":{"description":"Unique identifier for a recommendation. \n Operator must send this unique identifier as part of the `meta` object values when requesting the Game URL for any game returned in the list of games in this response which the `recommendation_id` belongs to, this helps in improving the quality of recommendations. ","type":"string"}}},"platform":{"type":"string","enum":["GPL_DESKTOP","GPL_MOBILE"],"description":"The platform layout, either mobile or desktop, the User has. This property can be ignored, if the mode is chosen based on User's browser attributes (user-agent, resolution, ratio, orientation)."},"game_code":{"type":"string","description":"The unique game identifier in Hub88 system in the form of a string. `game_code` can be obtained from the `/game/list` endpoint."},"category":{"type":"string","enum":["Video Keno","Video Bingo","Live Poker","Live Wheel of Fortune","Live Sicbo","Live Crash","Baccarat","Bet On Poker","Blackjack","Casual Games","Jackpot Slots","Live Baccarat","Live Blackjack","Live Dealer","Live Dice","Live Games","Live Keno","Live Lottery","Live Roulette","Lottery","Minigame","Multiplayer","Player Props","Poker","Roulette","Scratch Cards","Sportsbook","Table Games","Video Poker","Virtual Sports","Wheel of Fortune","Instant Win Games","Keno","Bingo","Sic Bo","Video Slots","Unknown","Crash","Scratch","Dragon Tiger","Live Game Shows","Live Dragon Tiger","Crash Games","Arcade Games","Other Table Games","Other Live Games","Dice","Plinko","Hi Lo"],"description":"The game type as a category. The following enum contains all possible values."},"blocked_countries":{"type":"array","items":{"$ref":"#/components/schemas/country"},"description":"List of blocked countries. A Game must not be shown and launched for the users in the specified countries. Supplier's content is blocked in the listed country regardless of the local license.  "},"country":{"type":"string","enum":["XX","AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"The [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) country code, applicable to the User in the current session. "},"RecommendationsError":{"type":"object","title":"Error response","properties":{"error":{"type":"string","description":"Message with reason why the request failed."}}},"operator_id":{"type":"integer","description":"Unique identifier for the Operator in Hub88 system. Used to authorize incoming requests. You can obtain your `operator_id` from the Hub88 BackOffice after your Operator entity is registered and set up in the Hub88 system by the internal teams."}}}}
```

***

### Get personalized user lobby recommendations

***

## POST /recommendations/user\_lobby

> \*\*User personalized lobby:\*\* \
> &#x20;The endpoint provides a predefined and recommended list of games the player is likely to interact with next. The predicted list is based on player's historical interactions on the Hub88 platform. The response of the endpoint is a mixture of games the player has played before and new games the player is likely to play next, based on their historical interactions.  \
> &#x20;\
> &#x20;The list of games is scored and ordered from high to low according to the likelihood of the player interacting with them. \
> \
> &#x20;\*\*Note:\*\* For new users with no historical interactions, initially top games based on overall unique users’ interactions are recommended (as in casino lobby recommendation). Subsequently, the player gets recommendations based on their personal playing history.

```json
{"openapi":"3.1.1","info":{"title":"Hub88","version":"2.0"},"tags":[{"name":"Recommendations API","description":"Games recommendation to operator based on players interactions (game plays) on Hub88 platform."}],"paths":{"/recommendations/user_lobby":{"post":{"tags":["Recommendations API"],"summary":"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Recommendations"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationsError"}}}}},"parameters":[{"schema":{"type":"string"},"required":true,"name":"X-Hub88-Signature","in":"header","description":"RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key associated with the provided `operator_id`."}],"description":"**User personalized lobby:** \n The endpoint provides a predefined and recommended list of games the player is likely to interact with next. The predicted list is based on player's historical interactions on the Hub88 platform. The response of the endpoint is a mixture of games the player has played before and new games the player is likely to play next, based on their historical interactions.  \n \n The list of games is scored and ordered from high to low according to the likelihood of the player interacting with them. \n\n **Note:** For new users with no historical interactions, initially top games based on overall unique users’ interactions are recommended (as in casino lobby recommendation). Subsequently, the player gets recommendations based on their personal playing history.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["operator_id","user","platform"],"properties":{"operator_id":{"description":"","$ref":"#/components/schemas/operator_id"},"platform":{"type":"string","description":"The device platform type for which game recommendations are provided. It's the current device platform the user is accessing the Operator's site from."},"user":{"type":"string","description":"The unique user name of the player on Operator's side.\n\n In case of first time user, with no historical interactions, initially top games based on overall unique users’ interactions are recommended (as in casino lobby recommendation). Subsequently, the player gets recommendations based on their personal playing history.  "},"language":{"type":"string","description":"The language enabled for the user on the site, used to help improve the quality of recommendations. Optional context parameter. "},"currency":{"type":"string","description":"The currency which has been currently enabled for the wallet on the site. This value can be provided to help improve the quality of recommendations, in a situation where user switches between multiple wallets (currencies) to play games on the site. Optional context parameter."},"location":{"type":"string","description":"The country location provided to help improve the quality of the recommendation in a situation player plays from multiple locations (countries). Optional context parameter."},"limit":{"type":"integer","description":"The limits for the count of returned game recommendations. Default limit: 50, Maximum limit: 500."}}}}},"required":true,"description":""}}}},"components":{"schemas":{"Recommendations":{"type":"object","title":"Success response","required":["games","recommendation_id"],"properties":{"games":{"description":"List of recommended Games","type":"array","items":{"type":"object","title":"","required":["category","blocked_countries","game_code","name","platforms","product","url_background","url_thumb"],"properties":{"url_thumb":{"type":"string","description":"Game preview image URL"},"url_background":{"type":"string","description":"Game background image URL"},"product":{"type":"string","description":"The Game provider"},"platforms":{"type":"array","items":{"$ref":"#/components/schemas/platform"},"description":"List of supported platforms"},"name":{"type":"string","description":"Full game name"},"game_code":{"description":"","$ref":"#/components/schemas/game_code"},"freebet_support":{"type":"boolean","description":"Flag which shows whether game supports the creation of freebets"},"enabled":{"type":"boolean","description":"Shows whether the Game is enabled or not"},"category":{"description":"","$ref":"#/components/schemas/category"},"blocked_countries":{"description":"","$ref":"#/components/schemas/blocked_countries"},"release_date":{"type":"string","format":"date","description":"[RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) / [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) formatted date when the Game is due to go live."},"scatters":{"type":"boolean","description":"Shows whether the Game has scatters logic."},"in_game_freebets":{"type":"boolean","description":"Shows whether the Game has an in-game bonus logic for rewarding users with free games."},"volatility":{"type":"integer","enum":[1,2,3,4,5,6],"description":"Shows how volatile the Game is on scale of numerical 1-6.\n\n1 - Low\n\n2 - Medium-Low\n\n3 - Medium\n\n4 - Medium-High\n\n5 - High\n\n6 - Very High"},"rtp":{"type":"string","description":"Return To Player percentage of the Game. The value is stored as decimal in a form of a string, showing how much of the total bet amount will be redistributed between players as winnings."},"paylines":{"type":"integer","description":"Shows maximum number of available paylines in the game."},"hit_ratio":{"type":"string","description":"The Hit Ratio indicates the ratio between winning and losing bets in a span of 100 bets. The Ratio is stored as decimal in the form of a string. Can be sent as null, when the game is live or supplier hasn't forwarded the data."},"certifications":{"type":"array","items":{"enum":["CURACAO","MGA","IOM"],"type":"string"},"description":"Shows the list of gaming authorities, which have certified the Game."},"languages":{"type":"array","items":{"type":"string","description":"[ISO 639-2 alpha-3](https://www.iso.org/iso-639-language-code) language code."},"description":"The List of languages supported by the Game."},"theme":{"type":"array","items":{"type":"string"},"description":"List of themes assigned to the Game."},"technology":{"type":"array","items":{"type":"string"},"description":"Technologies used within the Game."},"score":{"type":"number","description":"Recommendation score. The higher the score the higher the chance of user interacting with the Game."}}}},"recommendation_id":{"description":"Unique identifier for a recommendation. \n Operator must send this unique identifier as part of the `meta` object values when requesting the Game URL for any game returned in the list of games in this response which the `recommendation_id` belongs to, this helps in improving the quality of recommendations. ","type":"string"}}},"platform":{"type":"string","enum":["GPL_DESKTOP","GPL_MOBILE"],"description":"The platform layout, either mobile or desktop, the User has. This property can be ignored, if the mode is chosen based on User's browser attributes (user-agent, resolution, ratio, orientation)."},"game_code":{"type":"string","description":"The unique game identifier in Hub88 system in the form of a string. `game_code` can be obtained from the `/game/list` endpoint."},"category":{"type":"string","enum":["Video Keno","Video Bingo","Live Poker","Live Wheel of Fortune","Live Sicbo","Live Crash","Baccarat","Bet On Poker","Blackjack","Casual Games","Jackpot Slots","Live Baccarat","Live Blackjack","Live Dealer","Live Dice","Live Games","Live Keno","Live Lottery","Live Roulette","Lottery","Minigame","Multiplayer","Player Props","Poker","Roulette","Scratch Cards","Sportsbook","Table Games","Video Poker","Virtual Sports","Wheel of Fortune","Instant Win Games","Keno","Bingo","Sic Bo","Video Slots","Unknown","Crash","Scratch","Dragon Tiger","Live Game Shows","Live Dragon Tiger","Crash Games","Arcade Games","Other Table Games","Other Live Games","Dice","Plinko","Hi Lo"],"description":"The game type as a category. The following enum contains all possible values."},"blocked_countries":{"type":"array","items":{"$ref":"#/components/schemas/country"},"description":"List of blocked countries. A Game must not be shown and launched for the users in the specified countries. Supplier's content is blocked in the listed country regardless of the local license.  "},"country":{"type":"string","enum":["XX","AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"The [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) country code, applicable to the User in the current session. "},"RecommendationsError":{"type":"object","title":"Error response","properties":{"error":{"type":"string","description":"Message with reason why the request failed."}}},"operator_id":{"type":"integer","description":"Unique identifier for the Operator in Hub88 system. Used to authorize incoming requests. You can obtain your `operator_id` from the Hub88 BackOffice after your Operator entity is registered and set up in the Hub88 system by the internal teams."}}}}
```

***

### Get recommendations for a similar game

***

## POST /recommendations/similar\_games

> \*\*Similar games recommendation:\*\*\
> &#x20;         Endpoint recommends similar games to the game requested based on co-occurrence of interactions (game plays) on the requested game and other games in all recorded game plays on Hub88 platform. \
> &#x20;\
> &#x20;The response game list contains popular games played by other players, who have also played the game in the request.

```json
{"openapi":"3.1.1","info":{"title":"Hub88","version":"2.0"},"tags":[{"name":"Recommendations API","description":"Games recommendation to operator based on players interactions (game plays) on Hub88 platform."}],"paths":{"/recommendations/similar_games":{"post":{"tags":["Recommendations API"],"summary":"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Recommendations"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationsError"}}}}},"parameters":[{"schema":{"type":"string"},"required":true,"name":"X-Hub88-Signature","in":"header","description":"RSA-SHA256 is used to sign the request body using a private key. The signature is validated using the public key associated with the provided `operator_id`."}],"description":"**Similar games recommendation:**\n          Endpoint recommends similar games to the game requested based on co-occurrence of interactions (game plays) on the requested game and other games in all recorded game plays on Hub88 platform. \n \n The response game list contains popular games played by other players, who have also played the game in the request.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["operator_id","game_code","platform"],"properties":{"operator_id":{"description":"","$ref":"#/components/schemas/operator_id"},"platform":{"type":"string","description":"The platform of the device Game gets recommendations for."},"game_code":{"type":"string","description":"The Game reference code to recommend similar games for. "},"language":{"type":"string","description":"The language enabled for the user on the site, used to help improve the quality of recommendations. Optional context parameter."},"currency":{"type":"string","description":"The currency which has been currently enabled for the wallet on the site. This value can be provided to help improve the quality of recommendations, in a situation where user switches between multiple wallets (currencies) to play games on the site. Optional context parameter. "},"location":{"type":"string","description":"The country location provided to help improve the quality of the recommendation in a situation player plays from multiple locations (countries). Optional context parameter. "},"limit":{"type":"integer","description":"Limits the count of returned games in the response. Maximum is 500."}}}}},"required":true,"description":""}}}},"components":{"schemas":{"Recommendations":{"type":"object","title":"Success response","required":["games","recommendation_id"],"properties":{"games":{"description":"List of recommended Games","type":"array","items":{"type":"object","title":"","required":["category","blocked_countries","game_code","name","platforms","product","url_background","url_thumb"],"properties":{"url_thumb":{"type":"string","description":"Game preview image URL"},"url_background":{"type":"string","description":"Game background image URL"},"product":{"type":"string","description":"The Game provider"},"platforms":{"type":"array","items":{"$ref":"#/components/schemas/platform"},"description":"List of supported platforms"},"name":{"type":"string","description":"Full game name"},"game_code":{"description":"","$ref":"#/components/schemas/game_code"},"freebet_support":{"type":"boolean","description":"Flag which shows whether game supports the creation of freebets"},"enabled":{"type":"boolean","description":"Shows whether the Game is enabled or not"},"category":{"description":"","$ref":"#/components/schemas/category"},"blocked_countries":{"description":"","$ref":"#/components/schemas/blocked_countries"},"release_date":{"type":"string","format":"date","description":"[RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) / [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) formatted date when the Game is due to go live."},"scatters":{"type":"boolean","description":"Shows whether the Game has scatters logic."},"in_game_freebets":{"type":"boolean","description":"Shows whether the Game has an in-game bonus logic for rewarding users with free games."},"volatility":{"type":"integer","enum":[1,2,3,4,5,6],"description":"Shows how volatile the Game is on scale of numerical 1-6.\n\n1 - Low\n\n2 - Medium-Low\n\n3 - Medium\n\n4 - Medium-High\n\n5 - High\n\n6 - Very High"},"rtp":{"type":"string","description":"Return To Player percentage of the Game. The value is stored as decimal in a form of a string, showing how much of the total bet amount will be redistributed between players as winnings."},"paylines":{"type":"integer","description":"Shows maximum number of available paylines in the game."},"hit_ratio":{"type":"string","description":"The Hit Ratio indicates the ratio between winning and losing bets in a span of 100 bets. The Ratio is stored as decimal in the form of a string. Can be sent as null, when the game is live or supplier hasn't forwarded the data."},"certifications":{"type":"array","items":{"enum":["CURACAO","MGA","IOM"],"type":"string"},"description":"Shows the list of gaming authorities, which have certified the Game."},"languages":{"type":"array","items":{"type":"string","description":"[ISO 639-2 alpha-3](https://www.iso.org/iso-639-language-code) language code."},"description":"The List of languages supported by the Game."},"theme":{"type":"array","items":{"type":"string"},"description":"List of themes assigned to the Game."},"technology":{"type":"array","items":{"type":"string"},"description":"Technologies used within the Game."},"score":{"type":"number","description":"Recommendation score. The higher the score the higher the chance of user interacting with the Game."}}}},"recommendation_id":{"description":"Unique identifier for a recommendation. \n Operator must send this unique identifier as part of the `meta` object values when requesting the Game URL for any game returned in the list of games in this response which the `recommendation_id` belongs to, this helps in improving the quality of recommendations. ","type":"string"}}},"platform":{"type":"string","enum":["GPL_DESKTOP","GPL_MOBILE"],"description":"The platform layout, either mobile or desktop, the User has. This property can be ignored, if the mode is chosen based on User's browser attributes (user-agent, resolution, ratio, orientation)."},"game_code":{"type":"string","description":"The unique game identifier in Hub88 system in the form of a string. `game_code` can be obtained from the `/game/list` endpoint."},"category":{"type":"string","enum":["Video Keno","Video Bingo","Live Poker","Live Wheel of Fortune","Live Sicbo","Live Crash","Baccarat","Bet On Poker","Blackjack","Casual Games","Jackpot Slots","Live Baccarat","Live Blackjack","Live Dealer","Live Dice","Live Games","Live Keno","Live Lottery","Live Roulette","Lottery","Minigame","Multiplayer","Player Props","Poker","Roulette","Scratch Cards","Sportsbook","Table Games","Video Poker","Virtual Sports","Wheel of Fortune","Instant Win Games","Keno","Bingo","Sic Bo","Video Slots","Unknown","Crash","Scratch","Dragon Tiger","Live Game Shows","Live Dragon Tiger","Crash Games","Arcade Games","Other Table Games","Other Live Games","Dice","Plinko","Hi Lo"],"description":"The game type as a category. The following enum contains all possible values."},"blocked_countries":{"type":"array","items":{"$ref":"#/components/schemas/country"},"description":"List of blocked countries. A Game must not be shown and launched for the users in the specified countries. Supplier's content is blocked in the listed country regardless of the local license.  "},"country":{"type":"string","enum":["XX","AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"The [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) country code, applicable to the User in the current session. "},"RecommendationsError":{"type":"object","title":"Error response","properties":{"error":{"type":"string","description":"Message with reason why the request failed."}}},"operator_id":{"type":"integer","description":"Unique identifier for the Operator in Hub88 system. Used to authorize incoming requests. You can obtain your `operator_id` from the Hub88 BackOffice after your Operator entity is registered and set up in the Hub88 system by the internal teams."}}}}
```
