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; a raw
S3 key never crosses this boundary (studio AD-8).
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).
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
object
object
Example generated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example" } ]}