# GET /v1/durable/workflows/:workflow_id/sse - Stream workflow state (SSE)

Source: <https://everruns.com/docs/api/operations/stream_workflow_sse/>

GET

/v1/durable/workflows/{workflow\_id}/sse

Select code samplecURL (shell:curl)

```js
const url = 'https://app.everruns.com/api/v1/durable/workflows/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/sse';
const options = {method: 'GET'};


try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```sh
curl --request GET \
  --url https://app.everruns.com/api/v1/durable/workflows/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/sse
```

* Production APIapp.everruns.com/api/v1/durable/workflows/{workflow\_id}/sse

Establishes a Server-Sent Events (SSE) connection for real-time workflow monitoring.

## Connection Lifecycle Events

* **connected**: Sent immediately when the stream is established.
* **snapshot**: Sent when workflow state or events change.
* **disconnecting**: Sent before the server closes the connection for graceful cycling. Data: `{"reason":"connection_cycle","retry_ms":1000}`

## Connection Cycling

Connections are automatically cycled every 10 minutes. Before closing, the server sends a `disconnecting` event so clients can reconnect seamlessly.

## Retry Hints

Each SSE event includes a `retry:` field (in milliseconds) that hints reconnection timing.

## Parameters

### Path Parameters

**workflow\_id**

required

string format: uuid

Workflow ID

## Responses

### 200

SSE event stream with ‘connected’, ‘snapshot’, and ‘disconnecting’ events

Media typetext/event-stream

### 404

Workflow not found

### 503

Durable store not available