fepli
EntwicklerAPI-Ressourcen

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.

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, city und country.

  • 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, waiting und rejected. total zä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.


GET/participants

Alle 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

    true für Teilnehmer:innen ohne Konto, false fü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.

GET/participants
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
  }
]

GET/participants/{uuid}

Eine Teilnehmer:in abrufen

Liefert eine Teilnehmer:in. Ihre Anmeldungen listet GET /attendances?participant={uuid} auf.

GET/participants/{uuid}
curl https://example.fepli.eu/api/participants/0191c7b3-1f2a-7c4d-8e5f-6a7b8c9d0e06 \
  -H "Authorization: Bearer $FEPLI_TOKEN"

POST/participants

Eine 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, city und country (zwei Buchstaben, der Standard ist de).

POST/participants
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.


PATCH/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.

PATCH/participants/{uuid}
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"}'

DELETE/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).

DELETE/participants/{uuid}
curl -X DELETE https://example.fepli.eu/api/participants/0191c7b3-2e3f-7a4b-9c5d-6e7f8a9b0c16 \
  -H "Authorization: Bearer $FEPLI_TOKEN"

POST/participants/{uuid}/pseudonymize

Eine 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.

POST/participants/{uuid}/pseudonymize
curl -X POST https://example.fepli.eu/api/participants/0191c7b3-1f2a-7c4d-8e5f-6a7b8c9d0e06/pseudonymize \
  -H "Authorization: Bearer $FEPLI_TOKEN"

War diese Seite hilfreich?