List survey responses for a specific survey, with question text resolved server-side so callers do not have to map opaque $survey_response_<id> keys. Each row carries distinct_id, session_id, submitted_at, and an extra block (device, browser, OS, geoip, current_url, iteration) so agents can cross-pivot to recordings, persons, or paths in a single follow-up call. For person properties at event time, follow up with persons-get using the returned distinct_id — keeps scopes scoped. Use question_id + score_lte to fetch NPS detractors and similar score-filtered cohorts.
Request
- Base URL: https://us.posthog.com
- URL: https://us.posthog.com/api/projects/{project_id}/surveys/{id}/responses/
- Auth: HTTP bearer
Path parameters
A UUID string identifying this survey.
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Query parameters
When true, exclude responses that have been archived via the archive_response endpoint.
Maximum number of rows to return (1-500). Defaults to 100.
Number of rows to skip for pagination. Combine with limit and the has_more field to paginate.
If set, only return rows where this question has a non-empty answer, and only include that question's answer in each row. Required when using score_lte or score_gte.
Filter to rows where the rating answer for question_id is >= this value. Common use: NPS promoters with score_gte=9. Requires question_id.
Filter to rows where the rating answer for question_id is <= this value. Common use: NPS detractors with score_lte=6. Requires question_id.
Only return responses submitted on or after this ISO 8601 timestamp.
Only return responses submitted on or before this ISO 8601 timestamp.
Response
Changes
No recorded changes to this operation across all 1 revision of this API.