Consents
A consent (Einwilligung) records that a family or an organiser agreed to something: a consent form of an edition or an offer, such as permission to take photos, or the general terms. Consents can expire and can be revoked.
All consent endpoints need ROLE_ADMIN.
The consent model
- Name
uuid- Type
- string
- Description
The consent's identifier.
- Name
type- Type
- string
- Description
form_consentfor a consent to a form of an edition or an offer,consentfor the general one.
- Name
form- Type
- object
- Description
For consents to a form: the form's
uuid, itstitle, itssubject(who it is collected for:participant,accountorhost),compulsory(compulsory,opt-in,opt-outorforce_decision) and itstext.
- Name
account- Type
- reference
- Description
The account that gave the consent.
- Name
participant- Type
- reference
- Description
The participant the consent is for.
- Name
offer- Type
- reference
- Description
The offer the consent is for.
- Name
edition- Type
- reference
- Description
The edition the consent is for.
- Name
decision- Type
- integer
- Description
1if consent was given,0if it was declined.
- Name
signedAt- Type
- timestamp
- Description
When the consent was given.
- Name
signedBy- Type
- string
- Description
Who signed, where it was recorded: a guardian signing through the consent link, or a colleague recording the consent in the admin. After a revocation through the API, the name of the person or service account who revoked it.
- Name
revokedAt- Type
- timestamp
- Description
When the consent was revoked.
- Name
validUntil- Type
- timestamp
- Description
When the consent expires.
- Name
valid- Type
- boolean
- Description
Whether the record is in effect: not revoked and not expired. Check
decisionas well: a declined consent can bevalidtoo.
- Name
createdAt- Type
- timestamp
- Description
When the record was created.
List all consents
Returns a page of consents, newest first.
Optional filters
- Name
account- Type
- string
- Description
Only consents of this account (UUID or e-mail address).
- Name
participant- Type
- string
- Description
Only consents for this participant (UUID).
- Name
offer- Type
- string
- Description
Only consents to forms of this offer (UUID).
- Name
edition- Type
- string
- Description
Only consents to forms of this edition (UUID or alias).
- Name
revoked- Type
- boolean
- Description
truefor revoked consents only,falseto leave them out.
- Name
page, itemsPerPage- Type
- integer
- Description
See Pagination.
Request
curl -G https://ferienpass-musterstadt.de/api/consents \
-H "Authorization: Bearer $FEPLI_TOKEN" \
--data-urlencode "account=familie.mueller@example.org" \
-d revoked=false
Response
[
{
"uuid": "0192d0e9-6d7e-7f80-9a1b-2c3d4e5f6a31",
"type": "form_consent",
"form": {
"uuid": "01913e5e-8b9c-7d0e-9f1a-2b3c4d5e6f32",
"title": "Fotoerlaubnis",
"subject": "participant",
"compulsory": "opt-in",
"text": "Ich bin damit einverstanden, dass Fotos meines Kindes …"
},
"account": {
"uuid": "0191c7b2-4d5e-7f60-8a1b-2c3d4e5f6a05",
"name": "Anna Müller"
},
"participant": {
"uuid": "0191c7b3-1f2a-7c4d-8e5f-6a7b8c9d0e06",
"name": "Lena Müller"
},
"edition": {
"uuid": "01913e5c-2b4a-7d10-9f3e-6a1c2e7b4d01",
"name": "Herbstferien 2026",
"alias": "herbstferien-2026"
},
"decision": 1,
"signedAt": "2026-09-01T08:02:57+02:00",
"signedBy": "Anna Müller",
"valid": true,
"createdAt": "2026-09-01T08:02:57+02:00"
}
]
Retrieve a consent
Returns one consent.
Request
curl https://ferienpass-musterstadt.de/api/consents/0192d0e9-6d7e-7f80-9a1b-2c3d4e5f6a31 \
-H "Authorization: Bearer $FEPLI_TOKEN"
Revoke a consent
Revokes a consent on the family's behalf, for example after they sent a signed paper form. The request has no body. Returns the revoked consent.
A consent that is already revoked can't be revoked again (409).
Request
curl -X POST https://ferienpass-musterstadt.de/api/consents/0192d0e9-6d7e-7f80-9a1b-2c3d4e5f6a31/revoke \
-H "Authorization: Bearer $FEPLI_TOKEN"
Delete a consent
Deletes a consent record. Responds with 204 No Content. To withdraw consent but keep the record of it, revoke it instead.
Request
curl -X DELETE https://ferienpass-musterstadt.de/api/consents/0192d0e9-6d7e-7f80-9a1b-2c3d4e5f6a31 \
-H "Authorization: Bearer $FEPLI_TOKEN"