Skip to content

Open app

Get a game

GET
/games/{game_id}

Retrieve a single game by its UUID.

Mobule requires current support approval for the exact organization bound to the authenticated operator key. Unbound keys cannot infer an organization. A platform key takes no sub_operator_ref here and is evaluated as the platform account, admitted by its organization’s approval. Discovery omits unapproved games (direct game/stakes lookup returns 404). Launches and launcher re-reads return PROVIDER_ACCESS_REQUIRED (403) on denial; storage uncertainty returns PROVIDER_ACCESS_UNAVAILABLE (503). Requests for other providers keep their existing access policy.

game_id
required
string format: uuid

The requested game.

object
game
required
object
id
required
string format: uuid
provider_game_id
required
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. true means you can issue free rounds on it via POST /v1/free-rounds; a false game is rejected at grant time. Filter your free-round campaigns on this. For Mobule it mirrors the provider’s is_freerounds_enabled flag as of the last catalogue sync.

boolean
blocked_countries
Array<string>
certified_markets

Informational allow-list of regulated markets the game is certified for, as declared by the provider. This is NOT a launch gate - it is a licensing hint so you can filter the catalog by what your licence permits. null when the provider declares no market data. (The launch gate is blocked_countries, enforced against the operator-declared player country.)

object
regulated

ISO-3166-1 alpha-2 codes of 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.

boolean
low_barrier

ISO 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>
raw

The original provider 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 (provider_configs.supported_currencies). An empty array means no declared restriction is known. Filter the catalog with the currency query parameter, and treat this as the source of truth for which player wallet currencies a game supports before launch.

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

Minimum stake per spin, quoted in bet_limits_currency exactly as the provider declared it - the platform never converts limits between currencies. null when the provider has not declared a limit.

number format: float
nullable
0.1
max_bet

Maximum stake per spin, quoted in bet_limits_currency. null when undeclared.

number format: float
nullable
100
default_bet

Suggested default stake the operator may pre-select, quoted in bet_limits_currency. null when undeclared.

number format: float
nullable
1
bet_limits_currency

The currency min_bet/max_bet/default_bet are quoted in (canonical upper-case code). null exactly when no bet value is declared. Values are NOT converted to the player’s wallet currency.

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

Maximum win expressed as a multiple of the stake (currency-agnostic). null when the provider has not declared a cap.

number format: float
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://hub.aggregator.gg/error-reference/.

string
/^(E[0-9A-F][0-9]{3}|PROVIDER_ACCESS_REQUIRED|PROVIDER_ACCESS_UNAVAILABLE)$/
E0001
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://hub.aggregator.gg/error-reference/.

string
/^(E[0-9A-F][0-9]{3}|PROVIDER_ACCESS_REQUIRED|PROVIDER_ACCESS_UNAVAILABLE)$/
E0001
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://hub.aggregator.gg/error-reference/.

string
/^(E[0-9A-F][0-9]{3}|PROVIDER_ACCESS_REQUIRED|PROVIDER_ACCESS_UNAVAILABLE)$/
E0001
message
required
string
request_id

Correlation ID for support escalation.

string
details
object
key
additional properties
any

Provider access or session authorization storage is temporarily unavailable.

object
error
required
object
code
required

Machine-parseable error code. See https://hub.aggregator.gg/error-reference/.

string
/^(E[0-9A-F][0-9]{3}|PROVIDER_ACCESS_REQUIRED|PROVIDER_ACCESS_UNAVAILABLE)$/
E0001
message
required
string
request_id

Correlation ID for support escalation.

string
details
object
key
additional properties
any