POST
/
lobbies
Create a new lobby under a specific lobby configuration
curl --request POST \
  --url https://backend.computeflow.cloud/lobbies \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --data '{
  "name": "Casual CTF Tournament - Europe",
  "maxPlayers": 8,
  "isPrivate": false,
  "useInviteCode": false,
  "allowLateJoin": true,
  "region": "us-west",
  "settings": {
    "gameMode": "capture-the-flag",
    "mapName": "castle",
    "teamSize": 4,
    "friendlyFire": false,
    "scoreLimit": 10,
    "timeLimit": 600,
    "customRulesets": [
      "fastFlag",
      "quickRespawn"
    ],
    "weaponRestrictions": [
      "rocketLauncher"
    ]
  },
  "host": "player123"
}'
{
  "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

Query Parameters

name
string
required

Name of the lobby configuration (from project settings) to use

Body

application/json

Response

201
application/json

The lobby has been successfully created

The response is of type object.