Delete Recipe
Delete a recipe (permanent — irreversible via the API).
Once deleted, the recipe is fully hidden from all endpoints: it no longer
appears in list or detail reads, version history is inaccessible, and
restoreRecipe also returns 404. There is no un-delete — restoreRecipe
is a version rollback for live recipes, not a recovery mechanism for
deleted ones.
Re-deleting an already-deleted recipe returns 404
(recipe_not_found), which clients should treat as a successful
deletion since the recipe is already gone.
Path Parameters
Header Parameters
Optimistic-concurrency token. Pass the version_id returned by the previous mutation (or by GET /recipes/{id}/versions) so the server can reject the request when another writer has advanced the recipe in the meantime. A stale token (header present but HEAD has moved) surfaces HTTP 409 with the current version_id in the response body. An absent token on a versioned recipe surfaces HTTP 412. Only consumed on API versions that declare the recipe_versioning capability — older versions ignore the header.
Response Body
application/json
application/json
curl -X DELETE "https://api.bettermenu.live/studio/recipes/string" \ -H "If-Match: 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": {}
}
]
}