← Back to API Reference overview

Analytics Data

Endpoints for retrieving aggregated analytics data for dashboard widgets including geographic breakdown, device distribution, and visitor trends.

Shortcut: ⌘K

#The DeviceDataPoint represents a device type with its event count object

DeviceDataPoint represents a device type with its event count

deviceType

string

Device type (e.g. "DESKTOP", "MOBILE", "TABLET")

eventCount

integer (int32)

Number of events from this device type

percentage

number (double)

Percentage of total events

POST/v1/analytics/devicesRequires auth

#Get device distribution

Retrieve event distribution across device types.

#Parameters

This endpoint does not accept any parameters.

#Request body

endDate

string (date-time)

Inclusive end timestamp

linkId

string

Optional link filter (UUID); when omitted aggregates workspace-wide

startDate

string (date-time)

Inclusive start timestamp

#Response

200

Everything worked as expected.

data

array<object>

Device type breakdown

totalEvents

integer (int32)

Total number of events in the date range

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

POST/v1/analytics/geoRequires auth

#Get geographic breakdown

Retrieve geographic distribution of events grouped by country or city.

#Parameters

This endpoint does not accept any parameters.

#Request body

endDate

string (date-time)

Inclusive end timestamp

groupBy

string

Group by "country" or "city"

limit

integer (int32)

Maximum number of results (default 10)

linkId

string

Optional link filter (UUID); when omitted aggregates workspace-wide

startDate

string (date-time)

Inclusive start timestamp

#Response

200

Everything worked as expected.

data

array<object>

Ordered list of locations by event count (descending)

totalEvents

integer (int32)

Total number of events in the date range

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

POST/v1/analytics/hoursRequires auth

#Get hour of day distribution

Retrieve event counts aggregated by hour of day for identifying peak activity times.

#Parameters

This endpoint does not accept any parameters.

#Request body

endDate

string (date-time)

linkId

string

Optional link filter (UUID); when omitted aggregates workspace-wide

startDate

string (date-time)

#Response

200

Everything worked as expected.

data

array<object>

totalEvents

integer (int32)

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

POST/v1/analytics/timeseriesRequires auth

#Get grouped time series

Retrieve time-bucketed event counts grouped by a dimension like country, city, device type, or visit type.

#Parameters

This endpoint does not accept any parameters.

#Request body

endDate

string (date-time)

groupBy

string (enum)

GroupByDimension defines the available dimensions for grouping analytics data. Add new dimensions here as the platform grows.

Allowed values
GROUP_BY_DIMENSION_UNSPECIFIED
GROUP_BY_DIMENSION_COUNTRY
GROUP_BY_DIMENSION_CITY
GROUP_BY_DIMENSION_DEVICE_TYPE
GROUP_BY_DIMENSION_VISIT_TYPE
GROUP_BY_DIMENSION_BROWSER
GROUP_BY_DIMENSION_PLATFORM

intervalInMinutes

integer (int32)

limit

integer (int32)

Max number of groups to return (top N by volume). Default 5.

linkId

string

Optional link filter (UUID); when omitted aggregates workspace-wide

startDate

string (date-time)

#Response

200

Everything worked as expected.

series

array<object>

totalEvents

integer (int32)

Total events across all series

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.