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

# Edit Product Ingredients

> Update a product's raw ingredient list text and trigger substance parsing — the programmatic equivalent of the dashboard's ingredients page.

Programmatic equivalent of the dashboard's `products/<gtin>/ingredients/`
page.

## When to use

* A brand owner needs to set or replace the verbatim ingredient-list text
  printed on a product's packaging.

## Auth

`X-API-Key` header or OAuth token with `products:write` scope. The caller
must be an `OWNER`, `MANAGER`, or `EDITOR` on the organization that owns the
GTIN.

## Flow

```
PATCH /products/api/v1/products/{gtin}
```

| Field         | Notes                                                                                                                                                                                     |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ingredients` | Raw ingredient-list text, verbatim from the package. When provided, the parser splits the text into spans and matches each span to a `Substance` record. Omit to skip ingredient parsing. |

Returns `200` with the updated `ProductOut`, `403` for a caller without the
required role, `404` if the GTIN isn't owned by the caller's organization.

## Related skills

This is the same `PATCH` endpoint used by `edit-product-basic-info`,
`edit-product-dimensions`, and `edit-product-classification` — a single
request can combine fields from all four.
