Skip to main content
Every event delivered on /v1/ws shares the same outer envelope. Routing is done on (entity, event); service-specific payload lives in data.

Shape

Routing on the client

The canonical key for a router is {entity}.{event}:

Sequencing

A monotonically increasing sequence number may be present on the inner data payload (sequence, seq, or offset depending on service). Clients that need exactly-once application semantics should treat any of these as authoritative for the (account_id, entity) pair they appear on, and ignore older sequences after a re-hydration. For most clients, applying envelopes in arrival order on top of REST-hydrated state is sufficient.