Count feedback records
Returns the total number of feedback records matching the given filters. Supports the same query parameters as the list endpoint.
Query Parameters
Tenant ID (required for isolation). NULL bytes not allowed.
Filter by created_at >= created_since (ISO 8601, inclusive). created_at is when Hub
stored the record; collected_at (see since) is when the feedback was given. They
diverge on a historical re-import, so this is the parameter for "what did this import
bring in". Must be between 1970-01-01 and 2080-12-31.
Filter by created_at <= created_until (ISO 8601, inclusive). See created_since for how created_at differs from collected_at. Must be between 1970-01-01 and 2080-12-31.
Filter by field group ID (for ranking/matrix questions). Repeat the parameter to match any of several groups; the values are OR-ed. NULL bytes not allowed.
Filter by field ID — every answer to one question. Repeat the parameter to match any of several fields; the values are OR-ed. NULL bytes not allowed.
Filter on whether the record carries emotion labels: true selects records where emotions IS NOT NULL, false selects those where it IS NULL. Note that false covers both "not yet classified" and "classified, no emotion detected" — the two are indistinguishable here. Omit for no constraint.
Filter on whether sentiment enrichment has produced a label: true selects records where sentiment IS NOT NULL, false selects those where it IS NULL. Omit for no constraint.
Filter on whether the record has been translated: true selects records where translation_lang_key IS NOT NULL, false selects those where it IS NULL. Omit for no constraint.
Filter by the language the feedback was given in. Repeat the parameter to match any of several languages; the values are OR-ed. NULL bytes not allowed.
Filter by sentiment_score <= sentiment_score_max (inclusive). Records that have not been enriched are excluded.
Filter by sentiment_score >= sentiment_score_min (inclusive). The score is continuous where the label is bucketed, so this is the parameter for "the most negative feedback". Records that have not been enriched are excluded.
Filter by collected_at >= since (ISO 8601 format). Must be between 1970-01-01 and 2080-12-31.
Filter by source ID. Repeat the parameter to match any of several sources; the values are OR-ed. NULL bytes not allowed.
Filter by source display name — the human-readable label stored alongside source_id. Prefer source_id where the records carry one: a name can be edited or translated, while the id is stable. Repeat the parameter to match any of several names; the values are OR-ed. NULL bytes not allowed.
Filter by source type. Repeat the parameter to match any of several source types; the values are OR-ed. NULL bytes not allowed.
Filter by submission ID to group records belonging to one logical submission. Repeat the parameter to match any of several submissions; the values are OR-ed, and a single occurrence behaves exactly as it always has. Comma-separated values are NOT split. NULL bytes not allowed.
Filter by collected_at <= until (ISO 8601 format). Must be between 1970-01-01 and 2080-12-31.
Filter by end-user identifier — everything one person submitted. Repeat the parameter to match any of several users; the values are OR-ed. NULL bytes not allowed.
Filter by value_date <= value_date_max (ISO 8601, inclusive). Records whose value_date is NULL are excluded.
Filter by value_date >= value_date_min (ISO 8601, inclusive) — bounds the answer to a date question, not when the feedback was collected. Records whose value_date is NULL are excluded.
Filter by the source system's stable option id (e.g. all records for one survey choice). Repeat the parameter to match any of several options; the values are OR-ed. NULL bytes not allowed.
Filter by value_number <= value_number_max (inclusive). Paired with value_number_min it selects a band: 9..10 is the NPS promoters, 0..6 the detractors. Records whose value_number is NULL are excluded. Supplying a max below the min is a 400, not an empty result.
Filter by value_number >= value_number_min (inclusive) — e.g. NPS promoters with value_number_min=9. Records whose value_number is NULL (every non-numeric answer) are excluded, so this is never a no-op filter.
Returns
Number of feedback records matching the filters
Count feedback records
curl http://localhost:8080/v1/feedback-records/count \
-H "Authorization: Bearer $HUB_API_KEY"{
"type": "https://hub.formbricks.com/problems/validation",
"title": "Validation Failed",
"status": 400,
"code": "validation",
"detail": "One or more request parameters are invalid",
"request_id": "0190a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
"invalid_params": [
{
"name": "sentiment_score_min",
"reason": "must be less than or equal to sentiment_score_max"
}
]
}Returns Examples
{
"type": "https://hub.formbricks.com/problems/validation",
"title": "Validation Failed",
"status": 400,
"code": "validation",
"detail": "One or more request parameters are invalid",
"request_id": "0190a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
"invalid_params": [
{
"name": "sentiment_score_min",
"reason": "must be less than or equal to sentiment_score_max"
}
]
}