Skip to main content
PlayFlow is a game server hosting and orchestration platform. Deploy, manage, and scale multiplayer game servers globally with built-in matchmaking, lobby management, and billing.

Authentication

All API endpoints (except Health) require the api-key header:
curl https://api.computeflow.cloud/api/v3/servers \
  -H "api-key: pf_your_project_api_key"
Each project has two keys:
Key TypePrefixUse Case
Server API Keypf_*Backend services, CI/CD, admin tools
Client API Keypfclient_*Game clients, browser apps
Find your API keys in the PlayFlow Dashboard under Project Settings.
Never expose your Server API Key in client-side code. Use the Client API Key for anything that ships to players.

Quick Start

1

Upload a build

POST /v3/builds/upload-url — get a presigned URL, then PUT your ZIP to it.
2

Process it

POST /v3/builds/{id}/process — wait for status ready.
3

Start a server

POST /v3/servers/start — get connection info in network_ports.
4

Connect your game client

Use host:external_port from the response to connect players.
For detailed examples with cURL, C#, and Python, see the full API guide.

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.
  • Pool Servers — Pre-provisioned servers for instant startup (~5s vs ~30s cold start).
  • Regions — 12 global regions. See Server Regions for the full list.
  • Compute Sizes — From micro (256MB shared) to dedicated-xlarge (16GB dedicated CPU). See Plan & Instance Types.

Lifecycles

Server Lifecycle

launching → running (game ports open) → stopped (game exits, TTL expires, or manual stop)

Build Lifecycle

uploading → processing (build pipeline creates deployable image) → ready | failed

Rate Limits

Endpoint TypeLimit
Read endpoints (list, get, logs)100 req/sec per API key
Write endpoints (start, upload)10 req/sec per API key
Rate limit status is returned via X-RateLimit-Limit and X-RateLimit-Remaining headers. Exceeding the limit returns 429.

Plan Limits

PlanServersTTLCompute SizesPool
Free1 maxForced 1hrsmall onlyNo
ProUnlimitedCustomAll sizesYes

Error Format

All errors return a consistent JSON shape:
{
  "error": "Human-readable message",
  "detail": "Additional context",
  "status": 404
}
Validation errors (422) include structured details:
{
  "error": "Validation error",
  "detail": [
    { "loc": ["region"], "msg": "Required", "type": "invalid_type" }
  ],
  "status": 422
}

Base URL

https://api.computeflow.cloud/api
VersionPrefixNotes
V3 (canonical)/api/v3/*OpenAPI-validated, clean response shapes
V2 (legacy)/api/v2/*Compatibility layer for older SDKs