Sign in
Start free7-day free trial
API REFERENCE / Waiver records

Submit a signed waiver

POST/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.

Authentication

Send an organization-scoped API key in the Authorization header. Keep credentials on your server.

waivers:write
Authentication and API keys →

Request body

Use application/json. Replace example identifiers and values with data from your organization.

templateIdstring · uuidrequired
valuesobjectrequired
sourcestring

Allowed values: "api", "web", "kiosk"

idempotencyKeystring

Length: 1 to 120 characters.

locationIdstring · uuid
eventIdstring · uuid
tagsarray

Responses

201 Response schema

application/json

idstring · uuidrequired
expiresAtstring | nullrequired
participantIdstring · uuidrequired
flagsintegerrequired

Range: -9007199254740991 to 9007199254740991.

pdfStatusstringrequired

Allowed values: "pending"

View complete response schema
HTTP 201 schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
    },
    "expiresAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "null"
        }
      ]
    },
    "participantId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
    },
    "flags": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "pdfStatus": {
      "type": "string",
      "enum": [
        "pending"
      ]
    }
  },
  "required": [
    "id",
    "expiresAt",
    "participantId",
    "flags",
    "pdfStatus"
  ],
  "additionalProperties": false
}

401 Response schema

application/json

errorobjectrequired
View nested fields
codestringrequired
messagestringrequired
requestIdstringrequired
detailsvalue
View complete response schema
HTTP 401 schema
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "requestId": {
          "type": "string"
        },
        "details": {}
      },
      "required": [
        "code",
        "message",
        "requestId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "error"
  ],
  "additionalProperties": false
}

403 Response schema

application/json

errorobjectrequired
View nested fields
codestringrequired
messagestringrequired
requestIdstringrequired
detailsvalue
View complete response schema
HTTP 403 schema
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "requestId": {
          "type": "string"
        },
        "details": {}
      },
      "required": [
        "code",
        "message",
        "requestId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "error"
  ],
  "additionalProperties": false
}

404 Response schema

application/json

errorobjectrequired
View nested fields
codestringrequired
messagestringrequired
requestIdstringrequired
detailsvalue
View complete response schema
HTTP 404 schema
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "requestId": {
          "type": "string"
        },
        "details": {}
      },
      "required": [
        "code",
        "message",
        "requestId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "error"
  ],
  "additionalProperties": false
}

409 Response schema

application/json

errorobjectrequired
View nested fields
codestringrequired
messagestringrequired
requestIdstringrequired
detailsvalue
View complete response schema
HTTP 409 schema
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "requestId": {
          "type": "string"
        },
        "details": {}
      },
      "required": [
        "code",
        "message",
        "requestId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "error"
  ],
  "additionalProperties": false
}

422 Response schema

application/json

errorobjectrequired
View nested fields
codestringrequired
messagestringrequired
requestIdstringrequired
detailsvalue
View complete response schema
HTTP 422 schema
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "requestId": {
          "type": "string"
        },
        "details": {}
      },
      "required": [
        "code",
        "message",
        "requestId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "error"
  ],
  "additionalProperties": false
}

429 Response schema

application/json

errorobjectrequired
View nested fields
codestringrequired
messagestringrequired
requestIdstringrequired
detailsvalue
View complete response schema
HTTP 429 schema
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "requestId": {
          "type": "string"
        },
        "details": {}
      },
      "required": [
        "code",
        "message",
        "requestId"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "error"
  ],
  "additionalProperties": false
}

Authentication and validation failures use the shared error envelope. Save the request ID when diagnosing a failed call.

Build the surrounding workflow

Read the waiver records guide for ordering, verification and recovery. Browse the other waiver records endpoints when you need the next operation.