Template gallery / waiver

Liability waiver template

Waiver, release of liability and assumption of risk. The plain-language summary is set in a visibly different face from the clauses it summarises, so it reads as the version written for the signer rather than more of the same. Participant fields pre-print or stay blank for a pen, the risks are named specifically in a two-column ruled list, the clauses are numbered with hanging numerals and optional initial lines, genuinely optional consents are tick boxes, and the participant, guardian and witness blocks never break across a page. The clause text is yours to replace — the example is a working placeholder, not legal advice.

chromium default PDF 20 top-level fields Billed per page

Rendered preview of the waiver template
Rendered by Galley from the example payload below, at 816px wide , scale 2.

Fields

The full JSON Schema is below. Required fields are marked; anything missing comes back as a 422 naming the path, the expected type and a value that would be accepted.

Field Type Required Description
accent string optional The one hot accent: the "read before signing" line, the risk marks and the initial-here labels. A hex colour or a CSS colour keyword. It is interpolated into the stylesheet, so nothing else is accepted.
title string optional
subtitle string optional
form_reference string optional
version string optional Printed in the footer. Waivers get revised; the file should say which one was signed.
organisation object { name, subtitle, address, phone, … } required
read_first string optional The box at the top, in plain language. Say what the document does before the legal wording says it again.
participant object { name, dob, address, phone, … } optional Fill any of these in to pre-print them; leave them out and the same lines print blank for a pen.
activity object { name, description, dates, location, … } required
clauses_heading string optional
clauses array of object { title, text, initial } required The release language itself, numbered. This is the part your own lawyer writes: the wording below is a working placeholder covering the clauses these agreements usually carry, and enforceability differs by state.
options_heading string optional
options array of object { title, text } optional Tick boxes for the things that must be optional to be worth anything, such as a photo release.
medical_consent string optional
signature_heading string optional
affirmation string optional What the signature is affirming, printed directly above it.
minor object { heading, text } optional The guardian block. Leave the whole object out for an adults-only form.
witness boolean optional Adds a witness signature block.
office_use string optional The dashed box at the foot, for whoever files it.
footer string optional Replaces the default note that the wording is a starting point rather than legal advice.

Default render options

Applied unless you override them. Options are part of the cache key.

page_size "Letter"
margin "0.65in"
print_background true

Example payload

This exact object renders the preview above. It is also what the API echoes back in a validation error, so an agent can repair a payload without a round trip to the docs.

