Get a response
Returns one response by id. Use the responseId in a webhook event to reconcile a delivery with the API.
HTTP request
GET https://www.asqiro.com/api/v1/surveys/{id}/responses/{responseId}
Any API key in the survey's workspace.
Path parameters
| Parameter | Type | Description |
|---|---|---|
| id | string | The survey id, as returned by the surveys endpoints.Required |
| responseId | string | The response id, as returned by the response list or in a webhook event.Required |
Response body
| Field | Type | Description |
|---|---|---|
| id | string | Unique response id. |
| surveyId | string | Id of the survey this response belongs to. |
| externalUserId | string· nullable | The identifier supplied when creating an embed session, or null for a regular respondent link. |
| completed | boolean | Whether the respondent reached the end of the survey. |
| completedAt | string (ISO 8601)· nullable | When the response was completed, or null if it never was. |
| createdAt | string (ISO 8601) | When the response was started. |
| answers[].fieldId | string· nullable | Id of the question this answer belongs to, or null if the question no longer exists. |
| answers[].type | "textarea" | "email" | "checkbox" | "number" | "calendar" | "country" | "heatmap" | "scale" | "sort"· nullable | Type of the question this answer was given to, or null when that question has since been deleted. |
| answers[].value | string | The answer exactly as stored. Choice and ranking answers hold a JSON array once they carry more than one entry, so read values instead of parsing this. |
| answers[].values | string[] | The answer as a list: one element for an ordinary answer, the selected options for a choice question, and the ranked order for a ranking question. Empty when the question was skipped. |
Errors
- unauthorized · 401 · The API key is missing, malformed, deleted, or its creator lost workspace access. Check the Authorization header, then the key itself.
- forbidden · 403 · The key is valid but lacks the access this call needs - most often a read-only key attempting a write.
- not_found · 404 · No survey with that id is reachable by this key. A survey in another workspace answers the same way as one that does not exist.
- plan_upgrade_required · 403 · The workspace owner's plan does not include API access. Upgrading the plan restores it; retrying will not.
- rate_limited · 429 · Too many requests. The Retry-After response header carries the number of seconds to wait.
Example request
bash
curl "https://www.asqiro.com/api/v1/surveys/s_7t2qk8wvbf31/responses/r_9fk21bqz4m" \
-H "Authorization: Bearer $ASQIRO_API_KEY"Returns 200 on success.
json
{
"id": "r_9fk21bqz4m",
"surveyId": "s_7t2qk8wvbf31",
"externalUserId": null,
"completed": true,
"completedAt": "2026-08-11T15:58:44.019Z",
"createdAt": "2026-08-11T15:56:12.771Z",
"answers": [{ "fieldId": "f_title", "type": "checkbox", "value": "Weekly", "values": ["Weekly"] }]
}