Skip to content

Get a game

GET
/games/{game_id}

Retrieve a single game by its UUID.

game_id
required
string format: uuid

The requested game.

object
game
required
object
id
required

The Aggregator catalog UUID. Pass THIS as game_id when creating a real or demo session.

string format: uuid
provider_game_id
required

The provider’s own game code. For display/reference only — do NOT use it to create sessions (use id).

string
provider_code
required
string
truelabs
name
required
string
brand
string
category
required
string
game_type
string
slots
rtp
number format: float
<= 100
volatility
string
Allowed values: low medium high
has_mobile
boolean
has_desktop
boolean
has_demo
required
boolean
thumbnail_url
string format: uri
free_rounds_support

Whether this game supports free rounds / free spins. When true you can issue free rounds on it via POST /v1/free-rounds; issuance on a game where this is false is rejected at grant time. Filter your free-round campaigns on this field.

boolean
blocked_countries

Effective ISO-3166-1 alpha-2 countries this game may NOT be launched in — the provider-declared block carried to you. It is the per-game override when the provider sets one, otherwise the whole-provider default (GET /v1/providers/registry). A player whose country is in this list is rejected at session create; filter your storefront on it too. Empty = no country restriction.

Array<string>
[
"TR",
"FR"
]
certified_markets

Informational allow-list of the regulated markets the game is certified for, as declared by the provider. Use it to filter your storefront to games your licence permits.

This is not a launch gate and is a different axis from blocked_countries: blocked_countries is a block-list checked against the player country at session create, whereas certified_markets describes which licences may carry the game. We do not enforce it — choosing which games to offer under your licence is your responsibility. null when the provider declares no market data.

object
regulated

ISO-3166-1 alpha-2 codes of the certified regulated markets.

Array<string>
[
"DE",
"EE",
"GI",
"IM",
"MT"
]
dotcom

true when the game is approved for the international / offshore (”.COM”, rest-of-world) market — a market type, not a country, so it is never expanded into a country list.

boolean
low_barrier

ISO-3166-1 alpha-2 codes of certified low-barrier markets.

Array<string>
[
"AM",
"LV",
"MX",
"ME",
"RS"
]
other

Certified markets with no ISO country mapping (e.g. territory licensing authorities), preserved verbatim. Omitted when empty.

Array<string>
[
"Kahnawake"
]
raw

The provider’s original markets string. Omitted when the data came only from structured certification fields.

string
features
Array<string>
release_date
string format: date
supported_currencies

Effective ISO-4217 currencies this game can be launched in: the game’s own override if set, else the provider default. An empty array means no declared restriction is known. Filter the catalog with the currency query parameter; treat this as the source of truth for which player wallet currencies a game supports before launch.

Array<string>
[
"USD",
"EUR"
]
min_bet

Provider-declared minimum stake per spin, quoted in bet_limits_currency. null when the provider has not declared it. No FX conversion is applied — the value is exactly as the provider quotes it.

number
nullable
0.1
max_bet

Provider-declared maximum stake per spin, quoted in bet_limits_currency. null when undeclared.

number
nullable
100
default_bet

Provider-declared default stake per spin, quoted in bet_limits_currency. null when undeclared.

number
nullable
1
bet_limits_currency

The currency the min_bet / max_bet / default_bet values are quoted in (canonical code, fiat or crypto). Present whenever any bet limit is set; null when no bet limits are declared. These values are NOT converted to the player’s wallet currency — treat them as the provider’s reference quote.

string
nullable /^[A-Z]{3,8}$/
EUR
max_win_multiplier

Maximum win as a multiple of the stake (e.g. 5000 = 5000×). A currency-agnostic stake multiplier, NOT a money amount. null when the provider has not declared it.

number
nullable
5000
bet_steps

The discrete valid-stake ladder for one currency, when known — e.g. for issuing free rounds. Single-currency (no FX), so it answers only for currency. null when no ladder is on file (then use GET /v1/games/{game_id}/stakes / provider-side validation).

object
currency
required
string
EUR
steps
required
Array<number>
[
0.2,
0.4,
0.6,
0.8,
1,
2,
4
]

game_id is not a valid UUID.

object
error
required
object
code
required

Machine-parseable error code. See https://docs.aggregator.gg/resources/error-codes/.

string
/^E[0-9A-F][0-9]{3}$/
E0001
type

Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction, player_self_excluded). Branch on code; type is for readability.

string
game_blocked_jurisdiction
message
required
string
request_id

Correlation ID for support escalation.

string
details
object
key
additional properties
any

Missing, invalid, or revoked API key.

object
error
required
object
code
required

Machine-parseable error code. See https://docs.aggregator.gg/resources/error-codes/.

string
/^E[0-9A-F][0-9]{3}$/
E0001
type

Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction, player_self_excluded). Branch on code; type is for readability.

string
game_blocked_jurisdiction
message
required
string
request_id

Correlation ID for support escalation.

string
details
object
key
additional properties
any

No game found with that ID.

object
error
required
object
code
required

Machine-parseable error code. See https://docs.aggregator.gg/resources/error-codes/.

string
/^E[0-9A-F][0-9]{3}$/
E0001
type

Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction, player_self_excluded). Branch on code; type is for readability.

string
game_blocked_jurisdiction
message
required
string
request_id

Correlation ID for support escalation.

string
details
object
key
additional properties
any