PATCH

Authorizations

api-key
string
header
required

Per-project client key, prefixed ck_live_. Player-facing endpoints only, and browse never returns private lobbies. Safe to ship in a game binary: a leak exposes one project's player surface, nothing else.

Headers

x-player-id
string
required

Identifies the acting player. Trusted verbatim: Simpl performs no authentication or token verification on this value. Bring your own identity system and pass whatever stable id it produces.

Required string length: 1 - 128
Example:

"player_1"

Path Parameters

lobby_id
string
required

Lobby identifier.

Example:

"lobby_456"

player_id
string
required

Player identifier within the lobby.

Example:

"player_1"

Body

application/json

Updates a player's free-form state. A player may update their own state; a host may update any player's state in their lobby.

state
object
required

Free-form per-player state. Matchmaking rules read fields from here (for example mmr, game_version, regions). Set via PATCH /v1/lobbies/{lobby_id}/players/{player_id}.

Example:
merge
boolean
default:true

true merges the supplied keys into the existing state. false replaces it wholesale.

Response

The updated player.

player_id
string
required
Example:

"player_1"

is_host
boolean
required
joined_at
string<date-time>
required
Example:

"2026-09-21T14:00:00Z"

state
object

Free-form per-player state. Matchmaking rules read fields from here (for example mmr, game_version, regions). Set via PATCH /v1/lobbies/{lobby_id}/players/{player_id}.

Example: