# NewCustomerPriceGroupInput

input type

Create-input for a CustomerPriceGroup. The tenant is derived SERVER-SIDE; ⚠ the caption IS the tier name and is REQUIRED at the boundary (the divergence from the optional-caption convention — an unnamed eligibility tier is meaningless; omission refuses VALIDATION/INVALID); the ACTIVE cap (≤ 32 per group) gates the create; priceListId gates in-tenant + ACTIVE + UNSCOPED. Deliberately rate-field-FREE (the anti-price-plane guard — benefits ride group-scoped promotions; the PLANE rides the carried PriceList).

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | Optional: when omitted the per-type default applies — NONE — the divergence: the caption IS the tier name, and an omitted caption refuses VALIDATION/INVALID at the boundary instead of defaulting; when supplied it must be non-blank. |
| `organizationIds` | [ID](/types/#scalars) `[ID!]` | no | The canned-pool selection — ABSENT = every org in the group. |
| `priceListId` | [ID](/types/#scalars) | no | The group-base-pricing carrier. |

## Used by

- [createCustomerPriceGroup](/reference/customer-price-group/createCustomerPriceGroup/)
