Surveys
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
List all surveys
Required API key scopes
survey:read
Path parameters
- project_idstring
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
- limitinteger
Number of results to return per page.
- offsetinteger
The initial index from which to return the results.
Response
Request
GET
/api/projects/:project_id/surveys
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/surveys/
Response
Status 200
{"count": 123,"next": "http://api.example.org/accounts/?offset=400&limit=100","previous": "http://api.example.org/accounts/?offset=200&limit=100","results": [{"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08","name": "string","description": "string","type": "popover","linked_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"linked_flag_id": 0,"targeting_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"internal_targeting_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"questions": null,"conditions": null,"appearance": null,"created_at": "2019-08-24T14:15:22Z","created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null}},"start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","archived": true,"responses_limit": 2147483647,"iteration_count": 2147483647,"iteration_frequency_days": 2147483647,"iteration_start_dates": ["2019-08-24T14:15:22Z"],"current_iteration": 2147483647,"current_iteration_start_date": "2019-08-24T14:15:22Z"}]}
Create surveys
Required API key scopes
survey:write
Path parameters
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Request parameters
- namestring
- descriptionstring
- type
- linked_flag_idinteger
- targeting_flag_idinteger
- targeting_flag_filters
- remove_targeting_flagboolean
- questions
- conditions
- appearance
- start_datestring
- end_datestring
- archivedboolean
- responses_limitinteger
- iteration_countinteger
- iteration_frequency_daysinteger
- iteration_start_datesarray
- current_iterationinteger
- current_iteration_start_datestring
Response
Request
POST
/api/projects/:project_id/surveys
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl-H 'Content-Type: application/json'\-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/surveys/\-d name="string",\-d type=undefined
Response
Status 201
{"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08","name": "string","description": "string","type": "popover","linked_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"linked_flag_id": 0,"targeting_flag_id": 0,"targeting_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"targeting_flag_filters": null,"remove_targeting_flag": true,"questions": null,"conditions": null,"appearance": null,"created_at": "2019-08-24T14:15:22Z","created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null}},"start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","archived": true,"responses_limit": 2147483647,"iteration_count": 2147483647,"iteration_frequency_days": 2147483647,"iteration_start_dates": ["2019-08-24T14:15:22Z"],"current_iteration": 2147483647,"current_iteration_start_date": "2019-08-24T14:15:22Z"}
Retrieve surveys
Required API key scopes
survey:read
Path parameters
- idstring
A UUID string identifying this survey.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Response
Request
GET
/api/projects/:project_id/surveys/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/surveys/:id/
Response
Status 200
{"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08","name": "string","description": "string","type": "popover","linked_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"linked_flag_id": 0,"targeting_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"internal_targeting_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"questions": null,"conditions": null,"appearance": null,"created_at": "2019-08-24T14:15:22Z","created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null}},"start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","archived": true,"responses_limit": 2147483647,"iteration_count": 2147483647,"iteration_frequency_days": 2147483647,"iteration_start_dates": ["2019-08-24T14:15:22Z"],"current_iteration": 2147483647,"current_iteration_start_date": "2019-08-24T14:15:22Z"}
Update surveys
Required API key scopes
survey:write
Path parameters
- idstring
A UUID string identifying this survey.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Request parameters
- namestring
- descriptionstring
- type
- linked_flag_idinteger
- targeting_flag_idinteger
- targeting_flag_filters
- remove_targeting_flagboolean
- questions
- conditions
- appearance
- start_datestring
- end_datestring
- archivedboolean
- responses_limitinteger
- iteration_countinteger
- iteration_frequency_daysinteger
- iteration_start_datesarray
- current_iterationinteger
- current_iteration_start_datestring
Response
Request
PATCH
/api/projects/:project_id/surveys/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl -X PATCH \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/surveys/:id/\-d name="string"
Response
Status 200
{"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08","name": "string","description": "string","type": "popover","linked_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"linked_flag_id": 0,"targeting_flag_id": 0,"targeting_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"targeting_flag_filters": null,"remove_targeting_flag": true,"questions": null,"conditions": null,"appearance": null,"created_at": "2019-08-24T14:15:22Z","created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null}},"start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","archived": true,"responses_limit": 2147483647,"iteration_count": 2147483647,"iteration_frequency_days": 2147483647,"iteration_start_dates": ["2019-08-24T14:15:22Z"],"current_iteration": 2147483647,"current_iteration_start_date": "2019-08-24T14:15:22Z"}
Delete surveys
Required API key scopes
survey:write
Path parameters
- idstring
A UUID string identifying this survey.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Request
DELETE
/api/projects/:project_id/surveys/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl -X DELETE \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/surveys/:id/
Response
Status 204 No response body
Retrieve surveys responses count
Path parameters
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Response
Request
GET
/api/projects/:project_id/surveys/responses_count
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/surveys/responses_count/
Response
Status 200
{"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08","name": "string","description": "string","type": "popover","linked_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"linked_flag_id": 0,"targeting_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"internal_targeting_flag": {"id": 0,"team_id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"ensure_experience_continuity": true},"questions": null,"conditions": null,"appearance": null,"created_at": "2019-08-24T14:15:22Z","created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null}},"start_date": "2019-08-24T14:15:22Z","end_date": "2019-08-24T14:15:22Z","archived": true,"responses_limit": 2147483647,"iteration_count": 2147483647,"iteration_frequency_days": 2147483647,"iteration_start_dates": ["2019-08-24T14:15:22Z"],"current_iteration": 2147483647,"current_iteration_start_date": "2019-08-24T14:15:22Z"}
Questions?
API equivalent of getActiveMatchingSurveys
Hi, I would like to gather NPS from a desktop app. I am missing an API equivalent to getActiveMatchingSurveys to get active surveys for the current user. Is there a workaround? Thanks.
Hey Olivier! If you're looking to query the API for this, you'd need to get the list of surveys for your project and then handle the display conditions yourself. getActiveMatchingSurveys handles the display logic as part of the posthog-js library.
Record survey feedback
HI! I do not see an endpoint for recording user's response to the survey. How would I record a feedback when building a custom survey solution for iOS using the PostHog API?
- shreyas23 days ago
Looks like this issue has been fixed now.
Survey Result
Is there a way to GET results from each survey?
Hi Joyce,
Survey results are simply events in PostHog, so you can GET the results/data by following the events API reference https://posthog.com/docs/api/events#get-api-projects-project_id-events and filtering for survey events with the survey id property. ('survey sent', 'survey shown', 'survey dismissed')