Events & Errors

Cortex uses durable run events for streaming execution state and a consistent error envelope for failed requests.

Run Events

EventPurpose
run.progressHuman-readable progress update.
message.stream.startedAssistant text stream started.
message.stream.deltaAppend text to the active assistant draft.
message.createdDurable user or assistant message was persisted.
tool.started / tool.completedTool-call status updates.
document.createdA document or artifact is available.
run.completed / run.failed / run.cancelledTerminal run state.

SSE Delivery

  • Events include SSE id, event, and JSON data.
  • Clients should store the last sequence and reconnect with ?after=.
  • Keepalive comments should be ignored by parsers.

Error Envelope

{
  "error": "Human-readable message",
  "code": "OPTIONAL_MACHINE_CODE",
  "details": { "field": "extra context" }
}