---
title: Streaming & Real-time
description: Track run progress with polling, event logs, and optional SSE streaming.
source: https://www.edgaze.ai/docs/api/streaming
section: api
---
# Streaming & Real-time

> Track run progress with polling, event logs, and optional SSE streaming.

Track run progress with polling, event logs, and optional SSE streaming. For server-side integrations, polling is the recommended default: it is simple, durable, and works through any HTTP client.

## Recommended pattern

1. POST /runs → capture `run.id` and `statusUrl` from the 202 response.
2. Poll GET /runs/{id} every 1-3s until terminal status (`completed`, `failed`, `cancelled`, `timeout`).
3. Read outputs from the completed run response.

## Event log

GET /runs/{id}/events returns the full ordered log: `run.started`, `node.completed`, `run.completed`, and related markers. Use it when you need step-level progress in a dashboard or when debugging which node failed.

See [List Run Events](/docs/api/list-events) for the full reference.

## Live streaming

Run creation returns an `accessToken` and `streamUrl`. Token-based SSE is available for interactive clients using the run access token. For backend services, prefer polling or webhooks: SSE connections are not ideal for short-lived serverless workers.
