> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# UpdateKitItemComponentCommandRequestInput

> Changes a single existing component of an item's kit in place. Fine-grained alternative to replacing the whole component list. Every field is optional - an omitted field keeps its current value, and a request that supplies no field at all succeeds with 200 without changing anything, unless the kit is controlled by a fulfillment network partner, which refuses every request with 409. Which item a component refers to cannot be changed; remove the component and add the other item instead. - Request



**Kind**: `input`

## Fields

**`itemId`**: `ID!` (required)

Unique ID of the kit item whose component is changed.

---

**`componentItemId`**: `ID!` (required)

Unique ID of the component item to change. A kit component has no own single-value identifier - its identity is the pair of kit and component item - so the component item ID identifies the component.

---

**`quantity`**: `Decimal`

How many units of the component item one unit of the kit consumes. When omitted the quantity stays unchanged. Must be at least 0.0000000000001 and less than 1000000000000; null is rejected, because a component cannot exist without a quantity. A component item that is not divisible additionally rejects a fractional quantity.

---

**`comment`**: `String`

Free-text comment on the component. At most 255 characters. When omitted the comment stays unchanged. Send an empty string to remove the comment. An explicit null removes it as well, but the REST schema does not mark this field as nullable, so clients generated from it should send the empty string. A removed comment is stored and returned as an empty string, never null.

---

**`position`**: `Int`

Zero-based position of the component within the kit's component list. When omitted the position stays unchanged; null is rejected. A value outside the list bounds is clamped to the nearest end rather than rejected. Read the Position of the response to learn where it ended up.

---

**`idempotencyKey`**: `String`

Client-supplied idempotency key. When provided, a repeated request with the same key and payload replays the original result instead of re-executing the mutation.

