---
title: "PUT /api/batches/{id}/bom"
method: PUT
path: "/api/batches/{id}/bom"
tags: ["Products/Batches"]
---

# PUT /api/batches/{id}/bom

`PUT /api/batches/{id}/bom`

## Path parameters

- `id` string, required

## Request body

- object
  - `header` object, required
    - `id` string, required
    - `name` string, required
    - `effectiveStartDate` string, required
    - `effectiveEndDate` string, nullable, required
    - `version` number, required
  - `lines` object[], required
    - `id` string, nullable
    - `placementId` string, nullable, required
    - `quantity` number, nullable
    - `quantityUnit` 'PIECES' | 'PAIR' | 'PERCENTAGE' | 'DENIER' | 'JUTE' | 'ENGLISH_COUNT' | 'METRIC_COUNT' | 'WORSTED_COUNT' | 'TEX' | 'GRAM' | 'KILOGRAM' | 'LITRE' | 'METRIC_TON' | 'MILLIMETRE' | 'CENTIMETRE' | 'METRE' | 'SQUARE_CENTIMETRE' | 'SQUARE_METRE', nullable
    - `weight` number, nullable
    - `weightUnit` 'GRAM' | 'GRAM_PER_SQUARE_METER' | 'GRAM_PER_SQUARE_FOOT' | 'GRAM_PER_SQUARE_YARD' | 'OUNCE_PER_SQUARE_YARD' | 'MILLIGRAM' | 'KILOGRAM' | 'METRIC_TON' | 'POUNDS' | 'SHORT_TON' | 'LONG_TON' | 'HUNDREDWEIGHT' | 'SHORT_HUNDREDWEIGHT' | 'LONG_HUNDREDWEIGHT' | 'OUNCE' | 'DRAM' | 'GRAIN' | 'PENNYWEIGHT' | 'SCRUPLE' | 'STONE', nullable
    - `countryOfOrigin` string, nullable
    - `suppliers` string, nullable
    - `mainSupplier` string, nullable
    - `styleId` string, required
    - `isMainComponent` boolean

## Response `200`

Default Response

- object
  - `metadata` object, required
    - `success` boolean, required — True when the request succeeded.
  - `data` object, required
    - `id` string, required
    - `name` string, required
    - `code` string, required
    - `creationDate` string, required
    - `quantity` number, required
    - `quantityUnit` string, nullable, required
    - `modelNumber` string, nullable
    - `description` string, nullable, required
    - `styleId` string, required
    - `entityData` object, nullable, required
      - `id` string, required
      - `forCompanyId` string
      - `name` string, required
      - `codes` object[], required
        - `codeId` string, required — Identifier type for the code. Single-use (each may appear at most once): ERP_ID, PLM_ID, MAIN_SUPPLIERS_ID, PIM_ID, UPC_GTIN_12, EAN_GTIN_13, ZALANDO_ID, FASHIONCLOUD_ID. Multi-use (append a numeric suffix for additional entries, e.g. OTHER_ID1, OTHER_ID2): OTHER_ID, ALTERNATIVE_SUPPLIERS_ID.
        - `codeValue` string, required — The unique code value for this identifier, e.g. "ERP-001234".
      - `description` string, nullable
      - `gender` string, nullable
      - `styleLevelId` string, required
      - `styleTypeId` string, required
      - `brands` string[], nullable
      - `departments` string[], nullable
      - `collections` string[], nullable
      - `claimIntentions` string[], nullable
      - `customProperties` string, nullable
      - `suppliers` string[], nullable
      - `vendors` string[], nullable
      - `isComponent` boolean, nullable
      - `createdAt` string
      - `createdByImpersonateId` string, nullable
      - `createdByUserId` string
      - `createdByCompanyId` string
      - `createdByApiKeyId` string, nullable
      - `createdByApiKeyLabel` string, nullable
      - `updatedAt` string
      - `updatedByImpersonateId` string, nullable
      - `updatedByUserId` string, nullable
      - `updatedByCompanyId` string, nullable
      - `updatedByApiKeyId` string, nullable
      - `updatedByApiKeyLabel` string, nullable
      - `mainSupplier` string, nullable
      - `imagesFileIds` string[], nullable
      - `color` string, nullable
      - `dimension` string, nullable
      - `styleId` string, nullable
      - `overriddenFlag` string[], nullable
      - `variantId` string, nullable
    - `bomData` object, nullable, required
      - `header` object, required
        - `id` string, required
        - `name` string, required
        - `effectiveStartDate` string, required
        - `effectiveEndDate` string, nullable, required
        - `version` number, required
      - `lines` object[], required
        - `id` string, required
        - `placementId` string, nullable, required
        - `quantity` number, nullable, required
        - `quantityUnit` string, nullable, required
        - `weight` number, nullable, required
        - `weightUnit` string, nullable, required
        - `countryOfOrigin` string, nullable, required
        - `styleId` string, required
        - `isMainComponent` boolean, required
        - `suppliers` string[], nullable
        - `mainSupplier` string, nullable
        - `entity` object, nullable
          - `id` string, required
          - `forCompanyId` string, required
          - `name` string, required
          - `codes` object[], required
            - `codeId` string, required — Identifier type for the code. Single-use (each may appear at most once): ERP_ID, PLM_ID, MAIN_SUPPLIERS_ID, PIM_ID, UPC_GTIN_12, EAN_GTIN_13, ZALANDO_ID, FASHIONCLOUD_ID. Multi-use (append a numeric suffix for additional entries, e.g. OTHER_ID1, OTHER_ID2): OTHER_ID, ALTERNATIVE_SUPPLIERS_ID.
            - `codeValue` string, required — The unique code value for this identifier, e.g. "ERP-001234".
          - `description` string, nullable, required
        - `placement` object, nullable
          - `id` string, required
          - `value` string, required
          - `forCompanyId` string, required
          - `createdAt` union, required
            - string
            - string, date-time
          - `updatedAt` union, required
            - string
            - string, date-time
    - `materialData` object, nullable, required
      - `header` object, required
        - `id` string, required
        - `name` string, required
        - `description` string, nullable, required
      - `lines` object[], required
        - `id` string, required
        - `rawMaterialId` string, required
        - `percentage` number, required
        - `weights` number, nullable, required
        - `weightUnit` string, nullable, required
        - `parentId` string, nullable, required
        - `hierarchy` number, nullable, required
        - `position` number, nullable, required
        - `countriesOfOrigin` string[], nullable, required
    - `forCompanyId` string, required
    - `createdAt` string, date-time, required
    - `createdByUserId` string, nullable, required
    - `createdByCompanyId` string, nullable, required
    - `updatedAt` string, date-time, nullable, required
    - `updatedByUserId` string, nullable, required
    - `updatedByCompanyId` string, nullable, required

## Changes

> 22 revisions in range; 1 not diffed.

- **2026-08-31** `97e51f27dc77` — 27 breaking, 3 warning, 99 info
  - request property `lines/items/quantityUnit` was restricted to a list of enum values
  - request property `lines/items/weightUnit` was restricted to a list of enum values
  - request property `header/effectiveEndDate` list-of-types was narrowed by removing types `null` from media type `application/json`
  - request property `lines/items/countryOfOrigin` list-of-types was narrowed by removing types `null` from media type `application/json`
  - …125 more

[Change history](https://skmtc.dev/retraced/apis/api-reference/changes/api/batches/:id/bom/put.md)

---

[API](https://skmtc.dev/retraced/apis/api-reference.md) · [All operations](https://skmtc.dev/retraced/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/retraced/api-reference/revisions/97e51f27dc77/schema)
