Teilnehmer:innen
Eine Teilnehmer:in ist die Person, die an einem Angebot teilnimmt, meist ein Kind, dessen Familie ein Konto hat. In der API ist eine Teilnehmer:in ein participant. Teilnehmer:innen können auch ohne Konto existieren, zum Beispiel, wenn sich eine jugendliche Person selbst anmeldet.
- GET
/participantsAlle Teilnehmer:innen abrufen - GET
/participants/{uuid}Eine Teilnehmer:in abrufen - POST
/participantsEine Teilnehmer:in anlegen - PATCH
/participants/{uuid}Eine Teilnehmer:in ändern - DELETE
/participants/{uuid}Eine Teilnehmer:in löschen - POST
/participants/{uuid}/pseudonymizeEine Teilnehmer:in pseudonymisieren
Alle Endpunkte für Teilnehmer:innen brauchen ROLE_ADMIN und ROLE_PARTICIPANTS_ADMIN.
Das Modell der Teilnehmer:in
- Name
uuid- Typ
- string
- Beschreibung
Die Kennung der Teilnehmer:in.
- Name
firstname- Typ
- string
- Beschreibung
Der Vorname.
- Name
lastname- Typ
- string
- Beschreibung
Der Nachname.
- Name
name- Typ
- string
- Beschreibung
Der vollständige Name.
- Name
dateOfBirth- Typ
- timestamp
- Beschreibung
Das Geburtsdatum (Mitternacht dieses Tages).
- Name
age- Typ
- integer
- Beschreibung
Das Alter in Jahren, heute.
- Name
email- Typ
- string
- Beschreibung
Die gültige E-Mail-Adresse: die eigene der Teilnehmer:in, sonst die des Kontos.
- Name
ownEmail- Typ
- string
- Beschreibung
Die eigene E-Mail-Adresse der Teilnehmer:in, falls eine eingegeben wurde.
- Name
phone, mobile- Typ
- string
- Beschreibung
Die gültigen Telefonnummern: die eigenen der Teilnehmer:in, sonst die des Kontos.
- Name
ownPhone, ownMobile- Typ
- string
- Beschreibung
Die eigenen Telefonnummern der Teilnehmer:in, falls eingegeben.
- Name
address- Typ
- object
- Beschreibung
Die Postanschrift mit
street,postalCode,cityundcountry.
- Name
account- Typ
- reference
- Beschreibung
Das Konto, zu dem die Teilnehmer:in gehört. Fehlt bei Teilnehmer:innen ohne Konto.
- Name
attendances- Typ
- object
- Beschreibung
Wie viele Anmeldungen die Teilnehmer:in hat, nach Status:
confirmed,waitlisted,waitingundrejected.totalzählt jede Anmeldung außer abgemeldeten und nicht erfüllten.
- Name
createdAt- Typ
- timestamp
- Beschreibung
Wann die Teilnehmer:in angelegt wurde.
- Name
piiMasked- Typ
- boolean
- Beschreibung
Ob personenbezogene Daten weggelassen wurden, weil Sie sie nicht sehen dürfen. Siehe Maskierte personenbezogene Daten.
/participantsAlle Teilnehmer:innen abrufen
Liefert eine Seite mit Teilnehmer:innen, sortiert nach Nachname und Vorname. Außerhalb Ihres eigenen Mandanten sind sie nach Anlage sortiert.
Optionale Filter
- Name
q- Typ
- string
- Beschreibung
Nur Teilnehmer:innen, deren Name diesen Text enthält. Findet außerhalb Ihres eigenen Mandanten nichts.
- Name
account- Typ
- string
- Beschreibung
Nur Teilnehmer:innen dieses Kontos (UUID, oder E-Mail-Adresse innerhalb Ihres eigenen Mandanten).
- Name
edition- Typ
- string
- Beschreibung
Nur Teilnehmer:innen, die sich für ein Angebot dieser Saison angemeldet haben (UUID oder Alias).
- Name
offer- Typ
- string
- Beschreibung
Nur Teilnehmer:innen, die sich für dieses Angebot angemeldet haben (UUID).
- Name
withoutAccount- Typ
- boolean
- Beschreibung
truefür Teilnehmer:innen ohne Konto,falsefür Teilnehmer:innen mit Konto.
- Name
createdSince- Typ
- timestamp
- Beschreibung
Nur Teilnehmer:innen, die seit diesem Zeitpunkt angelegt wurden.
- Name
page, itemsPerPage- Typ
- integer
- Beschreibung
Siehe Paginierung.
curl -G https://example.fepli.eu/api/participants \
-H "Authorization: Bearer $FEPLI_TOKEN" \
--data-urlencode "account=familie.mueller@example.org"
Antwort
[
{
"uuid": "0191c7b3-1f2a-7c4d-8e5f-6a7b8c9d0e06",
"firstname": "Lena",
"lastname": "Müller",
"name": "Lena Müller",
"dateOfBirth": "2015-04-12T00:00:00+02:00",
"age": 11,
"email": "familie.mueller@example.org",
"mobile": "030 23125 456",
"address": {
"street": "Lindenallee 12",
"postalCode": "12345",
"city": "Elmsbrück",
"country": "de"
},
"account": {
"uuid": "0191c7b2-4d5e-7f60-8a1b-2c3d4e5f6a05",
"name": "Anna Müller"
},
"attendances": {
"confirmed": 2,
"waitlisted": 1,
"waiting": 0,
"rejected": 0,
"total": 3
},
"createdAt": "2025-06-02T19:20:11+02:00",
"piiMasked": false
}
]
/participants/{uuid}Eine Teilnehmer:in abrufen
Liefert eine Teilnehmer:in. Ihre Anmeldungen listet GET /attendances?participant={uuid} auf.
curl https://example.fepli.eu/api/participants/0191c7b3-1f2a-7c4d-8e5f-6a7b8c9d0e06 \
-H "Authorization: Bearer $FEPLI_TOKEN"
/participantsEine Teilnehmer:in anlegen
Legt eine Teilnehmer:in an, mit oder ohne Konto. Eine Teilnehmer:in ohne Konto braucht eine eigene email.
Pflichtattribute
- Name
firstname- Typ
- string
- Beschreibung
Der Vorname, bis zu 255 Zeichen.
- Name
lastname- Typ
- string
- Beschreibung
Der Nachname, bis zu 255 Zeichen.
Optionale Attribute
- Name
dateOfBirth- Typ
- date
- Beschreibung
Das Geburtsdatum, etwa
2015-04-12. Muss in der Vergangenheit liegen.
- Name
account- Typ
- string
- Beschreibung
Das Konto (UUID oder E-Mail-Adresse).
- Name
email- Typ
- string
- Beschreibung
Die eigene E-Mail-Adresse der Teilnehmer:in. Lassen Sie sie weg, um die des Kontos zu verwenden.
- Name
phone, mobile- Typ
- string
- Beschreibung
Die eigenen Telefonnummern der Teilnehmer:in.
- Name
address- Typ
- object
- Beschreibung
street,postalCode,cityundcountry(zwei Buchstaben, der Standard istde).
curl -X POST https://example.fepli.eu/api/participants \
-H "Authorization: Bearer $FEPLI_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"firstname": "Paul",
"lastname": "Müller",
"dateOfBirth": "2018-11-03",
"account": "familie.mueller@example.org"
}'
Die Antwort (201 Created) enthält die neue Teilnehmer:in.
/participants/{uuid}Eine Teilnehmer:in ändern
Ändert eine Teilnehmer:in. Die Attribute sind dieselben wie beim Anlegen einer Teilnehmer:in. Senden Sie nur, was sich ändern soll.
account verschiebt die Teilnehmer:in zu einem anderen Konto; mit "account": null lösen Sie sie von ihrem Konto. email, phone und mobile legen die eigenen Kontaktdaten der Teilnehmer:in fest; mit null gelten wieder die des Kontos.
curl -X PATCH https://example.fepli.eu/api/participants/0191c7b3-1f2a-7c4d-8e5f-6a7b8c9d0e06 \
-H "Authorization: Bearer $FEPLI_TOKEN" \
-H "Content-Type: application/json" \
-d '{"dateOfBirth": "2015-04-21"}'
/participants/{uuid}Eine Teilnehmer:in löschen
Löscht eine Teilnehmer:in. Ihre Anmeldungen für Angebote, die noch nicht begonnen haben, werden abgemeldet. Eine abgemeldete Anmeldung behält ihren Beitrag (payable) unter denselben Bedingungen wie bei einer Abmeldung durch die Familie: nach Ablauf der Frist für die kostenlose Abmeldung und wenn die Einstellungen Abmeldungen nicht zulassen. Unbezahlte Beiträge verhindern das Löschen nicht. Danach lassen sie sich niemandem mehr in Rechnung stellen. Die Antwort ist 204 No Content; danach ist die Teilnehmer:in ein 404.
Einwilligungen, die sie erteilt hat, werden weder widerrufen noch gelöscht: Jede bleibt in Kraft, als eigener Datensatz mit dem Namen der Person, bis sie widerrufen wird oder abläuft. Sollen die Einwilligungen mit dem Löschen enden, widerrufen Sie sie vorher. Siehe Einwilligungen nach einem Löschen.
Ist die Verarbeitung der Teilnehmer:in eingeschränkt (Art. 18 DSGVO), lässt sie sich nicht löschen (409).
curl -X DELETE https://example.fepli.eu/api/participants/0191c7b3-2e3f-7a4b-9c5d-6e7f8a9b0c16 \
-H "Authorization: Bearer $FEPLI_TOKEN"
/participants/{uuid}/pseudonymizeEine Teilnehmer:in pseudonymisieren
Veraltet: tut dasselbe wie Eine Teilnehmer:in löschen. Verwenden Sie stattdessen DELETE /participants/{uuid}.
Die Anfrage hat keinen Body, die Antwort ist 204 No Content.
curl -X POST https://example.fepli.eu/api/participants/0191c7b3-1f2a-7c4d-8e5f-6a7b8c9d0e06/pseudonymize \
-H "Authorization: Bearer $FEPLI_TOKEN"