> ## 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.

# MoveBillOfMaterialsChildComponentCommandRequestInput

> Moves a child component of a bill of materials to another position within its parent component or to another parent component of the same bill of materials. Without "parentId" the child component stays in its parent component and "sortIndex" is required. With "parentId" the child component moves to that parent component: to the position "sortIndex", or after its last child component when "sortIndex" is omitted. Errors: the request is invalid; SortIndexRequiredWithoutParentId (neither "parentId" nor "sortIndex" was sent); BillOfMaterialsComponentNotFound (the child component or the new parent component was not found); ParentComponentNotInSameBillOfMaterials (the new parent component belongs to another bill of materials); BillOfMaterialsReadOnly (the bill of materials cannot be changed). - Request



**Kind**: `input`

## Fields

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

The ID of the child component to move.

---

**`parentId`**: `ID`

The ID of the new parent component of the same bill of materials. When omitted, the child component stays in its parent component.

---

**`sortIndex`**: `Int`

The new position of the child component within its parent component. Required when "parentId" is omitted; when "parentId" is sent and this is omitted, the child component is appended after the last child component of the new parent component.

---

**`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.

