Skip to content

OperationEvent

View as Markdown

One event in an operation’s stream. Over SSE each event is sent as id: <seq>, event: <type>, data: <this object as JSON>. Reconnect with Last-Event-ID to resume. The stream ends with an operation.finished event.

Field Type Description
seq * integer
operation_id * string
type * operation.status, step.started, step.succeeded, step.failed, step.retrying, progress, log, approval.requested, approval.decided, operation.finished, heartbeat
step string or null
message string
data object
at * string (date-time)

* always present

{
"seq": 7,
"operation_id": "op_01jbx2m9k7q4r8t5v6w3y0z1op",
"type": "step.succeeded",
"step": "build",
"message": "Built image in 1 min 12 s",
"data": {
"image_digest": "sha256:4b1f0e9d8c7b6a5948372615f4e3d2c1b0a9f8e7d6c5b4a3928170f6e5d4c3b2"
},
"at": "2026-10-23T14:03:13Z"
}