options includes the ones nobody chose. skipped is completed − answered: someone who skipped leaves no key in the answers at all.aggregatable: false marks a question whose answers nest too deeply to flatten in one pass (matrixdropdown, matrixdynamic, paneldynamic) — reported rather than omitted, so the client can say why there is no chart; and for MULTI_CHOICE the option shares do not sum to 100, because a respondent picks several.GET /analytics/surveys/{surveyId}/answers lists it. A survey with no history row returns zeros and definitionAvailable: false rather than a 404: its responses are real even when the survey itself is no longer recoverable.curl --location 'https://api.aworld.cloud/dashboard/v1/analytics/surveys/?lang=undefined'{
"kpis": {
"surveyId": "string",
"title": "string",
"stage": "DRAFT",
"origin": "DIRECT",
"parentId": "string",
"tags": [
{
"tagId": "string",
"namespace": "string",
"variant": "string",
"label": "string"
}
],
"assigned": 0,
"assignedUsers": 0,
"started": 0,
"completed": 0,
"distinctUsers": 0,
"retried": 0,
"responseRate": 0,
"avgTtcMs": 0,
"lastResponseAt": "string",
"collection": {
"status": "SCHEDULED",
"opensAt": "string",
"closesAt": "string"
}
},
"funnel": {
"assigned": 0,
"started": 0,
"completed": 0
},
"pageDropOff": [
{
"pageNo": 0,
"pageTitle": "string",
"abandoned": 0
}
],
"questions": [
{
"key": "string",
"title": "string",
"type": "string",
"family": "SINGLE_CHOICE",
"pageNo": 0,
"pageTitle": "string",
"answered": 0,
"skipped": 0,
"options": [
{
"value": "string",
"label": "string",
"count": 0,
"share": 0,
"avgPosition": 0
}
],
"totalSelections": 0,
"selectionsPerRespondent": 0,
"average": 0,
"matrixRows": [
{
"value": "string",
"label": "string"
}
],
"matrixCells": [
{
"rowValue": "string",
"columnValue": "string",
"count": 0
}
],
"aggregatable": true
}
],
"pageCount": 0,
"definitionAvailable": true
}