Get Recipe
Get a recipe by id, optionally pinned to a historical version.
?version_id= (omit ⇒ latest) selects the snapshot. The response
body's top-level version_id mirrors the resolved snapshot —
HEAD when omitted, the supplied version otherwise — and the
ETag: W/"\{version_id\}" response header is derived from that
field. Clients can pass the ETag back as If-Match on the next
mutation for optimistic concurrency.
The response body's data.status (active / archived /
deleted) is the recipe lifecycle state.
Available only on API versions declaring the recipe_versioning
capability. Requests without this capability receive a 404.
Path Parameters
Query Parameters
Optional version ULID to pin the response to a historical snapshot. Omit to read the live HEAD on the main branch. 26-character Crockford Base32 (no I, L, O, U).
Response Body
application/json
application/json
curl -X GET "https://api.bettermenu.live/studio/recipes/string"{
"data": {
"id": "string",
"name": "string",
"country": "US",
"regulatory_authority": "US_FDA",
"demographic": "adults_and_children_over_4",
"status": "active",
"created_at": "string",
"updated_at": "string",
"summary": {
"ingredient_count": 0,
"has_nutrition": true,
"is_nutrition_current": true,
"serving_count": 0,
"has_nutrition_facts": true
},
"actions": {
"can_modify": true,
"can_archive": true,
"can_delete": true
}
},
"meta": {
"version": "string",
"request_id": "string",
"timestamp": "string"
},
"version_id": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}