Creates a new lobby and makes the caller the host. The caller is identified by the x-player-id header.
The lobby starts in waiting status. Other players can join via POST /{config}/join using the lobby ID or invite code (if the lobby is private).
Lobby config: The {config} path parameter maps to a lobby configuration defined in your project settings. Each config controls timeout, server size, matchmaking modes, and custom properties. If no matching config exists, sensible defaults are used.
Player state: Optionally pass state to set initial player state (ready status, team, loadout, MMR, etc.). Other players see this in the players array.
Private lobbies: Set isPrivate: true to hide the lobby from browsing and generate an invite code.
When true, delete any existing lobby this player owns in this config before creating the new one. Useful for "start a fresh session" flows where the host may be reconnecting from a prior session.
Response
Lobby created. The caller is the host. Share the id or code for others to join.
Full lobby state including players, server, and matchmaking info.
Set when a queue entry was failed after repeated server-create failures. Explains why the match never formed; the lobby is returned to waiting so the player can retry.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Documentation - PlayFlow Cloud","colors":{"primary":"#2563EB","light":"#60A5FA","dark":"#1E3A8A"},"logo":{"light":"https://mintcdn.com/playflow/eqeqAmqAMsOYKFZn/logo/svgs/3.svg?fit=max\u0026auto=format\u0026n=eqeqAmqAMsOYKFZn\u0026q=85\u0026s=ec6b551d72d9a0550eceaf8372781505","dark":"https://mintcdn.com/playflow/eqeqAmqAMsOYKFZn/logo/svgs/4.svg?fit=max\u0026auto=format\u0026n=eqeqAmqAMsOYKFZn\u0026q=85\u0026s=56ed179b4ec9ff9a3b8c659b610385e1"},"favicon":"https://mintcdn.com/playflow/eqeqAmqAMsOYKFZn/favicon.svg?fit=max\u0026auto=format\u0026n=eqeqAmqAMsOYKFZn\u0026q=85\u0026s=4f01ae4525de4b30fd0fef06c5145d06","navbar":{"links":[{"href":"https://discord.gg/P5w45Vx5Q8","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.playflowcloud.com"}},"footer":{"socials":{"x":"https://x.com/PlayFlowCloud","github":"https://github.com/PlayFlowCloud","linkedin":"https://www.linkedin.com/company/84953462"}},"seo":{"metatags":{"description":"Official documentation for PlayFlow Cloud. Learn to build, deploy, and scale multiplayer games with our tools for server hosting, matchmaking, and lobbies.","keywords":"PlayFlow, PlayFlow Cloud, game development, multiplayer, Unity, Unreal Engine, Godot, game servers, server hosting, matchmaking, lobbies, WebGL, game backend, documentation","author":"PlayFlow Cloud","robots":"index, follow","googlebot":"index, follow","language":"en","copyright":"Copyright 2025 PlayFlow Cloud","distribution":"global","coverage":"Worldwide","category":"Game Development","og:title":"PlayFlow Cloud Documentation","og:description":"Official documentation for PlayFlow Cloud. Learn to build, deploy, and scale multiplayer games with our tools for server hosting, matchmaking, and lobbies.","og:type":"website","og:site_name":"PlayFlow Cloud","og:url":"https://docs.playflowcloud.com","og:locale":"en_US","twitter:card":"summary_large_image","twitter:site":"@PlayFlowCloud","twitter:creator":"@PlayFlowCloud","twitter:title":"PlayFlow Cloud Documentation","twitter:description":"Official documentation for PlayFlow Cloud. Learn to build, deploy, and scale multiplayer games with our tools for server hosting, matchmaking, and lobbies."},"indexing":"all"},"icons":{"library":"lucide"},"integrations":{"posthog":{"apiKey":"phc_fBrC62lJ5zi3r6ItRQsm4NcKIJOvc2e73YZtSaTpYxy"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Community","icon":"discord","href":"https://discord.gg/P5w45Vx5Q8"},{"anchor":"Blog","icon":"newspaper","href":"https://playflowcloud.com/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"playflow","hasAudioNarration":false,"actualSubdomain":"playflow","customDomains":["docs.playflowcloud.com"],"gitSource":{"type":"github","owner":"playflowcloud","repo":"playflow-core","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a551e6696ba02c71ec13582","collectionId":"3524da5f-fd4d-49f3-a07a-bea7ab61d2ef","schemaVersion":"v3"},"feedback":{"thumbs":false},"entitlements":{},"buildId":"6ae9289155210c1811418510:success","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"API Reference","count":41},{"language":"default","tag":"Endpoints","count":40},{"language":"default","tag":"Documentation","count":37},{"language":"default","tag":"Lobbies","count":18},{"language":"default","tag":"Lobbies \u0026 Matchmaking","count":12},{"language":"default","tag":"Servers","count":12},{"language":"default","tag":"Getting Started","count":10},{"language":"default","tag":"Guides","count":8},{"language":"default","tag":"Quick Start Guides","count":7},{"language":"default","tag":"Unity SDK","count":6}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/lobbies/create-a-lobby","slug":"/api-reference/lobbies/create-a-lobby","pageMetadata":{"title":"Create a lobby","description":"Creates a new lobby and makes the caller the host. The caller is identified by the `x-player-id` header.\n\nThe lobby starts in `waiting` status. Other players can join via `POST /{config}/join` using the lobby ID or invite code (if the lobby is private).\n\n**Lobby config:** The `{config}` path parameter maps to a lobby configuration defined in your project settings. Each config controls timeout, server size, matchmaking modes, and custom properties. If no matching config exists, sensible defaults are used.\n\n**Player state:** Optionally pass `state` to set initial player state (ready status, team, loadout, MMR, etc.). Other players see this in the `players` array.\n\n**Private lobbies:** Set `isPrivate: true` to hide the lobby from browsing and generate an invite code.","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}","href":"/api-reference/lobbies/create-a-lobby","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Creates a new lobby and makes the caller the host. The caller is identified by the \", _jsx(_components.code, {\n children: \"x-player-id\"\n }), \" header.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The lobby starts in \", _jsx(_components.code, {\n children: \"waiting\"\n }), \" status. Other players can join via \", _jsx(_components.code, {\n children: \"POST /{config}/join\"\n }), \" using the lobby ID or invite code (if the lobby is private).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Lobby config:\"\n }), \" The \", _jsx(_components.code, {\n children: \"{config}\"\n }), \" path parameter maps to a lobby configuration defined in your project settings. Each config controls timeout, server size, matchmaking modes, and custom properties. If no matching config exists, sensible defaults are used.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Player state:\"\n }), \" Optionally pass \", _jsx(_components.code, {\n children: \"state\"\n }), \" to set initial player state (ready status, team, loadout, MMR, etc.). Other players see this in the \", _jsx(_components.code, {\n children: \"players\"\n }), \" array.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Private lobbies:\"\n }), \" Set \", _jsx(_components.code, {\n children: \"isPrivate: true\"\n }), \" to hide the lobby from browsing and generate an invite code.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a lobby","description":"Creates a new lobby and makes the caller the host. The caller is identified by the `x-player-id` header.\n\nThe lobby starts in `waiting` status. Other players can join via `POST /{config}/join` using the lobby ID or invite code (if the lobby is private).\n\n**Lobby config:** The `{config}` path parameter maps to a lobby configuration defined in your project settings. Each config controls timeout, server size, matchmaking modes, and custom properties. If no matching config exists, sensible defaults are used.\n\n**Player state:** Optionally pass `state` to set initial player state (ready status, team, loadout, MMR, etc.). Other players see this in the `players` array.\n\n**Private lobbies:** Set `isPrivate: true` to hide the lobby from browsing and generate an invite code.","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}","href":"/api-reference/lobbies/create-a-lobby","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createLobby","tags":["Lobbies"],"summary":"Create a lobby","description":"Creates a new lobby and makes the caller the host. The caller is identified by the `x-player-id` header.\n\nThe lobby starts in `waiting` status. Other players can join via `POST /{config}/join` using the lobby ID or invite code (if the lobby is private).\n\n**Lobby config:** The `{config}` path parameter maps to a lobby configuration defined in your project settings. Each config controls timeout, server size, matchmaking modes, and custom properties. If no matching config exists, sensible defaults are used.\n\n**Player state:** Optionally pass `state` to set initial player state (ready status, team, loadout, MMR, etc.). Other players see this in the `players` array.\n\n**Private lobbies:** Set `isPrivate: true` to hide the lobby from browsing and generate an invite code.","parameters":["981f4130-14d9-45d1-8d7f-bb104f80d905","0ccc53a9-d2e9-4ac2-91de-063ece230334"],"requestBody":"28df758b-5d22-4fd7-944d-ef9c87b955fb","responses":{"201":"221b4cb7-52f3-45b6-8786-3c4da89af1c5","400":"50410a6b-ffc4-4745-864e-68f1c3702630","409":"82be3409-57ea-41b0-a60d-7af2e3cc3046"},"method":"post","type":"path","servers":["10dc6c24-ec8f-48c6-85d3-b4e04b596923"],"security":["0648c24c-6553-4c47-aec3-e48fcddd9e9d"],"path":"/api/v3/lobbies/{config}","baseUrlOptions":["https://api.computeflow.cloud"],"title":"Create a lobby","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"981f4130-14d9-45d1-8d7f-bb104f80d905":{"schema":{"type":"string","description":"Lobby configuration name or ID from project settings (e.g. \"casual\", \"ranked_2v2\").","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"description":"Lobby configuration name or ID from project settings (e.g. \"casual\", \"ranked_2v2\").","name":"config","in":"path"},"0ccc53a9-d2e9-4ac2-91de-063ece230334":{"schema":{"type":"string","description":"Unique player identifier. This becomes the lobby host.","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"description":"Unique player identifier. This becomes the lobby host.","name":"x-player-id","in":"header"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"description":"Display name for the lobby. Shown to other players when browsing.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"region":{"type":"string","default":"us-east","description":"Preferred region for the game server. Available: us-east, us-south, us-west, eu-west, eu-north, ap-south, etc.","uniqueKey":"region","typeLabel":"string"},"maxPlayers":{"type":"integer","minimum":1,"maximum":100,"default":2,"description":"Maximum number of players (1–100). Defaults to 2.","uniqueKey":"maxPlayers","typeLabel":"integer"},"isPrivate":{"type":"boolean","default":false,"description":"If true, the lobby is hidden from browse and an invite code is generated.","uniqueKey":"isPrivate","typeLabel":"boolean"},"allowLateJoin":{"type":"boolean","default":true,"description":"If true, players can join after the game has started.","uniqueKey":"allowLateJoin","typeLabel":"boolean"},"settings":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"settings.additionalProperties","typeLabel":"any"},"default":{},"description":"Custom game settings (map, mode, difficulty, etc.). Passed to the game server as custom_data.","uniqueKey":"settings","typeLabel":"object"},"state":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"state.additionalProperties","typeLabel":"any"},"description":"Initial player state for the host (ready status, team, loadout, etc.).","uniqueKey":"state","typeLabel":"object"},"forceFresh":{"type":"boolean","description":"When true, delete any existing lobby this player owns in this config before creating the new one. Useful for \"start a fresh session\" flows where the host may be reconnecting from a prior session.","uniqueKey":"forceFresh","typeLabel":"boolean"}},"required":["name"],"description":"Create a new lobby. The caller (x-player-id) becomes the host.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"\u003cstring>","region":"us-east","maxPlayers":2,"isPrivate":false,"allowLateJoin":true,"settings":{},"state":{},"forceFresh":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"221b4cb7-52f3-45b6-8786-3c4da89af1c5":{"description":"Lobby created. The caller is the host. Share the `id` or `code` for others to join.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Lobby ID.","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"code":{"oneOf":[{"type":"string","description":"Invite code for joining (null if private mode is disabled).","isRequired":true,"uniqueKey":"code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Invite code for joining (null if private mode is disabled).","isRequired":true,"uniqueKey":"code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"code","typeLabel":"string | null"},"config":{"type":"string","description":"Lobby config name.","isRequired":true,"uniqueKey":"config","typeLabel":"string"},"status":{"type":"string","enum":["waiting","in_queue","starting","matched","match_found","in_game"],"description":"Current lobby status.","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"host":{"type":"string","description":"Player ID of the host.","isRequired":true,"uniqueKey":"host","typeLabel":"string"},"maxPlayers":{"type":"number","description":"Maximum player capacity.","isRequired":true,"uniqueKey":"maxPlayers","typeLabel":"number"},"currentPlayers":{"type":"number","description":"Current number of players.","isRequired":true,"uniqueKey":"currentPlayers","typeLabel":"number"},"region":{"oneOf":[{"type":"string","description":"Preferred game server region.","isRequired":true,"uniqueKey":"region.oneOf.0","typeLabel":"string"},{"type":"null","description":"Preferred game server region.","isRequired":true,"uniqueKey":"region.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"region","typeLabel":"string | null"},"isPrivate":{"type":"boolean","description":"Whether the lobby is hidden from browsing.","isRequired":true,"uniqueKey":"isPrivate","typeLabel":"boolean"},"allowLateJoin":{"type":"boolean","description":"Whether players can join mid-game.","isRequired":true,"uniqueKey":"allowLateJoin","typeLabel":"boolean"},"settings":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"settings.additionalProperties","typeLabel":"any"},"description":"Custom game settings.","isRequired":true,"uniqueKey":"settings","typeLabel":"object"},"players":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Player's unique identifier.","isRequired":true,"uniqueKey":"players.items.[INDEX].id","typeLabel":"string"},"state":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"players.items.[INDEX].state.additionalProperties","typeLabel":"any"},"description":"Player's custom state (ready, team, loadout, MMR, etc.).","isRequired":true,"uniqueKey":"players.items.[INDEX].state","typeLabel":"object"},"isHost":{"type":"boolean","description":"True if this player is the lobby host.","isRequired":true,"uniqueKey":"players.items.[INDEX].isHost","typeLabel":"boolean"}},"required":["id","state","isHost"],"description":"A player in the lobby with their current state.","uniqueKey":"players.items.[INDEX]","typeLabel":"object"},"description":"Players in the lobby with their state.","isRequired":true,"uniqueKey":"players","typeLabel":"object[]"},"server":{"oneOf":[{"type":"object","properties":{"instance_id":{"type":"string","description":"Unique identifier for this server instance (UUID). Use this to reference the server in all other API calls.","isRequired":true,"uniqueKey":"server.oneOf.0.instance_id","typeLabel":"string"},"name":{"type":"string","description":"Display name of the server, as provided when starting.","isRequired":true,"uniqueKey":"server.oneOf.0.name","typeLabel":"string"},"status":{"type":"string","enum":["launching","running","stopped"],"description":"Current server status. \"launching\": machine is being created and game is starting up. \"running\": game is ready and accepting connections. \"stopped\": server has been shut down.","isRequired":true,"uniqueKey":"server.oneOf.0.status","typeLabel":"enum\u003cstring>"},"network_ports":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Port name matching the port_configs entry (e.g., \"game_udp\").","isRequired":true,"uniqueKey":"server.oneOf.0.network_ports.items.[INDEX].name","typeLabel":"string"},"internal_port":{"type":"number","description":"Port number the game server listens on inside the container.","isRequired":true,"uniqueKey":"server.oneOf.0.network_ports.items.[INDEX].internal_port","typeLabel":"number"},"external_port":{"type":"number","description":"Public port number that players connect to from outside.","isRequired":true,"uniqueKey":"server.oneOf.0.network_ports.items.[INDEX].external_port","typeLabel":"number"},"protocol":{"type":"string","enum":["udp","tcp"],"description":"Network protocol for this port.","isRequired":true,"uniqueKey":"server.oneOf.0.network_ports.items.[INDEX].protocol","typeLabel":"enum\u003cstring>"},"host":{"type":"string","description":"Hostname or IP address players connect to. For UDP: a proxy IPv4 address. For TCP: \"connect.computeflow.cloud\" (Fly.io L7 routing).","isRequired":true,"uniqueKey":"server.oneOf.0.network_ports.items.[INDEX].host","typeLabel":"string"},"tls_enabled":{"type":"boolean","description":"Whether TLS termination is enabled for this port (TCP only).","isRequired":true,"uniqueKey":"server.oneOf.0.network_ports.items.[INDEX].tls_enabled","typeLabel":"boolean"}},"required":["name","internal_port","external_port","protocol","host","tls_enabled"],"description":"A network port mapping showing how external traffic reaches your game server. Use host:external_port as the connection address for game clients.","uniqueKey":"server.oneOf.0.network_ports.items.[INDEX]","typeLabel":"object"},"description":"List of allocated network ports with connection details. Give host:external_port to game clients for connecting. Empty if the server has stopped.","isRequired":true,"uniqueKey":"server.oneOf.0.network_ports","typeLabel":"object[]"},"startup_args":{"oneOf":[{"type":"string","description":"Command-line arguments passed to the game executable. Null if none were provided.","isRequired":true,"uniqueKey":"server.oneOf.0.startup_args.oneOf.0","typeLabel":"string"},{"type":"null","description":"Command-line arguments passed to the game executable. Null if none were provided.","isRequired":true,"uniqueKey":"server.oneOf.0.startup_args.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"server.oneOf.0.startup_args","typeLabel":"string | null"},"service_type":{"type":"string","enum":["match_based","persistent_world"],"description":"Server type. \"match_based\" (default): short-lived servers for individual matches. \"persistent_world\": long-running servers for persistent game worlds.","isRequired":true,"uniqueKey":"server.oneOf.0.service_type","typeLabel":"enum\u003cstring>"},"compute_size":{"type":"string","description":"Machine size this server is running on (e.g., \"small\", \"medium\", \"dedicated-large\").","isRequired":true,"uniqueKey":"server.oneOf.0.compute_size","typeLabel":"string"},"region":{"type":"string","description":"Region where this server is deployed (e.g., \"us-east\", \"eu-west\").","isRequired":true,"uniqueKey":"server.oneOf.0.region","typeLabel":"string"},"version_tag":{"type":"string","description":"Build name this server was started with (e.g., \"default\", \"beta\").","isRequired":true,"uniqueKey":"server.oneOf.0.version_tag","typeLabel":"string"},"version":{"oneOf":[{"type":"number","description":"Build version number this server is running. Null if no specific version was resolved.","isRequired":true,"uniqueKey":"server.oneOf.0.version.oneOf.0","typeLabel":"number"},{"type":"null","description":"Build version number this server is running. Null if no specific version was resolved.","isRequired":true,"uniqueKey":"server.oneOf.0.version.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"server.oneOf.0.version","typeLabel":"number | null"},"started_at":{"oneOf":[{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the server transitioned to \"running\" status (game ports opened). Null if still launching or never reached running state.","isRequired":true,"uniqueKey":"server.oneOf.0.started_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"ISO 8601 timestamp when the server transitioned to \"running\" status (game ports opened). Null if still launching or never reached running state.","isRequired":true,"uniqueKey":"server.oneOf.0.started_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"server.oneOf.0.started_at","typeLabel":"string\u003cdate-time> | null"},"stopped_at":{"oneOf":[{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the server was stopped. Null if the server is still active.","isRequired":true,"uniqueKey":"server.oneOf.0.stopped_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"ISO 8601 timestamp when the server was stopped. Null if the server is still active.","isRequired":true,"uniqueKey":"server.oneOf.0.stopped_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"server.oneOf.0.stopped_at","typeLabel":"string\u003cdate-time> | null"},"auto_restart":{"type":"boolean","description":"Whether the game process auto-restarts on crash (max 10 retries).","isRequired":true,"uniqueKey":"server.oneOf.0.auto_restart","typeLabel":"boolean"},"custom_data":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"server.oneOf.0.custom_data.oneOf.0.additionalProperties","typeLabel":"any"},"description":"Arbitrary metadata attached to this server. Null if no custom data was provided.","isRequired":true,"uniqueKey":"server.oneOf.0.custom_data.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{}],"uniqueKey":"server.oneOf.0.custom_data.oneOf.1.additionalProperties","typeLabel":"any"},"description":"Arbitrary metadata attached to this server. Null if no custom data was provided.","isRequired":true,"uniqueKey":"server.oneOf.0.custom_data.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"server.oneOf.0.custom_data","typeLabel":"object | null"},"ttl":{"oneOf":[{"type":"number","description":"Time-to-live in seconds. The server auto-stops after this duration from start. Null if no TTL was set (server runs until explicitly stopped).","isRequired":true,"uniqueKey":"server.oneOf.0.ttl.oneOf.0","typeLabel":"number"},{"type":"null","description":"Time-to-live in seconds. The server auto-stops after this duration from start. Null if no TTL was set (server runs until explicitly stopped).","isRequired":true,"uniqueKey":"server.oneOf.0.ttl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"server.oneOf.0.ttl","typeLabel":"number | null"},"is_pool_server":{"type":"boolean","description":"Whether this server was claimed from the pre-provisioned pool. Pool servers have faster startup times (~5s vs ~30s).","isRequired":true,"uniqueKey":"server.oneOf.0.is_pool_server","typeLabel":"boolean"},"pool_claimed_at":{"oneOf":[{"type":"string","format":"date-time","description":"ISO 8601 timestamp when this pool server was claimed for use. Null for non-pool servers or unclaimed pool machines.","isRequired":true,"uniqueKey":"server.oneOf.0.pool_claimed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"ISO 8601 timestamp when this pool server was claimed for use. Null for non-pool servers or unclaimed pool machines.","isRequired":true,"uniqueKey":"server.oneOf.0.pool_claimed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"server.oneOf.0.pool_claimed_at","typeLabel":"string\u003cdate-time> | null"},"match_id":{"oneOf":[{"type":"string","description":"Match identifier for matchmaking integration. Auto-generated if not provided at start time.","isRequired":true,"uniqueKey":"server.oneOf.0.match_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Match identifier for matchmaking integration. Auto-generated if not provided at start time.","isRequired":true,"uniqueKey":"server.oneOf.0.match_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"server.oneOf.0.match_id","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the server instance was created in the database.","isRequired":true,"uniqueKey":"server.oneOf.0.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of the last update to this server record.","isRequired":true,"uniqueKey":"server.oneOf.0.updated_at","typeLabel":"string\u003cdate-time>"}},"required":["instance_id","name","status","network_ports","startup_args","service_type","compute_size","region","version_tag","version","started_at","stopped_at","auto_restart","custom_data","ttl","is_pool_server","pool_claimed_at","match_id","created_at","updated_at"],"description":"Game server info (null when no game running).","isRequired":true,"uniqueKey":"server.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"instance_id":{"type":"string","description":"Unique identifier for this server instance (UUID). Use this to reference the server in all other API calls."},"name":{"type":"string","description":"Display name of the server, as provided when starting."},"status":{"type":"string","enum":["launching","running","stopped"],"description":"Current server status. \"launching\": machine is being created and game is starting up. \"running\": game is ready and accepting connections. \"stopped\": server has been shut down."},"network_ports":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Port name matching the port_configs entry (e.g., \"game_udp\")."},"internal_port":{"type":"number","description":"Port number the game server listens on inside the container."},"external_port":{"type":"number","description":"Public port number that players connect to from outside."},"protocol":{"type":"string","enum":["udp","tcp"],"description":"Network protocol for this port."},"host":{"type":"string","description":"Hostname or IP address players connect to. For UDP: a proxy IPv4 address. For TCP: \"connect.computeflow.cloud\" (Fly.io L7 routing)."},"tls_enabled":{"type":"boolean","description":"Whether TLS termination is enabled for this port (TCP only)."}},"required":["name","internal_port","external_port","protocol","host","tls_enabled"],"description":"A network port mapping showing how external traffic reaches your game server. Use host:external_port as the connection address for game clients."},"description":"List of allocated network ports with connection details. Give host:external_port to game clients for connecting. Empty if the server has stopped."},"startup_args":{"oneOf":[{"type":"string","description":"Command-line arguments passed to the game executable. Null if none were provided."},{"type":"null","description":"Command-line arguments passed to the game executable. Null if none were provided."}]},"service_type":{"type":"string","enum":["match_based","persistent_world"],"description":"Server type. \"match_based\" (default): short-lived servers for individual matches. \"persistent_world\": long-running servers for persistent game worlds."},"compute_size":{"type":"string","description":"Machine size this server is running on (e.g., \"small\", \"medium\", \"dedicated-large\")."},"region":{"type":"string","description":"Region where this server is deployed (e.g., \"us-east\", \"eu-west\")."},"version_tag":{"type":"string","description":"Build name this server was started with (e.g., \"default\", \"beta\")."},"version":{"oneOf":[{"type":"number","description":"Build version number this server is running. Null if no specific version was resolved."},{"type":"null","description":"Build version number this server is running. Null if no specific version was resolved."}]},"started_at":{"oneOf":[{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the server transitioned to \"running\" status (game ports opened). Null if still launching or never reached running state."},{"type":"null","format":"date-time","description":"ISO 8601 timestamp when the server transitioned to \"running\" status (game ports opened). Null if still launching or never reached running state."}]},"stopped_at":{"oneOf":[{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the server was stopped. Null if the server is still active."},{"type":"null","format":"date-time","description":"ISO 8601 timestamp when the server was stopped. Null if the server is still active."}]},"auto_restart":{"type":"boolean","description":"Whether the game process auto-restarts on crash (max 10 retries)."},"custom_data":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}]},"description":"Arbitrary metadata attached to this server. Null if no custom data was provided."},{"type":"null","additionalProperties":{"oneOf":[{}]},"description":"Arbitrary metadata attached to this server. Null if no custom data was provided."}]},"ttl":{"oneOf":[{"type":"number","description":"Time-to-live in seconds. The server auto-stops after this duration from start. Null if no TTL was set (server runs until explicitly stopped)."},{"type":"null","description":"Time-to-live in seconds. The server auto-stops after this duration from start. Null if no TTL was set (server runs until explicitly stopped)."}]},"is_pool_server":{"type":"boolean","description":"Whether this server was claimed from the pre-provisioned pool. Pool servers have faster startup times (~5s vs ~30s)."},"pool_claimed_at":{"oneOf":[{"type":"string","format":"date-time","description":"ISO 8601 timestamp when this pool server was claimed for use. Null for non-pool servers or unclaimed pool machines."},{"type":"null","format":"date-time","description":"ISO 8601 timestamp when this pool server was claimed for use. Null for non-pool servers or unclaimed pool machines."}]},"match_id":{"oneOf":[{"type":"string","description":"Match identifier for matchmaking integration. Auto-generated if not provided at start time."},{"type":"null","description":"Match identifier for matchmaking integration. Auto-generated if not provided at start time."}]},"created_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the server instance was created in the database."},"updated_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of the last update to this server record."}},"required":["instance_id","name","status","network_ports","startup_args","service_type","compute_size","region","version_tag","version","started_at","stopped_at","auto_restart","custom_data","ttl","is_pool_server","pool_claimed_at","match_id","created_at","updated_at"],"description":"Game server info (null when no game running).","isRequired":true,"uniqueKey":"server.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"server","typeLabel":"object | null"},"matchmaking":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","description":"Active matchmaking mode name.","isRequired":true,"uniqueKey":"matchmaking.oneOf.0.mode","typeLabel":"string"},"startedAt":{"type":"string","description":"ISO 8601 timestamp when matchmaking started.","isRequired":true,"uniqueKey":"matchmaking.oneOf.0.startedAt","typeLabel":"string"},"queueStats":{"oneOf":[{"type":"object","properties":{"playersSearching":{"type":"number","description":"Total players currently in the matchmaking queue for this mode.","isRequired":true,"uniqueKey":"matchmaking.oneOf.0.queueStats.oneOf.0.playersSearching","typeLabel":"number"},"lobbiesInQueue":{"type":"number","description":"Number of lobbies waiting for a match.","isRequired":true,"uniqueKey":"matchmaking.oneOf.0.queueStats.oneOf.0.lobbiesInQueue","typeLabel":"number"},"avgWaitSeconds":{"type":"number","description":"Average wait time in seconds for lobbies currently in queue.","isRequired":true,"uniqueKey":"matchmaking.oneOf.0.queueStats.oneOf.0.avgWaitSeconds","typeLabel":"number"}},"required":["playersSearching","lobbiesInQueue","avgWaitSeconds"],"description":"Live queue stats. Updated via SSE while searching.","isRequired":true,"uniqueKey":"matchmaking.oneOf.0.queueStats.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"playersSearching":{"type":"number","description":"Total players currently in the matchmaking queue for this mode."},"lobbiesInQueue":{"type":"number","description":"Number of lobbies waiting for a match."},"avgWaitSeconds":{"type":"number","description":"Average wait time in seconds for lobbies currently in queue."}},"required":["playersSearching","lobbiesInQueue","avgWaitSeconds"],"description":"Live queue stats. Updated via SSE while searching.","isRequired":true,"uniqueKey":"matchmaking.oneOf.0.queueStats.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"matchmaking.oneOf.0.queueStats","typeLabel":"object | null"},"confirmation":{"oneOf":[{"type":"object","properties":{"deadline":{"type":"string","description":"ISO 8601 deadline. The match cancels if any lobby hasn't confirmed by then.","isRequired":true,"uniqueKey":"matchmaking.oneOf.0.confirmation.oneOf.0.deadline","typeLabel":"string"},"confirmed":{"type":"boolean","description":"True if THIS lobby has confirmed.","isRequired":true,"uniqueKey":"matchmaking.oneOf.0.confirmation.oneOf.0.confirmed","typeLabel":"boolean"}},"required":["deadline","confirmed"],"description":"Set when status=match_found and players are accepting/declining.","isRequired":true,"uniqueKey":"matchmaking.oneOf.0.confirmation.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"deadline":{"type":"string","description":"ISO 8601 deadline. The match cancels if any lobby hasn't confirmed by then."},"confirmed":{"type":"boolean","description":"True if THIS lobby has confirmed."}},"required":["deadline","confirmed"],"description":"Set when status=match_found and players are accepting/declining.","isRequired":true,"uniqueKey":"matchmaking.oneOf.0.confirmation.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"matchmaking.oneOf.0.confirmation","typeLabel":"object | null"}},"required":["mode","startedAt","queueStats","confirmation"],"description":"Matchmaking info (null when not searching).","isRequired":true,"uniqueKey":"matchmaking.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"mode":{"type":"string","description":"Active matchmaking mode name."},"startedAt":{"type":"string","description":"ISO 8601 timestamp when matchmaking started."},"queueStats":{"oneOf":[{"type":"object","properties":{"playersSearching":{"type":"number","description":"Total players currently in the matchmaking queue for this mode."},"lobbiesInQueue":{"type":"number","description":"Number of lobbies waiting for a match."},"avgWaitSeconds":{"type":"number","description":"Average wait time in seconds for lobbies currently in queue."}},"required":["playersSearching","lobbiesInQueue","avgWaitSeconds"],"description":"Live queue stats. Updated via SSE while searching."},{"type":"null","properties":{"playersSearching":{"type":"number","description":"Total players currently in the matchmaking queue for this mode."},"lobbiesInQueue":{"type":"number","description":"Number of lobbies waiting for a match."},"avgWaitSeconds":{"type":"number","description":"Average wait time in seconds for lobbies currently in queue."}},"required":["playersSearching","lobbiesInQueue","avgWaitSeconds"],"description":"Live queue stats. Updated via SSE while searching."}]},"confirmation":{"oneOf":[{"type":"object","properties":{"deadline":{"type":"string","description":"ISO 8601 deadline. The match cancels if any lobby hasn't confirmed by then."},"confirmed":{"type":"boolean","description":"True if THIS lobby has confirmed."}},"required":["deadline","confirmed"],"description":"Set when status=match_found and players are accepting/declining."},{"type":"null","properties":{"deadline":{"type":"string","description":"ISO 8601 deadline. The match cancels if any lobby hasn't confirmed by then."},"confirmed":{"type":"boolean","description":"True if THIS lobby has confirmed."}},"required":["deadline","confirmed"],"description":"Set when status=match_found and players are accepting/declining."}]}},"required":["mode","startedAt","queueStats","confirmation"],"description":"Matchmaking info (null when not searching).","isRequired":true,"uniqueKey":"matchmaking.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"matchmaking","typeLabel":"object | null"},"createdAt":{"type":"string","description":"ISO 8601 creation timestamp.","isRequired":true,"uniqueKey":"createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"ISO 8601 last update timestamp.","isRequired":true,"uniqueKey":"updatedAt","typeLabel":"string"},"matchmakingError":{"oneOf":[{"type":"string","description":"Set when a queue entry was failed after repeated server-create failures. Explains why the match never formed; the lobby is returned to `waiting` so the player can retry.","uniqueKey":"matchmakingError.oneOf.0","typeLabel":"string"},{"type":"null","description":"Set when a queue entry was failed after repeated server-create failures. Explains why the match never formed; the lobby is returned to `waiting` so the player can retry.","uniqueKey":"matchmakingError.oneOf.1","typeLabel":"null"}],"uniqueKey":"matchmakingError","typeLabel":"string | null"}},"required":["id","code","config","status","host","maxPlayers","currentPlayers","region","isPrivate","allowLateJoin","settings","players","server","matchmaking","createdAt","updatedAt"],"description":"Full lobby state including players, server, and matchmaking info.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","code":"\u003cstring>","config":"\u003cstring>","status":"waiting","host":"\u003cstring>","maxPlayers":123,"currentPlayers":123,"region":"\u003cstring>","isPrivate":true,"allowLateJoin":true,"settings":{},"players":[{"id":"\u003cstring>","state":{},"isHost":true}],"server":{"instance_id":"\u003cstring>","name":"\u003cstring>","status":"launching","network_ports":[{"name":"\u003cstring>","internal_port":123,"external_port":123,"protocol":"udp","host":"\u003cstring>","tls_enabled":true}],"startup_args":"\u003cstring>","service_type":"match_based","compute_size":"\u003cstring>","region":"\u003cstring>","version_tag":"\u003cstring>","version":123,"started_at":"2023-11-07T05:31:56Z","stopped_at":"2023-11-07T05:31:56Z","auto_restart":true,"custom_data":{},"ttl":123,"is_pool_server":true,"pool_claimed_at":"2023-11-07T05:31:56Z","match_id":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z"},"matchmaking":{"mode":"\u003cstring>","startedAt":"\u003cstring>","queueStats":{"playersSearching":123,"lobbiesInQueue":123,"avgWaitSeconds":123},"confirmation":{"deadline":"\u003cstring>","confirmed":true}},"createdAt":"\u003cstring>","updatedAt":"\u003cstring>","matchmakingError":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"50410a6b-ffc4-4745-864e-68f1c3702630":{"description":"Missing x-player-id header or invalid request body.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable error message describing what went wrong.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"status":{"type":"number","description":"HTTP status code (matches the response status code).","isRequired":true,"uniqueKey":"status","typeLabel":"number"},"detail":{"type":"string","description":"Additional error context. May contain the same text as error or more specific technical details.","uniqueKey":"detail","typeLabel":"string"}},"required":["error","status"],"description":"Standard error response returned by all API endpoints on failure.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","status":123,"detail":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"82be3409-57ea-41b0-a60d-7af2e3cc3046":{"description":"Player is already in a lobby for this config.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable error message describing what went wrong.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"status":{"type":"number","description":"HTTP status code (matches the response status code).","isRequired":true,"uniqueKey":"status","typeLabel":"number"},"detail":{"type":"string","description":"Additional error context. May contain the same text as error or more specific technical details.","uniqueKey":"detail","typeLabel":"string"}},"required":["error","status"],"description":"Standard error response returned by all API endpoints on failure.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","status":123,"detail":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"0648c24c-6553-4c47-aec3-e48fcddd9e9d":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-key","scopes":[]}}},"servers":{"10dc6c24-ec8f-48c6-85d3-b4e04b596923":{"url":"https://api.computeflow.cloud"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"api-key","scopes":[]},"schema":{"title":"api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"api-key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"https://api.computeflow.cloud/api/doc"},"subdomain":"playflow","siteName":"Documentation - PlayFlow Cloud","title":"PlayFlow Cloud Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-13T17:20:49.601Z","originalFileLocation":"api-reference/lobbies/create-a-lobby.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a new lobby and makes the caller the host. The caller is identified by the x-player-id header. The lobby starts in waiting status. Other players can join via POST /{config}/join using the lobby ID or invite code (if the lobby is private). Lobby config: The {config} path parameter maps to a lobby configuration defined in your project settings. Each config controls timeout, server size, matchmaking modes, and custom properties. If no matching config exists, sensible defaults are used. Player state: Optionally pass state to set initial player state (ready status, team, loadout, MMR, etc.). Other players see this in the players array. Private lobbies: Set isPrivate: true to hide the lobby from browsing and generate an invite code.\">\u003cmeta data-mint-head name=\"keywords\" content=\"PlayFlow, PlayFlow Cloud, game development, multiplayer, Unity, Unreal Engine, Godot, game servers, server hosting, matchmaking, lobbies, WebGL, game backend, documentation\">\u003cmeta data-mint-head name=\"application-name\" content=\"Documentation - PlayFlow Cloud\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"PlayFlow Cloud Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Official documentation for PlayFlow Cloud. Learn to build, deploy, and scale multiplayer games with our tools for server hosting, matchmaking, and lobbies.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PlayFlow Cloud\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.playflowcloud.com/api-reference/lobbies/create-a-lobby\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://playflow.mintlify.site/_mintlify/api/og/v2?division=Lobbies\u0026amp;title=Create+a+lobby\u0026amp;description=Creates+a+new+lobby+and+makes+the+caller+the+host.+The+caller+is+identified+by+the+%60x-player-id%60+header.%0A%0AThe+lobby+starts+in+%60waiting%60+status.+Other+players+ca\u0026amp;theme=efdcb79398ff0a4a395f8bf0\u0026amp;signature=d491de06f3fd2d33e84158e2f997113bcfcb43f8a23bfdd095837d9df02fd43c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"PlayFlow Cloud Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Official documentation for PlayFlow Cloud. Learn to build, deploy, and scale multiplayer games with our tools for server hosting, matchmaking, and lobbies.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://playflow.mintlify.site/_mintlify/api/og/v2?division=Lobbies\u0026amp;title=Create+a+lobby\u0026amp;description=Creates+a+new+lobby+and+makes+the+caller+the+host.+The+caller+is+identified+by+the+%60x-player-id%60+header.%0A%0AThe+lobby+starts+in+%60waiting%60+status.+Other+players+ca\u0026amp;theme=efdcb79398ff0a4a395f8bf0\u0026amp;signature=d491de06f3fd2d33e84158e2f997113bcfcb43f8a23bfdd095837d9df02fd43c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Documentation - PlayFlow Cloud\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2563EB\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"author\" content=\"PlayFlow Cloud\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow\">\u003cmeta data-mint-head name=\"language\" content=\"en\">\u003cmeta data-mint-head name=\"copyright\" content=\"Copyright 2025 PlayFlow Cloud\">\u003cmeta data-mint-head name=\"distribution\" content=\"global\">\u003cmeta data-mint-head name=\"coverage\" content=\"Worldwide\">\u003cmeta data-mint-head name=\"category\" content=\"Game Development\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@PlayFlowCloud\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.playflowcloud.com/api-reference/lobbies/create-a-lobby\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/lobbies/create-a-lobby.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.playflowcloud.com/#organization\",\"name\":\"Documentation - PlayFlow Cloud\",\"url\":\"https://docs.playflowcloud.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/playflow/eqeqAmqAMsOYKFZn/logo/svgs/3.svg?fit=max\u0026auto=format\u0026n=eqeqAmqAMsOYKFZn\u0026q=85\u0026s=ec6b551d72d9a0550eceaf8372781505\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.playflowcloud.com#website\",\"name\":\"Documentation - PlayFlow Cloud\",\"url\":\"https://docs.playflowcloud.com\",\"publisher\":{\"@id\":\"https://docs.playflowcloud.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.playflowcloud.com/api-reference/lobbies/create-a-lobby#webpage\",\"url\":\"https://docs.playflowcloud.com/api-reference/lobbies/create-a-lobby\",\"name\":\"Create a lobby\",\"description\":\"Creates a new lobby and makes the caller the host. The caller is identified by the x-player-id header. The lobby starts in waiting status. Other players can join via POST /{config}/join using the lobby ID or invite code (if the lobby is private). Lobby config: The {config} path parameter maps to a lobby configuration defined in your project settings. Each config controls timeout, server size, matchmaking modes, and custom properties. If no matching config exists, sensible defaults are used. Player state: Optionally pass state to set initial player state (ready status, team, loadout, MMR, etc.). Other players see this in the players array. Private lobbies: Set isPrivate: true to hide the lobby from browsing and generate an invite code.\",\"dateModified\":\"2026-07-13T17:20:49.601Z\",\"isPartOf\":{\"@id\":\"https://docs.playflowcloud.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.playflowcloud.com/api-reference/lobbies/create-a-lobby#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.playflowcloud.com/api-reference/lobbies/create-a-lobby#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.playflowcloud.com/api-reference/servers/get-the-authoritative-match-roster\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lobbies\",\"item\":\"https://docs.playflowcloud.com/api-reference/lobbies/browse-lobbies\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create a lobby\",\"item\":\"https://docs.playflowcloud.com/api-reference/lobbies/create-a-lobby\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.playflowcloud.com/api-reference/lobbies/create-a-lobby#apireference\",\"headline\":\"Create a lobby\",\"name\":\"Create a lobby\",\"description\":\"Creates a new lobby and makes the caller the host. The caller is identified by the x-player-id header. The lobby starts in waiting status. Other players can join via POST /{config}/join using the lobby ID or invite code (if the lobby is private). Lobby config: The {config} path parameter maps to a lobby configuration defined in your project settings. Each config controls timeout, server size, matchmaking modes, and custom properties. If no matching config exists, sensible defaults are used. Player state: Optionally pass state to set initial player state (ready status, team, loadout, MMR, etc.). Other players see this in the players array. Private lobbies: Set isPrivate: true to hide the lobby from browsing and generate an invite code.\",\"url\":\"https://docs.playflowcloud.com/api-reference/lobbies/create-a-lobby\",\"mainEntityOfPage\":{\"@id\":\"https://docs.playflowcloud.com/api-reference/lobbies/create-a-lobby#webpage\"},\"dateModified\":\"2026-07-13T17:20:49.601Z\",\"publisher\":{\"@id\":\"https://docs.playflowcloud.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.playflowcloud.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Documentation - PlayFlow Cloud\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Documentation - PlayFlow Cloud","nav":{"global":{"anchors":[{"anchor":"Community","icon":"discord","href":"https://discord.gg/P5w45Vx5Q8"},{"anchor":"Blog","icon":"newspaper","href":"https://playflowcloud.com/"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","icon":"code","groups":[{"group":"Overview","icon":"book-open","pages":[{"title":"API Introduction","icon":"book-open","href":"/api-reference/introduction"}]},{"group":"Endpoints","icon":"code","pages":[{"group":"Servers","pages":[{"title":"Get the authoritative match roster","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers/{instance_id}/roster","href":"/api-reference/servers/get-the-authoritative-match-roster"},{"title":"Override backfill state (server-authoritative)","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc patch /api/v3/servers/{instance_id}/backfill","href":"/api-reference/servers/override-backfill-state-server-authoritative"},{"title":"Close backfill (server-authoritative)","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/servers/{instance_id}/backfill/lock","href":"/api-reference/servers/close-backfill-server-authoritative"},{"title":"List servers","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers","href":"/api-reference/servers/list-servers"},{"title":"Start a new server","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/servers/start","href":"/api-reference/servers/start-a-new-server"},{"title":"Get server details","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers/{instance_id}","href":"/api-reference/servers/get-server-details"},{"title":"Stop a server","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/servers/{instance_id}","href":"/api-reference/servers/stop-a-server"},{"title":"Update server custom_data","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/servers/{instance_id}/update","href":"/api-reference/servers/update-server-custom_data"},{"title":"Restart a server","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/servers/{instance_id}/restart","href":"/api-reference/servers/restart-a-server"},{"title":"Get server runtime logs","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers/{instance_id}/logs","href":"/api-reference/servers/get-server-runtime-logs"},{"title":"Get server resource metrics","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers/{instance_id}/metrics","href":"/api-reference/servers/get-server-resource-metrics"},{"title":"Get server log-volume histogram","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers/{instance_id}/log-histogram","href":"/api-reference/servers/get-server-log-volume-histogram"}]},{"group":"Projects","pages":[{"title":"Get project-wide log-volume histogram","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/projects/log-histogram","href":"/api-reference/projects/get-project-wide-log-volume-histogram"},{"title":"Get project-wide server logs","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/projects/logs","href":"/api-reference/projects/get-project-wide-server-logs"},{"title":"Get project settings","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/projects/settings","href":"/api-reference/projects/get-project-settings"},{"title":"Update project settings","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/projects/settings","href":"/api-reference/projects/update-project-settings"}]},{"group":"Builds","pages":[{"title":"List builds","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/builds","href":"/api-reference/builds/list-builds"},{"title":"Get presigned upload URL","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/builds/upload-url","href":"/api-reference/builds/get-presigned-upload-url"},{"title":"Create build from Docker image","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/builds/docker-image","href":"/api-reference/builds/create-build-from-docker-image"},{"title":"Get build details","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/builds/{build_id}","href":"/api-reference/builds/get-build-details"},{"title":"Delete a build","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/builds/{build_id}","href":"/api-reference/builds/delete-a-build"},{"title":"Get build processing logs","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/builds/{build_id}/logs","href":"/api-reference/builds/get-build-processing-logs"}]},{"group":"Lobbies","pages":[{"title":"Browse lobbies","description":"Returns a paginated list of public lobbies for the given config. Private (invite-only) lobbies are excluded.\n\nUse `status` to filter by lobby state (`waiting`, `in_queue`, `in_game`). Use `region` to filter by region.\n\n**`includePrivate`:** Set to `true` to also return private lobbies. Honored ONLY when authenticated with a server key (`pf_*`) — the project owner's own dashboard/admin view. Client keys (`pfclient_*`) always get public-only results, so invite codes stay meaningful.\n\n**No x-player-id required.** This endpoint is designed for lobby browsers and server-side matchmaking systems.\n\nResults are ordered by creation time (newest first).","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/lobbies/{config}","href":"/api-reference/lobbies/browse-lobbies"},{"title":"Create a lobby","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}","href":"/api-reference/lobbies/create-a-lobby"},{"title":"Join a lobby","description":"Joins an existing lobby by its ID or invite code. The caller is identified by `x-player-id`.\n\n**By ID:** Set `lobbyId` to the UUID from the browse or create response.\n\n**By invite code:** Set `code` to the invite code shared by the host (e.g. `\"MEOW-42\"`).\n\nExactly one of `lobbyId` or `code` must be provided.\n\n**Player state:** Optionally pass `state` to set initial player state on join.\n\n**Errors:**\n- `404` — Lobby not found or invalid invite code\n- `400` — Lobby is full or not accepting players\n- `409` — Player is already in a lobby for this config","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/join","href":"/api-reference/lobbies/join-a-lobby"},{"title":"Get my lobby","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/lobbies/{config}/me","href":"/api-reference/lobbies/get-my-lobby"},{"title":"Leave a lobby","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/lobbies/{config}/me","href":"/api-reference/lobbies/leave-a-lobby"},{"title":"Update my player state","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc patch /api/v3/lobbies/{config}/me","href":"/api-reference/lobbies/update-my-player-state"},{"title":"Update lobby settings","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc patch /api/v3/lobbies/{config}/me/settings","href":"/api-reference/lobbies/update-lobby-settings"},{"title":"Kick a player","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/lobbies/{config}/me/players/{playerId}","href":"/api-reference/lobbies/kick-a-player"},{"title":"Start the game","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/me/start","href":"/api-reference/lobbies/start-the-game"},{"title":"Start matchmaking","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/me/matchmaking","href":"/api-reference/lobbies/start-matchmaking"},{"title":"Cancel matchmaking","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/lobbies/{config}/me/matchmaking","href":"/api-reference/lobbies/cancel-matchmaking"},{"title":"End the current match","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/me/end-match","href":"/api-reference/lobbies/end-the-current-match"},{"title":"Confirm a found match","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/me/confirm-match","href":"/api-reference/lobbies/confirm-a-found-match"},{"title":"Decline a found match","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/lobbies/{config}/me/confirm-match","href":"/api-reference/lobbies/decline-a-found-match"},{"title":"Send a player heartbeat","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/me/heartbeat","href":"/api-reference/lobbies/send-a-player-heartbeat"},{"title":"Subscribe to lobby events (SSE)","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/lobbies/{config}/me/events","href":"/api-reference/lobbies/subscribe-to-lobby-events-sse"},{"title":"Get lobby by ID","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/lobbies/{config}/{id}","href":"/api-reference/lobbies/get-lobby-by-id"},{"title":"Delete a lobby by ID (admin)","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/lobbies/{config}/{id}","href":"/api-reference/lobbies/delete-a-lobby-by-id-admin"}]}]}]}]},"basePath":"","title":"PlayFlow Cloud Documentation","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","Page-CxAy5y67.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}