# Casino Games

Casino games related endpoints

## Get all casino games

> Returns all casino games and their info. The result is paginated\
> so you will need to query the endpoint multiple times in order to fetch all the available games\
> \
> {% hint style="info" %}\
> \
> \## Cache utilization\
> \
> \
> To best utilize the caching functionality, it is recommended to use\
> a page\_size of \`100\` (default value) for possible multiple queries on this endpoint.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Example\
> \
> \
> In this example we get the 100 first games on game\_name ascending order.\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/casino/games?\\&page=1\\&page\\_size=100\\&order\\_by=%2Bgame\\_name'\\>
> \`\`\`\
> \
> {% endhint %}\ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Casino games related endpoints","name":"Casino Games"}],"servers":[{"description":"Production API","url":"https://api.vaix.ai"},{"description":"Staging (integration) API","url":"https://staging-api.vaix.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"Game":{"description":"A casino game object","type":"object","properties":{"category":{"description":"The category of the game, e.g. `Gaming: Dice`.","type":"string","nullable":true},"channels":{"description":"The available channels of the game.","type":"array","items":{"type":"string"},"nullable":true},"enabled":{"description":"Is game enabled indicator.","type":"number","nullable":true},"first_transaction":{"description":"Time of first transaction.","type":"string","format":"date-time","nullable":true},"game_id":{"description":"The unique game id","type":"string"},"game_image_url":{"description":"Game image from client's website.","type":"string","nullable":true},"game_link":{"description":"The url to the game (used in email campaigns).","type":"string","nullable":true},"game_name":{"description":"The name of the game.","type":"string"},"game_studio":{"description":"The studio providing the game.","type":"string","nullable":true},"has_avalanche":{"description":"Avalanche cascading reels feature indicator.","type":"boolean","nullable":true},"has_bonus":{"description":"bonus feature indicator.","type":"boolean","nullable":true},"has_buy":{"description":"buy feature indicator.","type":"boolean","nullable":true},"has_jackpot":{"description":"jackpot feature indicator.","type":"boolean","nullable":true},"has_megaways":{"description":"Megaways feature indicator.","type":"boolean","nullable":true},"has_sticky":{"description":"Wild sticky feature indicator.","type":"boolean","nullable":true},"images":{"description":"The list of images of the game.","type":"array","items":{"$ref":"#/components/schemas/GameImage"},"nullable":true},"internal_game_id":{"description":"The operator's internal game id of the game.","type":"string","nullable":true},"is_live":{"description":"live feature indicator.","type":"boolean","nullable":true},"max_bet":{"description":"The game's maximum bet allowed.","type":"number","nullable":true},"min_bet":{"description":"The game's minimum bet.","type":"number","nullable":true},"release_date":{"description":"Release date of the game, given by the operator.","type":"string","format":"date-time","nullable":true},"vaix_category":{"description":"Category provided by Vaix.","type":"string","nullable":true},"vaix_game_studio":{"description":"Game studio provided by Vaix.","type":"string","nullable":true},"vaix_tags":{"description":"Themes tagged by Vaix.","type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"GameImage":{"description":"A game image object","type":"object","properties":{"type":{"description":"Type of the image","type":"string"},"url":{"description":"Url of the image","type":"string"}},"additionalProperties":false},"Error":{"description":"The generic API's error response","type":"object","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"additionalProperties":false},"Errors":{"description":"The generic API's errors response","type":"object","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"additionalProperties":false},"UnprocessableEntityError":{"oneOf":[{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"}]}}},"paths":{"/api/casino/games":{"get":{"operationId":"list_games","summary":"Get all casino games","description":"Returns all casino games and their info. The result is paginated\nso you will need to query the endpoint multiple times in order to fetch all the available games\n\n{% hint style=\"info\" %}\n\n## Cache utilization\n\n\nTo best utilize the caching functionality, it is recommended to use\na page_size of `100` (default value) for possible multiple queries on this endpoint.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Example\n\n\nIn this example we get the 100 first games on game_name ascending order.\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/casino/games?&page=1&page_size=100&order_by=%2Bgame_name'\n```\n\n{% endhint %}\n\n","parameters":[{"name":"x-vaix-client-id","in":"header","description":"Custom client header, the value should be the name of the group the user belongs to","required":true,"schema":{"type":"string"}},{"name":"x-vaix-authentication-method","in":"header","description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","description":"Optional filtering of the games to retrieve. Can contain filters\nrelated to game, user, game properties or game statistics.\nIt expects a string adhering to the filtering format, as described\nin the filtering section, e.g. `enabled:eq:1`.\n","required":false,"schema":{"type":"string","enum":["game_id","game_studio","category","vaix_tags","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","enabled","has_megaways","game_country","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","live"]}},{"name":"order_by","in":"query","description":"The columns to sort the results by. It expects a string adhering to\nthe ordering format, as described in the ordering section, e.g.\n`+game_name,-game_studio`.\n","required":false,"schema":{"type":"string","enum":["game_name","game_studio","category","first_transaction"]}},{"name":"operator","in":"query","description":"The operator to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored.\n","required":false,"schema":{"type":"string"}},{"name":"bookmaker_id","in":"query","description":"The bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`sub_bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"sub_bookmaker_id","in":"query","description":"The sub-bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"fields","in":"query","description":"Optional selection of the object fields to retrieve. It expects a comma\nseparated list of strings, as described in the field selection section,\ne.g. `game_id,game_name`.\n","required":false,"schema":{"type":"string","default":"game_id","enum":["game_id","game_name","game_studio","category","vaix_tags","vaix_category","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking"]}},{"name":"page","in":"query","description":"The page to retrieve. Notice that if set the random access pagination\nmechanism will be used. If not set the pagination mechanism default to\nthe keyset mode.\n","required":false,"schema":{"type":"integer","minimum":1}},{"name":"page_size","in":"query","description":"The number of items ot include in each page.\n","required":false,"schema":{"type":"integer","default":100,"maximum":1000,"minimum":1}},{"name":"page_cursor","in":"query","description":"The cursor to get data from. It should be retrieved from the `pagination`\nsection of a previous response in case of `keyset` pagination.\n\nThis value will be ignored if the `page` parameter has been provided\nand random access pagination will be used instead.\n\nNotice that the the cursor is cryptographically signed and verified,\nmake sure to set the exact value it was returned.\n","required":false,"schema":{"type":"string"}},{"name":"location","in":"query","description":"The location of the page where the request takes place.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"description":"API response","type":"object","properties":{"data":{"description":"Array of objects","type":"array","items":{"$ref":"#/components/schemas/Game"}},"status":{"description":"The status of the request","type":"string","enum":["success","error"]}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"406":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}}},"425":{"description":"Too Early","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"tags":["Casino Games"]}}}}
````

## Get frequently combined games

> Returns games that the users who have played the game with the given\
> \`game\_id\` have also played.<br>

```json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Casino games related endpoints","name":"Casino Games"}],"servers":[{"description":"Production API","url":"https://api.vaix.ai"},{"description":"Staging (integration) API","url":"https://staging-api.vaix.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"CombinedGame":{"description":"A frequently combined games response.","type":"object","properties":{"category":{"description":"The category of the game, e.g. `Gaming: Dice`.","type":"string","nullable":true},"channels":{"description":"The available channels of the game.","type":"array","items":{"type":"string"},"nullable":true},"confidence":{"description":"Each returned item is associated with a number from 0 to 1 indicating the confidence\nof the system in this specific recommendation. The higher the number the more confident\nthe recommendation of it.\n","type":"number"},"enabled":{"description":"Is game enabled indicator.","type":"number","nullable":true},"first_transaction":{"description":"Time of first transaction.","type":"string","format":"date-time","nullable":true},"game_id":{"description":"The unique game id","type":"string"},"game_image_url":{"description":"Game image from client's website.","type":"string","nullable":true},"game_link":{"description":"The url to the game (used in email campaigns).","type":"string","nullable":true},"game_name":{"description":"The name of the game.","type":"string"},"game_studio":{"description":"The studio providing the game.","type":"string","nullable":true},"has_avalanche":{"description":"Avalanche cascading reels feature indicator.","type":"boolean","nullable":true},"has_bonus":{"description":"bonus feature indicator.","type":"boolean","nullable":true},"has_buy":{"description":"buy feature indicator.","type":"boolean","nullable":true},"has_jackpot":{"description":"jackpot feature indicator.","type":"boolean","nullable":true},"has_megaways":{"description":"Megaways feature indicator.","type":"boolean","nullable":true},"has_sticky":{"description":"Wild sticky feature indicator.","type":"boolean","nullable":true},"images":{"description":"The list of images of the game.","type":"array","items":{"$ref":"#/components/schemas/GameImage"},"nullable":true},"internal_game_id":{"description":"The operator's internal game id of the game.","type":"string","nullable":true},"is_live":{"description":"live feature indicator.","type":"boolean","nullable":true},"max_bet":{"description":"The game's maximum bet allowed.","type":"number","nullable":true},"min_bet":{"description":"The game's minimum bet.","type":"number","nullable":true},"release_date":{"description":"Release date of the game, given by the operator.","type":"string","format":"date-time","nullable":true},"times_combined":{"description":"Number of users who have combined this game","type":"integer"},"vaix_category":{"description":"Category provided by Vaix.","type":"string","nullable":true},"vaix_game_studio":{"description":"Game studio provided by Vaix.","type":"string","nullable":true},"vaix_tags":{"description":"Themes tagged by Vaix.","type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"GameImage":{"description":"A game image object","type":"object","properties":{"type":{"description":"Type of the image","type":"string"},"url":{"description":"Url of the image","type":"string"}},"additionalProperties":false},"Error":{"description":"The generic API's error response","type":"object","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"additionalProperties":false},"Errors":{"description":"The generic API's errors response","type":"object","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"additionalProperties":false},"UnprocessableEntityError":{"oneOf":[{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"}]}}},"paths":{"/api/casino/games/combined":{"get":{"operationId":"get_combined_games","summary":"Get frequently combined games","description":"Returns games that the users who have played the game with the given\n`game_id` have also played.\n","parameters":[{"name":"x-vaix-client-id","in":"header","description":"Custom client header, the value should be the name of the group the user belongs to","required":true,"schema":{"type":"string"}},{"name":"x-vaix-authentication-method","in":"header","description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","required":false,"schema":{"type":"string"}},{"name":"game_id","in":"query","description":"The game id for which we seek frequently combined games.","required":true,"schema":{"type":"string"}},{"name":"user","in":"query","description":"The user to get recommendations for.","required":false,"schema":{"type":"string","default":"0"}},{"name":"exclude_last_n_played","in":"query","description":"The number of last games that user played to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"exclude_last_n_clicked","in":"query","description":"The number of last games that user clicked to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"count","in":"query","description":"Number of games to return.\n","required":false,"schema":{"type":"integer","default":100,"minimum":1}},{"name":"dynamic_filters","in":"query","description":"Optional dynamic filtering of the items to retrieve. If any dynamic filter is set,\nthe filter's value will be dynamically calculated and used. Notice that for `user`\nrelated filters, the `user` query parameter must be provided. For example,\n`dynamic_filters=user_country` will return data related only to the user's specific country.\n","required":false,"schema":{"type":"string","enum":["user_country","user_state","user_language","user_brand","user_city","game_country"]}},{"name":"filters","in":"query","description":"Optional filtering of the games to retrieve. Can contain filters\nrelated to game, user, game properties or game statistics.\nIt expects a string adhering to the filtering format, as described\nin the filtering section, e.g. `enabled:eq:1`.\n","required":false,"schema":{"type":"string","enum":["game_id","game_studio","category","vaix_tags","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","enabled","has_megaways","game_country","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","live"]}},{"name":"operator","in":"query","description":"The operator to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored.\n","required":false,"schema":{"type":"string"}},{"name":"bookmaker_id","in":"query","description":"The bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`sub_bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"sub_bookmaker_id","in":"query","description":"The sub-bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"fields","in":"query","description":"Optional selection of the object fields to retrieve. It expects a comma\nseparated list of strings, as described in the field selection section,\ne.g. `game_id,game_name`.\n","required":false,"schema":{"type":"string","default":"game_id,confidence","enum":["game_id","game_name","game_studio","category","vaix_tags","vaix_category","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","confidence"]}},{"name":"location","in":"query","description":"The location of the page where the request takes place.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"description":"API response","type":"object","properties":{"data":{"description":"Array of objects","type":"array","items":{"$ref":"#/components/schemas/CombinedGame"}},"status":{"description":"The status of the request","type":"string","enum":["success","error"]}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"406":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}}},"425":{"description":"Too Early","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"tags":["Casino Games"]}}}}
```

## Get hot games

> Returns games with high playing rtp for the given time frame.\
> \
> The games are sorted by the rtp ratio.\
> \
> {% hint style="info" %}\
> \
> \## Rtp\
> \
> \
> The ratio of \`sum(total\_winning\_amount)/sum(total\_wagering\_amount)\` over the game sessions\
> of a given time frame for each game.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Filtering example\
> \
> \
> In this example we get all hot games where \`game\_studio\` is \`NetEnt\`.\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/casino/games/hot?filters=game\\_studio%3Aeq%3ANetEnt'\\>
> \`\`\`\
> \
> {% endhint %}\ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Casino games related endpoints","name":"Casino Games"}],"servers":[{"description":"Production API","url":"https://api.vaix.ai"},{"description":"Staging (integration) API","url":"https://staging-api.vaix.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"HotGame":{"description":"A hot games response.","type":"object","properties":{"category":{"description":"The category of the game, e.g. `Gaming: Dice`.","type":"string","nullable":true},"channels":{"description":"The available channels of the game.","type":"array","items":{"type":"string"},"nullable":true},"confidence":{"description":"Each returned item is associated with a number from 0 to 1 indicating the confidence\nof the system in this specific recommendation. The higher the number the more confident\nthe recommendation of it.\n","type":"number"},"enabled":{"description":"Is game enabled indicator.","type":"number","nullable":true},"first_transaction":{"description":"Time of first transaction.","type":"string","format":"date-time","nullable":true},"game_id":{"description":"The unique game id","type":"string"},"game_image_url":{"description":"Game image from client's website.","type":"string","nullable":true},"game_link":{"description":"The url to the game (used in email campaigns).","type":"string","nullable":true},"game_name":{"description":"The name of the game.","type":"string"},"game_studio":{"description":"The studio providing the game.","type":"string","nullable":true},"has_avalanche":{"description":"Avalanche cascading reels feature indicator.","type":"boolean","nullable":true},"has_bonus":{"description":"bonus feature indicator.","type":"boolean","nullable":true},"has_buy":{"description":"buy feature indicator.","type":"boolean","nullable":true},"has_jackpot":{"description":"jackpot feature indicator.","type":"boolean","nullable":true},"has_megaways":{"description":"Megaways feature indicator.","type":"boolean","nullable":true},"has_sticky":{"description":"Wild sticky feature indicator.","type":"boolean","nullable":true},"images":{"description":"The list of images of the game.","type":"array","items":{"$ref":"#/components/schemas/GameImage"},"nullable":true},"internal_game_id":{"description":"The operator's internal game id of the game.","type":"string","nullable":true},"is_live":{"description":"live feature indicator.","type":"boolean","nullable":true},"max_bet":{"description":"The game's maximum bet allowed.","type":"number","nullable":true},"min_bet":{"description":"The game's minimum bet.","type":"number","nullable":true},"release_date":{"description":"Release date of the game, given by the operator.","type":"string","format":"date-time","nullable":true},"score":{"description":"Score of metrics like total sessions, trending score, playing rtp etc.","type":"number"},"vaix_category":{"description":"Category provided by Vaix.","type":"string","nullable":true},"vaix_game_studio":{"description":"Game studio provided by Vaix.","type":"string","nullable":true},"vaix_tags":{"description":"Themes tagged by Vaix.","type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"GameImage":{"description":"A game image object","type":"object","properties":{"type":{"description":"Type of the image","type":"string"},"url":{"description":"Url of the image","type":"string"}},"additionalProperties":false},"Error":{"description":"The generic API's error response","type":"object","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"additionalProperties":false},"Errors":{"description":"The generic API's errors response","type":"object","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"additionalProperties":false},"UnprocessableEntityError":{"oneOf":[{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"}]}}},"paths":{"/api/casino/games/hot":{"get":{"operationId":"get_hot_games","summary":"Get hot games","description":"Returns games with high playing rtp for the given time frame.\n\nThe games are sorted by the rtp ratio.\n\n{% hint style=\"info\" %}\n\n## Rtp\n\n\nThe ratio of `sum(total_winning_amount)/sum(total_wagering_amount)` over the game sessions\nof a given time frame for each game.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Filtering example\n\n\nIn this example we get all hot games where `game_studio` is `NetEnt`.\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/casino/games/hot?filters=game_studio%3Aeq%3ANetEnt'\n```\n\n{% endhint %}\n\n","parameters":[{"name":"x-vaix-client-id","in":"header","description":"Custom client header, the value should be the name of the group the user belongs to","required":true,"schema":{"type":"string"}},{"name":"x-vaix-authentication-method","in":"header","description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","required":false,"schema":{"type":"string"}},{"name":"user","in":"query","description":"The user to get recommendations for.","required":false,"schema":{"type":"string","default":"0"}},{"name":"exclude_last_n_played","in":"query","description":"The number of last games that user played to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"exclude_last_n_clicked","in":"query","description":"The number of last games that user clicked to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"count","in":"query","description":"Number of games to return.\n","required":false,"schema":{"type":"integer","default":100,"minimum":1}},{"name":"filters","in":"query","description":"Optional filtering of the games to retrieve. Can contain filters\nrelated to game, user, game properties or game statistics.\nIt expects a string adhering to the filtering format, as described\nin the filtering section, e.g. `enabled:eq:1`.\n","required":false,"schema":{"type":"string","enum":["game_id","game_studio","category","vaix_tags","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","enabled","has_megaways","game_country","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","live","total_sessions","user_country","user_brand","user_language","user_city","user_state"]}},{"name":"dynamic_filters","in":"query","description":"Optional dynamic filtering of the items to retrieve. If any dynamic filter is set,\nthe filter's value will be dynamically calculated and used. Notice that for `user`\nrelated filters, the `user` query parameter must be provided. For example,\n`dynamic_filters=user_country` will return data related only to the user's specific country.\n","required":false,"schema":{"type":"string","enum":["user_country","user_state","user_language","user_brand","user_city","game_country"]}},{"name":"reorder_by","in":"query","description":"Optional re ordering of the results based on one or more metrics.\nExpected format is a comma separated list of keywords where each value\nshould be a float in the range [0,1]. e.g. `recommended:0.3`.\nFor more information head to the ordering documentation section.\n","required":false,"schema":{"type":"string","enum":["recommended"]}},{"name":"ranking_filter","in":"query","description":"Optional filtering of the results based on the ranking of the given entities.\nIt expects a string adhering to the ranking format, as described in the\n`ranking filtering` section, e.g. `game_studio_recommended:1`.\n","required":false,"schema":{"type":"string","enum":["game_studio_recommended","game_studio_popular","game_studio_trending","game_tag_recommended","game_tag_popular","game_tag_trending","casino_category_recommended","casino_category_popular","casino_category_trending"]}},{"name":"ignore_user_filter_threshold","in":"query","description":"When user related filters are defined they get applied only if one of the following conditions are met:\n  * `ignore_user_filter_threshold=true`\n  * The count of game sessions when applying those filters is statistically significant.\n","required":false,"schema":{"type":"boolean","default":false}},{"name":"group_limit","in":"query","description":"Applies a limit to a group of items. For more information, head to\n`Limiting -> Group Limiting` section of the docs.\n`game_studio:5,category:2`.\n","required":false,"schema":{"type":"string","enum":["game_studio","category"]}},{"name":"operator","in":"query","description":"The operator to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored.\n","required":false,"schema":{"type":"string"}},{"name":"bookmaker_id","in":"query","description":"The bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`sub_bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"sub_bookmaker_id","in":"query","description":"The sub-bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"fields","in":"query","description":"Optional selection of the object fields to retrieve. It expects a comma\nseparated list of strings, as described in the field selection section,\ne.g. `game_id,game_name`.\n","required":false,"schema":{"type":"string","default":"game_id,confidence","enum":["game_id","game_name","game_studio","category","vaix_tags","vaix_category","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","confidence"]}},{"name":"location","in":"query","description":"The location of the page where the request takes place.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"description":"API response","type":"object","properties":{"data":{"description":"Array of objects","type":"array","items":{"$ref":"#/components/schemas/HotGame"}},"status":{"description":"The status of the request","type":"string","enum":["success","error"]}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"406":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}}},"425":{"description":"Too Early","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"tags":["Casino Games"]}}}}
````

## Get new games

> Returns new casino games.\
> \
> Games are ordered by their newness score.  Only games released within the last given \`days\` are considered.\
> \
> {% hint style="info" %}\
> \
> \## Filtering example\
> \
> \
> In this example we get all new games where \`game\_studio\` is \`NetEnt\`.\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/casino/games/new?filters=game\\_studio%3Aeq%3ANetEnt'\\>
> \`\`\`\
> \
> {% endhint %}\ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Casino games related endpoints","name":"Casino Games"}],"servers":[{"description":"Production API","url":"https://api.vaix.ai"},{"description":"Staging (integration) API","url":"https://staging-api.vaix.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"NewGame":{"description":"A new game object","type":"object","properties":{"category":{"description":"The category of the game, e.g. `Gaming: Dice`.","type":"string","nullable":true},"channels":{"description":"The available channels of the game.","type":"array","items":{"type":"string"},"nullable":true},"confidence":{"description":"Each returned item is associated with a number from 0 to 1 indicating the confidence\nof the system in this specific recommendation. The higher the number the more confident\nthe recommendation of it.\n","type":"number"},"enabled":{"description":"Is game enabled indicator.","type":"number","nullable":true},"first_transaction":{"description":"Time of first transaction.","type":"string","format":"date-time","nullable":true},"game_id":{"description":"The unique game id","type":"string"},"game_image_url":{"description":"Game image from client's website.","type":"string","nullable":true},"game_link":{"description":"The url to the game (used in email campaigns).","type":"string","nullable":true},"game_name":{"description":"The name of the game.","type":"string"},"game_studio":{"description":"The studio providing the game.","type":"string","nullable":true},"has_avalanche":{"description":"Avalanche cascading reels feature indicator.","type":"boolean","nullable":true},"has_bonus":{"description":"bonus feature indicator.","type":"boolean","nullable":true},"has_buy":{"description":"buy feature indicator.","type":"boolean","nullable":true},"has_jackpot":{"description":"jackpot feature indicator.","type":"boolean","nullable":true},"has_megaways":{"description":"Megaways feature indicator.","type":"boolean","nullable":true},"has_sticky":{"description":"Wild sticky feature indicator.","type":"boolean","nullable":true},"images":{"description":"The list of images of the game.","type":"array","items":{"$ref":"#/components/schemas/GameImage"},"nullable":true},"internal_game_id":{"description":"The operator's internal game id of the game.","type":"string","nullable":true},"is_live":{"description":"live feature indicator.","type":"boolean","nullable":true},"max_bet":{"description":"The game's maximum bet allowed.","type":"number","nullable":true},"min_bet":{"description":"The game's minimum bet.","type":"number","nullable":true},"release_date":{"description":"Release date of the game, given by the operator.","type":"string","format":"date-time","nullable":true},"vaix_category":{"description":"Category provided by Vaix.","type":"string","nullable":true},"vaix_game_studio":{"description":"Game studio provided by Vaix.","type":"string","nullable":true},"vaix_tags":{"description":"Themes tagged by Vaix.","type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"GameImage":{"description":"A game image object","type":"object","properties":{"type":{"description":"Type of the image","type":"string"},"url":{"description":"Url of the image","type":"string"}},"additionalProperties":false},"Error":{"description":"The generic API's error response","type":"object","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"additionalProperties":false},"Errors":{"description":"The generic API's errors response","type":"object","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"additionalProperties":false},"UnprocessableEntityError":{"oneOf":[{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"}]}}},"paths":{"/api/casino/games/new":{"get":{"operationId":"get_new_games","summary":"Get new games","description":"Returns new casino games.\n\nGames are ordered by their newness score.  Only games released within the last given `days` are considered.\n\n{% hint style=\"info\" %}\n\n## Filtering example\n\n\nIn this example we get all new games where `game_studio` is `NetEnt`.\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/casino/games/new?filters=game_studio%3Aeq%3ANetEnt'\n```\n\n{% endhint %}\n\n","parameters":[{"name":"x-vaix-client-id","in":"header","description":"Custom client header, the value should be the name of the group the user belongs to","required":true,"schema":{"type":"string"}},{"name":"x-vaix-authentication-method","in":"header","description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","description":"Optional filtering of the games to retrieve. Can contain filters\nrelated to game, user, game properties or game statistics.\nIt expects a string adhering to the filtering format, as described\nin the filtering section, e.g. `enabled:eq:1`.\n","required":false,"schema":{"type":"string","enum":["game_id","game_studio","category","vaix_tags","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","enabled","has_megaways","game_country","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","live"]}},{"name":"days","in":"query","description":"How many days before to search for new games. Defaults to `60`.\n","required":false,"schema":{"type":"integer","default":60,"maximum":360,"minimum":1}},{"name":"count","in":"query","description":"Number of games to return.\n","required":false,"schema":{"type":"integer","default":100,"minimum":1}},{"name":"user","in":"query","description":"The user to get recommendations for.","required":false,"schema":{"type":"string","default":"0"}},{"name":"exclude_last_n_played","in":"query","description":"The number of last games that user played to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"exclude_last_n_clicked","in":"query","description":"The number of last games that user clicked to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"dynamic_filters","in":"query","description":"Optional dynamic filtering of the items to retrieve. If any dynamic filter is set,\nthe filter's value will be dynamically calculated and used. Notice that for `user`\nrelated filters, the `user` query parameter must be provided. For example,\n`dynamic_filters=user_country` will return data related only to the user's specific country.\n","required":false,"schema":{"type":"string","enum":["user_country","user_state","user_language","user_brand","user_city","game_country"]}},{"name":"operator","in":"query","description":"The operator to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored.\n","required":false,"schema":{"type":"string"}},{"name":"bookmaker_id","in":"query","description":"The bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`sub_bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"sub_bookmaker_id","in":"query","description":"The sub-bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"fields","in":"query","description":"Optional selection of the object fields to retrieve. It expects a comma\nseparated list of strings, as described in the field selection section,\ne.g. `game_id,game_name`.\n","required":false,"schema":{"type":"string","default":"game_id,confidence","enum":["game_id","game_name","game_studio","category","vaix_tags","vaix_category","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","confidence"]}},{"name":"location","in":"query","description":"The location of the page where the request takes place.\n","required":false,"schema":{"type":"string"}},{"name":"reorder_by","in":"query","description":"Optional re ordering of the results based on one or more metrics.\nExpected format is a comma separated list of keywords where each value\nshould be a float in the range [0,1]. e.g. `recommended:0.3,popular:0.2`.\nFor more information head to the ordering documentation section.\n","required":false,"schema":{"type":"string","enum":["recommended","popular","trending"]}},{"name":"ranking_filter","in":"query","description":"Optional filtering of the results based on the ranking of the given entities.\nIt expects a string adhering to the ranking format, as described in the\n`ranking filtering` section, e.g. `game_studio_recommended:1`.\n","required":false,"schema":{"type":"string","enum":["game_studio_recommended","game_studio_popular","game_studio_trending","game_tag_recommended","game_tag_popular","game_tag_trending","casino_category_recommended","casino_category_popular","casino_category_trending"]}},{"name":"group_limit","in":"query","description":"Applies a limit to a group of items. For more information, head to\n`Limiting -> Group Limiting` section of the docs.\n`game_studio:5,category:2`.\n","required":false,"schema":{"type":"string","enum":["game_studio","category"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"description":"API response","type":"object","properties":{"data":{"description":"Array of objects","type":"array","items":{"$ref":"#/components/schemas/NewGame"}},"status":{"description":"The status of the request","type":"string","enum":["success","error"]}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"406":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}}},"425":{"description":"Too Early","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"tags":["Casino Games"]}}}}
````

## Get popular games

> Returns popular games for the given time frame.\
> \
> The games are sorted by popularity.\
> \
> {% hint style="info" %}\
> \
> \## Popularity\
> \
> \
> The metric used to measure popularity is the number of sessions played on\
> each game.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Filtering example\
> \
> \
> In this example we get all popular games where \`game\_studio\` is \`NetEnt\`.\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/casino/games/popular?filters=game\\_studio%3Aeq%3ANetEnt'\\>
> \`\`\`\
> \
> {% endhint %}\ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Casino games related endpoints","name":"Casino Games"}],"servers":[{"description":"Production API","url":"https://api.vaix.ai"},{"description":"Staging (integration) API","url":"https://staging-api.vaix.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"PopularGame":{"description":"A popular game object","type":"object","properties":{"category":{"description":"The category of the game, e.g. `Gaming: Dice`.","type":"string","nullable":true},"channels":{"description":"The available channels of the game.","type":"array","items":{"type":"string"},"nullable":true},"confidence":{"description":"Each returned item is associated with a number from 0 to 1 indicating the confidence\nof the system in this specific recommendation. The higher the number the more confident\nthe recommendation of it.\n","type":"number"},"enabled":{"description":"Is game enabled indicator.","type":"number","nullable":true},"first_transaction":{"description":"Time of first transaction.","type":"string","format":"date-time","nullable":true},"game_id":{"description":"The unique game id","type":"string"},"game_image_url":{"description":"Game image from client's website.","type":"string","nullable":true},"game_link":{"description":"The url to the game (used in email campaigns).","type":"string","nullable":true},"game_name":{"description":"The name of the game.","type":"string"},"game_studio":{"description":"The studio providing the game.","type":"string","nullable":true},"has_avalanche":{"description":"Avalanche cascading reels feature indicator.","type":"boolean","nullable":true},"has_bonus":{"description":"bonus feature indicator.","type":"boolean","nullable":true},"has_buy":{"description":"buy feature indicator.","type":"boolean","nullable":true},"has_jackpot":{"description":"jackpot feature indicator.","type":"boolean","nullable":true},"has_megaways":{"description":"Megaways feature indicator.","type":"boolean","nullable":true},"has_sticky":{"description":"Wild sticky feature indicator.","type":"boolean","nullable":true},"images":{"description":"The list of images of the game.","type":"array","items":{"$ref":"#/components/schemas/GameImage"},"nullable":true},"internal_game_id":{"description":"The operator's internal game id of the game.","type":"string","nullable":true},"is_live":{"description":"live feature indicator.","type":"boolean","nullable":true},"max_bet":{"description":"The game's maximum bet allowed.","type":"number","nullable":true},"min_bet":{"description":"The game's minimum bet.","type":"number","nullable":true},"release_date":{"description":"Release date of the game, given by the operator.","type":"string","format":"date-time","nullable":true},"score":{"description":"Score of metrics like total sessions, trending score, playing rtp etc.","type":"number"},"vaix_category":{"description":"Category provided by Vaix.","type":"string","nullable":true},"vaix_game_studio":{"description":"Game studio provided by Vaix.","type":"string","nullable":true},"vaix_tags":{"description":"Themes tagged by Vaix.","type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"GameImage":{"description":"A game image object","type":"object","properties":{"type":{"description":"Type of the image","type":"string"},"url":{"description":"Url of the image","type":"string"}},"additionalProperties":false},"Error":{"description":"The generic API's error response","type":"object","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"additionalProperties":false},"Errors":{"description":"The generic API's errors response","type":"object","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"additionalProperties":false},"UnprocessableEntityError":{"oneOf":[{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"}]}}},"paths":{"/api/casino/games/popular":{"get":{"operationId":"get_popular_games","summary":"Get popular games","description":"Returns popular games for the given time frame.\n\nThe games are sorted by popularity.\n\n{% hint style=\"info\" %}\n\n## Popularity\n\n\nThe metric used to measure popularity is the number of sessions played on\neach game.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Filtering example\n\n\nIn this example we get all popular games where `game_studio` is `NetEnt`.\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/casino/games/popular?filters=game_studio%3Aeq%3ANetEnt'\n```\n\n{% endhint %}\n\n","parameters":[{"name":"x-vaix-client-id","in":"header","description":"Custom client header, the value should be the name of the group the user belongs to","required":true,"schema":{"type":"string"}},{"name":"x-vaix-authentication-method","in":"header","description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","required":false,"schema":{"type":"string"}},{"name":"user","in":"query","description":"The user to get recommendations for.","required":false,"schema":{"type":"string","default":"0"}},{"name":"exclude_last_n_played","in":"query","description":"The number of last games that user played to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"exclude_last_n_clicked","in":"query","description":"The number of last games that user clicked to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"count","in":"query","description":"Number of games to return.\n","required":false,"schema":{"type":"integer","default":100,"minimum":1}},{"name":"filters","in":"query","description":"Optional filtering of the games to retrieve. Can contain filters\nrelated to game, user, game properties or game statistics.\nIt expects a string adhering to the filtering format, as described\nin the filtering section, e.g. `enabled:eq:1`.\n","required":false,"schema":{"type":"string","enum":["game_id","game_studio","category","vaix_tags","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","enabled","has_megaways","game_country","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","live","total_sessions","user_country","user_brand","user_language","user_city","user_state"]}},{"name":"ignore_user_filter_threshold","in":"query","description":"When user related filters are defined they get applied only if one of the following conditions are met:\n  * `ignore_user_filter_threshold=true`\n  * The count of game sessions when applying those filters is statistically significant.\n","required":false,"schema":{"type":"boolean","default":false}},{"name":"reorder_by","in":"query","description":"Optional re ordering of the results based on one or more metrics.\nExpected format is a comma separated list of keywords where each value\nshould be a float in the range [0,1]. e.g. `recommended:0.3`.\nFor more information head to the ordering documentation section.\n","required":false,"schema":{"type":"string","enum":["recommended"]}},{"name":"ranking_filter","in":"query","description":"Optional filtering of the results based on the ranking of the given entities.\nIt expects a string adhering to the ranking format, as described in the\n`ranking filtering` section, e.g. `game_studio_recommended:1`.\n","required":false,"schema":{"type":"string","enum":["game_studio_recommended","game_studio_popular","game_studio_trending","game_tag_recommended","game_tag_popular","game_tag_trending","casino_category_recommended","casino_category_popular","casino_category_trending"]}},{"name":"group_limit","in":"query","description":"Applies a limit to a group of items. For more information, head to\n`Limiting -> Group Limiting` section of the docs.\n`game_studio:5,category:2`.\n","required":false,"schema":{"type":"string","enum":["game_studio","category"]}},{"name":"dynamic_filters","in":"query","description":"Optional dynamic filtering of the items to retrieve. If any dynamic filter is set,\nthe filter's value will be dynamically calculated and used. Notice that for `user`\nrelated filters, the `user` query parameter must be provided. For example,\n`dynamic_filters=user_country` will return data related only to the user's specific country.\n","required":false,"schema":{"type":"string","enum":["user_country","user_state","user_language","user_brand","user_city","game_country"]}},{"name":"operator","in":"query","description":"The operator to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored.\n","required":false,"schema":{"type":"string"}},{"name":"bookmaker_id","in":"query","description":"The bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`sub_bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"sub_bookmaker_id","in":"query","description":"The sub-bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"fields","in":"query","description":"Optional selection of the object fields to retrieve. It expects a comma\nseparated list of strings, as described in the field selection section,\ne.g. `game_id,game_name`.\n","required":false,"schema":{"type":"string","default":"game_id,confidence","enum":["game_id","game_name","game_studio","category","vaix_tags","vaix_category","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","confidence"]}},{"name":"location","in":"query","description":"The location of the page where the request takes place.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"description":"API response","type":"object","properties":{"data":{"description":"Array of objects","type":"array","items":{"$ref":"#/components/schemas/PopularGame"}},"status":{"description":"The status of the request","type":"string","enum":["success","error"]}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"406":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}}},"425":{"description":"Too Early","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"tags":["Casino Games"]}}}}
````

## Get recommended games

> Returns personalized game recommendations.\
> \
> {% hint style="info" %}\
> \
> \## Confidence\
> \
> \
> Each returned item is associated with a number from 0 to 1 indicating the confidence\
> of the system in this specific recommendation. The higher the number the more confident\
> the recommendation of it.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Result ordering\
> \
> \
> By default games are sorted based on confidence, with the most\
> confident one on top. The \`order\_by\` parameter can be used\
> to order the results in the desired order.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Getting recommendations for a user\
> \
> \
> In this example we get all recommended games for the user with id \`0\`\
> without passing any extra parameters except the \`user\`\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/casino/games/recommended?user=0'\\>
> \`\`\`\
> \
> {% endhint %}\ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Casino games related endpoints","name":"Casino Games"}],"servers":[{"description":"Production API","url":"https://api.vaix.ai"},{"description":"Staging (integration) API","url":"https://staging-api.vaix.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"RecommendedGame":{"description":"A recommended game object","type":"object","properties":{"category":{"description":"The category of the game, e.g. `Gaming: Dice`.","type":"string","nullable":true},"channels":{"description":"The available channels of the game.","type":"array","items":{"type":"string"},"nullable":true},"confidence":{"description":"Each returned item is associated with a number from 0 to 1 indicating the confidence\nof the system in this specific recommendation. The higher the number the more confident\nthe recommendation of it.\n","type":"number"},"enabled":{"description":"Is game enabled indicator.","type":"number","nullable":true},"first_transaction":{"description":"Time of first transaction.","type":"string","format":"date-time","nullable":true},"game_id":{"description":"The unique game id","type":"string"},"game_image_url":{"description":"Game image from client's website.","type":"string","nullable":true},"game_link":{"description":"The url to the game (used in email campaigns).","type":"string","nullable":true},"game_name":{"description":"The name of the game.","type":"string"},"game_studio":{"description":"The studio providing the game.","type":"string","nullable":true},"has_avalanche":{"description":"Avalanche cascading reels feature indicator.","type":"boolean","nullable":true},"has_bonus":{"description":"bonus feature indicator.","type":"boolean","nullable":true},"has_buy":{"description":"buy feature indicator.","type":"boolean","nullable":true},"has_jackpot":{"description":"jackpot feature indicator.","type":"boolean","nullable":true},"has_megaways":{"description":"Megaways feature indicator.","type":"boolean","nullable":true},"has_sticky":{"description":"Wild sticky feature indicator.","type":"boolean","nullable":true},"images":{"description":"The list of images of the game.","type":"array","items":{"$ref":"#/components/schemas/GameImage"},"nullable":true},"internal_game_id":{"description":"The operator's internal game id of the game.","type":"string","nullable":true},"is_live":{"description":"live feature indicator.","type":"boolean","nullable":true},"max_bet":{"description":"The game's maximum bet allowed.","type":"number","nullable":true},"min_bet":{"description":"The game's minimum bet.","type":"number","nullable":true},"release_date":{"description":"Release date of the game, given by the operator.","type":"string","format":"date-time","nullable":true},"vaix_category":{"description":"Category provided by Vaix.","type":"string","nullable":true},"vaix_game_studio":{"description":"Game studio provided by Vaix.","type":"string","nullable":true},"vaix_tags":{"description":"Themes tagged by Vaix.","type":"array","items":{"type":"string"},"nullable":true}}},"GameImage":{"description":"A game image object","type":"object","properties":{"type":{"description":"Type of the image","type":"string"},"url":{"description":"Url of the image","type":"string"}},"additionalProperties":false},"Error":{"description":"The generic API's error response","type":"object","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"additionalProperties":false},"Errors":{"description":"The generic API's errors response","type":"object","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"additionalProperties":false},"UnprocessableEntityError":{"oneOf":[{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"}]}}},"paths":{"/api/casino/games/recommended":{"get":{"operationId":"get_recommended_games","summary":"Get recommended games","description":"Returns personalized game recommendations.\n\n{% hint style=\"info\" %}\n\n## Confidence\n\n\nEach returned item is associated with a number from 0 to 1 indicating the confidence\nof the system in this specific recommendation. The higher the number the more confident\nthe recommendation of it.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Result ordering\n\n\nBy default games are sorted based on confidence, with the most\nconfident one on top. The `order_by` parameter can be used\nto order the results in the desired order.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Getting recommendations for a user\n\n\nIn this example we get all recommended games for the user with id `0`\nwithout passing any extra parameters except the `user`\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/casino/games/recommended?user=0'\n```\n\n{% endhint %}\n\n","parameters":[{"name":"x-vaix-client-id","in":"header","description":"Custom client header, the value should be the name of the group the user belongs to","required":true,"schema":{"type":"string"}},{"name":"x-vaix-authentication-method","in":"header","description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","required":false,"schema":{"type":"string"}},{"name":"user","in":"query","description":"The user to get recommendations for.","required":false,"schema":{"type":"string","default":"0"}},{"name":"exclude_last_n_played","in":"query","description":"The number of last games that user played to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"exclude_last_n_clicked","in":"query","description":"The number of last games that user clicked to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"count","in":"query","description":"Number of games to return.\n","required":false,"schema":{"type":"integer","default":100,"minimum":1}},{"name":"filters","in":"query","description":"Optional filtering of the games to retrieve. Can contain filters\nrelated to game, user, game properties or game statistics.\nIt expects a string adhering to the filtering format, as described\nin the filtering section, e.g. `enabled:eq:1`.\n","required":false,"schema":{"type":"string","enum":["game_id","game_studio","category","vaix_tags","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","enabled","has_megaways","game_country","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","live"]}},{"name":"dynamic_filters","in":"query","description":"Optional dynamic filtering of the items to retrieve. If any dynamic filter is set,\nthe filter's value will be dynamically calculated and used. Notice that for `user`\nrelated filters, the `user` query parameter must be provided. For example,\n`dynamic_filters=user_country` will return data related only to the user's specific country.\n","required":false,"schema":{"type":"string","enum":["user_country","user_state","user_language","user_brand","user_city","game_country"]}},{"name":"reorder_by","in":"query","description":"Optional re ordering of the results based on one or more metrics.\nExpected format is a comma separated list of keywords where each value\nshould be a float in the range [0,1]. e.g. `popular:0.3,trending:0.2`.\nFor more information head to the ordering documentation section.\n","required":false,"schema":{"type":"string","enum":["popular","trending","hot"]}},{"name":"ranking_filter","in":"query","description":"Optional filtering of the results based on the ranking of the given entities.\nIt expects a string adhering to the ranking format, as described in the\n`ranking filtering` section, e.g. `game_studio_recommended:1`.\n","required":false,"schema":{"type":"string","enum":["game_studio_recommended","game_studio_popular","game_studio_trending","game_tag_recommended","game_tag_popular","game_tag_trending","casino_category_recommended","casino_category_popular","casino_category_trending"]}},{"name":"operator","in":"query","description":"The operator to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored.\n","required":false,"schema":{"type":"string"}},{"name":"bookmaker_id","in":"query","description":"The bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`sub_bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"sub_bookmaker_id","in":"query","description":"The sub-bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"fields","in":"query","description":"Optional selection of the object fields to retrieve. It expects a comma\nseparated list of strings, as described in the field selection section,\ne.g. `game_id,game_name`.\n","required":false,"schema":{"type":"string","default":"game_id,confidence","enum":["game_id","game_name","game_studio","category","vaix_tags","vaix_category","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","confidence"]}},{"name":"location","in":"query","description":"The location of the page where the request takes place.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"description":"API response","type":"object","properties":{"data":{"description":"Array of objects","type":"array","items":{"$ref":"#/components/schemas/RecommendedGame"}},"status":{"description":"The status of the request","type":"string","enum":["success","error"]}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"406":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}}},"425":{"description":"Too Early","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"tags":["Casino Games"]}}}}
````

## Get similar games

> Returns similar games for the given game id(s).\
> \
> The games are sorted by \`distance\` ascending.\
> \
> {% hint style="info" %}\
> \
> \## Distance\
> \
> \
> The metric used to measure similarity between items is called distance.\
> It is a system indicator on how similar the item is to the input.\
> \
> The smaller the number the more similar the item.\
> \
> The normalized value of the item's distance to the input\
> is also assigned to each selection as its \`confidence\`.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Query example\
> \
> \
> In this example we get the similar games to the game with id \`book\_of\_dead\_play\_n\_go\`\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/casino/games/similar?game\\_ids=book\\_of\\_dead\\_play\\_n\\_go'\\>
> \`\`\`\
> \
> {% endhint %}\ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Casino games related endpoints","name":"Casino Games"}],"servers":[{"description":"Production API","url":"https://api.vaix.ai"},{"description":"Staging (integration) API","url":"https://staging-api.vaix.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"SimilarGame":{"description":"A similar game object","type":"object","properties":{"category":{"description":"The category of the game, e.g. `Gaming: Dice`.","type":"string","nullable":true},"channels":{"description":"The available channels of the game.","type":"array","items":{"type":"string"},"nullable":true},"confidence":{"description":"Each returned item is associated with a number from 0 to 1 indicating the confidence\nof the system in this specific recommendation. The higher the number the more confident\nthe recommendation of it.\n","type":"number"},"distance":{"description":"Distance of the item from the given inputs, the lowest the value the more\nsimilar the item.\n","type":"number"},"enabled":{"description":"Is game enabled indicator.","type":"number","nullable":true},"first_transaction":{"description":"Time of first transaction.","type":"string","format":"date-time","nullable":true},"game_id":{"description":"The unique game id","type":"string"},"game_image_url":{"description":"Game image from client's website.","type":"string","nullable":true},"game_link":{"description":"The url to the game (used in email campaigns).","type":"string","nullable":true},"game_name":{"description":"The name of the game.","type":"string"},"game_studio":{"description":"The studio providing the game.","type":"string","nullable":true},"has_avalanche":{"description":"Avalanche cascading reels feature indicator.","type":"boolean","nullable":true},"has_bonus":{"description":"bonus feature indicator.","type":"boolean","nullable":true},"has_buy":{"description":"buy feature indicator.","type":"boolean","nullable":true},"has_jackpot":{"description":"jackpot feature indicator.","type":"boolean","nullable":true},"has_megaways":{"description":"Megaways feature indicator.","type":"boolean","nullable":true},"has_sticky":{"description":"Wild sticky feature indicator.","type":"boolean","nullable":true},"images":{"description":"The list of images of the game.","type":"array","items":{"$ref":"#/components/schemas/GameImage"},"nullable":true},"internal_game_id":{"description":"The operator's internal game id of the game.","type":"string","nullable":true},"is_live":{"description":"live feature indicator.","type":"boolean","nullable":true},"max_bet":{"description":"The game's maximum bet allowed.","type":"number","nullable":true},"min_bet":{"description":"The game's minimum bet.","type":"number","nullable":true},"release_date":{"description":"Release date of the game, given by the operator.","type":"string","format":"date-time","nullable":true},"vaix_category":{"description":"Category provided by Vaix.","type":"string","nullable":true},"vaix_game_studio":{"description":"Game studio provided by Vaix.","type":"string","nullable":true},"vaix_tags":{"description":"Themes tagged by Vaix.","type":"array","items":{"type":"string"},"nullable":true}}},"GameImage":{"description":"A game image object","type":"object","properties":{"type":{"description":"Type of the image","type":"string"},"url":{"description":"Url of the image","type":"string"}},"additionalProperties":false},"Error":{"description":"The generic API's error response","type":"object","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"additionalProperties":false},"Errors":{"description":"The generic API's errors response","type":"object","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"additionalProperties":false},"UnprocessableEntityError":{"oneOf":[{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"}]}}},"paths":{"/api/casino/games/similar":{"get":{"operationId":"get_similar_games","summary":"Get similar games","description":"Returns similar games for the given game id(s).\n\nThe games are sorted by `distance` ascending.\n\n{% hint style=\"info\" %}\n\n## Distance\n\n\nThe metric used to measure similarity between items is called distance.\nIt is a system indicator on how similar the item is to the input.\n\nThe smaller the number the more similar the item.\n\nThe normalized value of the item's distance to the input\nis also assigned to each selection as its `confidence`.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Query example\n\n\nIn this example we get the similar games to the game with id `book_of_dead_play_n_go`\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/casino/games/similar?game_ids=book_of_dead_play_n_go'\n```\n\n{% endhint %}\n\n","parameters":[{"name":"x-vaix-client-id","in":"header","description":"Custom client header, the value should be the name of the group the user belongs to","required":true,"schema":{"type":"string"}},{"name":"x-vaix-authentication-method","in":"header","description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","required":false,"schema":{"type":"string"}},{"name":"game_ids","in":"query","description":"Comma separated list of game ids for which to return similar games.\nIf multiple games are provided the games returned are going to be\nthe ones with the shortest average distance to all of the provided games.\n","required":true,"schema":{"type":"string"}},{"name":"user","in":"query","description":"The user to get recommendations for.","required":false,"schema":{"type":"string","default":"0"}},{"name":"exclude_last_n_played","in":"query","description":"The number of last games that user played to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"exclude_last_n_clicked","in":"query","description":"The number of last games that user clicked to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"count","in":"query","description":"Number of games to return.\n","required":false,"schema":{"type":"integer","default":100,"minimum":1}},{"name":"filters","in":"query","description":"Optional filtering of the games to retrieve. Can contain filters\nrelated to game, user, game properties or game statistics.\nIt expects a string adhering to the filtering format, as described\nin the filtering section, e.g. `enabled:eq:1`.\n","required":false,"schema":{"type":"string","enum":["game_id","game_studio","category","vaix_tags","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","enabled","has_megaways","game_country","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","live"]}},{"name":"dynamic_filters","in":"query","description":"Optional dynamic filtering of the items to retrieve. If any dynamic filter is set,\nthe filter's value will be dynamically calculated and used. Notice that for `user`\nrelated filters, the `user` query parameter must be provided. For example,\n`dynamic_filters=user_country` will return data related only to the user's specific country.\n","required":false,"schema":{"type":"string","enum":["user_country","user_state","user_language","user_brand","user_city","game_country"]}},{"name":"include_input","in":"query","description":"If it's true include input items in response. By default is set to `false`.\n","required":false,"schema":{"type":"boolean","default":false}},{"name":"operator","in":"query","description":"The operator to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored.\n","required":false,"schema":{"type":"string"}},{"name":"bookmaker_id","in":"query","description":"The bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`sub_bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"sub_bookmaker_id","in":"query","description":"The sub-bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"fields","in":"query","description":"Optional selection of the object fields to retrieve. It expects a comma\nseparated list of strings, as described in the field selection section,\ne.g. `game_id,game_name`.\n","required":false,"schema":{"type":"string","default":"game_id,confidence","enum":["game_id","game_name","game_studio","category","vaix_tags","vaix_category","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","confidence"]}},{"name":"location","in":"query","description":"The location of the page where the request takes place.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"description":"API response","type":"object","properties":{"data":{"description":"Array of objects","type":"array","items":{"$ref":"#/components/schemas/SimilarGame"}},"status":{"description":"The status of the request","type":"string","enum":["success","error"]}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"406":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}}},"425":{"description":"Too Early","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"tags":["Casino Games"]}}}}
````

