Skip to main content
POST
/
api
/
v3
/
builds
/
docker-image
Create build from Docker image
curl --request POST \
  --url https://playflow.dev/api/api/v3/builds/docker-image \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --data '
{
  "image_url": "<string>",
  "name": "default",
  "executable_path": "<string>",
  "registry_credentials": {
    "username": "<string>",
    "password": "<string>"
  }
}
'
{
  "status": "<string>",
  "build_id": "<string>",
  "message": "<string>"
}

Authorizations

api-key
string
header
required

Body

application/json

Create a build from an existing Docker image instead of uploading a ZIP. PlayFlow pulls the image and prepares it for deployment.

image_url
string
required

Full Docker image URL including tag. Examples: "ghcr.io/myorg/gameserver:v2.1.0", "registry.example.com/game:latest", "docker.io/myname/server:1.0".

Minimum string length: 1
name
string
default:default

Build name for versioning (e.g., "default", "beta"). Versions auto-increment per name per project.

executable_path
string

Path to the game executable inside the Docker image. Required if your executable is not at the default location (Server.x86_64).

registry_credentials
object

Credentials for private Docker registries. Not needed for public images (Docker Hub public, ghcr.io public). Required for private repos.

Response

Docker image build created and processing started. Poll GET /builds/{build_id} for status updates.

Confirmation that build processing has been triggered. Processing runs asynchronously via GitHub Actions (typically 1–5 minutes).

status
string
required

Processing status, typically "accepted".

build_id
string
required

Build identifier being processed.

message
string
required

Human-readable status message.