Games
GET
/v1/games
The games you may offer to your players. Paged by cursor.
SignedSandboxProduction
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| type | string | no | One of slot, table, live_dealer, instant, crash, lottery, virtual, sportsbook, skill, other. |
| provider_code | string | no | One provider, as GET /v1/providers names it.Example: pragmaticplay |
| studio_code | string | no | The same filter under its older name. When both are sent, studio_code wins.Deprecated since API v1. Use provider_code instead. Kept for backward compatibility. |
| country | string | no | ISO 3166-1 alpha-2. Leaves out every game that cannot be played in that country. Ask with the player's country to get the list to show them.Example: DE |
| cursor | string | no | The next_cursor of the previous page. |
| limit | integer | no | 1..200, default 50. Above 200 is cut to 200; below 1 is VALIDATION_FAILED. |
response 200
{
"games": [
{
"id": "6ddd5f30-0b1c-4c52-9f3e-2a7c1b8e4d10", // title id: what POST /v1/sessions takes
"provider_code": "pragmaticplay",
"code": "vs20fruitsw", // the provider game code
"name": "Sweet Bonanza",
"studio": "Pragmatic Play",
"studio_code": "pragmaticplay", // deprecated: repeats provider_code
"type": "slot",
"rtp": 96.5, // a percentage; null when none is published
"thumbnail_url": "https://…",
"images": { "portrait": "https://sandbox-api.example.com/v1/images/8c1d…", "cover": null },
"has_demo": true,
"restricted_countries": ["US"],
"section_code": null // pricing section, e.g. "live"
}
],
"next_cursor": "eyJzIjowLCJuIjoi…" // absent on the last page
}Response fields
| Field | Type | Description |
|---|---|---|
| id | string (uuid) | Our id of the title. Not what wallet callbacks carry as game_id; see Game identifiers. |
| provider_code | string | The provider. File games by it. |
| code | string | The provider game code, for display and support. |
| name | string | Display name. |
| studio | string | null | Studio display name. |
| studio_code | string | null | Repeats provider_code.Deprecated since API v1. Use provider_code instead. Kept for backward compatibility. |
| type | string | Game type, as in the type filter. |
| rtp | number | null | Return to player as a percentage. |
| thumbnail_url | string | null | The feed's thumbnail. |
| images | object | portrait (a tile) and cover (a wide banner), each a URL or null. See Images. |
| has_demo | boolean | Whether POST /v1/games/{id}/demo will answer. |
| restricted_countries | string[] | Countries where the game cannot be played. |
| section_code | string | null | The pricing section the game belongs to, as in GET /v1/rates. |
Possible errors
| error | HTTP | Retry | When |
|---|---|---|---|
| VALIDATION_FAILED | 422 | no | A field is missing, out of range or of the wrong JSON type, or the body is not valid JSON. Every broken field is listed in fields with the rule it broke; "body" when the JSON does not parse. |
Every endpoint can also answer UNAUTHORIZED, ADDRESS_NOT_ALLOWED, RATE_LIMITED and UPSTREAM_UNAVAILABLE. See the Error reference.
Notes
- Paging is keyset. Pass
next_cursorback until it is absent. A cursor we did not issue is refused rather than read as page one. - Cache the catalogue. It changes when providers publish, not per player.
- Country rules come from the game providers, not from your licence; apply your own licence on top.
