POST
/
lobbies
/
code
/
{code}
/
players
Join a lobby by invite code, scoped to a lobby configuration
curl --request POST \
  --url https://backend.computeflow.cloud/lobbies/code/{code}/players \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --data '{
  "playerId": "player123",
  "metadata": {
    "name": "PlayerOne",
    "avatar": "avatar_url",
    "preferences": {
      "team": "red"
    }
  }
}'
{
  "id": "e495d158-5d18-45e4-81b2-384790a8b830",
  "name": "Pro Players Only",
  "host": "player123",
  "maxPlayers": 8,
  "currentPlayers": 3,
  "region": "us-west",
  "status": "waiting",
  "isPrivate": false,
  "useInviteCode": false,
  "inviteCode": "abc123",
  "allowLateJoin": true,
  "settings": {
    "gameMode": "capture-the-flag",
    "timeLimit": 300,
    "teamSize": 4,
    "mapRotation": [
      "map1",
      "map2"
    ]
  },
  "players": [
    "player123",
    "player456",
    "player789"
  ],
  "lobbyStateRealTime": {
    "player123": {
      "position": {
        "x": 100,
        "y": 20
      },
      "health": 80
    },
    "player456": {
      "position": {
        "x": 200,
        "y": 30
      },
      "health": 95
    }
  },
  "gameServer": {
    "instance_id": "srv-a1b2c3d4",
    "name": "lobby-1698754321",
    "network_ports": [
      {
        "name": "game",
        "internal_port": 7777,
        "external_port": 30000,
        "protocol": "udp",
        "host": "203.0.113.42",
        "tls_enabled": false
      },
      {
        "name": "web",
        "internal_port": 8080,
        "external_port": 30001,
        "protocol": "tcp",
        "host": "203.0.113.42",
        "tls_enabled": true
      }
    ],
    "status": "running",
    "startup_args": "--mode capture-the-flag --map castle",
    "service_type": "match_based",
    "compute_size": "small",
    "region": "us-west",
    "version_tag": "v1.0.2",
    "started_at": "2023-10-31T15:30:00Z",
    "stopped_at": null,
    "custom_data": {
      "gameMode": "capture-the-flag",
      "mapName": "castle",
      "teamSize": 4,
      "scoreLimit": 10
    },
    "ttl": 3600
  },
  "timeout": 300,
  "createdAt": "2023-08-15T14:30:00.000Z",
  "updatedAt": "2023-08-15T15:45:00.000Z"
}

Authorizations

api-key
string
header
required

Headers

api-key
string
required

API key for authentication

client-auth-token
string

Optional client authentication token for player validation

Path Parameters

code
string
required

Lobby invite code

Query Parameters

name
string
required

Name of the lobby configuration to attempt joining

Body

application/json

Response

200
application/json

Player joined the lobby successfully

The response is of type object.