Open a session
POST /api/v1/game-sdk/{gameId}/sessions with the bearer
access token and the x-game-key header. The response:
Start-gate rules
A session is refused (403) when:
- the game is not published,
- the game key is invalid for the requested environment,
- the key’s allowed origins do not include the request origin,
- the key lacks the
sessionscope, or - the player is not a participant of the given match.
Origin/Referer header, so the game key’s
origin binding is what protects browser builds.
Consume the session
Thetoken is consumed when you submit a result
(POST results). It is verified as:
- a real session token hash,
- not already consumed,
- not expired,
- bound to this user and this match.
Session status
The SDK exposes teammate session status and player context throughget_session_status() and player_context(), so your UI can reflect whether
a match session is open, pending, or validated.

