# Games API

***

## Games API Reference - Supplier API&#x20;

***

### Get a Game URL

***

{% hint style="info" %}
**Session timing**

The `token` included in this request identifies the game session. However, the session is **not active** until the Supplier returns a successful response with a valid game URL.

Do not make any Wallet API calls (e.g., `/supplier/generic/v2/user/balance`) using this token before returning the `/game/url` response. Calls made before a successful response will receive `RS_ERROR_INVALID_TOKEN`.
{% endhint %}

## POST /game/url

> Returns the landing URL of the chosen game to which Hub88 will forward the user to. There are several ways to forward the User, but make sure \`game\_code\` is present in the request.\
> &#x20;         1\. Embed URL into iframe on your site;\
> &#x20;         2\. Redirect User to URL;\
> &#x20;         3\. Open URL in new window/tab of browser.

```json
{"openapi":"3.1.1","info":{"title":"Hub88","version":"2.0"},"tags":[{"name":"Games API","description":"The Games API is used to connect games from Supplier's platform to Hub88, and further to Operators' sites. The Supplier is expected to provide APIs and methods for Hub88 to access the games."}],"paths":{"/game/url":{"post":{"tags":["Games API"],"summary":"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"The landing URL of the chosen game."}}}}}},"404":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Reason why request failed"}}}}}}},"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`."}],"operationId":"game/url","description":"Returns the landing URL of the chosen game to which Hub88 will forward the user to. There are several ways to forward the User, but make sure `game_code` is present in the request.\n          1. Embed URL into iframe on your site;\n          2. Redirect User to URL;\n          3. Open URL in new window/tab of browser.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["platform","lobby_url","lang","operator_id","currency","country"],"properties":{"user":{"$ref":"#/components/schemas/user"},"token":{"$ref":"#/components/schemas/token"},"sub_partner_id":{"$ref":"#/components/schemas/sub_partner_id"},"platform":{"$ref":"#/components/schemas/platform"},"operator_id":{"$ref":"#/components/schemas/operator_id"},"meta":{"type":"object","description":"Additional parameters, can be used for certain game Supplier. It depends on the Operator's choice of a game Supplier."},"lobby_url":{"type":"string","description":"`lobby_url` specifies the URL to which the game redirects to when the user clicks **the Home button** in the UI. Maximum length 255 characters."},"lang":{"type":"string","enum":["aa","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bg","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","el","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","id","ie","ig","ii","ik","io","is","it","iu","ja","jv","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","pt-br","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu"],"description":"The ISO 639-1 language code, applicable to the User in the current session."},"game_code":{"$ref":"#/components/schemas/game_code"},"deposit_url":{"type":"string","description":"The page URL where a player/user can make a monetary deposit."},"currency":{"$ref":"#/components/schemas/currency"},"country":{"$ref":"#/components/schemas/country"}}}}},"required":true,"description":""}}}},"components":{"schemas":{"user":{"type":"string","description":"The unique user ID in the Hub88's system. In case of DEMO gameplay, this parameter may be omitted."},"token":{"type":"string","description":"Hub88 generates a token associated with the user, game, and active currency. The token acts as an ID parameter for the game session. It is important that the currency is not changed during the current game session. If the user changes the `currency`, the game must be re-opened with new a token. For DEMO gameplay, this parameter may be omitted. Minimum length 10 characters, maximum length 255 characters."},"sub_partner_id":{"type":"string","description":"ID of an Hub88's sub-partner (brand, whitelabel, site, etc.) which uses the same integration and credentials as the Hub88. Used for detailed reporting and integration type switching."},"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)"},"operator_id":{"type":"integer","description":"The unique identifier of Hub88 configuration in the Supplier's system used to authorize incoming requests. Could be either `interger` or a `string`."},"game_code":{"type":"string","description":"The unique game identifier in Provider's system in the form of a string. `game_code` can be obtained from the `/game/list` endpoint and is a required parameter."},"currency":{"type":"string","enum":["BSD","TTD","ZMW","BMD","USD","BYR","UGX","HKD","MGA","GIP","UZS","MKD","PTS","mLTC","EGP","AWG","CZK","ILS","MZN","TND","XPF","SOS","DOP","RUB","KRW","BTN","KGS","BAM","AOA","SOC","AMS","BND","RSD","FKP","PEN","EOS","GHS","JPY","TRY","SBD","UAH","LTL","FJD","GNF","MDL","AFN","ZAR","MOP","TJS","BOB","JMD","QAR","IRR","SYP","XXX","NAD","MYR","CUP","NOK","BGN","KPW","MNT","NZD","uETH","SGD","PYG","OMR","DZD","EUR","TMT","MMK","PTQ","ANG","TZS","CRC","VES","ETB","THB","ZWD","LYD","CHF","MVR","KES","CVE","LSL","KMF","SZL","KYD","BRL","AED","WST","YER","ALL","TRX","HUF","GTQ","uBTC","IDR","MWK","CUC","DKK","TWD","XCD","BBD","LRD","KZT","JOD","BYN","BIF","PLN","SDG","VUV","SEK","BDT","HNL","BWP","VND","ISK","SLL","BHD","HTG","USDT","ADA","MUR","ERN","uLTC","LKR","COP","GEL","AUD","GBP","CAD","PHP","PAB","DJF","GMD","PKR","NIO","AMD","RWF","RON","NGN","TOP","UYU","AZN","SRD","KWD","PGK","CDF","SAR","IQD","XRP","SCR","mETH","MAD","GYD","INR","LBP","ARS","MXN","CLP","BNB","CNY","KHR","LAK","HRK","BZD","SSP","XOF","X5T","MRO","NPR","mBTC"],"description":"The ISO 4217 currency code. The following list contains all currencies supported by the Hub88 system. Note that native game play support with these currencies may vary per Provider. "},"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. "}}}}
```

***

### Get a Game round

***

## POST /game/round

> API to return details of a game round.

```json
{"openapi":"3.1.1","info":{"title":"Hub88","version":"2.0"},"tags":[{"name":"Games API","description":"The Games API is used to connect games from Supplier's platform to Hub88, and further to Operators' sites. The Supplier is expected to provide APIs and methods for Hub88 to access the games."}],"paths":{"/game/round":{"post":{"tags":["Games API"],"summary":"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to the round details page, which you can embed."}},"description":"The URL to the round details page, which you can embed."}}}},"400":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to the round details page, which you can embed."}},"description":"The URL to the round details page, which you can embed."}}}}},"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`."}],"operationId":"/game/round","description":"API to return details of a game round.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["operator_id"],"properties":{"user":{"$ref":"#/components/schemas/user"},"transaction_uuid":{"type":"string","description":"The transaction identifier, which you recive from Hub88 through the API during gameplay."},"round":{"type":"string","description":"The round identifier, which you recive from Hub88 through the API during gameplay."},"operator_id":{"$ref":"#/components/schemas/operator_id"}}}}},"required":true,"description":"You can use `transaction_uuid` or combination of `round` and `user` to retreive the round details."}}}},"components":{"schemas":{"user":{"type":"string","description":"The unique user ID in the Hub88's system. In case of DEMO gameplay, this parameter may be omitted."},"operator_id":{"type":"integer","description":"The unique identifier of Hub88 configuration in the Supplier's system used to authorize incoming requests. Could be either `interger` or a `string`."}}}}
```

