Battles and games
Battles are read-only, plus one write
You can list battles, read one, and cancel an open lobby. You cannot open one.
Opening a battle is the consuming backend's act over S2S: it carries a player reference, a wallet debit and a settlement, none of which exist in an operator's session. A console button that opened battles would be opening them on behalf of a player who never asked, with money that was never debited.
| Action | Permission |
|---|---|
| List and read | battles.read |
| Cancel an open lobby | battles.write |
Cancelling works only while the battle is OPEN. One that already started answers 409.
What to look at when something is wrong
A lobby stuck at OPEN past its window means the expiry sweep is not running. That is
maintenance on the instance rather than something the console fixes, so report it to your
host. Meanwhile, every player in it is locked out of starting another battle by the
one-active-battle rule.
A run of FAILED points at the recorder: capacity, provider credentials, or a deploy that
landed mid-battle.
Seats stuck at FILLED mean nobody supplied a game session URL. FILLED is not READY,
and a table that is not all-READY never starts.
Games: the allowlist
The games screen answers the whole catalog with a boolean per game, not just the allowed ones, because a screen limited to allowed games could not be used to allow a new one.
| Action | Permission |
|---|---|
| See the catalog and current allowlist | games.read |
| Allow or revoke | games.write |
It is not "all games". A casino with nothing allowed sees zero games on the S2S API and every
battle creation fails 403 game_not_allowed.
This is the most commonly misdiagnosed symptom in SlotBattle, because it reads as a broken integration. Allowing games is part of onboarding.
The catalog is cached, but the console invalidates that cache on every allow and revoke, the same way settings invalidate on save, so a change made here shows up in the API at once.
A change made outside the console can take up to 30 seconds to appear. See Allowlist changes.
status on a game
validated has been verified end to end: the recording recipe works, the bonus buy lands,
and the video is watchable.
planned means a recipe exists but no profile does. It appears so that an operator can
see it coming. Do not allow it for a casino that will sell it.
Revoking a game mid-lobby
Revoking while a lobby is open does not cancel that lobby, but the allowlist is re-checked when bots are seated. A battle whose game was revoked while it waited therefore fails at the point of filling rather than running on a game you withdrew.
Existing RUNNING battles are unaffected, because they already dispatched.