List survey responses
List responses from every GainTrace survey (NPS, CSAT, CES and custom), newest first, across the email, in-app and API channels, plus older answers collected before public links, QR codes and kiosks were removed. Responses imported through the NPS import endpoint are not included. Filters combine with AND. An unknown query parameter returns 422. Pagination is limit and offset; there is no cursor. from and to are inclusive and compare against submittedAt. Requires a secret server key (gt_live_). Publishable keys (gt_pub_) return 403.
Scope: read:surveys
Authorizations
Bearer API key. Secret server keys start with gt_live_; client-safe browser keys start with gt_pub_ (write-only, origin-pinned). Create and scope keys in Settings → API Keys.
Query Parameters
Max rows to return. Default 50, max 100.
1 <= x <= 100Rows to skip (pagination).
x >= 0Only responses to this survey.
Only responses attributed to this company.
Only responses to surveys of this measure.
nps is a 0-10 scale. csat and ces use a 1-5 or 1-7 scale. custom has no band and its responses are unscored. For nps, csat and ces, the first question must be a required rating or scale question: it carries the score.
nps, csat, ces, custom Only responses in this score band.
positive, neutral, negative, unscored Review status. open means any status except resolved. overdue means open past the workspace hours-to-close rule (GET /surveys/case-rules).
new, in_progress, resolved, open, overdue Submitted at or after this time. Use an ISO 8601 timestamp with an offset, for example 2026-10-01T00:00:00Z.
Submitted at or before this time. Same format as from.
Only responses whose written answers mention this theme.
onboarding, reliability, performance, usability, missing_functionality, integrations, support_quality, documentation, pricing_value, billing_admin, security_compliance, account_management, reporting_analytics, mobile Only responses about this kind of record.
deal, ticket, plan, record Only responses about this one record. Send it with subjectType; without it the call returns 422.