> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fire.rest/llms.txt
> Use this file to discover all available pages before exploring further.

# Update recipe

> Updates a DRAFT recipe. Partial update — only the fields you send are changed. Cannot update a PUBLISHED or ARCHIVED recipe.

<ParamField header="x-api-key" type="string" required>
  BOH API key with `recipes:write` scope.
</ParamField>

<ParamField path="vendorId" type="string" required>
  Vendor UUID.
</ParamField>

<ParamField path="recipeId" type="string" required>
  Recipe UUID. Must be in `DRAFT` status.
</ParamField>

<ParamField body="recipe_name" type="string">
  New display name.
</ParamField>

<ParamField body="store_id" type="string">
  Store scoping UUID. Set `null` to make it global.
</ParamField>

<ParamField body="external_product_id" type="string">
  Updated POS product ID.
</ParamField>

<ParamField body="external_variant_id" type="string">
  Updated POS variant ID.
</ParamField>

<ParamField body="output_item_id" type="string">
  Updated produced item UUID.
</ParamField>

<ParamField body="recipe_code" type="string">
  Updated short code.
</ParamField>

<ParamField body="recipe" type="object">
  Updated recipe content with `lines[]` (replaces entire lines array if provided).
</ParamField>

<ParamField body="external_user_id" type="string">
  Actor for audit trail.
</ParamField>

<RequestExample>
  ```json theme={null}
  {
    "recipe_name": "Classic Burger v2",
    "recipe": {
      "lines": [
        {
          "consume_by": "ITEM",
          "item_id": "itm_beef_premium_01...",
          "qty_base": 200,
          "base_unit_id": "unit_g_01..."
        }
      ]
    },
    "external_user_id": "user_chef_99"
  }
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "rec_01j5k...",
    "status": "DRAFT",
    "recipe_name": "Classic Burger v2",
    "version": 1
  }
  ```

  ```json 422 theme={null}
  {
    "error": {
      "kind": "recipe_not_editable",
      "message": "Only DRAFT recipes can be updated"
    }
  }
  ```
</ResponseExample>
