← 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 AttributeValueDataPoint is one value of an attribute with how many visitors hold it object

AttributeValueDataPoint is one value of an attribute with how many visitors hold it

label

string

percentage

number (double)

visitorCount

integer (int32)
POST/v1/analytics/attributes/distributionRequires auth

#Get visitor attribute distribution

Returns how visitors are spread across the values of one attribute, for example how many gave each rating.

#Parameters

This endpoint does not accept any parameters.

#Request body

endDate

string (date-time)

key

string

limit

integer (int32)

Maximum number of values (default 10)

linkId

string

startDate

string (date-time)

#Response

200

Everything worked as expected.

data

array<object>

total

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/attributes/metricRequires auth

#Get visitor attribute metric

Returns count, average, minimum and maximum for a visitor attribute, plus how much of the audience carries it.

#Parameters

This endpoint does not accept any parameters.

#Request body

endDate

string (date-time)

Inclusive end timestamp

key

string

Attribute key, for example "rating"

linkId

string

Optional link filter (UUID). Attributes belong to the visitor rather than to a link, so this filters the audience: visitors who interacted with the link, whatever set the attribute.

startDate

string (date-time)

Inclusive start timestamp

#Response

200

Everything worked as expected.

audienceCount

integer (int32)

Visitors in the audience, whether or not they have the attribute

averageValue

number (double)

coverageRate

number (double)

Share of the audience carrying the attribute, 0 to 1

maxValue

number (double)

minValue

number (double)

totalCount

integer (int32)

Visitors carrying the attribute at all

usableCount

integer (int32)

Values that parsed as numbers, so the denominator for averages. Lower than total_count when some values do not match the attribute's declared type.

#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/attributes/valuesRequires auth

#List visitor attribute values

Returns the individual recorded values of one attribute, most recent first. Intended for free text such as comments.

#Parameters

This endpoint does not accept any parameters.

#Request body

endDate

string (date-time)

key

string

limit

integer (int32)

Maximum number of values (default 50)

linkId

string

startDate

string (date-time)

#Response

200

Everything worked as expected.

data

array<object>

total

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/breakdownRequires auth

#Get dimension breakdown

Returns a ranked breakdown of events by any dimension (browser, platform, device type, country, city, visit type).

#Parameters

This endpoint does not accept any parameters.

#Request body

dimension

string

Dimension to break down by: "browser", "platform", "device_type", "country", "city", "visit_type"

endDate

string (date-time)

Inclusive end timestamp

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 dimension values by event count (descending)

total

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/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/funnelRequires auth

#Get workflow step funnel

Returns the workflow steps visitors reached, in distinct visitors, ordered from arrival to exit, with the conversion rate and drop-off at each step.

#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.

completionRate

number (double)

Conversion rate of the final step

entryVisits

string (int64)

Journeys that arrived; the denominator of every rate

steps

array<object>

Steps in the order a visitor meets them, arrival first

#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.