Konten
Mit einem Konto meldet sich eine Person bei fepli an. Familien melden damit ihre Kinder an, Mitglieder von Veranstalter-Profilen und Admins arbeiten damit im Admin-Panel. In der API ist ein Konto ein account. Die API zeigt Konten so, wie der Bereich Konten des Admin-Panels.
Alle Endpunkte der Konten brauchen ROLE_ADMIN.
Das Modell des Kontos
- Name
uuid- Typ
- string
- Beschreibung
Die Kennung des Kontos.
- Name
email- Typ
- string
- Beschreibung
Die E-Mail-Adresse, mit der sich die Person anmeldet. Sie ist überall zulässig, wo ein Konto benannt wird, sofern es in Ihrem eigenen Mandanten liegt, etwa in
?account=familie.mueller@example.org.
- Name
pendingEmail- Typ
- string
- Beschreibung
Eine neue Anmeldeadresse, die noch bestätigt werden muss. Dazu dient der Link, der an sie geschickt wurde. Bis dahin behält
emaildie aktuelle Adresse. Das Feld fehlt, wenn keine Adresse wartet oder ihr Link abgelaufen ist. Nur lesen; siehe Ein Konto ändern.
- Name
firstname- Typ
- string
- Beschreibung
Der Vorname.
- Name
lastname- Typ
- string
- Beschreibung
Der Nachname.
- Name
name- Typ
- string
- Beschreibung
Der vollständige Name.
- Name
phone- Typ
- string
- Beschreibung
Die Telefonnummer.
- Name
mobile- Typ
- string
- Beschreibung
Die Mobilnummer.
- Name
roles- Typ
- string[]
- Beschreibung
Die Rollen des Kontos:
ROLE_MEMBERfür Familien,ROLE_HOSTfür Mitglieder von Veranstalter-Profilen,ROLE_ADMINund die Admin-Rollen für Admins. Die Admin-RollenROLE_PARTICIPANTS_ADMIN,ROLE_PAYMENTS_ADMINundROLE_CMS_ADMINgelten nur im Konto eines Admins. In jedem anderen Konto werden sie nicht aufgeführt.
- Name
locale- Typ
- string
- Beschreibung
Die Sprache, in der die Person fepli nutzt, zum Beispiel
de.
- Name
disabled- Typ
- boolean
- Beschreibung
Ob das Konto gesperrt ist und sich niemand damit anmelden kann.
- Name
activatedAt- Typ
- timestamp
- Beschreibung
Wann die Person ihre E-Mail-Adresse bestätigt hat.
- Name
lastLogin- Typ
- timestamp
- Beschreibung
Wann sich die Person zuletzt angemeldet hat.
- Name
createdAt- Typ
- timestamp
- Beschreibung
Wann das Konto angelegt wurde.
- Name
modifiedAt- Typ
- timestamp
- Beschreibung
Wann das Konto zuletzt geändert wurde.
- Name
blockedEmail- Typ
- boolean
- Beschreibung
Ob E-Mails an diese Adresse zurückgekommen sind. fepli sendet nicht mehr an gesperrte Adressen. Das erklärt viele Fälle von „Ich habe keine E-Mail bekommen“. Siehe Eine E-Mail-Adresse entsperren.
- Name
unsubscribed- Typ
- boolean
- Beschreibung
Ob sich die Person von E-Mails abgemeldet hat, die fepli verschickt.
- Name
hasPassword- Typ
- boolean
- Beschreibung
Ob die Person ein Passwort festgelegt hat. Ohne Passwort meldet sie sich mit einem Link an, der per E-Mail kommt.
- Name
magicLinksDisabled- Typ
- boolean
- Beschreibung
Ob die Anmeldung per E-Mail-Link für dieses Konto ausgeschaltet ist.
- Name
addresses- Typ
- object[]
- Beschreibung
Postadressen, jeweils mit
street,postalCode,cityundcountry. Eine leere Adresse erscheint in der Liste alsnull.
- Name
hosts- Typ
- reference[]
- Beschreibung
Die Veranstalter:innen, deren Mitglied dieses Konto ist.
- Name
participants- Typ
- reference[]
- Beschreibung
Die Teilnehmer:innen dieses Kontos, meist die Kinder. Ohne
ROLE_PARTICIPANTS_ADMINenthält jede Referenz nur dieuuid.
- Name
sharedOffers- Typ
- reference[]
- Beschreibung
Einzelne Angebote, die direkt mit diesem Konto geteilt wurden.
- Name
debtor- Typ
- object
- Beschreibung
Die Debitor:in des Kontos, die mit der ersten Anmeldung entsteht: ihre
uuidund der Saldobalancein Cent. Nur für Aufrufer mitROLE_PAYMENTS_ADMIN.
- Name
piiMasked- Typ
- boolean
- Beschreibung
Ob personenbezogene Daten fehlen, weil Sie sie nicht sehen dürfen. Siehe Maskierte personenbezogene Daten.
/accountsAlle Konten abrufen
Liefert eine Seite mit Konten, sortiert nach Nachname und Vorname. Außerhalb Ihres eigenen Mandanten sind sie nach Anlage sortiert.
Optionale Filter
- Name
q- Typ
- string
- Beschreibung
Nur Konten, deren Name oder E-Mail-Adresse diesen Text enthält. Findet außerhalb Ihres eigenen Mandanten nichts.
- Name
email- Typ
- string
- Beschreibung
Nur das Konto mit genau dieser E-Mail-Adresse. Findet außerhalb Ihres eigenen Mandanten nichts.
- Name
role- Typ
- string
- Beschreibung
Nur Konten mit dieser Rolle:
member,hostoderadmin.
- Name
host- Typ
- string
- Beschreibung
Nur Mitglieder dieser Veranstalter:in (UUID oder Alias).
- Name
disabled- Typ
- boolean
- Beschreibung
truefür nur gesperrte Konten.
- Name
modifiedSince- Typ
- timestamp
- Beschreibung
Nur Konten, die seit diesem Zeitpunkt geändert wurden.
- Name
page, itemsPerPage- Typ
- integer
- Beschreibung
Siehe Paginierung.
curl -G https://example.fepli.eu/api/accounts \
-H "Authorization: Bearer $FEPLI_TOKEN" \
--data-urlencode "email=familie.mueller@example.org"
Antwort
[
{
"uuid": "0191c7b2-4d5e-7f60-8a1b-2c3d4e5f6a05",
"email": "familie.mueller@example.org",
"firstname": "Anna",
"lastname": "Müller",
"name": "Anna Müller",
"mobile": "030 23125 456",
"roles": ["ROLE_MEMBER"],
"locale": "de",
"disabled": false,
"activatedAt": "2025-06-02T19:14:08+02:00",
"lastLogin": "2026-09-18T07:41:55+02:00",
"createdAt": "2025-06-02T19:12:40+02:00",
"modifiedAt": "2026-09-01T12:00:17+02:00",
"blockedEmail": false,
"unsubscribed": false,
"hasPassword": false,
"magicLinksDisabled": false,
"addresses": [
{
"street": "Lindenallee 12",
"postalCode": "12345",
"city": "Elmsbrück",
"country": "de"
}
],
"hosts": [],
"participants": [
{ "uuid": "0191c7b3-1f2a-7c4d-8e5f-6a7b8c9d0e06", "name": "Lena Müller" },
{ "uuid": "0191c7b3-2e3f-7a4b-9c5d-6e7f8a9b0c16", "name": "Paul Müller" }
],
"sharedOffers": [],
"debtor": {
"uuid": "0191c7b4-5a6b-7c8d-9e0f-1a2b3c4d5e09",
"balance": 0
},
"piiMasked": false
}
]
/accounts/{uuid}Ein Konto abrufen
Liefert ein Konto.
curl https://example.fepli.eu/api/accounts/0191c7b2-4d5e-7f60-8a1b-2c3d4e5f6a05 \
-H "Authorization: Bearer $FEPLI_TOKEN"
/accountsEin Konto anlegen
Legt ein Konto an. Es hat kein Passwort, und fepli schreibt niemandem eine E-Mail. Die Person meldet sich mit einem Link an, der per E-Mail kommt, sofern ihre Kontoart das erlaubt. Oder sie nutzt eine Einladung, die ein Admin im Admin-Panel verschickt und mit der sie ihre Anmeldung selbst einrichtet. Kein Endpunkt setzt ein Passwort. Ohne roles erhält das Konto ROLE_MEMBER.
Nur Super-Admins können Konten von Admins anlegen.
Pflichtattribute
- Name
email- Typ
- string
- Beschreibung
Eine gültige E-Mail-Adresse, die kein anderes Konto verwendet.
Optionale Attribute
- Name
firstname, lastname- Typ
- string
- Beschreibung
Jeweils bis zu 255 Zeichen.
- Name
phone, mobile- Typ
- string
- Beschreibung
Jeweils bis zu 64 Zeichen.
- Name
locale- Typ
- string
- Beschreibung
Die Sprache, zum Beispiel
deoderen.
- Name
roles- Typ
- string[]
- Beschreibung
Beliebige Werte aus
member,host,admin,super_admin,participants_admin,payments_admin,cms_adminoder die NamenROLE_…. Wenn wedermembernochhostnochadminangegeben ist, kommtmemberhinzu.super_adminfügtadminhinzu.participants_admin,payments_adminundcms_adminsind nur zusammen mitadminodersuper_adminzulässig (422). Nur ein Super-Admin darfadmin,super_adminund diese drei vergeben (403).
- Name
hosts- Typ
- string[]
- Beschreibung
Veranstalter:innen (UUIDs oder Aliase), deren Mitglied das Konto ist. Fügt
ROLE_HOSThinzu.
- Name
address- Typ
- object
- Beschreibung
street,postalCode,cityundcountry(zwei Buchstaben, standardmäßigde).
- Name
disabled- Typ
- boolean
- Beschreibung
Das Konto gesperrt anlegen.
- Name
notifyComments- Typ
- boolean
- Beschreibung
Ob die Person über neue Kommentare benachrichtigt wird.
curl -X POST https://example.fepli.eu/api/accounts \
-H "Authorization: Bearer $FEPLI_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "m.schneider@kunstschule.example.fepli.eu",
"firstname": "Mira",
"lastname": "Schneider",
"hosts": ["kunstschule-elmsbrueck"]
}'
Antwort (201 Created, Auszug)
{
"uuid": "0193c9e4-8f9a-7b0c-9d1e-2f3a4b5c6d21",
"email": "m.schneider@kunstschule.example.fepli.eu",
"name": "Mira Schneider",
"roles": ["ROLE_MEMBER", "ROLE_HOST"],
"hasPassword": false,
"hosts": [
{
"uuid": "0193c9d1-2e3f-7a4b-8c5d-6e7f8a9b0c18",
"name": "Kunstschule Elmsbrück",
"alias": "kunstschule-elmsbrueck"
}
],
"…": "…"
}
/accounts/{uuid}Ein Konto ändern
Ändert ein Konto. Die Attribute sind dieselben wie beim Anlegen eines Kontos. Senden Sie nur, was Sie ändern wollen.
emailändert die Adresse, mit der sich die Person anmeldet, sobald die neue Adresse bestätigt ist. Bis dahin wartet sie inpendingEmail, und fepli schickt ihr einen Link, der 24 Stunden gilt. Solange der Link nicht benutzt wurde, behältemaildie aktuelle Adresse, auch in der Antwort. Eine weitere neue Adresse ersetzt die wartende, und der frühere Link verliert seine Gültigkeit. Eine Änderung nur der Groß- und Kleinschreibung gilt sofort.- Sobald der Link benutzt wurde, meldet sich das Konto mit der neuen Adresse an. Anmelde- und Passwort-Links, die vorher verschickt wurden, verlieren ihre Gültigkeit, und fepli benachrichtigt die bisherige Adresse. Hat in der Zwischenzeit ein anderes Konto die Adresse übernommen, ändert sich nichts.
- Wenn Sie die Adresse einer anderen Person ändern, benachrichtigt fepli ihre aktuelle Adresse sofort per E-Mail. Das Protokoll unter Betroffenenrechte im Admin-Panel hält Neue Anmelde-Adresse eingetragen fest, ohne eine der beiden Adressen.
"disabled": truesperrt das Konto: Die Person kann sich nicht mehr anmelden, und eine offene Sitzung des Kontos endet mit der nächsten Anfrage.falsehebt die Sperre auf. Das hat nichts mit einer gesperrten E-Mail-Adresse zu tun; siehe dazu Eine E-Mail-Adresse entsperren.rolesersetzt die Rollen des Kontos, nach denselben Regeln wie beim Anlegen eines Kontos. Wer die Rollen im Konto eines Admins ändert, muss ebenfalls Super-Admin sein.hostsersetzt die Mitgliedschaften des Kontos. Um einzelne Mitgliedschaften hinzuzufügen oder zu entfernen, verwenden Sie Ein Mitglied hinzufügen und Ein Mitglied entfernen.addressersetzt die erste Postadresse als Ganzes: Senden Sie alle ihre Felder.nullentfernt sie.
Das Konto eines Admins ändern, löschen oder pseudonymisieren dürfen nur Super-Admins. Admins dürfen ihr eigenes Konto immer ändern. Die email im Konto einer Familie (ROLE_MEMBER) zu ändern, erfordert ROLE_PARTICIPANTS_ADMIN (403). Konten, deren personenbezogene Daten für Sie maskiert sind, lassen sich nicht ändern.
curl -X PATCH https://example.fepli.eu/api/accounts/0191c7b2-4d5e-7f60-8a1b-2c3d4e5f6a05 \
-H "Authorization: Bearer $FEPLI_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mobile": "030 23125 457"}'
/accounts/{uuid}Ein Konto löschen
Löscht ein Konto samt seinen Teilnehmer:innen. Ihre Anmeldungen für Angebote, die noch nicht begonnen haben, werden zurückgezogen. Eine zurückgezogene Anmeldung behält ihren Beitrag (payable), wo er auch bei einer Abmeldung durch die Familie bliebe: nach Ablauf der kostenlosen Stornofrist und dort, wo die Einstellungen Abmeldungen verweigern. Unbezahlte Beiträge verhindern das Löschen nicht, doch danach kann sie niemand mehr in Rechnung stellen. Die Antwort ist 204 No Content. Danach sind das Konto und seine Teilnehmer:innen ein 404.
Einwilligungen, die sie gegeben haben, werden nicht widerrufen und nicht gelöscht. Jede bleibt als eigener Datensatz mit dem Namen der Person in Kraft, bis sie widerrufen wird oder abläuft. Um beim Löschen mit zu widerrufen, widerrufen Sie die Einwilligungen zuerst. Siehe Einwilligungen nach einer Löschung.
Das Konto einer Familie (ROLE_MEMBER) zu löschen, erfordert ROLE_PARTICIPANTS_ADMIN, das Konto eines Admins einen Super-Admin (403).
Ist die Verarbeitung des Kontos oder einer seiner Teilnehmer:innen eingeschränkt (Art. 18 DSGVO), lässt sich das Konto nicht löschen (409).
curl -X DELETE https://example.fepli.eu/api/accounts/0191c7b2-4d5e-7f60-8a1b-2c3d4e5f6a05 \
-H "Authorization: Bearer $FEPLI_TOKEN"
/accounts/{uuid}/pseudonymizeEin Konto pseudonymisieren
Veraltet: Der Endpunkt tut dasselbe wie Ein Konto löschen. Verwenden Sie stattdessen DELETE /accounts/{uuid}.
Die Anfrage hat keinen Body, die Antwort ist 204 No Content.
curl -X POST https://example.fepli.eu/api/accounts/0191c7b2-4d5e-7f60-8a1b-2c3d4e5f6a05/pseudonymize \
-H "Authorization: Bearer $FEPLI_TOKEN"
/accounts/{uuid}/unblock-emailEine E-Mail-Adresse entsperren
Beantragt, dass E-Mails an die Adresse des Kontos wieder zugestellt werden, nachdem sie zurückgekommen sind. Das Admin-Panel tut dasselbe mit E-Mail freischalten. Die Anfrage hat keinen Body.
Die Sperre führt der E-Mail-Anbieter, fepli bildet sie nur ab. fepli bittet den Anbieter, sie aufzuheben, und blockedEmail wird false, sobald der Anbieter es getan hat. Die Antwort ist deshalb 202 Accepted mit dem Konto, das noch "blockedEmail": true zeigen kann: Rufen Sie das Konto einen Moment später noch einmal ab. Lehnt der Anbieter ab, bleibt die Sperre bestehen und mit ihr blockedEmail.
Entsperren Sie eine Adresse erst, wenn die Ursache behoben ist, zum Beispiel ein volles Postfach, das geleert wurde. Eine Adresse, die weiterhin nicht funktioniert, kommt erneut zurück.
Eine Adresse, die nicht gesperrt ist, ergibt ein 409. Der Endpunkt berührt die Anmeldung nicht. Um zu verhindern, dass sich eine Person anmeldet, sperren Sie das Konto mit "disabled": true (Ein Konto ändern).
curl -X POST https://example.fepli.eu/api/accounts/0191c7b2-4d5e-7f60-8a1b-2c3d4e5f6a05/unblock-email \
-H "Authorization: Bearer $FEPLI_TOKEN"
Antwort (202 Accepted, Auszug)
{
"uuid": "0191c7b2-4d5e-7f60-8a1b-2c3d4e5f6a05",
"email": "familie.mueller@example.org",
"blockedEmail": true,
"…": "…"
}