List Survey Responses
Retrieve a paginated list of responses for a survey.
Endpointโ
GET /v1/surveys/{id}/responses
Path Parametersโ
| Parameter | Type | Description |
|---|---|---|
id | integer | Survey ID |
Authenticationโ
Requires an API key with the surveys:read scope.
Query Parametersโ
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
per_page | integer | 15 | Items per page (max 100) |
booking_id | integer | - | Filter by booking |
customer_id | integer | - | Filter by customer |
nps_category | string | - | Filter by NPS category: promoter, passive, detractor |
date_from | string | - | Filter from date (YYYY-MM-DD) |
date_to | string | - | Filter to date (YYYY-MM-DD) |
sort | string | created_at | Sort field: id, submission_date, created_at, nps_score |
order | string | desc | Sort direction: asc or desc |
Responseโ
Success (200 OK)โ
{
"data": [
{
"id": 42,
"waiver_form_id": 1,
"booking_id": 123,
"customer_id": 456,
"staff_id": null,
"submission_date": "2026-02-01T10:00:00+00:00",
"customer": {
"id": 456,
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"booking": {
"id": 123,
"status": "confirmed"
},
"responses": [
{
"field_id": 10,
"field_label": "How likely are you to recommend us?",
"field_type": "npsRating",
"value": "9"
},
{
"field_id": 11,
"field_label": "Rate our equipment quality",
"field_type": "starRating",
"value": "5"
}
],
"nps_score": 9,
"nps_category": "promoter",
"created_at": "2026-02-01T10:00:00+00:00"
},
{
"id": 41,
"waiver_form_id": 1,
"booking_id": 120,
"customer_id": 789,
"staff_id": null,
"submission_date": "2026-01-30T14:30:00+00:00",
"customer": {
"id": 789,
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@example.com"
},
"booking": {
"id": 120,
"status": "completed"
},
"responses": [
{
"field_id": 10,
"field_label": "How likely are you to recommend us?",
"field_type": "npsRating",
"value": "7"
},
{
"field_id": 11,
"field_label": "Rate our equipment quality",
"field_type": "starRating",
"value": "4"
}
],
"nps_score": 7,
"nps_category": "passive",
"created_at": "2026-01-30T14:30:00+00:00"
}
],
"meta": {
"current_page": 1,
"per_page": 15,
"total": 156,
"total_pages": 11,
"request_id": "req_abc123",
"timestamp": "2026-01-15T12:00:00+00:00"
}
}
Response Fieldsโ
Response Objectโ
| Field | Type | Description |
|---|---|---|
id | integer | Response ID |
waiver_form_id | integer | Survey ID |
booking_id | integer | Linked booking ID (if any) |
customer_id | integer | Linked customer ID (if any) |
staff_id | integer | Staff who collected response (if any) |
submission_date | string | ISO 8601 datetime of submission |
customer | object | Customer summary (if linked) |
booking | object | Booking summary (if linked) |
responses | array | Field responses |
nps_score | integer | NPS rating value (if survey has NPS field) |
nps_category | string | NPS category (if survey has NPS field) |
created_at | string | ISO 8601 datetime |
Filtering by NPS Categoryโ
Get only promoters (scores 9-10):
curl "https://app.equipdash.com/api/v1/surveys/1/responses?nps_category=promoter" \
-H "Authorization: Bearer YOUR_API_KEY"
Get only detractors (scores 0-6) for follow-up:
curl "https://app.equipdash.com/api/v1/surveys/1/responses?nps_category=detractor" \
-H "Authorization: Bearer YOUR_API_KEY"
Filtering by Date Rangeโ
Get responses for January 2026:
curl "https://app.equipdash.com/api/v1/surveys/1/responses?date_from=2026-01-01&date_to=2026-01-31" \
-H "Authorization: Bearer YOUR_API_KEY"
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Invalid API key |
| 403 | insufficient_scope | API key lacks surveys:read scope |
| 403 | forbidden | Survey belongs to another supplier |
| 404 | not_found | Survey not found |
Example Requestโ
curl -X GET "https://app.equipdash.com/api/v1/surveys/1/responses?per_page=20&sort=nps_score&order=desc" \
-H "Authorization: Bearer eqd_live_abc123xyz789..."