Skip to main content
POST
/
api
/
v3
/
builds
/
upload-url
Get presigned upload URL
curl --request POST \
  --url https://playflow.dev/api/api/v3/builds/upload-url \
  --header 'api-key: <api-key>'
{
  "build_id": "<string>",
  "name": "<string>",
  "upload_url": "<string>",
  "message": "<string>"
}

Authorizations

api-key
string
header
required

Query Parameters

name
string
default:default

Build name (e.g., "default", "beta", "staging"). Versions auto-increment per name per project. Most projects use "default".

executable_path
string

Path to your game executable inside the ZIP archive. Defaults to "Server.x86_64" if not specified. Examples: "MyGame.x86_64", "bin/DedicatedServer".

Response

201 - application/json

Presigned upload URL generated. Upload your ZIP with a PUT request to the upload_url within 5 minutes.

Presigned upload URL and build metadata. Upload your ZIP file to the upload_url with a PUT request.

build_id
string
required

Unique identifier for the newly created build. Use this ID in subsequent API calls (process, get, delete).

name
string
required

Build name as provided in the request.

upload_url
string
required

Presigned R2 URL for uploading your ZIP file. Send a PUT request with your ZIP as the body. This URL expires in 5 minutes.

message
string
required

Confirmation message.