Skip to content
Get started

Builds

List builds
client.builds.list(RequestOptionsoptions?): BuildListResponse { id, created_at, status, 9 more }
get/builds
Create a new build
client.builds.create(BuildCreateParams { source, base_image_digest, cache_scope, 5 more } body, RequestOptionsoptions?): Build { id, created_at, status, 9 more }
post/builds
Get build details
client.builds.get(stringid, RequestOptionsoptions?): Build { id, created_at, status, 9 more }
get/builds/{id}
Cancel build
client.builds.cancel(stringid, RequestOptionsoptions?): void
delete/builds/{id}
Stream build events (SSE)
client.builds.events(stringid, BuildEventsParams { follow } query?, RequestOptionsoptions?): BuildEvent { timestamp, type, content, status } | Stream<BuildEvent { timestamp, type, content, status } >
get/builds/{id}/events
ModelsExpand Collapse
Build { id, created_at, status, 9 more }
id: string

Build job identifier

created_at: string

Build creation timestamp

formatdate-time
status: BuildStatus

Build job status

Accepts one of the following:
"queued"
"building"
"pushing"
"ready"
"failed"
"cancelled"
builder_instance_id?: string | null

Instance ID of the builder VM (for debugging)

completed_at?: string | null

Build completion timestamp

formatdate-time
duration_ms?: number | null

Build duration in milliseconds

formatint64
error?: string | null

Error message (only when status is failed)

image_digest?: string | null

Digest of built image (only when status is ready)

image_ref?: string | null

Full image reference (only when status is ready)

provenance?: BuildProvenance { base_image_digest, buildkit_version, lockfile_hashes, 2 more }
base_image_digest?: string

Pinned base image digest used

buildkit_version?: string

BuildKit version used

lockfile_hashes?: Record<string, string>

Map of lockfile names to SHA256 hashes

source_hash?: string

SHA256 hash of source tarball

timestamp?: string

Build completion timestamp

formatdate-time
queue_position?: number | null

Position in build queue (only when status is queued)

started_at?: string | null

Build start timestamp

formatdate-time
BuildEvent { timestamp, type, content, status }
timestamp: string

Event timestamp

formatdate-time
type: "log" | "status" | "heartbeat"

Event type

Accepts one of the following:
"log"
"status"
"heartbeat"
content?: string

Log line content (only for type=log)

status?: BuildStatus

New build status (only for type=status)

Accepts one of the following:
"queued"
"building"
"pushing"
"ready"
"failed"
"cancelled"
BuildPolicy { cpus, memory_mb, network_mode, timeout_seconds }
cpus?: number

Number of vCPUs for builder VM (default 2)

memory_mb?: number

Memory limit for builder VM (default 2048)

network_mode?: "isolated" | "egress"

Network access during build

Accepts one of the following:
"isolated"
"egress"
timeout_seconds?: number

Maximum build duration (default 600)

BuildProvenance { base_image_digest, buildkit_version, lockfile_hashes, 2 more }
base_image_digest?: string

Pinned base image digest used

buildkit_version?: string

BuildKit version used

lockfile_hashes?: Record<string, string>

Map of lockfile names to SHA256 hashes

source_hash?: string

SHA256 hash of source tarball

timestamp?: string

Build completion timestamp

formatdate-time
BuildStatus = "queued" | "building" | "pushing" | 3 more

Build job status

Accepts one of the following:
"queued"
"building"
"pushing"
"ready"
"failed"
"cancelled"