---
title: "Update an existing item."
method: PUT
path: "/api/v4/inventory/items/{id}"
tags: ["Order Visibility"]
---

# Update an existing item.

`PUT /api/v4/inventory/items/{id}`

## Request

- Base URL: `https://na12.api.project44.com`
- URL: `https://na12.api.project44.com/api/v4/inventory/items/{id}`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/api/v4/oauth2/token`
- TypeScript: <https://skmtc.dev/project44/apis/project44-rest-api/docs/api/v4/inventory/items/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

InventoryItem should be passed with the id field populated with the value returned from createItem. InventoryItems returned from the service will have id populated. InventoryItem.id must match the id in the URL. This method will return 202 Accepted when the item has been queued for update. The item is updated asynchronously.

<br/><h4><b>Required Fields</h4></b>
<ul><li> id </li></ul>

## Path parameters

- `id` string, required

## Request body

- InventoryItem: Inventory Item model that contains attribute describe different types of inventory items such as id, SKU (stock keeping unit), description, UPC (universal product code), cost/retail values, quantity, dim-weight (dimensional Weight), promotional windows (seasonal items), manufactured/packaged date-time, sellBy/consumedBy date-time, perishable/taxable flags, Hazardous material details, shipment/order list, etc.
  - `consumeByDateTime` string: The Consumed-By date-time for the inventory item. (format: yyyy-MM-dd'T'HH:mm:ssZ, example: 2019-11-14T12:30:00-0500).
  - `description` string: The description of the inventory item
  - `externalID` string
  - `id` string: The unique identifier for one inventory item. This identifier should be treated as an opaque string and should be used to associate the inventory item to other orders and items.
  - `inventoryDimensionalWeight` DimensionalWeight: The Dimensional Weight which includes quantity, package type, cubic dimension details, and weight details for the inventory item
    - `cubicDimension` CubicDimension: A cubic dimension.
      - `height` number: Height measurement.
      - `length` number: Length measurement.
      - `width` number: Width measurement.
    - `lengthUnit` 'IN' | 'CM' | 'FT' | 'M': The length unit applicable for the cubic dimension details for the DimensionalWeight
    - `packageType` 'BAG' | 'BALE' | 'BOX' | 'BUCKET' | 'BUNDLE' | 'CAN' | 'CARTON' | 'CASE' | 'COIL' | 'CRATE' | 'CYLINDER' | 'DRUM' | 'PAIL' | 'PLT' | 'PIECES' | 'REEL' | 'ROLL' | 'SKID' | 'TOTE' | 'TUBE' | 'EACH' | 'FLAT' | 'LOOSE': The package type for the DimensionalWeight
    - `quantity` integer: The quantity of identical packages that make up this inventory item
    - `weight` Weight
      - `weight` number: The numeric decimal value of this weight.
      - `weightUnit` 'LB' | 'KG': The unit of measurement for this weight.
  - `inventoryIdentifiers` InventoryIdentifier[]: The customer-defined unique identifiers for the item
    - `description` string: The description for the identifier
    - `type` 'DEPARTMENT' | 'SUB_DEPARTMENT' | 'CATEGORY' | 'GROUP' | 'FAMILY' | 'GENDER' | 'VENDOR' | 'MANUFACTURER' | 'PROMOTION' | 'SECTOR' | 'DIVISION' | 'CLASS' | 'SUB_CLASS' | 'CODE' | 'SEASON': The type of the identifier
    - `value` string: The value for the identifier
  - `lineItemHazmatDetail` LineItemHazmatDetail: Provides important information about the hazardous materials to be transported, as required by the US Department of Transportation (DOT). Only required for shipment requests.
    - `hazardClass` string: The hazard class number, according to the classification system outlined by the Federal Motor Carrier Safety Administration (FMCSA). This is a one digit number or a two digit number separated by a decimal.
    - `identificationNumber` string: The United Nations (UN) or North America (NA) number identifying the hazmat item.
    - `packingGroup` 'I' | 'II' | 'III' | 'NONE': The hazmat packing group for a line item, indicating the degree of danger.
    - `properShippingName` string: The proper shipping name of the hazmat item.
  - `manufacturedDateTime` string: The manufactured date-time for the inventory item. (format: yyyy-MM-dd'T'HH:mm:ssZ, example: 2019-11-14T12:30:00-0500).
  - `orderIds` string[]: The list of order identifiers for the inventory item. These must be the unique project44-generated ids from the id field of orders in the system.
  - `packagedDateTime` string: The packaged date-time for the inventory item. (format: yyyy-MM-dd'T'HH:mm:ssZ, example: 2019-11-14T12:30:00-0500).
  - `perUnitCost` MonetaryValue: A monetary value expressing amount and currency type.
    - `amount` number: The value of the shipment
    - `currency` 'USD' | 'CAD' | 'MXN' | 'EUR', enum: The currency of the shipment value
  - `perUnitRetailValue` MonetaryValue: A monetary value expressing amount and currency type.
    - `amount` number: The value of the shipment
    - `currency` 'USD' | 'CAD' | 'MXN' | 'EUR', enum: The currency of the shipment value
  - `perishable` boolean: The flag to indicate if inventory item is perishable (default: 'false')
  - `promotionalDateTimeWindow` OffsetDateTimeWindow: A date and time range, with time zone offset.
    - `endDateTime` string: End time of this window with timezone offset. (format: yyyy-MM-dd'T'HH:mm:ssZ)
    - `startDateTime` string: Start time of this window with timezone offset. (format: yyyy-MM-dd'T'HH:mm:ssZ)
  - `sellByDateTime` string: The Sell-By date-time for the inventory item. (format: yyyy-MM-dd'T'HH:mm:ssZ, example: 2019-11-14T12:30:00-0500).
  - `serialNumber` string: A customer provided number that distinguishes identical goods or items.
  - `shipmentIds` string[]: The list of shipment identifiers associated with the inventory item. These values must be the project44-generated masterShipmentId from the shipments.
  - `stockKeepingUnit` string: The Stock Keeping Unit (aka SKU) is the common code used to represent goods or items.
  - `taxable` boolean: The flag to indicate if inventory item is taxable (default: 'false')
  - `universalProductCode` string: The Universal Product Code (aka UPC) is the bar code value used to represent goods or items.

## Response `202`

Accepted

- InventoryId: Inventory Id model to hold the system generated unique id for inventory orders and items.
  - `id` string: The unique id string

## Other responses

- `400`: Invalid request
- `401`: Invalid or missing credentials
- `403`: User not authorized to perform this operation

---

[API](https://skmtc.dev/project44/apis/project44-rest-api.md) - [All operations](https://skmtc.dev/project44/apis/project44-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/project44/apis/project44-rest-api/revisions/cdf9675e2294?raw)
