{siteKey} (UUID or domain). All endpoints require Authorization: Bearer {token}.
Unlike the rest of the reporting API, realtime endpoints take no date range (range/from/to do not apply) — each one reads a fixed live window: [now - 5 minutes, now]. This is independent of the product-wide analytics session duration (config('clickbase.session_duration_minutes'), which only controls session continuity at ingest). The upper now bound keeps a future-dated or clock-skewed event from ever counting as online.
Who counts as online (same rules on the count, visitor markers, and activity feed — they stay in lockstep):
- Non-engagement events only (
event_type = engagementis excluded — a beacon marks a visit that already happened, never someone online right now). paymentevents are excluded (Stripe/manual revenue rows must not create phantom visitors or wipe a pin with(0, 0)coords).- Visitors need a real geolocation: the latest event that carried non-zero
latitude/longitudewins. A later custom event with missing geo does not drop them. Exact(0, 0)(ClickHouse’s missing-geo sentinel) never counts. - The online count is uncapped; live visitor markers are capped at the 500 most recently active visitors (the live UI shows “showing X of Y” when the set is larger).
country, path, source, etc.) — see the exceptions noted per endpoint below.
Online visitor count
Status:
200 OK.
Live visitors
visitors, a list of:
Status:
200 OK.
Live activity
Response —
feed, a list of:
Status:
200 OK.
Live source domains
source_domains, an object keyed by source name:
Status:
200 OK.

