fastmon Docs
Analytics

List checkout events

Report an issue

List the Shopify checkout events of this organization, newest first.

The row-level view of the checkout, beside the funnel that counts it and the stage series that charts it. One row is one event: when it happened, its name and stage, the site, the visitor and the edge-derived dimensions. Use it to hold a test order against the Shopify order list.

Cursor paginated over (timestamp, pvid, name). pvid groups the events of one checkout load and matches no pageview. An empty page with no cursor means no event matched, including on an installation whose events table the operator has not created yet.

Authorization

bearerAuth
headerAuthorizationBearer <token>

API token generated from the fastmon dashboard (Account → API Token) or at organization level (fmo_…, one that outlives its creator). Send as Authorization: Bearer fm_... or paste the full token (including its prefix) into the Authorize dialog.

Path Parameters

org_id*Org Id
Formatuuid

Request Body

application/json
  1. body

Request for the row-level list of checkout events.

time_range*

Time range, on the event's own timestamp

filters?

Optional filters. Only the ones with a column on the events table are accepted: the site scope, stitch, the edge-derived dimensions and tracker_version. Anything else is a 422 naming it under its own path, because an empty page would read as 'no events arrived'.

names?array<>|

Restrict to these event names. Null or omitted lists every name. A name is lowercased before it is checked, and an unknown one is a 422 rather than an empty page, which would read as 'this shop has no orders'. A stage is not a filter here: stage is derived from the name, so a caller who wants one stage names its events. A name selects the rows of both sources, and source on each row tells them apart.

limit?Limit

Max rows per page

Range1 <= value <= 100
Default50
cursor?|

Opaque resume point from meta.next_cursor of the previous page. It carries the last row's timestamp, pvid and name, so two events in the same millisecond page without a gap or a repeat.

Response Body

Successful Response

application/json
  1. response
data*array<>
meta*

Meta for ClickHouse-backed cursor-paginated lists.

total is intentionally absent: COUNT(*) over beacon tables is too expensive. Clients rely on has_more + next_cursor instead.

POST
/organizations/{org_id}/analytics/events
curl -X POST 'https://api.fastmon.eu/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/analytics/events' \  -H 'Content-Type: application/json' \  -d '{  "time_range": {    "from": "2019-08-24T14:15:22Z",    "to": "2019-08-24T14:15:22Z"  }}'
{  "data": [    {      "timestamp": "2019-08-24T14:15:22Z",      "name": "view_cart",      "stage": "cart",      "source": "shopify_pixel",      "site_id": "72771e6a-6f5e-4de4-a5b9-1266c4197811",      "visitor_id": "string",      "pvid": "string",      "country": "string",      "asn": 0,      "isp": "string",      "device_type": "string",      "browser": "string",      "os": "string",      "bot_name": "string",      "bot_type": "string",      "datacenter": "string",      "ua_anomaly": "string",      "tracker_version": "string"    }  ],  "meta": {    "limit": 0,    "has_more": true,    "next_cursor": "string"  }}