WebSocket Realtime API
Establish a persistent connection for real-time counter events.
v2 WebSocket (Current)
Endpoint
Authorization: Bearer token header required.
Query Parameters
Parameter | Required | Description |
|---|---|---|
timezone | No | IANA timezone name. Date counter values are pre-resolved for this timezone. Falls back to the user's account timezone. |
Protocol
Server → client messages follow JSON-RPC 2.0 notification format (no id).
jsonrpc: always"2.0"method: event identifier (see below)params: event-specific payload (camelCase)
Ignore unknown methods or fields for forward compatibility.
v2 Events
counterUpdated
Emitted when a counter value or metadata changes.
For UpDown counters:
For FromDate/ToDate counters, value is the timezone-resolved day count (pastDays or remainingDays):
counterDeleted
Counter removed or no longer accessible.
counterMemberlistChanged
Member list changed (added/removed member).
Ordering & Delivery
Order preserved per connection.
No exactly-once guarantee; client logic must be idempotent.
Reconnect Strategy
Use exponential backoff (1s, 2s, 5s, 10s, 30s) and re-sync via GET /v2/counters after reconnect to cover missed events.
Compatibility
Additional methods may appear at any time.
Ignore unknown methods and params fields.
Security
One authenticated user per socket.
The access token is never included in message payloads.
v1 WebSocket (Deprecated)
The v1 WebSocket emits the same event names (counterUpdated, counterDeleted, counterMemberlistChanged) but with a nested data payload (matching the v1 REST response shape) instead of a flat value.