Zum Inhalt springen

REST-API

MethodePfadBeschreibung
GET/setup-statusPrüft ob Ersteinrichtung nötig ist (öffentlich)
POST/registerNeuen Benutzer registrieren (erster User → Admin)
POST/loginAnmelden, JWT erhalten
GET/meAktuellen Benutzer abrufen
GET/api-keyAktuellen API-Key abrufen (oder null)
POST/api-keyNeuen API-Key generieren (Rate-Limit: 5/h)
DELETE/api-keyAPI-Key widerrufen (Rate-Limit: 5/h)
MethodePfadBeschreibung
GET/Alle Rezepte (Filter, Suche, Pagination)
GET/:idRezeptdetails mit Zutaten, Schritten, Historie
POST/Neues Rezept erstellen (inkl. optionaler Nährwerte)
PUT/:idRezept bearbeiten (inkl. optionaler Nährwerte)
DELETE/:idRezept löschen (inkl. Bild-Cleanup)
POST/import-photoKI-Foto-Import (Multi-Bild)
POST/import-textKI-Text-Import
POST/:id/imageBild hochladen/ersetzen
POST/:id/favoriteFavorit togglen
POST/:id/cookedAls gekocht markieren (mit Vorratsabzug)
POST/:id/shareShare-Link erstellen
GET/:id/revision-checkPrüft Wochenplan-Konflikte vor KI-Überarbeitung
POST/:id/reviseRezept per KI überarbeiten (Rate-Limit: 5/15min)
GET/exportEigene Rezepte als JSON exportieren
POST/importRezepte aus JSON importieren (max. 100)
MethodePfadBeschreibung
GET/Alle Kategorien
POST/Kategorie erstellen
PUT/:idKategorie bearbeiten
DELETE/:idKategorie löschen
MethodePfadBeschreibung
GET/Alle Sammlungen mit Rezeptanzahl
POST/Neue Sammlung erstellen (Name, Icon, Farbe)
PUT/:idSammlung bearbeiten
DELETE/:idSammlung löschen (Rezepte bleiben)
POST/:id/recipesRezepte zur Sammlung hinzufügen
DELETE/:id/recipes/:recipeIdRezept aus Sammlung entfernen
GET/for-recipe/:recipeIdSammlungen eines Rezepts abrufen
MethodePfadBeschreibung
POST/generateWochenplan generieren
GET/Aktuellen Plan abrufen (?weekStart=YYYY-MM-DD)
GET/historyVergangene Pläne
GET/available-weeksWochen mit Plänen + Rezept-Thumbnails
GET/reasoning/:planIdKI-Reasoning für einen Plan abrufen (Polling)
GET/suggestionsRezeptvorschläge für einen Slot (?dayIdx&mealType&limit)
GET/last-week-recipesRezepte der letzten Kalenderwoche
GET/past-week-recipesRezepte einer vergangenen Woche (?weekStart=YYYY-MM-DD oder ?offset=N)
POST/add-recipeRezept manuell hinzufügen (erstellt Plan automatisch)
POST/:planId/entryNeuen Eintrag in einen Slot hinzufügen
PUT/:planId/entry/:entryIdEintrag bearbeiten (Rezept tauschen, Portionen)
POST/:planId/entry/:entryId/moveEintrag per Drag & Drop verschieben
POST/:planId/entry/:entryId/cookedMahlzeit als gekocht markieren
DELETE/:planId/entry/:entryIdEinzelnen Eintrag entfernen
POST/:planId/lockPlan sperren/entsperren (Toggle)
POST/:planId/duplicatePlan auf eine andere Woche kopieren
DELETE/:idPlan löschen
GET/exportWochenpläne als JSON exportieren
POST/importWochenpläne aus JSON importieren
MethodePfadBeschreibung
POST/generateListe aus Wochenplan generieren
GET/listAktive Einkaufsliste
GET/listsAlle Listen (auch vergangene)
PUT/item/:id/checkArtikel abhaken/entabhaken
POST/item/addArtikel manuell hinzufügen
DELETE/item/:idArtikel löschen
PUT/item/:id/rewe-productREWE-Produkt zuordnen
POST/item/:id/to-pantryArtikel in Vorratsschrank verschieben
POST/:listId/completeEinkauf abschließen → Pantry + Auto-Lock
MethodePfadBeschreibung
GET/Alle Vorräte (Filter: ?category=X, ?expiring=true)
POST/Vorrat hinzufügen (Duplikat: Menge addieren)
PUT/:idVorrat bearbeiten
DELETE/:idVorrat entfernen
POST/:id/useMenge verbrauchen
POST/checkVorratsmengen für Zutatenliste prüfen
POST/importVorräte aus CSV/JSON importieren
MethodePfadBeschreibung
GET/search-ingredientProduktsuche (?q=Butter&limit=8)
POST/match-shopping-listGesamte Liste matchen (SSE-Stream)
GET/marketsMarktsuche nach PLZ
GET/preferencesGespeicherte Produkt-Präferenzen
DELETE/preferences/:idEinzelne Präferenz löschen
DELETE/preferencesAlle Präferenzen löschen
GET/cart-scriptWarenkorb-Script generieren
GET/userscriptTampermonkey-Userscript herunterladen
GET/settingsEigene REWE-Markt-Einstellungen
PUT/settingsEigenen REWE-Markt speichern
DELETE/settingsEigenen REWE-Markt entfernen
MethodePfadBeschreibung
POST/connectAccount verbinden
GET/statusVerbindungsstatus prüfen
GET/listsVerfügbare Bring!-Listen
PUT/listAktive Liste wechseln
POST/sendEinkaufsartikel an Bring! senden
DELETE/disconnectVerbindung trennen
MethodePfadBeschreibung
GET/Alle Keyword→Emoji-Mappings
POST/Neues Mapping erstellen 🔒
PUT/:idMapping bearbeiten 🔒
DELETE/:idMapping löschen 🔒
MethodePfadBeschreibung
GET/Alle Aliase des Benutzers
POST/Neuen Alias erstellen
POST/mergeMehrere Zutaten zusammenführen
DELETE/:idAlias löschen
GET/blockedBlockierte Zutaten
POST/blockedZutat(en) blockieren
DELETE/blocked/:idBlockierung aufheben
GET/exportAliase + Blockierungen exportieren
POST/importAliase + Blockierungen importieren
MethodePfadBeschreibung
GET/Alle Haushalte des Benutzers
POST/Neuen Haushalt erstellen
GET/:idHaushalt-Details mit Mitgliedern
PUT/:idHaushalt umbenennen
DELETE/:idHaushalt auflösen (nur letztes Mitglied)
POST/:id/inviteEinladungscode generieren (48h gültig)
POST/joinPer Einladungscode beitreten
DELETE/:id/leaveHaushalt verlassen
DELETE/:id/members/:userIdMitglied entfernen
PUT/:id/defaultAls Standard-Haushalt setzen
GET/:id/activityAktivitätsprotokoll
GET/:id/suggestionsRezeptvorschläge basierend auf Haushalt-Daten
POST/:id/migratePersönliche Daten in Haushalt migrieren
GET/:id/exportHaushalt-Daten als JSON exportieren

