Skip to main content
GET
/
v1
/
runs
/
{run_id}
/
events
Public Run Events
curl --request GET \
  --url https://api.example.com/v1/runs/{run_id}/events \
  --header 'X-API-Key: <api-key>'
{
  "detail": [
    {
      "loc": [
        "<string>"
      ],
      "msg": "<string>",
      "type": "<string>"
    }
  ]
}
This endpoint streams real-time events for a workflow run using Server-Sent Events (SSE). It provides instant notifications as nodes start, produce output, and when the run completes — eliminating the need to poll the run status endpoint.

Event Format

Each SSE message has the following structure:
event: message
data: {"type": "content", "data": {...}, "redisId": "1234567890-0"}

Event Types

TypeDescription
contentNode status changes and streaming output. Contains id (node ID), status, and optionally content (text output).
stateRun progress state. Contains progress_details and overall status.

Terminal Events

The stream ends when a content event includes workflow_status set to "completed" or "failed".

Resumable Streaming

Pass the etag query parameter with a redisId value from a previous event to resume streaming from that point. This is useful for recovering from connection drops.

Example

curl -N -H "X-API-Key: your-api-key" \
  "https://backend.noxus.ai/v1/runs/{run_id}/events"
from noxus_sdk.client import Client

client = Client(api_key="your-api-key")
workflow = client.workflows.get("workflow-id")
run = workflow.run(body={"Input 1": "Hello"})

for event in run.stream():
    if event.type == "content":
        print(event.data)
    if event.is_terminal:
        break

Authorizations

X-API-Key
string
header
required

Path Parameters

run_id
string
required

Query Parameters

etag
string

Response

Successful Response