***

### Get a list of games

***

## POST /game/list

> Returns Supplier's game list available for Hub88.

```json
{"openapi":"3.1.1","info":{"title":"Hub88","version":"2.0"},"tags":[{"name":"Games API","description":"The Games API is used to connect games from Supplier's platform to Hub88, and further to Operators' sites. The Supplier is expected to provide APIs and methods for Hub88 to access the games."}],"paths":{"/game/list":{"post":{"tags":["Games API"],"summary":"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Games"}}}}},"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`."}],"operationId":"/game/list","description":"Returns Supplier's game list available for Hub88.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["operator_id"],"properties":{"operator_id":{"$ref":"#/components/schemas/operator_id"}}}}},"required":true,"description":""}}}},"components":{"schemas":{"Games":{"type":"array","items":{"$ref":"#/components/schemas/Game"}},"Game":{"type":"object","title":"Game","required":["url_background","url_thumb","platforms","blocked_countries","enabled","category","product","name","game_code"],"properties":{"url_thumb":{"type":"string","description":"The game preview image URL."},"url_background":{"type":"string","description":" The game background image URL."},"product":{"type":"string","description":"The game Supplier (Provider)."},"platforms":{"type":"array","items":{"$ref":"#/components/schemas/platform"},"description":"The list of supported platforms by the platform layout, either mobile or desktop. "},"name":{"type":"string","description":"The game name."},"game_code":{"$ref":"#/components/schemas/game_code"},"freebet_support":{"type":"boolean","description":"Shows if the game supports creation of freebets"},"enabled":{"type":"boolean","description":"Shows whether the game is enabled or not."},"category":{"$ref":"#/components/schemas/category"},"blocked_countries":{"$ref":"#/components/schemas/blocked_countries"}},"description":"The Hub88 game item."},"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 Provider's system in the form of a string. `game_code` can be obtained from the `/game/list` endpoint and is a required parameter."},"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":"The list of blocked countries. A game shouldn't be shown and launched for users from those countries."},"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. "},"operator_id":{"type":"integer","description":"The unique identifier of Hub88 configuration in the Supplier's system used to authorize incoming requests. Could be either `interger` or a `string`."}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hub88.io/developer-docs/supplier-api-reference/games-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
