v1

latestOpenAPI 3.1.0© Copyright Partoo2026-07-26163503484.0 KB
Feedback analytics

Feedback analytics metrics

⚠️ This feature is available only for organisations subscribed to Feedback Management. ⚠️

Retrieve aggregated feedback analytics data for your organisation.

A request is composed of:

  • One or more metrics — the data you want to compute (required)
  • An optional dimensions — how the data is grouped
    • If omitted, the request returns the aggregated totals across all data matching the filters
  • An optional order_by — how the rows are sorted
  • Filters to narrow the data:
    • By business (business__in, business__notin)
    • By group or group section (groups, group_section_id)
    • By date range (filter_date__gte, filter_date__lte)
    • By survey or field (survey__in, survey_field__in, survey_field_type__in)
    • By NPS score (result_nps_score__in)
    • By free-text comment (verbatim_query)
    • By data quality issues (issues__in, issues__notin)
    • By business location (city, query)

Metrics are grouped into five categories:

CategoryPrefixExamples
Surveysurvey.survey.response_rate, survey.nb__sent
CSATresult.csat.result.csat.score, result.csat.avg_score
NPSresult.nps.result.nps.score, result.nps.promoters
Responseresponse.response.avg_response_time, response.method.nb__ai
Result fieldresult_field.result_field.rating, result_field.choices

Dimensions control how rows are grouped:

  • Entity: business, user, feedback_form, group, group_section, feedback_form_field, result
  • Time: day, month, year

Excel download: add download=true to receive the data as an .xlsx file instead of JSON. Use table_name to customise the filename.

Metadata: add metadata=true to include full entity objects (businesses, forms, users…) alongside the data array. Useful for resolving IDs to display names without extra API calls.

get/feedback/analytics/metrics

Query parameters

metricsstring required
Example:result.csat.score,result.csat.avg_score

Comma-separated list of analytics metrics to return. At least one value is required.

Survey metrics

  • survey.response_rate: Response rate (submissions / sends)
  • survey.nb__sent: Number of surveys sent
  • survey.nb__with_comments: Number of responses with a comment
  • survey.nb__without_comments: Number of responses without a comment
  • survey.total_surveys: Total number of survey submissions
  • survey.clicks: Number of survey link clicks
  • survey.respondents: Number of unique respondents
  • survey.verbatims: Number of verbatim comments
  • survey_details: Full per-result survey details

Survey form stats metrics (email-delivery stats, best used with the feedback_form, business, or date dimensions)

  • survey.sent: Number of survey emails sent
  • survey.delivered: Number of survey emails delivered
  • survey.opened: Number of survey emails opened
  • survey.clicked: Number of survey link clicks (from the email)
  • survey.error_bounces: Number of survey emails that bounced

CSAT metrics

  • result.csat.score: CSAT score (percentage of ratings 4-5)
  • result.csat.avg_score: Average CSAT rating
  • result.csat.pct__rating_5: Percentage of 5-star ratings
  • result.csat.pct__rating_4: Percentage of 4-star ratings
  • result.csat.pct__rating_3: Percentage of 3-star ratings
  • result.csat.pct__rating_2: Percentage of 2-star ratings
  • result.csat.pct__rating_1: Percentage of 1-star ratings
  • result.csat.pct__rating_1_2: Percentage of 1-2 star ratings combined
  • result.csat.rating_5: Count of 5-star ratings
  • result.csat.rating_1_2: Count of 1-2 star ratings combined
  • result.csat.total_responses: Total number of CSAT responses

NPS metrics

  • result.nps.score: NPS score (promoters % − detractors %)
  • result.nps.promoters: Number of promoters (score 9-10)
  • result.nps.passives: Number of passives (score 7-8)
  • result.nps.detractors: Number of detractors (score 0-6)
  • result.nps.avg__score: Average NPS raw score
  • result.nps.pct__promoters: Percentage of promoters
  • result.nps.pct__detractors: Percentage of detractors
  • result.nps.pct__passives: Percentage of passives
  • result.nps.pct__with_comments: Percentage of responses with comments
  • result.nps.pct__without_comment: Percentage of responses without comments
  • result.nps.total_responses: Total number of NPS responses

Response metrics

  • response.created.replied_under_2days: Replies sent within 2 days
  • response.created.replied_over_2days: Replies sent after 2 days
  • response.created.not_replied: Feedback not yet replied to
  • response.method.nb__manual: Number of manual replies
  • response.method.nb__ai: Number of AI-assisted replies
  • response.not_replied: Total feedback not replied to
  • response.under_2days: Total replies under 2 days
  • response.over_2days: Total replies over 2 days
  • response.avg_response_time: Average response time (seconds)
  • response.total_surveys: Total surveys included in response stats
  • response.total_responses: Total replies sent
  • response.method_ai: Replies using AI (alias)
  • response.method_manual: Replies sent manually (alias)

Result field metrics (use with feedback_form_field dimension)

  • result_field.rating: Rating value for a form field
  • result_field.content: Text content of a form field response
  • result_field.choices: Selected choices for a form field
  • result_field.field_position: Position of the field within the form
  • result_field.result_count: Number of results for a field
