Skip to main content

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โ€‹

ParameterTypeDescription
idintegerWaiver/form ID

Query Parametersโ€‹

ParameterTypeDefaultDescription
pageinteger1Page number
per_pageinteger20Items per page (max 100)
booking_idinteger-Filter by booking ID
customer_idinteger-Filter by customer ID
date_fromstring-Filter from date (YYYY-MM-DD)
date_tostring-Filter to date (YYYY-MM-DD)
sortstringcreated_atSort field: id, submission_date, created_at
orderstringdescSort 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โ€‹

FieldTypeDescription
idintegerUnique response identifier
waiver_form_idintegerID of the waiver/form
booking_idintegerAssociated booking ID (if any)
customer_idintegerAssociated customer ID (if any)
staff_idintegerStaff member who collected the response (if any)
submission_datestringISO 8601 datetime of submission
waiverobjectWaiver/form summary
customerobjectCustomer summary (if linked)
bookingobjectBooking summary (if linked)
responsesarrayArray of field responses
created_atstringISO 8601 creation datetime

Field Response Objectโ€‹

FieldTypeDescription
field_idintegerForm field ID
field_labelstringField label/question
field_typestringField type (see field types below)
valuemixedResponse value

Field Typesโ€‹

TypeValue Format
text, shortText, longTextstring
fullNamestring
emailstring
phonestring
datestring (ISO 8601)
singleChoicestring
multipleChoicearray of strings
signaturestring (URL to signature image)
starRatinginteger (1-5)

Meta Objectโ€‹

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerItems per page
totalintegerTotal number of responses
total_pagesintegerTotal number of pages
request_idstringUnique request identifier
timestampstringISO 8601 response timestamp

Errorsโ€‹

StatusCodeDescription
401authentication_requiredNo API key provided
401invalid_api_keyInvalid API key
403insufficient_scopeAPI key lacks waivers:read scope
404resource_not_foundWaiver/form not found

Notesโ€‹

  • Responses are returned in descending order by created_at by 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_page is 100
  • For customer feedback surveys with NPS tracking, see Surveys