# NewProductInput

input type

Create-input for a Product. The tenant (org group) is derived SERVER-SIDE from the principal; styleId (the parent Style — rides the header) is tenant-scoped server-side and must be active (STRICT); every segment dimension must be in the style scheme with values of that group, ACTIVE at declaration; rrp is REQUIRED (at least 1 entry) and — when the style has live OrgStyle selections — must cover every selecting org defaultCurrency (CONFLICT/CURRENCY_FLOOR, site 2).

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | Optional: when omitted the per-type default applies — the merchant code when given, else 'Product'; when supplied it must be non-blank. |
| `styleId` | [ID](/types/#scalars) `ID!` | yes | The parent Style id. |
| `segment` | [ProductSegmentEntryInput](/types/ProductSegmentEntryInput/) `[ProductSegmentEntryInput!]` | no | The declared segment (omit or empty = the WHOLE style; unique dimensions; values in-scheme + of-the-group + active). |
| `rrp` | [MoneyEntryInput](/types/MoneyEntryInput/) `[MoneyEntryInput!]!` | yes | The RRP map — REQUIRED, at least 1 entry. |
| `msrp` | [MoneyEntryInput](/types/MoneyEntryInput/) `[MoneyEntryInput!]` | no | The optional MSRP map. |
| `tagIds` | [ID](/types/#scalars) `[ID!]` | no | The Tag set (at most 64, unique) — each tenant-scoped + active. |
| `code` | [String](/types/#scalars) | no | No further notes. |

## Used by

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