POST
Register a Docker image build

Authorizations

api-key
string
header
required

Per-project server key, prefixed sk_live_. Full access to every endpoint. Keep it on your backend: never ship it in a game binary.

Query Parameters

project_id
string

Which project to act on. Required when authenticating with a developer session (bearer_auth), which names no project of its own; ignored when authenticating with an API key, which carries its project already.

A project belonging to another account returns PROJECT_NOT_FOUND (7001) rather than a 403, so this cannot be used to probe for project ids.

Example:

"proj_abc123"

Body

application/json

Register an existing Docker image as a build.

name
string
required
Example:

"1.2.3"

image_url
string
required
Example:

"registry.example.com/game/server:1.2.3"

registry_username
string

Credentials for private registries. Omit for public images.

registry_password
string<password>

Credentials for private registries. Omit for public images.

Response

Build registered and processing.

build_id
string
required
Example:

"build_9f2c"

name
string
required

Build name. Servers reference this as version_tag.

Example:

"1.2.3"

version
integer
required

Monotonic integer version assigned per build name.

Example:

12

status
enum<string>
required
Available options:
uploading,
processing,
ready,
failed,
deleted
build_type
enum<string>
required
Available options:
zip,
docker_image
created_at
string<date-time>
required
updated_at
string<date-time>
required
executable_path
string | null

Path to the server executable inside the ZIP. zip builds only.

Example:

"Linux/GameServer.sh"

image_url
string | null

Docker image reference. docker_image builds only.

Example:

"registry.example.com/game/server:1.2.3"

error_message
string | null

Why the build failed, when status is failed. Null otherwise.

A summary, not a log: the full output is at GET /v1/builds/{build_id}/logs. It is here so that a client rendering a list of builds can say what went wrong without a second call per failed row.

Example:

"No executable found at Linux/GameServer.sh"