Einwilligungen
Eine Einwilligung hält fest, dass eine Familie oder eine Veranstalter:in etwas zugestimmt oder es abgelehnt hat: der Einverständniserklärung einer Saison oder eines Angebots, etwa der Erlaubnis für Fotos, oder den allgemeinen Bedingungen. In der API ist sie ein consent. Einwilligungen können ablaufen und widerrufen werden.
Alle Endpunkte der Einwilligungen brauchen ROLE_ADMIN.
Jede Entscheidung ist ein eigener Datensatz und bleibt der Nachweis dafür, was erklärt wurde, von wem und wann. Wer erneut entscheidet, fügt einen Datensatz hinzu. Wer eine geltende Einwilligung ablehnt, widerruft sie und fügt einen Datensatz mit der Ablehnung hinzu. Ein Widerruf ist endgültig: Wer erneut einwilligt, erzeugt einen neuen Datensatz. Datensätze lassen sich nicht einzeln löschen.
Einwilligungen nach einer Löschung
Ein Konto oder eine Teilnehmer:in zu löschen, ist kein Widerruf. Eine erteilte Einwilligung bleibt in Kraft, weil fortbestehen darf, was sie erlaubt hat: Die Fotos bleiben veröffentlicht. Ihr Datensatz bleibt als Nachweis erhalten, ohne account und participant, und behält den Namen der Person und den Namen derjenigen, die erklärt hat. Abgelehnte Einwilligungen und Einwilligungen für Angebote, die noch nicht begonnen haben, werden mit der Person gelöscht.
Um beim Löschen mit zu widerrufen, rufen Sie zuerst für jede Einwilligung Eine Einwilligung widerrufen auf und löschen dann. Die Website und das Admin-Panel stellen in ihren Löschdialogen dieselbe Frage.
Ein Datensatz wird gelöscht, wenn die Einwilligung beendet ist (widerrufen, abgelaufen oder erledigt mit ihrem Angebot oder ihrer Saison, wenn die Erklärung das vorsieht) und die Aufbewahrungsfrist für Nachweise verstrichen ist: drei Jahre ab dem Ende dieses Jahres, sofern der Admin keine andere festgelegt hat.
Das Modell der Einwilligung
- Name
uuid- Typ
- string
- Beschreibung
Die Kennung der Einwilligung.
- Name
type- Typ
- string
- Beschreibung
form_consentfür eine Einwilligung zu einer Einverständniserklärung einer Saison oder eines Angebots,consentfür die allgemeine.
- Name
form- Typ
- object
- Beschreibung
Bei Einwilligungen zu einer Erklärung: die
uuidder Erklärung, ihrtitle, ihrsubject(für wen sie eingeholt wird:participant,accountoderhost),compulsory(compulsory,opt-inoderforce_decision) und ihrtext. Erklärungen, dieopt-outwaren, zeigenforce_decision: Opt-out wird nicht mehr angeboten.
- Name
account- Typ
- reference
- Beschreibung
Das Konto, das die Einwilligung erteilt hat. Fehlt, sobald das Konto gelöscht ist.
- Name
participant- Typ
- reference
- Beschreibung
Die Teilnehmer:in, für die die Einwilligung gilt. Fehlt, sobald die Teilnehmer:in gelöscht ist.
- Name
offer- Typ
- reference
- Beschreibung
Das Angebot, für das die Einwilligung gilt.
- Name
edition- Typ
- reference
- Beschreibung
Die Saison, für die die Einwilligung gilt.
- Name
decision- Typ
- integer
- Beschreibung
1, wenn eingewilligt wurde,0, wenn abgelehnt wurde.
- Name
signedAt- Typ
- timestamp
- Beschreibung
Wann die Einwilligung erteilt wurde.
- Name
signedBy- Typ
- string
- Beschreibung
Wer erklärt hat, wenn es nicht die Kontoinhaber:in war: eine Erziehungsberechtigte, die über den Link zur Anmeldung entschieden hat, oder ein Admin, der die Einwilligung im Admin-Panel erfasst hat. Ändert sich nach dem Anlegen des Datensatzes nie.
- Name
signedVia- Typ
- string
- Beschreibung
Auf welchem Weg die Entscheidung einging:
link(eine Erziehungsberechtigte über den Link zur Anmeldung),account(die Familie war auf der Website angemeldet),guest(das Anmeldeformular ohne Konto),admin(im Admin-Panel) oderapi(reserviert; noch kein Endpunkt erfasst eine Entscheidung). Fehlt bei Datensätzen, die angelegt wurden, bevor dies erfasst wurde.
- Name
revokedAt- Typ
- timestamp
- Beschreibung
Wann die Einwilligung widerrufen wurde.
- Name
revokedBy- Typ
- string
- Beschreibung
Wer den Widerruf erfasst hat: die Kontoinhaber:in, ein Admin oder der API-Client (der Name einer Person oder des Service-Accounts). Fehlt bei Widerrufen, die erfolgten, bevor dies erfasst wurde.
- Name
validUntil- Typ
- timestamp
- Beschreibung
Wann die Einwilligung abläuft.
- Name
valid- Typ
- boolean
- Beschreibung
Ob der Datensatz gilt: nicht widerrufen und nicht abgelaufen. Prüfen Sie auch
decision: Auch eine abgelehnte Einwilligung kannvalidsein.
- Name
createdAt- Typ
- timestamp
- Beschreibung
Wann der Datensatz angelegt wurde.
/consentsAlle Einwilligungen abrufen
Liefert eine Seite mit Einwilligungen, die neuesten zuerst.
Optionale Filter
- Name
account- Typ
- string
- Beschreibung
Nur Einwilligungen dieses Kontos (UUID, oder E-Mail-Adresse innerhalb Ihres eigenen Mandanten).
- Name
participant- Typ
- string
- Beschreibung
Nur Einwilligungen für diese Teilnehmer:in (UUID).
- Name
offer- Typ
- string
- Beschreibung
Nur Einwilligungen zu Erklärungen dieses Angebots (UUID).
- Name
edition- Typ
- string
- Beschreibung
Nur Einwilligungen zu Erklärungen dieser Saison (UUID oder Alias).
- Name
revoked- Typ
- boolean
- Beschreibung
truenur für widerrufene Einwilligungen,false, um sie auszulassen.
- Name
page, itemsPerPage- Typ
- integer
- Beschreibung
Siehe Paginierung.
curl -G https://example.fepli.eu/api/consents \
-H "Authorization: Bearer $FEPLI_TOKEN" \
--data-urlencode "account=familie.mueller@example.org" \
-d revoked=false
Antwort
[
{
"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",
"signedVia": "account",
"valid": true,
"createdAt": "2026-09-01T08:02:57+02:00"
}
]
/consents/{uuid}Eine Einwilligung abrufen
Liefert eine Einwilligung.
curl https://example.fepli.eu/api/consents/0192d0e9-6d7e-7f80-9a1b-2c3d4e5f6a31 \
-H "Authorization: Bearer $FEPLI_TOKEN"
/consents/{uuid}/revokeEine Einwilligung widerrufen
Widerruft eine Einwilligung im Namen der Familie, zum Beispiel nachdem sie ein unterschriebenes Papierformular geschickt hat. Die Anfrage hat keinen Body. Die Antwort enthält die widerrufene Einwilligung mit gesetzten revokedAt und revokedBy. Der Datensatz selbst bleibt bestehen. Der Widerruf erscheint außerdem im Protokoll Betroffenenrechte des Admin-Panels.
Wer sich auf die Einwilligung stützt, wird per E-Mail informiert: bei einer Einwilligung zur Erklärung eines Angebots die Veranstalter:innen des Angebots, bei einer Einwilligung zur Erklärung einer Saison das Team und die Veranstalter:innen.
Nur eine erteilte Einwilligung (decision 1) lässt sich widerrufen. Bei einer abgelehnten lautet die Antwort 403. Eine Einwilligung, die schon widerrufen ist, lässt sich nicht erneut widerrufen (409).
curl -X POST https://example.fepli.eu/api/consents/0192d0e9-6d7e-7f80-9a1b-2c3d4e5f6a31/revoke \
-H "Authorization: Bearer $FEPLI_TOKEN"