Surveys
Your surveys and their aggregate results, question by question. Counts, shares and rating averages; never individual responses.
On this page
Survey results come back as aggregates: how many respondents chose each option, the average and spread of each rating, and how many answered each free-text question. The text of free-text answers, individual responses and who responded stay in the console.
Needs the surveys:read scope and a plan that includes Surveys.
List surveys#
Your surveys, with how many responses each has collected.
- pageintegeroptionaldefault 1The page to return, starting at 1. At most 10,000.
- per_pageintegeroptionaldefault 25Items per page, between 1 and 100.
- statusenumoptionalOnly surveys in this state.
DRAFTPUBLISHEDCLOSED
A page of surveys. data is an array of objects with these attributes, and the body carries pagination.
- idstringThe survey id.
- titlestringSurvey title.
- descriptionstringnullableWhat respondents read first.
- visibilityenum
PRIVATE(invited hosts) orPUBLIC(anyone with the link). - statusenumDRAFT, PUBLISHED or CLOSED.
- response_countintegerResponses so far.
- published_attimestampnullableWhen it opened.
- closed_attimestampnullableWhen it closed.
- created_attimestampWhen it was created.
- updated_attimestampWhen it last changed.
curl 'https://api.rendezvu.co/api/brand/v1/surveys?status=PUBLISHED' \
-H "Authorization: Bearer $RENDEZVU_BRAND_API_KEY"{
"success": true,
"data": [
{
"id": "c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f",
"title": "Ridgeline 30L field test",
"description": "Five questions after your first month with the pack.",
"visibility": "PRIVATE",
"status": "PUBLISHED",
"response_count": 18,
"published_at": "2026-09-01T16:00:00.000Z",
"closed_at": null,
"created_at": "2026-08-28T10:30:00.000Z",
"updated_at": "2026-09-01T16:00:00.000Z"
}
],
"pagination": {
"page": 1,
"per_page": 25,
"total_items": 1,
"total_pages": 1,
"has_next": false,
"has_prev": false
},
"_timing": {
"duration_ms": 42
}
}Retrieve survey results#
Aggregate results for one survey, question by question. Individual responses, respondent names and emails are never returned, and free-text questions report a count of answers without the text.
- idstringrequiredpathThe survey id (UUID).
Totals for the survey and a result per question.
- survey_idstringThe survey id.
- total_responsesintegerResponses collected.
- questionsarray of objectsOne result per question, in survey order.
- idstringQuestion id.
- typeenumMULTIPLE_CHOICE, FREE_TEXT, RATING, YES_NO or DROPDOWN.
- titlestringThe question.
- positionintegerIts place in the survey.
- total_answersintegerHow many respondents answered it.
- optionsarray of objectsFor choice questions: each option with its count. Absent for other types.
- idstringOption id.
- labelstringOption text.
- countintegerRespondents who chose it.
- pctnumberShare of answers, as a percentage.
- ratingobjectFor rating questions: the average and the distribution. Absent for other types.
- averagenumberMean rating.
- distributionarray of objectsEach rating with its count:
{ rating, count }.
- 404Not FoundNo survey with this id belongs to your brand.
curl 'https://api.rendezvu.co/api/brand/v1/surveys/c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f/results' \
-H "Authorization: Bearer $RENDEZVU_BRAND_API_KEY"{
"success": true,
"data": {
"survey_id": "c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f",
"total_responses": 18,
"questions": [
{
"id": "7e8f9a0b-1c2d-4e3f-8a4b-5c6d7e8f9a0b",
"type": "RATING",
"title": "How comfortable is the pack after 3 hours?",
"position": 1,
"total_answers": 18,
"rating": {
"average": 4.4,
"distribution": [
{
"rating": 3,
"count": 2
},
{
"rating": 4,
"count": 6
},
{
"rating": 5,
"count": 10
}
]
}
},
{
"id": "9a0b1c2d-3e4f-4a5b-8c6d-7e8f9a0b1c2d",
"type": "FREE_TEXT",
"title": "What would you change?",
"position": 2,
"total_answers": 15
}
]
},
"_timing": {
"duration_ms": 42
}
}- GiftsThe products you sent to hosts, where each gift stands, the store order behind it, and the feedback the host wrote after using it.