BETTERMENU
Studio

Create Recipe

Create a new recipe — start a new recipe from scratch.

④ of 8 | Next: ⑤ updateRecipeIngredients Required before ⑤ — call anytime before committing ingredients.

Use this to answer: "start a new recipe", "create a recipe", "add a recipe to my account"

Only name is required. Country defaults to US and demographic to adults_and_children_over_4. Recipe name must be unique within the organization. Country determines the regulatory authority (US -> US_FDA).

POST
/studio/recipes

Authorization

BearerAuth
AuthorizationBearer <token>

JWT Bearer token authentication

In: header

Request Body

application/json

name*string

Recipe name

Length1 <= length <= 255
country?string

Country whose regulatory framework applies. Determines which regulatory authority and demographic groups are valid. Currently only US (→ US_FDA) is supported; additional countries coming soon.

Default"US"
demographic?string

Demographic group for %DV (percent daily value) calculations. Must be valid for the country's regulatory authority. US_FDA demographics: adults_and_children_over_4 (default), infants_through_12_months, children_1_3_years, pregnant_and_lactating_women.

Default"adults_and_children_over_4"
Value in"adults_and_children_over_4" | "infants_through_12_months" | "children_1_3_years" | "pregnant_and_lactating_women"

Response Body

application/json

application/json

curl -X POST "https://loading/studio/recipes" \  -H "Content-Type: application/json" \  -d '{    "name": "Chocolate Chip Cookies"  }'
{
  "data": {
    "id": "string",
    "org_id": "string",
    "name": "string",
    "country": "US",
    "regulatory_authority": "US_FDA",
    "demographic": "adults_and_children_over_4",
    "status": "draft",
    "ingredient_count": 0,
    "has_nutrition": true,
    "created_at": "string",
    "updated_at": "string",
    "actions": {
      "can_modify": true,
      "can_publish": true,
      "can_archive": true,
      "can_delete": true
    }
  },
  "meta": {
    "version": "string",
    "request_id": "string",
    "timestamp": "string"
  }
}
Empty
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}