Get Recipe Ingredients
Get all ingredients in a recipe in order with their resolved names, quantities, and positions.
The top-level version_id mirrors the recipe's HEAD ULID on the
main branch — clients can pass it back as If-Match on the
next mutation for optimistic concurrency. Accepts ?version_id= to
read ingredients at a specific historical version snapshot.
Available only on API versions declaring the recipe_versioning
capability. Requests without this capability receive a 404.
Related endpoints:
- setRecipeIngredients — save pre-resolved ingredients directly
recipe_id*Recipe Idversion_id?|Leave out for the current recipe. To read an earlier version, pass a version_id from the recipe's version list.
Successful Response
application/json- response
Response for get recipe ingredients endpoint.
ingredients_entry_method?|How this recipe's ingredients are entered: 'resolution' (born from paste->parse) or 'form' (structured search->pick). Null only for a recipe with no ingredient write yet.
data*array<||>Ingredient list for this recipe.
meta*Response metadata.
version_id?|Version committed for this mutation; pass on the next request as If-Match for optimistic concurrency. Present only on versions declaring the recipe_versioning capability.
curl -X GET 'https://api.bettermenu.live/studio/recipes/string/ingredients'{ "ingredients_entry_method": "resolution", "data": [ { "id": "string", "position": 0, "selected_ingredient_id": "string", "selected_ingredient_name": "string", "display_name": "string", "metric_quantity_g": 0, "search_provenance": "system_matched", "unit_conversion_provenance": "identity", "source": "resolution", "original_text": "string", "parsed_quantity": 0, "parsed_unit": "string", "parsed_ingredient_name": "string", "portion_id": "string" } ], "meta": { "version": "string", "request_id": "string", "timestamp": "string" }, "version_id": "string"}