---
title: "Creates a new bill of materials for a production item, including its components."
method: POST
path: "/v2/production-items/{productionItemId}/bills-of-materials/create"
tags: ["CreateCommand"]
---

# Creates a new bill of materials for a production item, including its components.

`POST /v2/production-items/{productionItemId}/bills-of-materials/create`

## Path parameters

- `productionItemId` string, uuid, required — Der Schlüssel eines Produktionsartikels.

## Headers

- `x-tenant-id` string, uuid, required
- `x-runas` string
- `x-companyid` string

## Request body

- JTLPPSProductionItemsPublicApiDataTransferObjectsV2CreateCreateBillOfMaterialsCommandRequest — Creates a new bill of materials for a production item, including its components. - Request
  - `productionItemId` string, uuid — Der Schlüssel eines Produktionsartikels.
  - `input` JTLPPSProductionItemsPublicApiDataTransferObjectsV2CreateCreateBillOfMaterialsInput — Represents the input for creating a bill of materials as part of a production item.
    - `name` string — The name of the bill of materials.
    - `description` string — An optional description of the bill of materials.
    - `componentPostingsShelfLifeEndDateRequirements` 0 | 1 — 0 = None, 1 = Identical
    - `componentPostingsBatchNumberRequirements` 0 | 1 — 0 = None, 1 = Identical
    - `shelfLifeEndDateGenerationMode` 0 | 1 | 2 — 0 = Earliest, 1 = Latest, 2 = ProductionDate
    - `additionalShelfLifeEndDateTime` string, duration — A time span that is added when calculating the shelf life end date of the produced item after completing a lot. Required when ShelfLifeEndDateGenerationMode is ProductionDate; optional when ShelfLifeEndDateGenerationMode is Earliest or Latest; is ignored when ShelfLifeEndDateGenerationMode is not specified.
    - `operations` JTLPPSProductionItemsPublicApiDataTransferObjectsV2CreateCreateBillOfMaterialsOperationInput[] — The operations of this bill of materials. At least one operation is required, and across all operations at least one item must be present.
      - `operationId` string, uuid
      - `items` JTLPPSProductionItemsPublicApiDataTransferObjectsV2CreateCreateBillOfMaterialsItemInput[] — The bill of materials items assigned to this operation. Optional per individual operation, but at least one component must be present across all operations within the bill of materials.
        - `itemId` string, uuid
        - `quantity` number — The required quantity of this component for the production of the production item. Must be greater than zero.
        - `measurementUnitId` string, uuid
        - `componentPostingsShelfLifeEndDateRequirements` 0 | 1 | 2 — 0 = Inherited, 1 = None, 2 = Identical
        - `componentPostingsBatchNumberRequirements` 0 | 1 | 2 — 0 = Inherited, 1 = None, 2 = Identical

## Response `201`

Successfully created a bill of materials.

---

[API](https://skmtc.net/jtl-software/apis/scx-authentication-api.md) · [All operations](https://skmtc.net/jtl-software/apis/scx-authentication-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/jtl-software/scx-authentication-api/revisions/f979b1ea6951/schema)
