API Reference
Search signed waivers and prefill new ones from your own systems. Generate a key from your dashboard under Settings → Integrations (admins only).
Authentication
Every request needs an Authorization header with your API key as a bearer token. Keys are scoped to your business: every response only ever includes your own business's data.
Authorization: Bearer swk_.../api/v1/waivers/searchSearch signed waivers for your business. All parameters are optional and combine as an AND filter; passing none returns every signed waiver, most recent first.
| Parameter | Type | Description |
|---|---|---|
| templateIdoptional | string | Limit to waivers of the given waiver template ID. |
| fromDtsoptional | ISO 8601 date | Limit to waivers signed on or after this date. |
| toDtsoptional | ISO 8601 date | Limit to waivers signed on or before this date. |
| firstNameoptional | string | Case-insensitive substring match against any participant’s first name. |
| lastNameoptional | string | Case-insensitive substring match against any participant’s last name. |
| emailoptional | string | Case-insensitive substring match against any participant’s email. |
| phoneoptional | string | Substring match against the signer’s phone number, ignoring formatting on either side: "5551234567" matches "555-123-4567". |
| tagoptional | string | Limit to waivers with this tag (case-insensitive, exact match). |
| sortoptional | "asc" | "desc" | Sort by signed date. Defaults to "desc" (latest first). |
| limitoptional | integer | Results per page, 1–100. Defaults to 50. |
| offsetoptional | integer | Number of results to skip, for pagination. Defaults to 0. |
Example request
curl "https://www.superwaiver.com/api/v1/waivers/search?firstName=Jordan&tag=vip" \
-H "Authorization: Bearer swk_..."Example response
{
"waivers": [
{
"id": "77e81188-0bb5-452b-b902-8fc49fbbdefb",
"templateId": "d672eef4-24f2-4316-b6c7-c841ff179e74",
"templateTitle": "Guest Release Waiver",
"submittedAt": "2026-08-23T18:04:00.191Z",
"participant": {
"name": "Jordan Reyes",
"email": "jordan@example.com",
"phone": "555-0142"
},
"tags": ["vip"],
"data": {
"guest_name": "Jordan Reyes"
}
}
],
"count": 1,
"limit": 50,
"offset": 0
}data holds every answer on the waiver, keyed by each field's Field Key, set per field in the form builder's field settings. A field with no Field Key set falls back to its ID instead. A repeater's value is an array of objects, one per entry, keyed the same way within that repeater's own sub-fields.
/api/v1/waivers/prefillPre-fill a waiver with known field values and get back a signing link. The person still opens the link, reviews what's already filled in, and signs it themselves. This never creates a signature on its own.
| Parameter | Type | Description |
|---|---|---|
| templateId | string | The waiver template to prefill. Must belong to your business and be active. |
| fields | object | Field values to pre-fill, keyed by each field’s Field Key (set in the form builder’s field settings) or its ID. A repeater’s value is an array of objects, each keyed the same way within that repeater’s own sub-fields. |
Example request
curl "https://www.superwaiver.com/api/v1/waivers/prefill" \
-X POST \
-H "Authorization: Bearer swk_..." \
-H "Content-Type: application/json" \
-d '{
"templateId": "d672eef4-24f2-4316-b6c7-c841ff179e74",
"fields": {
"guest_name": "Jordan Reyes"
}
}'Example response
{
"prefillId": "4796f725-5aa0-400c-82e1-27916f47c046",
"url": "https://www.superwaiver.com/sign/d672eef4-24f2-4316-b6c7-c841ff179e74?prefill=4796f725-5aa0-400c-82e1-27916f47c046"
}You can also append ?autotag=tag1,tag2 to any signing link, prefilled or not, to automatically tag the resulting submission once it's signed.
Errors
Errors return a JSON body with an “error” message and the relevant status code.
| Status | Meaning | Description |
|---|---|---|
| 401 | Unauthorized | Missing or invalid API key. |
| 400 | Bad Request | A parameter failed validation. See the "details" field for specifics. |
| 400 | Bad Request | (Prefill only) One or more keys in "fields" didn’t match a Field Key or ID on the template. See the "error" message for which ones. |
| 404 | Not Found | (Prefill only) No active waiver template matches that templateId for your business. |
| 500 | Server Error | Something went wrong on our end. |