## Get trending games

> Returns trending games for the given time frame.\
> \
> The games are sorted by trending score.\
> \
> {% hint style="info" %}\
> \
> \## Trending score\
> \
> \
> To calculate trending score for a game, each session played on this game\
> contributes a value determined by how recently the session was played.\
> \
> Recent sessions add more value than older ones.\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Filtering example\
> \
> \
> In this example we get all trending games where \`game\_studio\` is \`NetEnt\`.\
> \
> \`\`\`bash\
> $ curl --request GET \\\
> &#x20; \--url '<https://api.vaix.ai/api/casino/games/trending?filters=game\\_studio%3Aeq%3ANetEnt'\\>
> \`\`\`\
> \
> {% endhint %}\ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Casino games related endpoints","name":"Casino Games"}],"servers":[{"description":"Production API","url":"https://api.vaix.ai"},{"description":"Staging (integration) API","url":"https://staging-api.vaix.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"TrendingGame":{"description":"A trending game object","type":"object","properties":{"category":{"description":"The category of the game, e.g. `Gaming: Dice`.","type":"string","nullable":true},"channels":{"description":"The available channels of the game.","type":"array","items":{"type":"string"},"nullable":true},"confidence":{"description":"Each returned item is associated with a number from 0 to 1 indicating the confidence\nof the system in this specific recommendation. The higher the number the more confident\nthe recommendation of it.\n","type":"number"},"enabled":{"description":"Is game enabled indicator.","type":"number","nullable":true},"first_transaction":{"description":"Time of first transaction.","type":"string","format":"date-time","nullable":true},"game_id":{"description":"The unique game id","type":"string"},"game_image_url":{"description":"Game image from client's website.","type":"string","nullable":true},"game_link":{"description":"The url to the game (used in email campaigns).","type":"string","nullable":true},"game_name":{"description":"The name of the game.","type":"string"},"game_studio":{"description":"The studio providing the game.","type":"string","nullable":true},"has_avalanche":{"description":"Avalanche cascading reels feature indicator.","type":"boolean","nullable":true},"has_bonus":{"description":"bonus feature indicator.","type":"boolean","nullable":true},"has_buy":{"description":"buy feature indicator.","type":"boolean","nullable":true},"has_jackpot":{"description":"jackpot feature indicator.","type":"boolean","nullable":true},"has_megaways":{"description":"Megaways feature indicator.","type":"boolean","nullable":true},"has_sticky":{"description":"Wild sticky feature indicator.","type":"boolean","nullable":true},"images":{"description":"The list of images of the game.","type":"array","items":{"$ref":"#/components/schemas/GameImage"},"nullable":true},"internal_game_id":{"description":"The operator's internal game id of the game.","type":"string","nullable":true},"is_live":{"description":"live feature indicator.","type":"boolean","nullable":true},"max_bet":{"description":"The game's maximum bet allowed.","type":"number","nullable":true},"min_bet":{"description":"The game's minimum bet.","type":"number","nullable":true},"release_date":{"description":"Release date of the game, given by the operator.","type":"string","format":"date-time","nullable":true},"score":{"description":"Score of metrics like total sessions, trending score, playing rtp etc.","type":"number"},"vaix_category":{"description":"Category provided by Vaix.","type":"string","nullable":true},"vaix_game_studio":{"description":"Game studio provided by Vaix.","type":"string","nullable":true},"vaix_tags":{"description":"Themes tagged by Vaix.","type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"GameImage":{"description":"A game image object","type":"object","properties":{"type":{"description":"Type of the image","type":"string"},"url":{"description":"Url of the image","type":"string"}},"additionalProperties":false},"Error":{"description":"The generic API's error response","type":"object","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"additionalProperties":false},"Errors":{"description":"The generic API's errors response","type":"object","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"additionalProperties":false},"UnprocessableEntityError":{"oneOf":[{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"}]}}},"paths":{"/api/casino/games/trending":{"get":{"operationId":"get_trending_games","summary":"Get trending games","description":"Returns trending games for the given time frame.\n\nThe games are sorted by trending score.\n\n{% hint style=\"info\" %}\n\n## Trending score\n\n\nTo calculate trending score for a game, each session played on this game\ncontributes a value determined by how recently the session was played.\n\nRecent sessions add more value than older ones.\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Filtering example\n\n\nIn this example we get all trending games where `game_studio` is `NetEnt`.\n\n```bash\n$ curl --request GET \\\n  --url 'https://api.vaix.ai/api/casino/games/trending?filters=game_studio%3Aeq%3ANetEnt'\n```\n\n{% endhint %}\n\n","parameters":[{"name":"x-vaix-client-id","in":"header","description":"Custom client header, the value should be the name of the group the user belongs to","required":true,"schema":{"type":"string"}},{"name":"x-vaix-authentication-method","in":"header","description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","required":false,"schema":{"type":"string"}},{"name":"user","in":"query","description":"The user to get recommendations for.","required":false,"schema":{"type":"string","default":"0"}},{"name":"exclude_last_n_played","in":"query","description":"The number of last games that user played to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"exclude_last_n_clicked","in":"query","description":"The number of last games that user clicked to exclude from recommendations.\nThis functionality works as expected only if the `user` parameter is given.\n","required":false,"schema":{"type":"integer","default":0}},{"name":"count","in":"query","description":"Number of games to return.\n","required":false,"schema":{"type":"integer","default":100,"minimum":1}},{"name":"filters","in":"query","description":"Optional filtering of the games to retrieve. Can contain filters\nrelated to game, user, game properties or game statistics.\nIt expects a string adhering to the filtering format, as described\nin the filtering section, e.g. `enabled:eq:1`.\n","required":false,"schema":{"type":"string","enum":["game_id","game_studio","category","vaix_tags","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","enabled","has_megaways","game_country","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","live","total_sessions","user_country","user_brand","user_language","user_city","user_state"]}},{"name":"reorder_by","in":"query","description":"Optional re ordering of the results based on one or more metrics.\nExpected format is a comma separated list of keywords where each value\nshould be a float in the range [0,1]. e.g. `recommended:0.3`.\nFor more information head to the ordering documentation section.\n","required":false,"schema":{"type":"string","enum":["recommended"]}},{"name":"ranking_filter","in":"query","description":"Optional filtering of the results based on the ranking of the given entities.\nIt expects a string adhering to the ranking format, as described in the\n`ranking filtering` section, e.g. `game_studio_recommended:1`.\n","required":false,"schema":{"type":"string","enum":["game_studio_recommended","game_studio_popular","game_studio_trending","game_tag_recommended","game_tag_popular","game_tag_trending","casino_category_recommended","casino_category_popular","casino_category_trending"]}},{"name":"ignore_user_filter_threshold","in":"query","description":"When user related filters are defined they get applied only if one of the following conditions are met:\n  * `ignore_user_filter_threshold=true`\n  * The count of game sessions when applying those filters is statistically significant.\n","required":false,"schema":{"type":"boolean","default":false}},{"name":"dynamic_filters","in":"query","description":"Optional dynamic filtering of the items to retrieve. If any dynamic filter is set,\nthe filter's value will be dynamically calculated and used. Notice that for `user`\nrelated filters, the `user` query parameter must be provided. For example,\n`dynamic_filters=user_country` will return data related only to the user's specific country.\n","required":false,"schema":{"type":"string","enum":["user_country","user_state","user_language","user_brand","user_city","game_country"]}},{"name":"group_limit","in":"query","description":"Applies a limit to a group of items. For more information, head to\n`Limiting -> Group Limiting` section of the docs.\n`game_studio:5,category:2`.\n","required":false,"schema":{"type":"string","enum":["game_studio","category"]}},{"name":"operator","in":"query","description":"The operator to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored.\n","required":false,"schema":{"type":"string"}},{"name":"bookmaker_id","in":"query","description":"The bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`sub_bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"sub_bookmaker_id","in":"query","description":"The sub-bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`bookmaker_id` parameter.\n","required":false,"schema":{"type":"integer"}},{"name":"fields","in":"query","description":"Optional selection of the object fields to retrieve. It expects a comma\nseparated list of strings, as described in the field selection section,\ne.g. `game_id,game_name`.\n","required":false,"schema":{"type":"string","default":"game_id,confidence","enum":["game_id","game_name","game_studio","category","vaix_tags","vaix_category","tags","channels","has_megaways","is_live","has_bonus","has_buy","has_jackpot","has_sticky","has_avalanche","has_fixed","has_free_spin","has_wilds","has_gamble","has_respin","has_scatter","has_symbols_collection","has_symbols_mega","has_symbols_expanding","has_symbols_mystery","has_multiplier","has_wilds_random","has_wilds_walking","confidence"]}},{"name":"location","in":"query","description":"The location of the page where the request takes place.\n","required":false,"schema":{"type":"string"}},{"name":"trending_within","in":"query","description":"Considers game sessions played after the current timestamp minus the given\nminutes/hours/days. If not set defaults to `2 days`.\nThe value must be in range [1m - 7d].\n","required":false,"schema":{"type":"string","default":"2d","pattern":"^[+-]?[0-9]+([.][0-9]+)?[smhd]?$"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"description":"API response","type":"object","properties":{"data":{"description":"Array of objects","type":"array","items":{"$ref":"#/components/schemas/TrendingGame"}},"status":{"description":"The status of the request","type":"string","enum":["success","error"]}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"406":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}}},"425":{"description":"Too Early","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"tags":["Casino Games"]}}}}
````
