Skip to main content
GET
/
v1
/
templates
/
builds
/
{build_id}
/
logs
Stream reconnectable template build logs
import requests

url = "https://api.13-215-85-171.sslip.io/v1/templates/builds/{build_id}/logs"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
"id: 10\nevent: log\ndata: {\"build_id\":\"tb_123\",\"template_id\":\"tmpl_123\",\"offset\":10,\"timestamp\":\"2026-03-17T00:00:12Z\",\"kind\":\"message\",\"level\":\"info\",\"message\":\"Snapshot complete\"}\n"

Authorizations

Authorization
string
header
required

API key passed as Bearer token

Path Parameters

build_id
string
required

Query Parameters

offset
integer<uint64>

First durable log offset to replay. Takes precedence over cursor.

cursor
integer<uint64>

Alias for offset for reconnecting SSE clients.

follow
boolean
default:false

Keep the SSE stream open and forward live build log entries.

Response

SSE stream of template build log entries

A single structured build log entry emitted during template build

build_id
string
required
template_id
string
required
offset
integer<uint64>
required
timestamp
string<date-time>
required
kind
enum<string>
required
Available options:
start,
message,
cache,
retry,
warning,
error,
cancelled,
end
level
enum<string>
required
Available options:
debug,
info,
warn,
error
message
string
required

Canonical human-readable log message for this build entry

error_detail
object
result
object
result_metadata
object

Additional metadata attached to terminal build log entries and durable build attempts.

phase
string

Build phase: cache, preparing, vm_create, step, sync, startup, readiness, snapshot, finalize, cleanup, retry

step_index
integer

1-indexed current build step number

total_steps
integer

Total number of build steps

attempt
integer

Current retry attempt (1-indexed)

max_attempts
integer

Maximum number of retry attempts allowed

cache_kind
enum<string>

Cache layer this event describes

Available options:
file_blob,
layer,
final_artifact
cache_status
enum<string>

Cache outcome for this event

Available options:
hit,
miss,
stored,
bypass
cache_reason
enum<string>

Optional reason for a cache miss or bypass

Available options:
whole_build_skip_cache,
builder_cache_boundary,
force_upload,
missing_or_incompatible
cache_subject
string

Human-readable cache target such as a build-context path or step description