---
title: "Item - Update"
method: PUT
path: "/item/update"
tags: ["item"]
---

# Item - Update

`PUT /item/update`

Update an existing item's properties such as name, weight, dimensions, or cost.

## Request body

- object
  - `item_id` string, required — Item ID to update
  - `name` string — Item name
  - `sku` string — SKU
  - `upc` string — UPC barcode
  - `weight` number — Weight
  - `weight_unit` 'oz' | 'lb' | 'g' | 'kg' — Weight unit
  - `length` number — Length
  - `width` number — Width
  - `height` number — Height
  - `dimensions_unit` 'in' | 'cm' — Dimensions unit
  - `fulfillment_sku` string — Fulfillment SKU
  - `notes` string — Notes
  - `unit` string — Unit of measure
  - `cost` number — Cost
  - `wholesale` number — Wholesale price
  - `retail` number — Retail price
  - `image` string — Image URL
  - `active` boolean — Active status
  - `description` string — Item description
  - `sale` number — Sale price

## Response `200`

Item updated

- object
  - `success` boolean, required — Whether the operation succeeded
  - `_id` string, required — Item ID
  - `sku` string — Item SKU
  - `notice` string — Additional notice (e.g. kit cost update issue)

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden. Insufficient permissions.
- `429` — Too many requests. Rate limit exceeded.
- `500` — Internal server error.

## Changes

> 13 revisions in range; 1 could not be searched.

- **2026-03-02** `fa53dd949b8e` — 4 breaking, 13 info
  - request property `dimensions_unit` was restricted to a list of enum values
  - request property `weight_unit` was restricted to a list of enum values
  - the request property `item_id` became required
  - the `wholesale` request property type/format changed from `string`/`` to `number`/``
  - …13 more
- **2024-04-23** `e4bdf6984278` — 1 breaking
  - the `upc` request property type/format changed from `number`/`integer` to `string`/``
- **2024-04-22** `08cd9cfa14dd` — 1 breaking, 20 warning, 2 info
  - added required request body
  - deleted the `query` request parameter `active`
  - deleted the `query` request parameter `cost`
  - deleted the `query` request parameter `description`
  - …19 more
- **2024-04-19** `46ceda528000` — 2 breaking, 26 info
  - removed the request body
  - removed the media type `application/json` for the response with the status `200`
  - api operation id `put_item_update` removed and replaced with ``
  - added the new optional `query` request parameter `active`
  - …24 more

[Change history](https://skmtc.dev/skulabs/apis/skulabs-api/changes/item/update/put.md)

---

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