List responses
Retrieve responses for a study, transcripts included. Supports filtering by study, distribution, status, date range, and more. Without an environment filter, preview responses are left out. Returns one page of limit responses (default 50), ordered by creation time (newest first); pass next_cursor back as cursor to read the next page.
Request
- Base URLhttps://app.voicepanel.com
- URLhttps://app.voicepanel.com/api/v1/responses
- AuthHTTP bearer
Query parameters
Filter by study ID
Return responses created at or after this ISO 8601 datetime
Return responses created at or before this ISO 8601 datetime
production (the default) returns production and simulation responses. preview returns preview responses only.
true returns responses with at least one answer. false returns the rest.
Filter by response status. Repeat the parameter to match more than one status.
Filter by distribution ID. Repeat the parameter to match more than one distribution.
Filter by response ID. Repeat the parameter to match more than one response.
Page size (1-200). Defaults to 50. When has_more is true, pass next_cursor back as cursor to read the next page.
Opaque cursor from a previous page's next_cursor. Returns the rows after that position.
Response
Successful response
Example response
{
"data": [
{
"id": "3f9c2b7e-5d41-4a8e-9b0c-7e2f1a6d4c58",
"study_id": "stdy_Qm3vR8tLp2XnWz",
"distribution_id": "dst_7C1hPliVteu3n4",
"status": "completed",
"status_reason": "answered_all_questions",
"mode": "production",
"format": "audio",
"language": "en",
"custom_id": "user-48213",
"messages": [
{
"role": "moderator",
"content": {
"type": "question",
"value": "How often do you order groceries for delivery?"
},
"sectionNumber": 1,
"stepNumber": 1,
"probeNumber": 1,
"secondsElapsed": 12.4,
"sectionId": "1"
},
{
"role": "respondent",
"content": {
"type": "single_select",
"value": "Weekly or more"
},
"sectionNumber": 1,
"stepNumber": 1,
"probeNumber": 1,
"secondsElapsed": 18.9,
"sectionId": "1"
},
{
"role": "moderator",
"content": {
"type": "question",
"value": "What made you try Acme Fresh for the first time?"
},
"sectionNumber": 1,
"stepNumber": 2,
"probeNumber": 1,
"secondsElapsed": 24.1,
"sectionId": "1"
},
{
"role": "respondent",
"content": {
"type": "spoken",
"value": "A friend sent me a referral code, and the first delivery arrived in under an hour."
},
"sectionNumber": 1,
"stepNumber": 2,
"probeNumber": 1,
"secondsElapsed": 110.6,
"sectionId": "1"
},
{
"role": "moderator",
"content": {
"type": "question",
"value": "What about that first delivery stood out to you?"
},
"sectionNumber": 1,
"stepNumber": 2,
"probeNumber": 2,
"secondsElapsed": 115,
"sectionId": "1"
},
{
"role": "respondent",
"content": {
"type": "spoken",
"value": "The driver texted when they were close, and nothing was missing from the order."
},
"sectionNumber": 1,
"stepNumber": 2,
"probeNumber": 2,
"secondsElapsed": 240.3,
"sectionId": "1"
},
{
"role": "moderator",
"content": {
"type": "question",
"value": "How likely are you to recommend Acme Fresh to a friend?"
},
"sectionNumber": 1,
"stepNumber": 3,
"probeNumber": 1,
"secondsElapsed": 246,
"sectionId": "1"
},
{
"role": "respondent",
"content": {
"type": "rating_scale",
"value": "5"
},
"sectionNumber": 1,
"stepNumber": 3,
"probeNumber": 1,
"secondsElapsed": 255.5,
"sectionId": "1"
}
],
"translated_messages": [
{
"role": "moderator",
"content": {
"value": "What made you try Acme Fresh for the first time?"
}
}
],
"summary": "Orders groceries weekly. Tried Acme Fresh through a friend's referral code and stayed for the fast, accurate deliveries. Very likely to recommend it.",
"seconds_elapsed": 270,
"include_in_analysis": true,
"has_messages": true,
"message_media_expected": 2,
"message_media_completed": 2,
"seq_num": 42,
"opened_at": "2026-03-09T18:39:00.000Z",
"first_message_at": "2026-03-09T18:39:30.000Z",
"last_message_at": "2026-03-09T18:43:15.000Z",
"created_at": "2026-03-09T18:38:50.000Z",
"updated_at": "2026-03-09T18:45:00.000Z"
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.