Sign in
Start free7-day free trial
API RESOURCE

Waiver records

Submit, retrieve and organize signed records. Work with PDF readiness, flags, tags and voiding deliberately.

Read the implementation guide
POST

Submit a signed waiver

/v1/waivers

Signs a waiver: values is validated against the template's active version, signature and photo images are stored, the record is linked into the organization's hash chain, and the PDF render is queued. which is why pdfStatus always comes back pending and the document only appears at GET /v1/waivers/{id}/pdf once it is ready. Send an Idempotency-Key header (or idempotencyKey in the body) to make a retry safe: a repeat of the same key returns the waiver the first call created instead of signing a second one. Signing against a closed event is refused with 409. closing an event stops every one of its signing links, this one included.

GET

Search waiver records

/v1/waivers

Searches signed waivers, newest first. Every filter is optional and they combine: query (name), email, phone, templateId, eventId, tag, from/to on the signing date, and validOn for waivers in force on a given date. Page with cursor. Limited to 60 calls per minute per key.

GET

Retrieve a signed waiver

/v1/waivers/{id}

One waiver in full: the submitted values, its participants, tags, flags, and chain hash. pdfUrl is null until the render finishes. A non-null purgedAt means the waiver has been purged under the organization's retention policy: values is empty, flag values are empty, and the PDF and photo endpoints return 404. only the proof that it was signed remains. This returns personal data, so every read is recorded in the PHI access log.

GET

Download a signed waiver PDF

/v1/waivers/{id}/pdf

The rendered waiver as application/pdf. 404 until the render has finished (pdfStatus: "ready"). poll GET /v1/waivers/{id}, or wait for the waiver.signed webhook and retry. Every download is recorded in both the audit log and the PHI access log.

GET

Retrieve a captured photo

/v1/waivers/{id}/photos/{blockId}

The image captured by one photo_capture or id_capture block, streamed as PNG or JPEG. Signature and initials images are not reachable here. 404 when the waiver, the block, or the stored object is absent.

POST

Void a waiver

/v1/waivers/{id}/void

Voids a signed waiver and fires waiver.voided. The record is kept. voiding never deletes it. Voiding an already-voided waiver is a 409.

POST

Clear a waiver flag

/v1/waivers/{id}/flags/{flagId}/clear

Marks one open flag as reviewed. The flag row is kept and stamped with the time it was cleared. clearing is an acknowledgement, not a deletion, and it never alters the answer that raised it.

PUT

Replace waiver tags

/v1/waivers/{id}/tags

Replaces the waiver's whole tag set. Tags are trimmed, lower-cased, and de-duplicated exactly as they are at signing time; an empty array clears them.

Before you connect

Use the scopes shown on each endpoint. Read the response schema and common errors, and keep mutations separate from diagnostic read requests.

AuthenticationError handlingOpenAPI contract