Skip to content

Document template · eu.gdpr.consent_form

GDPR Consent Form

  • Render-verified
  • Legal-sensitive
  • Version 1.0.0

Freely given, specific, informed and unambiguous consent per Art. 4(11) and Art. 7 GDPR. Each purpose is opted in separately (granularity). The signed form is the controller's record that consent was given — keep it for as long as the consent remains active plus the limitation period.

JSON Schema

Fields in this template

Data sent to the API is validated against the template’s JSON Schema before anything is rendered. This template defines 21 fields:

Field Required Type Description
form_reference Optional string
issued_on Optional date
controller Required object
controller.name Required string
controller.address Optional string
controller.contact_email Required string
controller.dpo_email Optional string
preamble Optional string Optional intro paragraph in controller's voice.
purposes Required array of object
purposes[].id Required string
purposes[].description Required string
purposes[].data_categories Optional array of string
purposes[].recipients Optional array of string
purposes[].retention Optional string
purposes[].international_transfers Optional string
purposes[].required Optional boolean Flag consents that are required for service delivery. Note: 'required consent' is usually the wrong legal basis — use contract instead. Thi…
data_subject Required object
data_subject.name Required string
data_subject.email Optional string
data_subject.reference Optional string Optional internal reference (customer ID, employee ID, ...).
withdrawal_channel Optional string How to withdraw consent (URL, email). Defaults to the controller contact email.

POST /render

Generate it

One POST /render call: send your JSON, get the finished PDF back. Or skip the JSON entirely and describe the document in plain language on chut.app.

curl
curl -X POST https://api.papii.eu/render \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "eu.gdpr.consent_form",
    "data": { ... },
    "options": {"language": "en"}
  }' -o consent-form.pdf

Frequently asked questions

What is “GDPR Consent Form”?

Freely given, specific, informed and unambiguous consent per Art. 4(11) and Art. 7 GDPR. Each purpose is opted in separately (granularity). The signed form is the controller's record that consent was given — keep it for as long as the consent remains active plus the limitation period. On papii this document is available as template eu.gdpr.consent_form: a JSON Schema plus a deterministic PDF renderer, so the same data always produces the same document.

Can I generate a GDPR Consent Form with AI?

Yes. chut.app — the AI back office papii powers — fills this template from a plain-language description: you describe the document in one sentence, the AI structures the data, papii validates it against the schema and renders the PDF. Developers can also call the papii API directly with structured JSON.

Is the GDPR Consent Form template legally compliant?

This template is render-verified: its schema, sample data and PDF output are automatically tested on every release. It is published with status “ready”, meaning it has not yet been through papii’s final legal review. Where it references specific legislation, that is stated in the template description — always have a professional check documents with legal effect before relying on them.