BETTERMENU
Studio

List Recipe Servings

List all active servings for a recipe.

Returns every serving defined on the recipe with its computed size, dual-column label status, and nutrition-facts availability flags. 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, or use it to pin a follow-up getRecipeServing call to the same snapshot. Accepts ?version_id= to read the servings list at a historical version.

Available only on API versions declaring the recipe_versioning capability. Requests without this capability receive a 404.

GET
/studio/recipes/{recipe_id}/servings

Path Parameters

recipe_id*Recipe Id

Query Parameters

version_id?|

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/servings"
{
  "data": [
    {
      "id": "string",
      "serving_size_type": "string",
      "serving_size": {
        "household_measure": "string",
        "metric_amount": 0,
        "metric_unit": "string",
        "servings_per_container": 0
      },
      "racc_inputs": {
        "category_id": "string",
        "target_audience": "string",
        "unit_type": "string",
        "unit_weight_g": "string",
        "declared_serving_units": 0
      },
      "dual_column_status": "string",
      "has_per_serving_nutrition_facts": true,
      "has_per_container_nutrition_facts": true
    }
  ],
  "meta": {
    "version": "string",
    "request_id": "string",
    "timestamp": "string"
  },
  "version_id": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}