Realtime
Endpoints
The realtime surface at a glance — one WebSocket endpoint, five frame actions.
Realtime is a single WebSocket endpoint, not a set of HTTP routes:
| Protocol | Path | Purpose |
|---|---|---|
WS | /v1/ws | The realtime gateway — authenticate via Authorization: Bearer header or ?access_token= query param |
Once connected, everything happens through frames:
| Direction | Frame | Purpose |
|---|---|---|
| client → server | subscribe | Join a channel |
| client → server | unsubscribe | Leave a channel |
| client → server | ping | Keepalive |
| server → client | welcome | Connection established — your connection_id and identity |
| server → client | ack | Subscribe/unsubscribe confirmed |
| server → client | event | A platform event on a subscribed channel |
| server → client | error | A frame was rejected (bad_request, forbidden, limit_exceeded) |
| server → client | pong | Reply to your ping |
Full JSON shapes for every frame are in the wire protocol.

