Servers
- Servers
- Server Image Management
Lobbies & Matchmaking
- Matchmaking
- Lobbies
- GETList all lobbies for a specific lobby configuration
- POSTCreate a new lobby under a specific lobby configuration
- GETGet a specific lobby by ID or find a player's lobby by player ID
- PUTUpdate a lobby resource (REST-compliant unified endpoint)
- DELDelete a lobby (host or admin only), scoped to a lobby configuration
- POSTJoin a lobby by invite code, scoped to a lobby configuration
- GETList all players in a lobby
- POSTAdd a player to a lobby (join)
- DELRemove a player from a lobby (leave or kick)
- GET
Lobbies
Add a player to a lobby (join)
POST
/
lobbies
/
{id}
/
players
Copy
curl --request POST \
--url https://backend.computeflow.cloud/lobbies/{id}/players \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '{
"playerId": "player123",
"metadata": {
"name": "PlayerOne",
"avatar": "avatar_url",
"preferences": {
"team": "red"
}
}
}'
Copy
{
"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
Headers
API key for authentication
Optional client authentication token for player validation
Path Parameters
Lobby ID
Query Parameters
Name of the lobby configuration this lobby belongs to
Body
application/json
Response
200
application/json
Player successfully added to the lobby
The response is of type object
.
Copy
curl --request POST \
--url https://backend.computeflow.cloud/lobbies/{id}/players \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '{
"playerId": "player123",
"metadata": {
"name": "PlayerOne",
"avatar": "avatar_url",
"preferences": {
"team": "red"
}
}
}'
Copy
{
"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"
}
Assistant
Responses are generated using AI and may contain mistakes.