Zum Inhalt springen

API: Konto

Alle Endpunkte in diesem Abschnitt beziehen sich auf den aktuell angemeldeten Nutzer.

GET /api/me
{
"id": "019f7462-ac2a-73e3-ab40-be2e43f943f9",
"email": "greta@example.com",
"firstName": "Greta",
"lastName": "Lengl",
"avatarUrl": "/api/avatars/019f7462-ac2a-73e3-ab40-be2e43f943f9?v=3",
"locale": "de",
"createdAt": "2025-11-02T09:14:52Z"
}

createdAt ist der Zeitpunkt, zu dem das Konto erstellt wurde.

PUT /api/me/profile
{ "firstName": "Greta", "lastName": "Lengl" }

Liefert 204. Fehler: 400, wenn eines der Felder leer ist.

PUT /api/me/password
{ "currentPassword": "…", "newPassword": "…" }

Liefert 204; alle anderen Sitzungen werden abgemeldet. Fehler: 403, wenn das aktuelle Passwort falsch ist, 400, wenn das neue Passwort ungültig ist (8–72 Zeichen).

POST /api/me/email
{ "newEmail": "new@example.com" }

Liefert in jedem Fall 202 — der 6-stellige Bestätigungscode wird nur verschickt, wenn die Adresse tatsächlich nutzbar ist (Anti-Enumeration: die Antwort verrät nie, ob eine Adresse bereits vergeben ist). Fehler: 400 bei einer fehlerhaften Adresse.

POST /api/me/email/confirm
{ "code": "123456" }

Liefert 204: Die E-Mail-Adresse wird geändert und alle anderen Sitzungen werden abgemeldet. Fehler: 400 bei einem ungültigen oder abgelaufenen Code (Codes laufen nach 15 Minuten ab).

PUT /api/me/push-tokens
{ "platform": "IOS", "token": "<raw APNs device token>" }

Liefert 204. Idempotent — die Registrierung eines bereits bekannten Tokens ist ein No-op, und ein zuletzt von einem anderen Konto registriertes Token wandert zum Aufrufer (ein weitergegebenes Gerät darf nie die Benachrichtigungen von jemand anderem erhalten). Plattformen: IOS und ANDROID (FCM). Fehler: 400 bei einem leeren oder zu großen Token.

DELETE /api/me/push-tokens/{token}

Liefert 204, auch wenn nichts gefunden wurde. Nur die eigene Registrierung des Aufrufers wird entfernt. Geräte-Tokens werden außerdem automatisch bereinigt, wenn Apple sie als tot meldet, und zusammen mit dem Konto gelöscht.

GET /api/me/export

Liefert ein JSON-Dokument mit den Kontodaten und allen Inhalten, die der Nutzer erstellt hat, ausgeliefert als Download (Content-Disposition: attachment) — DSGVO-Datenübertragbarkeit.

POST /api/me/delete
{ "password": "…" }

Liefert 204 — das Konto wird dauerhaft gelöscht: Der persönliche Arbeitsbereich, Anhänge und das Profil werden gelöscht; Aufgaben, die der Nutzer in den geteilten Arbeitsbereichen anderer erstellt hat, bleiben erhalten und werden einem reservierten „Inaktiver Nutzer“ zugeschrieben. Fehler: 403, wenn das Passwort falsch ist, 409, solange der Nutzer noch geteilte Arbeitsbereiche besitzt (lösche sie zuerst oder übertrage die Eigentümerschaft).