Skip to content

Get a job's public event timeline

GET
/v1/jobs/{public_id}/events
curl --request GET \
--url https://example.com/v1/jobs/example/events \
--header 'Authorization: Bearer <token>'

Return the job’s public-visibility events, cursored by ?since=.

Ownership is enforced by a preceding detail fetch — a foreign or unknown job id 404s before any events are read.

public_id
required
Public Id
string
since
Any of:
integer

Exclusive seq cursor — only events after it.

X-Shopify-Hmac-Sha256
Any of:
string

Successful Response

Media type application/json
JobEventsResponse

GET /v1/jobs/{id}/events — the (optionally cursored) public event timeline.

object
public_id
required
Public Id

The job’s ULID public_id.

string
events
Events

Events ascending by seq.

Array<object>
JobEventResponse

One public-visibility event in a job’s timeline.

object
seq
required
Seq

Monotonic per-job sequence number — the polling cursor.

integer
event_type
required
Event Type

Queued | stage | succeeded | failed.

string
visibility
required
Visibility

Always ‘public’ on this surface.

string
stage
Any of:
string
message
required
Message

Human-readable event line.

string
artifacts
Artifacts

Presigned artifacts for this event.

Array<object>
ArtifactResponse

A job artifact — image_url is a short-lived presigned GET URL; a raw S3 key never crosses this boundary (studio AD-8).

object
image_url
required
Image Url

Short-lived presigned GET URL for the artifact image.

string
kind
required
Kind

Artifact kind, e.g. “on_model_render”, “catalog_image”.

string
role
required
Role

Intermediate | final.

string
label
Any of:
string
meta
Meta

Kind-specific metadata.

object
key
additional properties
any
extra
Extra

Type-specific payload fields (cost/error/etc.).

object
key
additional properties
any
created_at
required
Created At

Event creation timestamp (UTC).

string format: date-time
latest_seq
Any of:
integer
Example generated
{
"public_id": "example",
"events": [
{
"seq": 1,
"event_type": "example",
"visibility": "example",
"stage": "example",
"message": "example",
"artifacts": [
{
"image_url": "example",
"kind": "example",
"role": "example",
"label": "example",
"meta": {}
}
],
"extra": {},
"created_at": "2026-04-15T12:00:00Z"
}
],
"latest_seq": 1
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}