---
title: "Update Product"
method: PUT
path: "/wms/products/{product_id}"
tags: ["wms", "Products"]
---

# Update Product

`PUT /wms/products/{product_id}`

Get the required, optional, and integration specific fields by calling the [integrations](/api-reference/mgmt/integrations) endpoint.

## Path parameters

- `product_id` string, required

## Headers

- `x-trackstar-api-key` string, required
- `x-trackstar-access-token` string, required

## Request body

- union
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `sku` string, required — sku
    - `name` string — name
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `measurements` ProductMeasurements
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string — name
    - `sku` string — sku
    - `measurements` ProductMeasurementsdearSystems
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
    - `costing_method` 'FIFO' | 'Special - Batch' | 'Special - Serial Number' | 'FIFO - Serial Number' | 'FIFO - Batch' | 'FEFO - Batch' | 'FEFO - Serial Number' — Costing method for the product.
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string — name
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `measurements` ProductMeasurementsdeposco
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
    - `active` boolean — Whether the product is active, defaults to True.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string — name
    - `gtin` string, nullable — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `warehouse_customer_id` string, nullable, required — The ID of the merchant/tenant/customer that owns the product. Can be passed into the [Warehouse Customer](/api-reference/wms-api/warehouse-customers/get-item) endpoint for more details.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string — name
    - `measurements` ProductMeasurementsflexport
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
    - `country_of_origin` string — The country of origin of the product.
    - `harmonized_code` string — The harmonized HS code of the product.
    - `customs_value` number — The customs value of the product in USD. Required when providing customs information.
    - `customs_description` string — The customs description of the product. Required when providing customs information.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `warehouse_customer_id` string — ID of the warehouse customer that owns this product
    - `name` string — name
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `measurements` ProductMeasurementsinfoplus
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
    - `price` number — Price of the product
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `sku` string, required — sku
    - `gtin` string, required — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `price` number — The price of the product.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `sku` string — sku
    - `name` string — name
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `unit_price` number — The price of the product.
    - `extended_properties` ExtendedPropertySchema[] — Custom properties to attach to the product
      - `name` string, required — Property name
      - `value` string, required — Property value
      - `type` 'Attribute' | 'Channel' | 'Compatibility' | 'Condition' | 'Fulfilment SKU' | 'Other' | 'Shipping' | 'StockItem Label', required — Property type
    - `measurements` ProductMeasurementslinnworks
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `warehouse_customer_id` string, nullable — The ID of the merchant/tenant/customer that owns the product. Can be passed into the [Warehouse Customer](/api-reference/wms-api/warehouse-customers/get-item) endpoint for more details.
    - `sku` string — sku
    - `name` string — name
    - `description` string
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string, required — name
    - `measurements` ProductMeasurementsmasonhub, required
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `description` string, required — Description of the product.
    - `customer_bar_code` string, required — Customer provided bar code for this sku.
    - `brand_name` string, required — Brand name for this sku and product.
    - `category` string, required — Product category for this sku.
    - `sub_category` string, required — Product sub category for this sku.
    - `vendor_brand_code` string, required — Vendor provided brand code for identifying this sku.
    - `customer_brand_code` string, required — Customer provided brand code for identifying this sku. Used on packing lists.
    - `vendor_style` string, required — Vendor style code for item identification.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `sku` string — Required.
    - `vendor_sku` string — An external vendor SKU
    - `description` string, required — Description of the product
    - `gtin` string, required — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `name` string — name
    - `measurements` NimbleProductMeasurements, required
      - `length` number — Length of the product.
      - `width` number — Width of the product.
      - `height` number — Height of the product.
      - `weight` number — Weight of the product.
      - `unit` 'cm' | 'in', required — The unit of measurement for the size of the product.
      - `weight_unit` 'kg' | 'oz' | 'lb', required — The unit of measurement for the weight of the product.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string — name
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `sku` string — sku
    - `name` string — name
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `measurements` ProductMeasurements
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string, required — name
    - `measurements` ProductMeasurementsshipfusion
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
    - `price` number — The retail price of the product
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string — name
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `measurements` ProductMeasurementsshiphero
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string — name
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `measurements` ProductMeasurementsshipstream
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `sku` string — sku
    - `measurements` ProductMeasurementsskusavvy
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
    - `price` number — Price of the product
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string — name
    - `classification` string — Classification of the product. Defaults to 'General'
    - `supplier_object` union
      - object
        - `supplier_id` string, required — The ID of the supplier.
      - object
        - `supplier_name` string, required — The name of the supplier.
    - `brand` string — Brand name. Defaults to 'Generic'
    - `measurements` ProductMeasurementsskuvault, required
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string — name
    - `gtin` string — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `measurements` ProductMeasurementsunleashed
      - `length` number, nullable, required
      - `width` number, nullable, required
      - `height` number, nullable, required
      - `unit` 'cm' | 'in', nullable, required — The unit of measurement for the size of the product.
      - `weight` number, nullable, required
      - `weight_unit` 'kg' | 'oz' | 'lb', nullable, required — The unit of measurement for the weight of the product.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `name` string — name
    - `unit_price` number — The price of the product.
  - object
    - `trackstar_tags` unknown[], nullable — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `sku` string — sku
    - `name` string
    - `gtin` string, required — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.

