Get a job's public event timeline
const url = 'https://example.com/v1/jobs/example/events';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”Header Parameters
Section titled “Header Parameters”Responses
Section titled “Responses”Successful Response
GET /v1/jobs/{id}/events — the (optionally cursored) public event timeline.
object
The job’s ULID public_id.
Events ascending by seq.
One public-visibility event in a job’s timeline.
object
Monotonic per-job sequence number — the polling cursor.
Queued | stage | succeeded | failed.
Always ‘public’ on this surface.
Human-readable event line.
Presigned artifacts for this event.
A job artifact — image_url is a short-lived presigned GET URL; s3_key/asset_id
are now also carried per D6 so the storefront image route can presign without extra lookup.
object
Short-lived presigned GET URL for the artifact image.
Artifact kind, e.g. “on_model_render”, “catalog_image”.
Intermediate | final.
Kind-specific metadata.
object
Type-specific payload fields (cost/error/etc.).
object
Event creation timestamp (UTC).
Examplegenerated
{ "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": {}, "s3_key": "example", "asset_id": "example" } ], "extra": {}, "created_at": "2026-04-15T12:00:00Z" } ], "latest_seq": 1}Validation Error
object
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example" } ]}