example.jsonjson
{
  "title": "Waiver, Release of Liability and Assumption of Risk",
  "subtitle": "Read before signing",
  "form_reference": "NBS-W-03",
  "version": "Version 3, revised August 2026. Replaces all earlier versions.",
  "organisation": {
    "name": "Northbank Strength LLC",
    "subtitle": "Participant agreement",
    "address": "18 Foundry Lane, Unit B, Providence, RI 02903",
    "phone": "(401) 555-0188",
    "email": "front@northbankstrength.test"
  },
  "read_first": "This is a legal document and it gives up rights you would otherwise have. By signing it you agree not to sue Northbank S… [361 characters, shortened for display]",
  "participant": {
    "name": "Marcus Oyelaran",
    "dob": "1986-04-11",
    "address": "1442 Tern Court, Providence, RI 02906",
    "phone": "(401) 555-0142",
    "email": "marcus.oyelaran@example.test"
  },
  "activity": {
    "name": "Small-group strength and conditioning",
    "description": "Coached barbell and dumbbell training, kettlebell work, rowing, and bodyweight conditioning, in groups of up to six, on the gym floor at the address above and occasionally on the pavement and car park immediately outside it.",
    "dates": "All sessions from September 21, 2026 until this waiver is replaced by a later version",
    "location": "18 Foundry Lane, Unit B, Providence RI",
    "risks": [
      "Strains, sprains, tears, dislocations and broken bones",
      "Being struck by, dropping, or being trapped under a loaded barbell, dumbbell or kettlebell",
      "Slips and falls on the gym floor, on equipment, or outside on wet or icy ground",
      "Equipment failing, being set up incorrectly, or being used incorrectly, whether by you, by another participant or by staff",
      "Fainting, heat illness, dehydration, and cardiac events brought on by exertion",
      "Aggravation of an injury or condition you already have, whether or not you have told us about it",
      "Contact with other participants in a shared space",
      "In rare cases, permanent disability or death"
    ]
  },
  "clauses_heading": "Agreement",
  "clauses": [
    {
      "title": "Assumption of risk",
      "text": "I understand that the activity described above carries risks that cannot be removed by any amount of care, including the… [354 characters, shortened for display]",
      "initial": true
    },
    {
      "title": "My physical condition",
      "text": "I confirm that I am physically able to take part, that I am not aware of any condition that makes it unsafe for me to do… [398 characters, shortened for display]"
    },
    {
      "title": "Release and waiver of claims",
      "text": "In exchange for being allowed to take part, I release Northbank Strength LLC, its owners, coaches, employees, contractor… [453 characters, shortened for display]",
      "initial": true
    },
    {
      "title": "Indemnity",
      "text": "I agree to reimburse Northbank Strength for any claim brought by someone else because of my own actions during the activ… [284 characters, shortened for display]"
    },
    {
      "title": "Medical treatment",
      "text": "If I am injured and cannot make decisions for myself, I authorise the staff present to call for emergency medical help and to allow treatment. I accept responsibility for the cost of that treatment and of any transport."
    },
    {
      "title": "Rules and instructions",
      "text": "I agree to follow the gym's posted rules and the instructions of the coaching staff, to use equipment only as I have been shown, and to leave if I am asked to. Ignoring a coach's instruction may end my participation without a refund."
    },
    {
      "title": "Personal property",
      "text": "I am responsible for my own belongings. Northbank Strength is not responsible for property that is lost, damaged or stolen on the premises, including from the lockers, which are not secure."
    },
    {
      "title": "Severability and governing law",
      "text": "If any part of this agreement is found to be unenforceable, the rest of it stands. This agreement is governed by the law of the State of Rhode Island, and any dispute is brought in the state or federal courts sitting in Providence County."
    },
    {
      "title": "Whole agreement",
      "text": "This document is the whole agreement between us on this subject. It replaces anything said or written beforehand, including any earlier version of this form, and it can only be changed in writing signed by both of us."
    }
  ],
  "options_heading": "Your choices",
  "options": [
    {
      "title": "Photographs and video.",
      "text": "I agree that photographs or video taken during sessions, in which I may appear, may be used in Northbank Strength's own marketing, including its website and social accounts, without payment."
    },
    {
      "title": "Email about classes and schedule changes.",
      "text": "I would like to receive email about schedule changes, closures and new classes. I can unsubscribe at any time and it will not affect my membership."
    },
    {
      "title": "Sharing my results.",
      "text": "I agree that my lifts and progress may be shown, with my first name, on the gym's leaderboard and in its newsletter."
    }
  ],
  "medical_consent": "If I cannot consent for myself, I authorise the staff present to arrange emergency medical care at my expense and to share the information above with the people treating me.",
  "signature_heading": "Participant signature",
  "affirmation": "I have read this document in full, not just the box at the top. I understand it is a release of legal rights, I have had the chance to ask questions and to take it away, and I sign it freely.",
  "minor": {
    "heading": "Parent or legal guardian — required if the participant is under 18",
    "text": "I am the parent or legal guardian of the participant named above. I have read this document in full and I agree to it on… [242 characters, shortened for display]"
  },
  "witness": true,
  "office_use": "File the signed original in the member binder and scan it to the member record within one business day.",
  "footer": "The wording in this form is a working starting point, not legal advice. Waiver law differs by state and parts of it are not enforceable everywhere. Have a lawyer licensed in your jurisdiction rewrite this before anyone signs it."
}

Values longer than 240 characters — data URIs, inline SVG — are shortened here so the shape of the payload stays readable, and the replacement says how much was left out. get_template and GET /v1/templates/:ref return them in full.

