Skip to Content
API ReferenceAppearance

Appearance

Appearance is optional. Games work with the default theme.

Add these fields to your session request. You do not need to change your webhook or build game UI.

Common settings

This is a fragment to add alongside clientId and userId:

{ "language": "en", "theme": { "buttonColor": "#22C993", "darkBackground": "#101A18" }, "logoUrl": "https://operator.example/logo.svg", "showBalance": true }
FieldWhat it changes
languageUse en, pt or es. English is the fallback.
theme.buttonColorPrimary color for buttons and highlights.
theme.darkBackgroundBase color for game surfaces.
logoUrlLogo in the game’s bottom bar.
cardLogoUrlCard-back logo. Falls back to logoUrl when omitted.
showBalanceShows the in-game balance. Default: false.
showRulesShows the game-rules button. Default: false.
userNameDisplay name in multiplayer games.

Colors accept #RGB, #RRGGBB or #RRGGBBAA. An invalid color is ignored for that key. The game derives the remaining palette from the two theme colors.

Session theme and logo values override account defaults. Send the settings you want on each launch; omitted session settings do not carry over from the player’s previous launch. Keep using the returned gameUrl so its presentation query parameters are preserved.

More control

Most integrations can stop above. These optional theme fields adjust the controls:

FieldValues
borderRadiusA length such as 8px or 0.5rem.
betButtonColorA CSS background value, including a gradient.
betButtonShadowA CSS box-shadow value.

The two CSS-valued fields reject ;, braces, angle brackets and url(). darkLightBackground is deprecated and has no effect.

For individual controls, add theme.components:

{ "theme": { "components": { "primaryButton": { "weight": "bold", "round": "l", "height": 48 }, "secondaryButton": { "weight": "medium", "round": "m", "height": 40 }, "input": { "weight": "regular", "round": "m", "height": 40, "border": true } } } }
PropertyAllowed values
Button weightmedium, semibold, bold
Input weightregular, medium
rounds, m, l, xl, pill
Primary button height40, 48, 56
Secondary button height32, 40, 48, 56
Input height40, 48
Input bordertrue or false

All component fields are optional. Session values override the matching fields in the account settings. Omitted fields and other components keep their account defaults.

To change appearance after launch, create another session and load its launch URL.