Przejdź do głównej zawartości

Konwencje i błędy

Wszystkie endpointy znajdują się pod https://app.todomino.eu/api. Żądania i odpowiedzi są w formacie JSON (Content-Type: application/json), o ile nie zaznaczono inaczej. Uwierzytelniaj się osobistym tokenem dostępu.

  • Identyfikatory to UUID-y generowane przez serwer.
  • Znaczniki czasu to chwile ISO-8601 w UTC, np. 2026-07-18T09:30:00Z.
  • Terminy wykonania to również chwile; klient webowy zapisuje je jako północ UTC wybranego dnia (2026-08-01T00:00:00Z).
Pole Wartości
status zadania/podzadania PENDING, DONE
priority zadania LOW, NORMAL, HIGH, CRITICAL lub null
role członka OWNER, ADMIN, MEMBER

Zadania mają numer version. Pełne aktualizacje (PUT) muszą odesłać wersję, którą ostatnio odczytałeś; jeśli ktoś inny w międzyczasie zmienił zadanie, API odpowiada 409 Conflict — odczytaj zadanie ponownie i nanieś swoją zmianę jeszcze raz.

Endpointy mutujące zadania, podzadania i listy akceptują opcjonalny nagłówek X-Op-Id z UUID-em wygenerowanym po stronie klienta. Ten sam op id jest wykonywany dokładnie raz: powtórzenia (np. ponowna próba po utraconej odpowiedzi) są potwierdzane tym samym statusem bez ponownego wykonania, więc klienci offline mogą bezpiecznie wysyłać operacje z kolejki. Operacje tworzenia wysyłane z op id muszą dodatkowo nieść w treści wygenerowane po stronie klienta id — klient zna już wtedy każde id, którego potrzebowałoby powtórzenie. Operacje usuwania są z natury idempotentne i nie potrzebują op id.

Status Znaczenie
400 Nieprawidłowe żądanie (brakujące pole, błędna wartość)
401 Brakujący lub nieprawidłowy token / brak zalogowania
403 Uwierzytelniono, ale twoja rola nie pozwala na tę akcję
404 Nie znaleziono — zwracane także dla obszarów roboczych, których nie jesteś członkiem
409 Konflikt: zduplikowana nazwa, niezgodność wersji lub zduplikowany załącznik
413 Osiągnięto limit przestrzeni obszaru roboczego

Odpowiedzi błędów to problem details Springa; kontraktem jest status HTTP, tekst w treści ma charakter informacyjny i może się zmieniać.