Konventionen & Fehler
Basis-URL und Format
Abschnitt betitelt „Basis-URL und Format“Alle Endpunkte liegen unter https://app.todomino.eu/api. Anfragen und
Antworten sind JSON (Content-Type: application/json), sofern nicht anders
angegeben. Authentifiziere dich mit einem persönlichen Zugriffstoken.
Bezeichner und Zeitstempel
Abschnitt betitelt „Bezeichner und Zeitstempel“- IDs sind UUIDs und werden vom Server generiert.
- Zeitstempel sind ISO-8601-Zeitpunkte in UTC, z. B.
2026-07-18T09:30:00Z. - Fälligkeitsdaten sind ebenfalls Zeitpunkte; der Web-Client speichert
sie als Mitternacht UTC des gewählten Tages (
2026-08-01T00:00:00Z).
| Feld | Werte |
|---|---|
Aufgaben-/Unteraufgaben-status |
PENDING, DONE |
Aufgaben-priority |
LOW, NORMAL, HIGH, CRITICAL oder null |
Mitglieds-role |
OWNER, ADMIN, MEMBER |
Optimistic Locking
Abschnitt betitelt „Optimistic Locking“Aufgaben tragen eine version-Nummer. Vollständige Updates (PUT) müssen
die zuletzt gelesene Version zurücksenden; hat jemand anderes die Aufgabe
zwischenzeitlich geändert, antwortet die API mit 409 Conflict — lies die
Aufgabe erneut und wende deine Änderung noch einmal an.
Offline-Operationen
Abschnitt betitelt „Offline-Operationen“Mutierende Endpunkte für Aufgaben, Unteraufgaben und Listen akzeptieren
einen optionalen X-Op-Id-Header mit einer clientseitig generierten UUID.
Dieselbe Op-Id wird genau einmal ausgeführt: Wiederholungen (z. B. ein
erneuter Versuch nach einer verlorenen Antwort) werden mit demselben Status
bestätigt, ohne erneut ausgeführt zu werden — Offline-Clients können
gepufferte Operationen so gefahrlos übertragen. Erstell-Operationen, die
mit einer Op-Id gesendet werden, müssen zusätzlich eine clientseitig
generierte id im Body tragen — der Client kennt so bereits jede Id, die
eine Wiederholung brauchen würde. Lösch-Operationen sind von Natur aus
idempotent und brauchen keine Op-Id.
| Status | Bedeutung |
|---|---|
400 |
Fehlerhafte Anfrage (fehlendes Feld, ungültiger Wert) |
401 |
Fehlendes oder ungültiges Token / nicht angemeldet |
403 |
Authentifiziert, aber deine Rolle erlaubt diese Aktion nicht |
404 |
Nicht gefunden — wird auch für Arbeitsbereiche zurückgegeben, in denen du kein Mitglied bist |
409 |
Konflikt: doppelter Name, Versionskonflikt oder doppelter Anhang |
413 |
Speicherlimit des Arbeitsbereichs erreicht |
Fehlerantworten sind Spring Problem Details; der HTTP-Status ist der Vertrag, der Text im Body ist informativ und kann sich ändern.
