Recipe endpoints
The recipe API lets you create, read, update, and search recipes in your library programmatically.
List recipes
GET /api/recipesQuery parameters:
| Parameter | Type | Description |
|---|---|---|
q | string | Full-text search across title, description, ingredients, and notes. |
dietary_tags | string | Comma-separated dietary tags to filter by. |
cuisine | string | Filter by cuisine. |
meal_type | string | Filter by meal type. |
max_cook_time_minutes | integer | Maximum cook time in minutes. |
season | string | Filter by season. |
collection_id | string | Filter to a specific collection. |
status | string | Filter by status: active, draft, or archived. |
email_ready | boolean | Filter by email-ready flag. |
sort | string | Sort field: created_at, updated_at, engagement_score, or title. |
order | string | Sort order: asc or desc. |
page | integer | Page number. |
per_page | integer | Results per page. |
Get a recipe
GET /api/recipes/{id}Optional query parameter: servings — returns a scaled view of the recipe with adjusted ingredient quantities.
Create a recipe
POST /api/recipesContent-Type: application/jsonSee the recipe data model for the full field reference.
Update a recipe
PATCH /api/recipes/{id}Content-Type: application/jsonPartial updates are supported. Only include the fields you want to change.
Delete (archive) a recipe
DELETE /api/recipes/{id}This archives the recipe (soft delete). It does not remove it from existing products.