# EditPurchasePackInput

input type

Edit-input for a PurchasePack. Every field optional, at least ONE required; supplied fields REPLACE, omitted fields are preserved (no clearing semantic). unitsPerPack is NOT editable (IMMUTABLE at birth, lean 2 — the pack essence; a different count = doom + create), nor is the parent Variant ref (the header). A supplied code re-runs the sibling dup-gate; every edit re-gates the parent Variant ACTIVE (the OVI parent-enablement stance); the dims trio comes all-or-none.

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | No further notes. |
| `code` | [String](/types/#scalars) | no | The replacement label — re-runs the sibling dup-gate (naming a LIVE holder refuses). |
| `packGtin` | [String](/types/#scalars) | no | No further notes. |
| `nominalWeightKg` | [String](/types/#scalars) | no | No further notes. |
| `lengthCm` | [String](/types/#scalars) | no | No further notes. |
| `widthCm` | [String](/types/#scalars) | no | No further notes. |
| `heightCm` | [String](/types/#scalars) | no | No further notes. |

## Used by

- [updatePurchasePack](/reference/purchase-pack/updatePurchasePack/)
