> ## Documentation Index
> Fetch the complete documentation index at: https://docs.occtoo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Event stream (SSE)

> Subscribe to a live, ordered stream of tenant events delivered as CloudEvents over Server-Sent Events.

An ordered SSE stream. The SSE id field contains the raw resumable event sequence; the initial `after` query accepts either that sequence or a pull cursor.

```text theme={null}
GET https://api.occtoo.com/v1/events/stream
Accept: text/event-stream
Authorization: Bearer <token>
```

<Note>
  Each SSE message is a [CloudEvents](https://cloudevents.io/) 1.0 envelope (`application/cloudevents+json`) with `id`, `type`, `source`, `subject`, `time`, `sequence`, `tenantid` and a typed `data` payload. The SSE `id` field carries a resumable sequence — pass it as the `after` query parameter on reconnect to resume without gaps. Fetch the JSON schema of any event's `data` payload from `GET /v1/events/schemas/{type}/{version}`.
</Note>

## Message types

Every event type the stream can deliver — with its description and `data` properties — is listed in the [Events overview](/api-reference/events/overview#event-types). The stream delivers all of them by default; narrow it with the `filter` query parameter, for example `type eq "source.updated"`.

## Envelope example

```json source_entry.added theme={null}
{
  "specversion": "1.0",
  "id": "8f4d2a1e-…",
  "type": "source_entry.added",
  "source": "occtoo",
  "subject": "products/entry-123",
  "time": "2026-08-04T12:00:00Z",
  "datacontenttype": "application/json",
  "dataschema": "https://api.occtoo.com/v1/events/schemas/source_entry.added/1.0",
  "sequence": "001.00000000000000012345",
  "tenantid": "6c9a…",
  "data": {
    "…": "typed payload, see dataschema"
  }
}
```
