Veranstalter-Einladungen
Eine Einladung bittet jemanden per E-Mail, Mitglied eines Veranstalter-Profils zu werden oder ein neues Veranstalter-Profil zu registrieren. In der API ist sie eine host-invitation. Die E-Mail enthält einen persönlichen Link. Mit ihm richtet die Person ihren Zugang ein. Die API sendet, listet, versendet erneut und zieht Einladungen zurück, wie es das Admin-Panel mit Einladen in der Liste der Veranstalter:innen, Konto einladen in der Zeile eines Veranstalter-Profils und Mitglied einladen im Reiter Team eines Veranstalter-Profils tut.
- GET
/host-invitationsAlle Einladungen abrufen - GET
/host-invitations/{uuid}Eine Einladung abrufen - POST
/hosts/{uuid}/invitationsEin Mitglied einladen - POST
/host-invitationsEine neue Veranstalter:in einladen - POST
/host-invitations/{uuid}/resendEine Einladung erneut senden - DELETE
/host-invitations/{uuid}Eine Einladung zurückziehen
Admins sehen jede Einladung. Veranstalter:innen sehen die Einladungen in die Veranstalter-Profile, deren Mitglied sie sind, und dürfen diese senden, erneut senden und zurückziehen. Einladungen, ein neues Veranstalter-Profil zu registrieren, sind nur für Admins.
Um ein bestehendes Konto sofort und ohne E-Mail zum Mitglied eines Veranstalter-Profils zu machen, verwendet ein Admin stattdessen Ein Mitglied hinzufügen.
Das Modell der Einladung
- Name
uuid- Typ
- string
- Beschreibung
Die Kennung der Einladung.
- Name
email- Typ
- string
- Beschreibung
Die eingeladene Adresse, in Kleinbuchstaben.
- Name
host- Typ
- reference
- Beschreibung
Das Veranstalter-Profil, dessen Mitglied die Person wird.
nullbei einer Einladung, ein neues Veranstalter-Profil zu registrieren.
- Name
invitedBy- Typ
- reference
- Beschreibung
Das Konto, das die Einladung gesendet hat.
null, wenn ein Service-Account sie gesendet hat oder das Konto inzwischen gelöscht wurde.
- Name
status- Typ
- string
- Beschreibung
open(gesendet, noch nicht beantwortet, noch gültig),acceptedoderexpired.
- Name
createdAt- Typ
- timestamp
- Beschreibung
Wann die Einladung zum ersten Mal gesendet wurde.
- Name
expiresAt- Typ
- timestamp
- Beschreibung
Wann der Link nicht mehr funktioniert. Wie lange eine Einladung gültig bleibt, legt jede Installation fest: 14 Tage, sofern nichts anderes eingestellt ist, und höchstens 30 Tage. Wird die Einladung erneut gesendet, verschiebt sich dieser Zeitpunkt nach hinten.
- Name
acceptedAt- Typ
- timestamp
- Beschreibung
Wann die Person dem Link gefolgt ist und beigetreten ist.
/host-invitationsAlle Einladungen abrufen
Liefert eine Seite mit Einladungen, die neueste zuerst, unabhängig von ihrem Status. Das Admin-Panel zeigt nur die offenen. Filtern Sie mit status=open, um dieselbe Liste zu erhalten.
Optionale Filter
- Name
host- Typ
- string
- Beschreibung
Nur Einladungen in dieses Veranstalter-Profil (UUID oder Alias).
- Name
status- Typ
- string
- Beschreibung
Nur Einladungen in diesem Status:
open,acceptedoderexpired.
- Name
email- Typ
- string
- Beschreibung
Nur Einladungen an genau diese Adresse.
- Name
page, itemsPerPage- Typ
- integer
- Beschreibung
Siehe Paginierung.
curl "https://example.fepli.eu/api/host-invitations?host=kunstschule-elmsbrueck&status=open" \
-H "Authorization: Bearer $FEPLI_TOKEN"
Antwort
[
{
"uuid": "01995e3a-7b4c-7d8e-9f0a-1b2c3d4e5f61",
"email": "l.wagner@kunstschule.example.fepli.eu",
"host": {
"uuid": "0193c9d1-2e3f-7a4b-8c5d-6e7f8a9b0c18",
"name": "Kunstschule Elmsbrück",
"alias": "kunstschule-elmsbrueck"
},
"invitedBy": {
"uuid": "0193c9e4-8f9a-7b0c-9d1e-2f3a4b5c6d21",
"name": "Mira Schneider"
},
"status": "open",
"createdAt": "2026-09-15T10:12:44+02:00",
"expiresAt": "2026-09-29T10:12:44+02:00",
"acceptedAt": null
}
]
/host-invitations/{uuid}Eine Einladung abrufen
Liefert eine Einladung. Eine Einladung, die Sie nicht sehen dürfen, ist ein 404. Für Veranstalter:innen sind das alle Einladungen in andere Veranstalter-Profile und alle Einladungen, ein neues Veranstalter-Profil zu registrieren.
curl https://example.fepli.eu/api/host-invitations/01995e3a-7b4c-7d8e-9f0a-1b2c3d4e5f61 \
-H "Authorization: Bearer $FEPLI_TOKEN"
/hosts/{uuid}/invitationsEin Mitglied einladen
Lädt jemanden ein, Mitglied eines Veranstalter-Profils zu werden. fepli sendet der Person in Ihrem Namen die Benachrichtigung Einladung zur Mitarbeit mit einem persönlichen Link. Der Standardtext lautet „Sie wurden von Mira Schneider eingeladen …“. Folgt die Person dem Link, meldet sie sich an oder registriert sich und wird Mitglied, mit Zugriff auf alles, was das Veranstalter-Profil hat. Admins finden die E-Mail unter den gesendeten Nachrichten.
Einladen dürfen Admins und die Mitglieder des Veranstalter-Profils. Alle anderen erhalten ein 403.
- In wessen Namen. Mit einem persönlichen Token nennt die E-Mail Sie. Mit einem Service-Account nennt sie den Service-Account, wo der Text die einladende Person nennt („Sie wurden von Support-Agent eingeladen …“). Geben Sie ihm deshalb einen Namen, der der Empfänger:in etwas sagt. Das
invitedByder Einladung bleibt dannnull. - Einmal pro Adresse. Ist eine Einladung an diese Adresse in dieses Veranstalter-Profil noch offen, wird sie erneuert statt doppelt angelegt: dieselbe
uuidmit einem neuenexpiresAt, und die E-Mail wird erneut gesendet. Ist die frühere abgelaufen, wird eine neue Einladung angelegt. - Ob die Adresse schon ein fepli-Konto hat, spielt keine Rolle: In beiden Fällen wird die Person Mitglied des Veranstalter-Profils.
Eine ungültige Adresse ist ein 422. Eine Adresse, die schon zu einem Mitglied dieses Veranstalter-Profils gehört (ohne Beachtung der Groß- und Kleinschreibung), ist ein 409.
Pflichtattribute
- Name
email- Typ
- string
- Beschreibung
Die Adresse, die eingeladen wird.
curl -X POST https://example.fepli.eu/api/hosts/0193c9d1-2e3f-7a4b-8c5d-6e7f8a9b0c18/invitations \
-H "Authorization: Bearer $FEPLI_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "l.wagner@kunstschule.example.fepli.eu"}'
Antwort (201 Created)
{
"uuid": "01995e3a-7b4c-7d8e-9f0a-1b2c3d4e5f61",
"email": "l.wagner@kunstschule.example.fepli.eu",
"host": {
"uuid": "0193c9d1-2e3f-7a4b-8c5d-6e7f8a9b0c18",
"name": "Kunstschule Elmsbrück",
"alias": "kunstschule-elmsbrueck"
},
"invitedBy": {
"uuid": "0193c9e4-8f9a-7b0c-9d1e-2f3a4b5c6d21",
"name": "Mira Schneider"
},
"status": "open",
"createdAt": "2026-09-15T10:12:44+02:00",
"expiresAt": "2026-09-29T10:12:44+02:00",
"acceptedAt": null
}
/host-invitationsEine neue Veranstalter:in einladen
Lädt jemanden ein, ein neues Veranstalter-Profil zu registrieren. Nur für Admins. fepli sendet an eine Adresse die E-Mail, die auch Einladen in der Liste der Veranstalter:innen im Admin-Panel sendet, mit einem persönlichen Link. Folgt die Person ihm, gibt sie die Angaben des Veranstalter-Profils ein und richtet ihren Zugang ein. Erst dann entstehen das Veranstalter-Profil und sein Konto. Die E-Mail wird im Hintergrund gesendet und erscheint unter den gesendeten Nachrichten.
Ohne subject und text verwendet die E-Mail den Standardtext des Admin-Panels. Er lädt die Empfänger:in ein, Angebote für die Saison einzureichen, und ist mit sender unterschrieben: Ihrem Namen oder dem Namen des Service-Accounts.
- Ist eine Einladung an diese Adresse noch offen, wird sie erneuert (dieselbe
uuid, neuesexpiresAt), und die E-Mail wird erneut gesendet. - Eine Adresse, deren Konto schon Mitglied eines Veranstalter-Profils ist, ist ein
409: Die Registrierung würde ein zweites Veranstalter-Profil anlegen. Laden Sie die Person stattdessen als Mitglied eines anderen Veranstalter-Profils ein. Ein Konto ohne Veranstalter-Profil ist in Ordnung. Die Registrierung fügt ihm das neue Veranstalter-Profil hinzu. - Verlangt die Saison von Veranstalter:innen, eine Vertraulichkeitserklärung zu unterschreiben, müssen Sie sie unterschrieben haben, bevor Sie Veranstalter:innen zu dieser Saison anschreiben, wie im Admin-Panel. Sonst ist die Anfrage ein
409. Ein Service-Account kann die Erklärung nicht unterschreiben, seine Anfrage ist deshalb ebenfalls ein409. Senden Sie die Einladung dann aus dem Admin-Panel oder mit dem persönlichen Token einer Person aus Ihrem Team, die sie unterschrieben hat. - Eine ungültige Adresse, eine unbekannte
editionoder eintextohne{{ inviteLink }}ist ein422.
Pflichtattribute
- Name
email- Typ
- string
- Beschreibung
Die Adresse, die eingeladen wird.
Optionale Attribute
- Name
edition- Typ
- string
- Beschreibung
Die Saison, um die es in der Einladung geht (UUID oder Alias). Standard ist die Saison, deren Phase
host_editing_stageaktiv ist.
- Name
subject- Typ
- string
- Beschreibung
Die Betreffzeile, bis zu 255 Zeichen. Standard: „Einladung: edition – jetzt Angebote einreichen“.
- Name
text- Typ
- string
- Beschreibung
Die Nachricht in Markdown. HTML wird entfernt. Sie muss
{{ inviteLink }}enthalten, das zum persönlichen Link der Empfänger:in wird. Sie darf{{ edition.name }}und{{ sender }}verwenden. Der Standardtext nennt, wie viele Tage der Link gültig ist, so wie Ihre Installation es festlegt.
curl -X POST https://example.fepli.eu/api/host-invitations \
-H "Authorization: Bearer $FEPLI_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "info@tanzschule.example.fepli.eu",
"edition": "herbstferien-2026",
"text": "Guten Tag,\n\nhaben Sie Lust, in den Herbstferien einen Schnupperkurs anzubieten? Hier legen Sie Ihren Zugang an:\n\n{{ inviteLink }}\n\nViele Grüße\n{{ sender }}"
}'
Antwort (201 Created)
{
"uuid": "01995e41-2c3d-7e4f-8a5b-6c7d8e9f0a72",
"email": "info@tanzschule.example.fepli.eu",
"host": null,
"invitedBy": {
"uuid": "0190a1b2-c3d4-7e5f-8a6b-7c8d9e0f1a22",
"name": "Sabine Krüger"
},
"status": "open",
"createdAt": "2026-09-15T11:03:09+02:00",
"expiresAt": "2026-09-29T11:03:09+02:00",
"acceptedAt": null
}
/host-invitations/{uuid}/resendEine Einladung erneut senden
Sendet die E-Mail einer Einladung erneut und verschiebt ihr expiresAt nach hinten, wie Erneut senden im Admin-Panel. Die Anfrage hat keinen Body. Antwortet mit 200 OK und der Einladung.
- Einladungen, Mitglied zu werden, folgen den Regeln für Ein Mitglied einladen: Sie müssen das Veranstalter-Profil ändern dürfen, und die E-Mail geht in Ihrem Namen (oder dem des Service-Accounts) hinaus. Ist die Person inzwischen Mitglied geworden, ist die Anfrage ein
409. - Einladungen, ein neues Veranstalter-Profil zu registrieren, sind nur für Admins. Es geht der Standardtext hinaus, auch wenn die erste E-Mail einen eigenen Betreff oder Text hatte, und zwar zu der Saison, deren Phase
host_editing_stageaktiv ist. Es gelten dieselben409wie beim Einladen.
War die Einladung schon abgelaufen, wird eine neue angelegt und mit eigener uuid zurückgegeben. Die abgelaufene bleibt in der Liste. Eine angenommene Einladung lässt sich nicht erneut senden (409).
curl -X POST https://example.fepli.eu/api/host-invitations/01995e3a-7b4c-7d8e-9f0a-1b2c3d4e5f61/resend \
-H "Authorization: Bearer $FEPLI_TOKEN"
Antwort (Auszug)
{
"uuid": "01995e3a-7b4c-7d8e-9f0a-1b2c3d4e5f61",
"status": "open",
"expiresAt": "2026-10-06T09:40:02+02:00",
"…": "…"
}
/host-invitations/{uuid}Eine Einladung zurückziehen
Zieht eine Einladung zurück: Sie wird gelöscht und im Admin-Panel nicht mehr als eingeladen angezeigt. Antwortet mit 204 No Content. Eine Einladung zurückziehen dürfen dieselben Personen, die sie erneut senden dürfen.
Die E-Mail lässt sich nicht zurückholen, ihr Link funktioniert aber nicht mehr: Ein Einladungslink gilt nur, solange seine Einladung offen ist, und nur einmal. Wer einem zurückgezogenen, abgelaufenen oder schon verwendeten Link folgt, sieht „Diese Einladung gilt nicht mehr“.
Eine angenommene Einladung lässt sich nicht zurückziehen (409).
curl -X DELETE https://example.fepli.eu/api/host-invitations/01995e3a-7b4c-7d8e-9f0a-1b2c3d4e5f61 \
-H "Authorization: Bearer $FEPLI_TOKEN"