# EditProductInput

input type

Edit-input for a Product. Every field optional, at least ONE required; supplied fields REPLACE, omitted fields are preserved. The parent-style ref is NOT editable (the header — recreate instead). A supplied segment replaces WHOLESALE and may not orphan: every existing non-doomed variant coordinate must remain inside the new segment (CONFLICT/REFERENCED naming the variants). A supplied rrp replaces WHOLESALE but must keep at least 1 entry and — under live OrgStyle selections — must still cover every selecting org defaultCurrency (CONFLICT/CURRENCY_FLOOR, site 2); msrp/tagIds replace wholesale (empty releases — the MF-d precedent).

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | No further notes. |
| `code` | [String](/types/#scalars) | no | No further notes. |
| `segment` | [ProductSegmentEntryInput](/types/ProductSegmentEntryInput/) `[ProductSegmentEntryInput!]` | no | The replacement segment (wholesale) — no-orphan-gated against existing variants. |
| `rrp` | [MoneyEntryInput](/types/MoneyEntryInput/) `[MoneyEntryInput!]` | no | The replacement RRP map (wholesale; at least 1 entry; floor-gated). |
| `msrp` | [MoneyEntryInput](/types/MoneyEntryInput/) `[MoneyEntryInput!]` | no | The replacement MSRP map (wholesale; empty releases). |
| `tagIds` | [ID](/types/#scalars) `[ID!]` | no | The replacement tag set (wholesale; empty releases). |

## Used by

- [updateProduct](/reference/product/updateProduct/)
