Every call that is open right now (SES-1 F0/F1, F10.1)
GET/api/calls
The RECOVERY path for call state, and the call centre's live board.
Broadcasts (call.state over the tenant's calls channel) are the fast
path; this is the floor under them. A surface whose only input is a
broadcast has one failure mode and it is total — one dropped message and
the screen lies until somebody reloads, showing a call as ringing that
was answered a minute ago. Every client therefore fetches this on open,
on websocket reconnect, on tab focus, and (on the call centre board)
on a short poll while calls are up.
WHAT IS "OPEN": anything ringing/dialing in the last two minutes, plus anything active in the last day. Rows the actor may not view are filtered out per row, so a short page is normal and there is no pagination — this is a live board, not history (history is F10.2).
state_seq is monotonic per call and is what every client fences on: a
snapshot whose seq did not move past what was rendered reads as "nothing
happened", which is how an out-of-order broadcast is discarded.
Responses
- 200
- 401
The open calls, ringing first then newest first.
Not authenticated. code: account_disabled means the member's seat was deactivated in this workspace: the session is over even though the token was not revoked (clients sign out and clean up).