Skip to main content
GET
Stream organization events (SSE)
Passes through named bus events with a : ping heartbeat every 15 s. The full event catalog flows: graph.updated and the import.* / identity.* families in-process, and worker-origin events (job.completed, insight.proposed, contradiction.detected, belief.superseded, basin.shifted, brain.trained) via the database bridge. Subject-scoped events reach only the subject’s own stream; org-readable events reach every member’s stream. A per-organization cap of 5 concurrent streams applies: the sixth returns 429 too_many_streams with Retry-After. Last-Event-ID is accepted for compatibility with resuming clients but is not replayed in v1.

Authorization

This route requires the read scope. A missing or invalid credential returns 401 authentication_error. A valid credential without the scope returns 403 permission_denied, and the problem body names the exact scope required.

Headers

These are request conventions the contract does not declare as parameters, so they do not appear in the schema tables below.

Success responses

Errors

Beyond the shared statuses, this route can answer with too_many_streams. Every problem body names its own code, and the type URI always resolves to the matching page. Every error is an RFC 9457 application/problem+json body carrying a stable code, a requestId, and a suggestedAction where Exo has one. See Errors.

Notes

  • Five concurrent streams per organization. The sixth is 429 too_many_streams with Retry-After.
  • v1 does not replay. Last-Event-ID is accepted so resuming clients do not error, and it is ignored. A client that must not miss a transition should use a webhook.
  • Reach differs by event. Events about the organization reach every member. Events about a person reach that person only. See Events.

Authorizations

X-Exo-API-Key
string
header
required

An Exo API key (exo_...) sent as the X-Exo-API-Key header.

Headers

Last-Event-ID
string | null

Accepted for resuming clients but best-effort: v1 does not replay.

Response

Successful Response