Render it

With an API keyshell
curl -sS https://api.galleyrender.com/v1/render \
  -H "Authorization: Bearer $GALLEY_API_KEY" \
  -H 'content-type: application/json' \
  -d '{
  "template": "waiver@1",
  "format": "pdf",
  "data": "… the example payload above …"
}'
With no API key, over MCPshell
# No API key. The first call mints a trial of 10 PDF pages or 10 images.
curl -sS https://mcp.galleyrender.com/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "render",
      "arguments": {
        "template": "waiver",
        "format": "pdf",
        "data": { … see the example payload above … }
      }
    }
  }'

Pin the version — waiver@1 — in anything you ship. Publishing a new version never changes an old one. Render endpoint reference →

Try a free tool

Renders the example payload on the production service. No account, no key.

JSON Schema

schema.json (20 top-level properties)
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Waiver and release of liability",
  "type": "object",
  "required": [
    "organisation",
    "activity",
    "clauses"
  ],
  "additionalProperties": true,
  "properties": {
    "accent": {
      "type": "string",
      "description": "The one hot accent: the \"read before signing\" line, the risk marks and the initial-here labels. A hex colour or a CSS colour keyword. It is interpolated into the stylesheet, so nothing else is accepted.",
      "examples": [
        "#d62828"
      ],
      "default": "#d62828",
      "pattern": "^(#[0-9a-fA-F]{3,8}|[a-zA-Z]{3,20})$"
    },
    "title": {
      "type": "string",
      "default": "Waiver, Release of Liability and Assumption of Risk",
      "examples": [
        "Waiver, Release of Liability and Assumption of Risk"
      ]
    },
    "subtitle": {
      "type": "string",
      "default": "Read before signing",
      "examples": [
        "Read before signing"
      ]
    },
    "form_reference": {
      "type": "string",
      "examples": [
        "NBS-W-03"
      ]
    },
    "version": {
      "type": "string",
      "description": "Printed in the footer. Waivers get revised; the file should say which one was signed.",
      "examples": [
        "Version 3, revised August 2026"
      ]
    },
    "organisation": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "examples": [
            "Northbank Strength LLC"
          ]
        },
        "subtitle": {
          "type": "string",
          "default": "Participant agreement",
          "examples": [
            "Participant agreement"
          ]
        },
        "address": {
          "type": "string",
          "examples": [
            "18 Foundry Lane, Unit B, Providence, RI 02903"
          ]
        },
        "phone": {
          "type": "string",
          "examples": [
            "(401) 555-0188"
          ]
        },
        "email": {
          "type": "string",
          "format": "email",
          "examples": [
            "front@northbankstrength.test"
          ]
        },
        "logo_url": {
          "type": "string",
          "format": "uri",
          "examples": [
            "https://example.com/northbank.png"
          ]
        }
      }
    },
    "read_first": {
      "type": "string",
      "description": "The box at the top, in plain language. Say what the document does before the legal wording says it again.",
      "examples": [
        "This is a legal document. By signing it you give up the right to sue us for injuries that happen during the activity described below, including injuries caused by ordinary carelessness on our part."
      ]
    },
    "participant": {
      "type": "object",
      "description": "Fill any of these in to pre-print them; leave them out and the same lines print blank for a pen.",
      "properties": {
        "name": {
          "type": "string",
          "examples": [
            "Marcus Oyelaran"
          ]
        },
        "dob": {
          "type": "string",
          "format": "date",
          "examples": [
            "1986-04-11"
          ]
        },
        "address": {
          "type": "string",
          "examples": [
            "1442 Tern Court, Providence, RI 02906"
          ]
        },
        "phone": {
          "type": "string",
          "examples": [
            "(401) 555-0142"
          ]
        },
        "email": {
          "type": "string",
          "format": "email",
          "examples": [
            "marcus.oyelaran@example.test"
          ]
        }
      }
    },
    "activity": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "examples": [
            "Small-group strength and conditioning"
          ]
        },
        "description": {
          "type": "string",
          "examples": [
            "Coached barbell and dumbbell training, kettlebell work, rowing and bodyweight conditioning, in groups of up to six, at the address above."
          ]
        },
        "dates": {
          "type": "string",
          "examples": [
            "All sessions from September 21, 2026 until this waiver is replaced"
          ]
        },
        "location": {
          "type": "string",
          "examples": [
            "18 Foundry Lane, Unit B"
          ]
        },
        "risks": {
          "type": "array",
          "description": "Name the risks specifically. A generic list is the first thing a court discounts.",
          "items": {
            "type": "string",
            "examples": [
              "Strains, sprains, tears and broken bones"
            ]
          },
          "examples": [
            [
              "Strains, sprains, tears and broken bones"
            ]
          ]
        }
      }
    },
    "clauses_heading": {
      "type": "string",
      "default": "Agreement",
      "examples": [
        "Agreement"
      ]
    },
    "clauses": {
      "type": "array",
      "minItems": 1,
      "description": "The release language itself, numbered. This is the part your own lawyer writes: the wording below is a working placeholder covering the clauses these agreements usually carry, and enforceability differs by state.",
      "items": {
        "type": "object",
        "required": [
          "text"
        ],
        "properties": {
          "title": {
            "type": "string",
            "description": "Small-caps lead-in above the clause.",
            "examples": [
              "Assumption of risk"
            ]
          },
          "text": {
            "type": "string",
            "examples": [
              "I understand that the activity involves risks that cannot be eliminated, including the risks listed above, and I choose to take part anyway."
            ]
          },
          "initial": {
            "type": "boolean",
            "default": false,
            "description": "Adds a short rule for the signer to initial this clause specifically.",
            "examples": [
              true
            ]
          }
        }
      }
    },
    "options_heading": {
      "type": "string",
      "default": "Your choices",
      "examples": [
        "Your choices"
      ]
    },
    "options": {
      "type": "array",
      "description": "Tick boxes for the things that must be optional to be worth anything, such as a photo release.",
      "items": {
        "type": "object",
        "required": [
          "title",
          "text"
        ],
        "properties": {
          "title": {
            "type": "string",
            "examples": [
              "Photographs and video."
            ]
          },
          "text": {
            "type": "string",
            "examples": [
              "I agree that photographs or video taken during sessions may be used in the gym's own marketing. Leaving this box unticked changes nothing else in this agreement."
            ]
          }
        }
      }
    },
    "medical_consent": {
      "type": "string",
      "examples": [
        "If I am injured and cannot consent for myself, I authorise the staff present to arrange emergency medical care at my expense."
      ]
    },
    "signature_heading": {
      "type": "string",
      "default": "Participant signature",
      "examples": [
        "Participant signature"
      ]
    },
    "affirmation": {
      "type": "string",
      "description": "What the signature is affirming, printed directly above it.",
      "examples": [
        "I have read this document in full and I sign it freely."
      ]
    },
    "minor": {
      "type": "object",
      "description": "The guardian block. Leave the whole object out for an adults-only form.",
      "properties": {
        "heading": {
          "type": "string",
          "examples": [
            "Parent or legal guardian — required if the participant is under 18"
          ]
        },
        "text": {
          "type": "string",
          "examples": [
            "I am the parent or legal guardian of the participant named above, I have read this document, and I agree to it on their behalf and on my own."
          ]
        }
      }
    },
    "witness": {
      "type": "boolean",
      "default": false,
      "description": "Adds a witness signature block.",
      "examples": [
        true
      ]
    },
    "office_use": {
      "type": "string",
      "description": "The dashed box at the foot, for whoever files it.",
      "examples": [
        "File the signed original. Scan to the member record within one business day."
      ]
    },
    "footer": {
      "type": "string",
      "description": "Replaces the default note that the wording is a starting point rather than legal advice.",
      "examples": [
        "Have a lawyer in your jurisdiction review this before you ask anyone to sign it."
      ]
    }
  }
}