# Server-Sent Events stream of RunEvent frames

GET

/v1/runs/{runId}/stream

```sh
curl --request GET \
  --url https://example.com/v1/runs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/stream \
  --header 'Authorization: Bearer <token>'
```

Each SSE frame is one `RunEvent` per `@kindgi/specs/run-event.schema.json`. Reconnect via `Last-Event-Id: <runId>:<sequence>`. The server ends the stream after the run’s terminal event, or after 5 minutes: reconnect with `Last-Event-Id` to continue.

## Authorizations

- **[bearerAuth](https://docs.kindgi.com/v0.1.9/reference/api.md#bearerauth)**

## Parameters

### Path Parameters

**runId**

required

string format: uuid

RunId — opaque branded string (a UUID).

### Header Parameters

**Last-Event-Id**

string

Resume marker (`<runId>:<sequence>`). Server replays events with `sequence > lastSeen` before entering live-poll.

## Responses

### 200

Text/event-stream. Each frame is one RunEvent.

text/event-stream

object

**eventId**

required

Monotonic event id within the run. Sent as the SSE `id:` line and echoed back via `Last-Event-Id` on reconnect.

string

\>= 1 characters

**runId**

required

string

\>= 1 characters

**tenantId**

required

string

\>= 1 characters

**timestamp**

required

string format: date-time

**kind**

required

string

Allowed values: run.queued run.started run.step-started run.step-completed run.step-failed run.step-retry-scheduled run.iteration-started run.iteration-completed run.tool-invoked run.tool-result run.model-token run.artifact-produced run.guardrail-violated run.wait-suspended run.wait-resumed run.approval-requested run.approval-completed run.completed run.failed run.cancelled

**sequence**

integer

**nodeId**

string

**payload**

### 400

`runId` is not a run id (a UUID).

application/json

object

**error**

required

object

**code**

required

Stable machine-readable discriminant. Values match domain error codes (see `docs/API-ROUTE-CONVENTIONS.md` §4.3).

string

**message**

required

string

**details**

Optional, kind-specific.

object

**_key_**

additional properties

any

**requestId**

required

Server-assigned request id; also echoed via `X-Request-Id` header.

string

##### Examplegenerated

```json
{
  "error": {
    "code": "example",
    "message": "example",
    "details": {},
    "requestId": "example"
  }
}
```

### 401

Missing / malformed / expired / revoked bearer token.

application/json

object

**error**

required

object

**code**

required

Stable machine-readable discriminant. Values match domain error codes (see `docs/API-ROUTE-CONVENTIONS.md` §4.3).

string

**message**

required

string

**details**

Optional, kind-specific.

object

**_key_**

additional properties

any

**requestId**

required

Server-assigned request id; also echoed via `X-Request-Id` header.

string

##### Examplegenerated

```json
{
  "error": {
    "code": "example",
    "message": "example",
    "details": {},
    "requestId": "example"
  }
}
```

### 404

No run with that id under this tenant.

application/json

object

**error**

required

object

**code**

required

Stable machine-readable discriminant. Values match domain error codes (see `docs/API-ROUTE-CONVENTIONS.md` §4.3).

string

**message**

required

string

**details**

Optional, kind-specific.

object

**_key_**

additional properties

any

**requestId**

required

Server-assigned request id; also echoed via `X-Request-Id` header.

string

##### Examplegenerated

```json
{
  "error": {
    "code": "example",
    "message": "example",
    "details": {},
    "requestId": "example"
  }
}
```

## See also

- [`GET /v1/runs/{runId}`: Fetch a run](https://docs.kindgi.com/v0.1.9/reference/api/operations/runsget.md)
- [`POST /v1/runs/{runId}/cancel`: Cancel a run](https://docs.kindgi.com/v0.1.9/reference/api/operations/runscancel.md)
- [`POST /v1/runs/{runId}/resume`: Resume a suspended run at a waitpoint (not available in this release)](https://docs.kindgi.com/v0.1.9/reference/api/operations/runsresume.md)
- [`GET /v1/runs/{runId}/journal`: Read the durable journal for a run](https://docs.kindgi.com/v0.1.9/reference/api/operations/runsjournal.md)
- [Every error code](https://docs.kindgi.com/v0.1.9/reference/errors.md)