## Response `200`

Successful response

- WmsUpdateProductResponse
  - `data` WmsProductApiItemSchema
    - `id` string, required — The unique ID of the product.
    - `warehouse_customer_id` string, nullable, required — The ID of the merchant/tenant/customer that owns the product. Can be passed into the [Warehouse Customer](/api-reference/wms-api/warehouse-customers/get-item) endpoint for more details.
    - `created_date` string, date-time, required — The date the product was created.
    - `updated_date` string, date-time, required — The date the product was last updated.
    - `name` string, required — name
    - `sku` string, nullable, required — sku
    - `gtin` string, nullable, required — The Global Trade Item Number of the product. i.e. UPC, EAN, or ISBN.
    - `unit_price` number, nullable, required — The price of the product.
    - `inventory_items` ProductInventoryItems[], required — A list of inventory items associated with the product.
      - `inventory_item_id` string, required — ID of the inventory item. Can be passed into the [Inventory](/api-reference/wms-api/inventory/get-item) endpoint for more details.
      - `sku` string, nullable, required
      - `unit_quantity` integer, required — The number of units of the inventory item in the product.
    - `is_kit` boolean, required
    - `active` boolean, required — Whether the product is active.
    - `supplier_object` ProductSupplier, required
      - `supplier_id` string, required — The ID of the supplier.
      - `supplier_name` string, nullable, required — The name of the supplier.
    - `country_of_origin` string, nullable, required — The country of origin of the product.
    - `harmonized_code` string, nullable, required — The harmonized HS code of the product.
    - `supplier_products` ProductSupplierProducts[], required — A list of supplier products associated with the product.
      - `supplier_id` string, required — ID of the supplier.
      - `supplier_name` string, nullable, required — Name of the supplier.
      - `external_id` string, nullable, required — The external ID of the product from the supplier.
      - `unit_cost` string, nullable, required — The cost of the product from the supplier.
    - `categories` string[], required — A list of category names associated with the product.
    - `image_urls` string[], required — A list of image URLs associated with the product.
    - `external_system_url` string, nullable, required — URL link to the product in the external system (WMS/Freight etc).
    - `trackstar_tags` unknown[], nullable, required — A list of custom tags associated with the resource. A tag can be either a string or a dictionary with one key-value pair.
      - unknown
    - `additional_fields` object, required — Integration-specific fields
    - `trackstar_created_date` string, date-time, required
    - `trackstar_updated_date` string, date-time, required
  - `id` string, required — The ID of the object that has been created or modified
  - `unused_fields` string[], required — Unused fields

## Other responses

- `404` — Not found
- `422` — Validation error

---

[API](https://skmtc.net/trackstarhq/apis/trackstar-api.md) · [All operations](https://skmtc.net/trackstarhq/apis/trackstar-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/trackstarhq/trackstar-api/revisions/4bc5c6e1a8bf/schema)
