Query Visitors
List visitors with summary stats, grouped by the resolved identity
(stitch — preferred — or session).
Each row is one visitor: page count, duration, device info, and average performance. Cursor paginated, ordered by (start_time DESC, id DESC).
Aggregate browsing only; the per-visitor journey (/visitors/detail) is the
consent-gated drill-in.
Authorization
bearerAuth API token generated from the fastmon dashboard (Account → API Token). Send as Authorization: Bearer fm_... or paste the full token (including the fm_ prefix) into the Authorize dialog.
In: header
Path Parameters
uuidRequest Body
application/json
Request for the visitors list.
Cursor-paginated; always ordered by (start_time DESC, id DESC). Clients that want to re-sort do so over the loaded rows client-side.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/analytics/visitors" \ -H "Content-Type: application/json" \ -d '{ "time_range": { "from": "2019-08-24T14:15:22Z", "to": "2019-08-24T14:15:22Z" } }'{ "data": [ { "id": "string", "identity": "string", "started_at": "2019-08-24T14:15:22Z", "ended_at": "2019-08-24T14:15:22Z", "duration_ms": 0, "page_count": 0, "country": "string", "browser": "string", "browser_version": "string", "device_type": "string", "os": "string", "avg_lcp": 0, "avg_fcp": 0, "total_errors": 0 } ], "meta": { "limit": 0, "has_more": true, "next_cursor": "string" }}{ "error": { "code": "string", "message": "string", "request_id": "string", "doc_url": "string", "details": {} }}{ "error": { "code": "string", "message": "string", "request_id": "string", "doc_url": "string", "details": {} }}{ "error": { "code": "string", "message": "string", "request_id": "string", "doc_url": "string", "details": {} }}{ "error": { "code": "string", "message": "string", "request_id": "string", "doc_url": "string", "details": {} }}