Issue free rounds
POST/free-rounds
Issue free rounds (free spins) to a player on one or more games. count
is per game — games: [A, B] with count: 10 issues 10 rounds on
each (20 total). Not tied to a session; every game must support free
rounds and passes the same jurisdiction check as a launch.
Requires the write scope and an Idempotency-Key header (same key +
same body replays the cached result; same key + different body → 409).
Free rounds must be enabled for the provider before issuance succeeds.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Unique key for idempotent retry semantics. Retries within 24 hours return the cached response. Same key with a different body returns 409 Conflict.
Request Bodyrequired
Section titled “Request Bodyrequired”object
truelabsCatalog game UUIDs (from GET /v1/games). Every game must support free rounds.
Rounds per game (not total). games:[A,B] with count:10 issues 20 total.
EURISO 3166-1 alpha-2. Checked against jurisdiction rules at issue time.
Stake level (provider-dependent). Provide exactly one of coin_level / bet_amount.
Stake per round in major units (provider-dependent).
When the rounds become playable.
When unplayed rounds expire.
Your campaign reference (optional).
The kind of free round; echoed back on the settlement callback.
Platform accounts only. Which brand’s players receive the grant.
Same rules and error codes as sub_operator_ref on
POST /v1/sessions; the grant lands on the brand’s identity so
settlement routes to the same brand the session did.
Because the grant is keyed on the brand, the same ref must be
sent to GET /v1/free-rounds and
POST /v1/free-rounds/{grant_id}/cancel to see or cancel it.
brand-01Responses
Section titled “Responses”Idempotent replay of a previously issued grant.
object
object
Per-game outcome, e.g. active or issue_failed.
Grant issued for all games.
object
object
Per-game outcome, e.g. active or issue_failed.
Partially issued — some games failed (see per-game status).
object
object
Per-game outcome, e.g. active or issue_failed.
Validation failed, missing Idempotency-Key, or invalid stake.
object
object
Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction,
player_self_excluded). Branch on code; type is for readability.
game_blocked_jurisdictionCorrelation ID for support escalation.
object
Missing, invalid, or revoked API key.
object
object
Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction,
player_self_excluded). Branch on code; type is for readability.
game_blocked_jurisdictionCorrelation ID for support escalation.
object
Free rounds disabled for the provider, jurisdiction blocked, or player self-excluded.
object
object
Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction,
player_self_excluded). Branch on code; type is for readability.
game_blocked_jurisdictionCorrelation ID for support escalation.
object
Idempotency key reused with a different request body.
object
object
Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction,
player_self_excluded). Branch on code; type is for readability.
game_blocked_jurisdictionCorrelation ID for support escalation.
object
A game does not support free rounds, or the stake is outside its limits.
object
object
Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction,
player_self_excluded). Branch on code; type is for readability.
game_blocked_jurisdictionCorrelation ID for support escalation.
object
Rate limit exceeded; consult Retry-After.
object
object
Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction,
player_self_excluded). Branch on code; type is for readability.
game_blocked_jurisdictionCorrelation ID for support escalation.
object
Headers
Section titled “Headers”Seconds to wait before retry.