Fill the remaining seats with bots
POST/battles/:id/bot-seats
Fills every remaining empty seat, so the bots become READY — which is
normally what starts the battle.
Each bot needs a session. Supply it as bots[].game_url when your backend
mints one per seat: that is what a real-money battle needs, because the
session this service mints for a bot is always a DEMO one. A seat you send no
URL for is minted for here, under this casino's own provider credentials —
unless the casino has demoMintEnabled turned off, in which case the request
is rejected rather than the seat quietly downgraded.
The body is optional. Omit it to auto-name every bot and mint every session;
supply bots to name them, in which case you must supply at least as many
entries as there are empty seats or the request is rejected.
Only the creator may call bots. This route also re-checks the game allowlist: a game revoked while the lobby was open stops the battle here.
Scope: bots:write — deliberately not battles:write.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 502
- 503
Seats filled
Malformed body, unknown field, or trailing content after the JSON value
Missing, malformed, revoked or expired API key
The key lacks bots:write, the caller is not the creator, the casino is suspended, the game is no longer allowed, or a seat arrived without a game_url at a casino that has demo minting turned off
No such battle for this casino
The battle is not OPEN, or fewer bot refs than empty seats were supplied
Minting a bot's demo session failed at the provider
The lobby is still initialising