GET/api/v1/recipes
Die Rezepte des Betriebs lesen — ohne Zutaten, dafür seitenweise und schnell.
Rechte
recipes:readPlan-Merkmal warenwirtschaft — fehlt es dem Betrieb, antwortet die Route mit 402 plan_upgrade_required.
Abfrageparameter
| Name | Typ | Bedeutung |
|---|---|---|
q | string, 2–200 Zeichen | Volltext über `title` und `subtitle`. NICHT über die Zutaten — das wäre ein Umweg zum Warenstamm an den Rechten vorbei. |
active | true | false | Nur Rezepte in Verwendung bzw. nur die stillgelegten. |
ids | Kommaliste, höchstens 100 UUIDs | Genau diese Rezepte. Duplikate fallen weg. |
updatedAtFrom | ISO-8601 | Nur seit diesem Zeitpunkt geänderte Rezepte — der Filter für den Abgleich. |
updatedAtTo | ISO-8601 | Obergrenze des Änderungsfensters. |
sort | title | updatedAt | createdAtVorgabe: title | Sortierfeld. Für einen Abgleich `updatedAt`. |
dir | asc | descVorgabe: asc | Richtung, über alle Seiten einer Blätterung gleich zu halten. |
limit | integer 1–200Vorgabe: 50 | Zeilen je Seite. |
cursor | undurchsichtiger Zeiger | `nextCursor` der vorigen Antwort, unverändert. |
includeTotal | true | falseVorgabe: false | Ergänzt `total` über alle Treffer. |
Mögliche Fehler
- validation — Unbekannter Parameter, `q` unter zwei Zeichen, `limit` über 200 — oder ein Cursor aus einer anderen Abfrage.
- forbidden — Dem Schlüssel fehlt `recipes:read`.
- plan_upgrade_required — Der Plan des Betriebs enthält die Warenwirtschaft nicht.
- Flacher Umschlag: `data`, `nextCursor`, `hasMore`, `limit`, optional `total`.
- Die Zeilen tragen `ingredientCount`, `stepCount` und `productCount` — aber weder `steps` noch `ingredients`.