# NewInventoryItemInput

input type

Create-input for an InventoryItem. The tenant (org group) is derived SERVER-SIDE from the principal; variantId (rides the header) and logicalFacilityId are tenant-scoped server-side and must both be ACTIVE (CONFLICT/REF_STATE else); styleType is birth-stamped from the variant spine; the buckets are born zero x5 and wmaCost absent — quantities move ONLY via the movement ops.

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | Optional: when omitted the per-type default applies — the junction coordinate `<variant caption> @ <logical facility caption>`; when supplied it must be non-blank. |
| `variantId` | [ID](/types/#scalars) `ID!` | yes | The stock-bearing Variant id. |
| `logicalFacilityId` | [ID](/types/#scalars) `ID!` | yes | The LogicalFacility id (the other junction leg) — immutable after birth. |
| `controlClass` | [String](/types/#scalars) | no | The control class (non-controlled \| lot-controlled \| serially-controlled) — defaulted to non-controlled when omitted (STRICT). |

## Used by

- [createInventoryItem](/reference/inventory-item/createInventoryItem/)