dimensions'business' | 'user' | 'feedback_form' | 'group' | 'group_section' | 'feedback_form_field' | 'result' | 'day' | 'month' | 'year'
Example:business,month

Comma-separated list of dimensions to group the returned data by. If omitted, the response contains aggregated totals across all data.

Entity dimensions

  • business: Group results by business
  • user: Group results by user
  • feedback_form: Group results by survey form
  • group: Group results by business group
  • group_section: Group results by group section
  • feedback_form_field: Group results by form field (use with result_field.* metrics)
  • result: Return individual feedback results (one row per result)

Date dimensions

  • day: Group by calendar day
  • month: Group by calendar month
  • year: Group by calendar year
order_bystring
Example:-result.csat.score

Comma-separated list of fields to sort by. Prefix a field name with - to sort in descending order; no prefix sorts ascending. Each field must be one of the metrics or dimensions values included in the request.

Examples: order_by=result.csat.score, order_by=-result.nps.score,business

business__instring
Example:59b2645db12ff60643ef832c,60b2645fb12ff60643ef8344

Filter results to only the specified business IDs (comma-separated).

business__notinstring
Example:59b2645db12ff60643ef832c

Exclude the specified business IDs from results (comma-separated).

user__instring
Example:6797bc826dfe97f2f60c427c,614d9d1978a067d412028333,672b8d1126ef12c5a00bfbb3

Filter results to the specified user IDs (comma-separated integers). For non-admin users this is automatically restricted to their accessible users when the user dimension is requested.

groupsstring
Example:1244,1245

Filter results to businesses belonging to the specified group IDs (comma-separated integers).

group_section_idinteger
Example:42

Filter results to businesses belonging to the specified group section ID.

citystring
Example:Paris

Filter results to businesses located in the specified city.

querystring

Fuzzy search businesses by name, city, or zipcode.

filter_date__gtestring datetime
Example:2024-01-01T00:00:00

Return only feedback results whose date is greater than or equal to this value.

filter_date__ltestring datetime
Example:2024-03-31T23:59:59

Return only feedback results whose date is less than or equal to this value.

survey__instring
Example:674d791c13c9d976e20001b1,674d791c13c9d976e20001b2

Filter results to the specified survey (feedback form) IDs (comma-separated).

survey_field__instring

Filter results to the specified form field IDs (comma-separated).

survey_field_type__instring
Example:CSAT,NPS

Filter results to the specified form field types (comma-separated, e.g. CSAT,NPS).

result_nps_score__instring
Example:9,10

Filter results to the specified NPS scores (comma-separated integers, 0–10).

result_id__instring

Filter to specific feedback result IDs (comma-separated).

verbatim_querystring

Full-text search within feedback comments and verbatim responses.

issues__in'deleted_business' | 'missing_store_code'

Filter to results that have one of the specified data quality issues (comma-separated).

  • deleted_business: The associated business has been deleted
  • missing_store_code: The business is missing a store code
issues__notin'deleted_business' | 'missing_store_code'

Exclude results that have one of the specified data quality issues (comma-separated).

  • deleted_business: The associated business has been deleted
  • missing_store_code: The business is missing a store code
metadataboolean

When true, the response includes a metadata object containing full entity details (businesses, forms, users, groups, etc.) referenced by IDs in the data array. Useful for resolving IDs to display names without additional API calls.

downloadboolean

When true, the response is an Excel file (.xlsx) instead of JSON. The Content-Disposition header contains the generated filename.

table_namestring
Example:Q1-2024-CSAT

Custom label used as part of the generated Excel filename when download=true. Special characters are sanitised automatically.

pageinteger

Page number to retrieve (1-based).

per_pageinteger

Number of results per page.

Response

OK.

When download=true, the response is an Excel file (.xlsx) with a Content-Disposition: attachment header containing the generated filename, instead of the JSON body described below.

dataFeedbackAnalyticsDataItem[]

Array of analytics rows. Each row contains metric values and dimension identifiers.

pageinteger

Current page number.

countinteger

Total number of results matching the query.

max_pageinteger nullable

Total number of pages available.

Example response

{
  "data": [
    {
      "result.csat.score": 87.5,
      "result.csat.avg_score": 4.2,
      "result.csat.total_responses": 120,
      "business_id": "59b2645db12ff60643ef832c",
      "date": "2024-01-01"
    }
  ],
  "metadata": {
    "feedback_form": [
      {
        "id": "674d791c13c9d976e20001b1",
        "display_name": "Customer Satisfaction Q1 2024"
      }
    ],
    "feedback_form_field": [
      {
        "id": "674d791c13c9d976e20001c3",
        "field_type": "CSAT",
        "field_label": "How satisfied are you?",
        "form_id": "674d791c13c9d976e20001b1",
        "form_display_name": "Customer Satisfaction Q1 2024"
      }
    ]
  },
  "page": 1,
  "count": 42,
  "max_page": 5
}