List Waiver/Form Responses
Retrieve a paginated list of all responses submitted for a specific waiver or form.
Endpointโ
GET /v1/waivers/{id}/responses
Authenticationโ
Requires an API key with the waivers:read scope.
Path Parametersโ
| Parameter | Type | Description |
|---|---|---|
id | integer | Waiver/form ID |
Query Parametersโ
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
per_page | integer | 20 | Items per page (max 100) |
booking_id | integer | - | Filter by booking ID |
customer_id | integer | - | Filter by customer ID |
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 |
order | string | desc | Sort direction: asc or desc |
Example Requestโ
curl -X GET "https://app.equipdash.com/api/v1/waivers/1/responses?page=1&per_page=10" \
-H "Authorization: Bearer YOUR_API_KEY"
With Filtersโ
curl -X GET "https://app.equipdash.com/api/v1/waivers/1/responses?date_from=2026-01-01&date_to=2026-01-31&per_page=25" \
-H "Authorization: Bearer YOUR_API_KEY"
Success Response (200 OK)โ
{
"data": [
{
"id": 1,
"waiver_form_id": 1,
"booking_id": 123,
"customer_id": 456,
"staff_id": null,
"submission_date": "2026-02-01T10:00:00+00:00",
"waiver": {
"id": 1,
"name": "Rental Waiver",
"type": "waiver"
},
"customer": {
"id": 456,
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
},
"booking": {
"id": 123,
"status": "confirmed"
},
"responses": [
{
"field_id": 10,
"field_label": "Full Name",
"field_type": "fullName",
"value": "John Doe"
},
{
"field_id": 11,
"field_label": "Email",
"field_type": "email",
"value": "john@example.com"
},
{
"field_id": 12,
"field_label": "Signature",
"field_type": "signature",
"value": "https://app.equipdash.com/waivers-forms/responses/fields/123/signature?expires=1706785200&signature=abc123"
}
],
"created_at": "2026-02-01T10:00:00+00:00"
},
{
"id": 2,
"waiver_form_id": 1,
"booking_id": 124,
"customer_id": 457,
"staff_id": 5,
"submission_date": "2026-02-01T11:30:00+00:00",
"waiver": {
"id": 1,
"name": "Rental Waiver",
"type": "waiver"
},
"customer": {
"id": 457,
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@example.com"
},
"booking": {
"id": 124,
"status": "confirmed"
},
"responses": [
{
"field_id": 10,
"field_label": "Full Name",
"field_type": "fullName",
"value": "Jane Smith"
},
{
"field_id": 11,
"field_label": "Email",
"field_type": "email",
"value": "jane@example.com"
},
{
"field_id": 12,
"field_label": "Signature",
"field_type": "signature",
"value": "https://app.equipdash.com/waivers-forms/responses/fields/123/signature?expires=1706785200&signature=abc123"
}
],
"created_at": "2026-02-01T11:30:00+00:00"
}
],
"meta": {
"current_page": 1,
"per_page": 10,
"total": 25,
"total_pages": 3,
"request_id": "req_abc123",
"timestamp": "2026-02-01T12:00:00+00:00"
}
}
Response Fieldsโ
Response Objectโ
| Field | Type | Description |
|---|---|---|
id | integer | Unique response identifier |
waiver_form_id | integer | ID of the waiver/form |
booking_id | integer | Associated booking ID (if any) |
customer_id | integer | Associated customer ID (if any) |
staff_id | integer | Staff member who collected the response (if any) |
submission_date | string | ISO 8601 datetime of submission |
waiver | object | Waiver/form summary |
customer | object | Customer summary (if linked) |
booking | object | Booking summary (if linked) |
responses | array | Array of field responses |
created_at | string | ISO 8601 creation datetime |
Field Response Objectโ
| Field | Type | Description |
|---|---|---|
field_id | integer | Form field ID |
field_label | string | Field label/question |
field_type | string | Field type (see field types below) |
value | mixed | Response value |
Field Typesโ
| Type | Value Format |
|---|---|
text, shortText, longText | string |
fullName | string |
email | string |
phone | string |
date | string (ISO 8601) |
singleChoice | string |
multipleChoice | array of strings |
signature | string (URL to signature image) |
starRating | integer (1-5) |
Meta Objectโ
| Field | Type | Description |
|---|---|---|
current_page | integer | Current page number |
per_page | integer | Items per page |
total | integer | Total number of responses |
total_pages | integer | Total number of pages |
request_id | string | Unique request identifier |
timestamp | string | ISO 8601 response timestamp |
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Invalid API key |
| 403 | insufficient_scope | API key lacks waivers:read scope |
| 404 | resource_not_found | Waiver/form not found |
Notesโ
- Responses are returned in descending order by
created_atby default - Signature fields return short-lived signed URLs. Fetch images promptly and request the response again if a URL expires.
- Use filters to narrow down results for large datasets
- Maximum
per_pageis 100 - For customer feedback surveys with NPS tracking, see Surveys
Related Resourcesโ
- Get Response - Get a single response by ID
- Submit Response - Submit a new response
- List Waivers - List all waivers and forms