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_...
GET/api/v1/waivers/search

Search signed waivers for your business. All parameters are optional and combine as an AND filter; passing none returns every signed waiver, most recent first.

ParameterTypeDescription
templateIdoptionalstringLimit to waivers of the given waiver template ID.
fromDtsoptionalISO 8601 dateLimit to waivers signed on or after this date.
toDtsoptionalISO 8601 dateLimit to waivers signed on or before this date.
firstNameoptionalstringCase-insensitive substring match against any participant’s first name.
lastNameoptionalstringCase-insensitive substring match against any participant’s last name.
emailoptionalstringCase-insensitive substring match against any participant’s email.
phoneoptionalstringSubstring match against the signer’s phone number, ignoring formatting on either side: "5551234567" matches "555-123-4567".
tagoptionalstringLimit to waivers with this tag (case-insensitive, exact match).
sortoptional"asc" | "desc"Sort by signed date. Defaults to "desc" (latest first).
limitoptionalintegerResults per page, 1–100. Defaults to 50.
offsetoptionalintegerNumber 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.

POST/api/v1/waivers/prefill

Pre-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.

ParameterTypeDescription
templateIdstringThe waiver template to prefill. Must belong to your business and be active.
fieldsobjectField 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.

StatusMeaningDescription
401UnauthorizedMissing or invalid API key.
400Bad RequestA parameter failed validation. See the "details" field for specifics.
400Bad 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.
404Not Found(Prefill only) No active waiver template matches that templateId for your business.
500Server ErrorSomething went wrong on our end.