Seat a player
POST/battles/:id/seats
Takes the lowest-index empty seat, or upgrades the caller's existing FILLED
seat to READY. Because a game_url is required, the seat is always READY
afterwards — which is what can trigger auto-start.
A player already holding a READY or PLAYING seat cannot join again; one
holding a FILLED seat is upgrading, which is allowed.
The response carries a viewer token when the instance has a signing key.
Scope: battles:write
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 413
- 503
Seat taken
Missing player_ref or game_url, or an unknown field
Missing, malformed, revoked or expired API key
The key lacks battles:write, or the casino is suspended
No such battle for this casino
The battle is not OPEN, there is no empty seat, the player is already seated here, or they are in another active battle
Body over 1 MiB
The lobby is still initialising