OpenAPI Spec (JSON)
Download the machine-readable OpenAPI 3.1 spec for use with Postman, code generators, or custom tooling.
Interactive Reference
Try out endpoints directly in the Scalar API playground with live request/response previews.
Authentication
All API endpoints (except Health) require theapi-key header:
Find your API keys in the PlayFlow Dashboard under Project Settings.
A few operations — deleting builds and updating project settings — require a Server API Key. A Client API Key on these endpoints returns
403.Quick Start
1
Upload a build
POST /v3/builds/upload-url — get a presigned URL, then PUT your ZIP to it. Processing starts automatically when the upload completes.2
Wait for it to be ready
Poll
GET /v3/builds/{id} until status is ready.3
Start a server
POST /v3/servers/start with a name, a region, and the build’s version_tag (its name). The response includes a network_ports array with the connection details.4
Connect your game client
Read
host and external_port from network_ports[] in the response to connect players. Ports are proxy-allocated, so always read them from the response rather than hardcoding a fixed port.Key Concepts
- Builds — Your game server binary packaged as a ZIP or Docker image. Versioned per name per project.
- Servers — Running game server instances. Each gets dedicated compute and network ports with automatic health monitoring. Servers launch on-demand and cold-start.
- Regions — 13 global regions.
regionis required when you start a server. See Server Regions for the full list. - Compute Sizes — 9 launchable sizes, from
micro(1 shared vCPU / 512MB) todedicated-xlarge(2 perf vCPU / 16GB). The default issmall. See Plan & Instance Types.
Lifecycles
Server Lifecycle
Build Lifecycle
Rate Limits
Rate limit status is returned via
X-RateLimit-Limit and X-RateLimit-Remaining headers. Exceeding the limit returns 429.