Rezept-Sharing (/api/recipes + /api/shared-recipes)

Abschnitt betitelt „Rezept-Sharing (/api/recipes + /api/shared-recipes)“
MethodePfadBeschreibung
POST/api/recipes/:id/shareShare-Link erstellen (7 Tage gültig)
GET/api/recipes/:id/sharesAktive Share-Links eines Rezepts
DELETE/api/recipes/share/:tokenShare-Link widerrufen
GET/api/shared-recipes/:tokenGeteiltes Rezept ansehen (öffentlich, kein Login)
POST/api/recipes/shared/:token/importGeteiltes Rezept importieren (Kopie erstellen)
MethodePfadBeschreibung
GET/:householdIdSSE-Stream für Echtzeit-Updates
GET/:householdId/onlineOnline-Status der Haushaltsmitglieder

Alle Routen erfordern role=admin.

MethodePfadBeschreibung
GET/statsDashboard-Statistiken
GET/usersAlle Benutzer
PUT/users/:idRolle/Status ändern
DELETE/users/:idBenutzer löschen
POST/users/:id/reset-passwordPasswort zurücksetzen
GET/categoriesKategorien mit Nutzungsanzahl
GET/settingsSystemeinstellungen
PUT/settingsEinstellungen aktualisieren
GET/logsAktivitätslog (paginiert)
POST/cleanupVerwaiste Dateien entfernen
GET/exportRezepte exportieren
POST/importRezepte importieren (max. 500)
GET/export/pantryVorräte exportieren
POST/import/pantryVorräte importieren
GET/householdsAlle Haushalte auflisten
DELETE/households/:idHaushalt löschen