analytics:read scope.
All three take
surveyId, from and to. A to given as a date alone, such as 2026-10-14, includes that whole UTC day. Without surveyId, the numbers cover the whole organization. Without from and to, they cover everything your plan keeps. A from older than your plan’s retention window starts at the beginning of the window instead.
Get the summary
null without surveyId, and when the survey has no question of that kind.
Scores are unrounded. NPS runs from -100 to 100, CSAT is the percent of ratings at or above the satisfied rating (4 of 5, 8 of 10), and CES and the average score are the average answer. Round each value once where you show it: the dashboard shows the NPS above as +31 and an average to one decimal.
Get a time series
metric is responses (the default), nps or detractors. interval is day (the default), week or month, in UTC. The nps and detractors metrics need a surveyId.
{ date, value, count }, oldest first. For nps, value is the step’s NPS, unrounded, and 0 when count is 0; treat a step with no answers as having no value.
Get a breakdown
by sets the dimension:
For
country and device, top sets how many values come back before the rest are counted under other. It takes 1 to 250 and defaults to 12. A value outside that range returns 400 with PUB-006-005. The analysis dimensions always return every value.
total. A response with no value on the dimension, such as one not analyzed yet or one that matched no theme, has no bucket, so the buckets can also add up to less than total.
To list the responses behind a bucket, call GET /responses with the same filter, such as type=bug.