---
title: "Update an existing inventory item"
method: POST
path: "/v3/merchants/{mId}/items/{itemId}"
tags: ["INVENTORY"]
---

# Update an existing inventory item

`POST /v3/merchants/{mId}/items/{itemId}`

Updates an existing inventory item. Use the POST HTTP method to create an inventory item.<br><br><b>Note:</b> This endpoint cannot be used to update an item's stock quantity. To create or update stock for an item, you must use the <a href='https://docs.clover.com/dev/reference/inventoryupdateitemstock'>Update item stock</a> endpoint.

## Path parameters

- `mId` string, required
- `itemId` string, required

## Query parameters

- `expand` string

## Headers

- `User-Agent` string, required

## Request body

- object
  - `id` string — Unique identifier of the inventory item.
  - `hidden` boolean — Indicates whether the inventory item is hidden on the Register app.
  - `available` boolean — Indicates whether the inventory item is available for sale across all channels.
  - `autoManage` boolean — Indicates whether the inventory item's availability is automatically or manually managed. Values: True - Item availability is automatically managed. False - Item availability is manually managed.
  - `itemGroup` object — Information regarding the item group.
    - `id` string — Unique identifier of the item group.
  - `options` object[] — List of variants (options) available within an attribute. For example, an attribute of size can have small, medium, and large options.
    - `id` string — Unique identifier of the variant option.
    - `name` string, required — Variant option name.
    - `attribute` object — Attribute associated with the options.
      - `id` string — Unique identifier of the attribute.
    - `items` object[] — List of items associated with the options.
      - `id` string — Unique identifier of the item.
  - `name` string — Item name.
  - `alternateName` string — Alternate name of the item.
  - `code` string — Item product code, such as Universal Product Code (UPC) or European Article Number (EAN).
  - `sku` string — Stock keeping unit (SKU).
  - `price` integer — Price of the item. Use price type and merchant currency to determine the actual item price. For non-VAT merchants who do not pay value-added tax, this field is exclusive of tax. For VAT merchants, this field is inclusive of tax. Format: Cents
  - `priceType` 'FIXED' | 'VARIABLE' | 'PER_UNIT' — Price type, such as fixed, variable, or per unit price.
  - `defaultTaxRates` boolean — Indicates whether or not to use the default tax rate.
  - `unitName` string — Unit of measurement for the item, such as pound or meter.
  - `cost` integer — Cost of the item to a merchant as compared to the price payable by the customer, for example: wholesale versus retail price.
  - `isRevenue` boolean — Indicates whether this item is counted as revenue, for example: gift cards and donations are not counted as revenue.
  - `isAgeRestricted` boolean — Set to true to make the item age-restricted, or false to remove the restriction. If setting to true, `ageRestrictedObj` must also be provided.
  - `ageRestrictedObj` object — Contains the details for the age restriction. Required when `isAgeRestricted` is set to true.
    - `id` string — The unique identifier of the age restriction category (e.g., the ID for 'Alcohol').
    - `name` string — The name of the age restriction category.
    - `minimumAge` integer — The minimum legal age required to purchase this item.
  - `modifierGroups` object[]
    - `id` string — Unique identifier of the modifier group.
    - `name` string — Modifier group name.
    - `alternateName` string — Alternate name of the Modifier group.
    - `minRequired` integer — Minimum number of modifiers from this group that must be applied to associated lineItems when using the Register app.
    - `maxAllowed` integer — TMaximum number of modifiers from this group that can be applied to associated lineItems when using the Register app.
    - `showByDefault` boolean — Indicates whether employees receive an automatic message to add modifiers from this category when using the Register app.
    - `modifiers` object[]
      - `id` string — Unique identifier of the modifier.
      - `name` string — Modifier name.
      - `alternateName` string — Alternate name of the Modifier.
      - `available` boolean — Indicates whether the modifier is available across all channels.
      - `price` integer — Additional cost associated with using the modifier.
      - `modifierGroup` object
        - `id` string — Unique identifier of the modifier group.
    - `modifierIds` string — Read-only. Comma-separated list of sorted modifier IDs in the modifier group.
    - `items` object[] — List of items.
      - `id` string — Unique identifier of the item.
    - `sortOrder` integer — Ascending or descending sort order of the modifier group.
  - `categories` object[] — Categories associated with the item.
    - `id` string — Unique identifier of the category.
    - `name` string, required — Category name that displays in the Register app.
    - `sortOrder` integer — Ascending or descending sort order of the categories.
    - `items` object[] — Ordered list of items associated with the category.
      - `id` string — Unique identifier of the item.
    - `colorCode` string — Hex code of the color assigned to the category and its items. Format: #fff, #ffffff, or #ffffffff.
    - `deleted` boolean — Indicates whether the category can be deleted.
    - `modifiedTime` integer — Time when the category was last modified.
    - `canonical` object — Reference to the canonical category in an item inventory.
      - `id` string — Unique identifier of the canonical category.
  - `tags` object[] — Tags associated with the item.
    - `id` string — Unique identifier of the tag.
    - `name` string, required — Tag name.
    - `showInReporting` boolean — Indicates whether the tag displays as a summary label in the Reporting app.
    - `items` object[] — Items associated with the tag.
      - `id` string — Unique identifier of the item.
    - `printers` object[] — Printers associated with the tag.
      - `id` string — Unique identifier of the printer.
  - `canonical` object — Reference to the canonical category in an item inventory.
    - `id` string — Unique identifier of the canonical category.
  - `MenuItem` object — Details of menu items in an inventory.
    - `id` string — Unique identifier of the menu item.
    - `item` string — Reference information of the item.
    - `name` string — Name of the menu item.
    - `description` string — Description of the menu item.
    - `imageFilename` string — File name of the image associated with the menu item.
    - `enabled` boolean — Indicates whether an item is enabled for the menu.
    - `reasonCode` string — Indicates the reason for an error during the request processing.
    - `createdTime` integer — Time when the menu item was created.
    - `modifiedTime` integer — Time when the menu item was modified.
    - `deletedTime` integer — Time when the menu item was deleted.
  - `modifiedTime` integer — Time when the item was modified.
  - `deletedTime` integer — Time when the item was deleted.
  - `priceWithoutVat` integer — Item price without value-added tax (VAT). For non-VAT merchants, this field is not used. For VAT merchants, this field is the base price of an item.
  - `colorCode` string — Hex code of the color assigned to the category and its items. Format: #fff, #ffffff, or #ffffffff.

## Response `200`

Successful response. Existing inventory item updated.

- object
  - `id` string — Unique identifier of the inventory item.
  - `hidden` boolean — Indicates whether the inventory item is hidden on the Register app.
  - `available` boolean — Indicates whether the inventory item is available for sale across all channels.
  - `autoManage` boolean — Indicates whether the inventory item's availability is automatically or manually managed. Values: True - Item availability is automatically managed. False - Item availability is manually managed.
  - `itemGroup` object — Information regarding the item group.
    - `id` string — Unique identifier of the item group.
  - `options` object[] — List of variants (options) available within an attribute. For example, an attribute of size can have small, medium, and large options.
    - `id` string — Unique identifier of the variant option.
    - `name` string, required — Variant option name.
    - `attribute` object — Attribute associated with the options.
      - `id` string — Unique identifier of the attribute.
    - `items` object[] — List of items associated with the options.
      - `id` string — Unique identifier of the item.
  - `name` string — Item name.
  - `alternateName` string — Alternate name of the item.
  - `code` string — Item product code, such as Universal Product Code (UPC) or European Article Number (EAN).
  - `sku` string — Stock keeping unit (SKU).
  - `price` integer — Price of the item. Use price type and merchant currency to determine the actual item price. For non-VAT merchants who do not pay value-added tax, this field is exclusive of tax. For VAT merchants, this field is inclusive of tax. Format: Cents
  - `priceType` 'FIXED' | 'VARIABLE' | 'PER_UNIT' — Price type, such as fixed, variable, or per unit price.
  - `defaultTaxRates` boolean — Indicates whether or not to use the default tax rate.
  - `unitName` string — Unit of measurement for the item, such as pound or meter.
  - `cost` integer — Cost of the item to a merchant as compared to the price payable by the customer, for example: wholesale versus retail price.
  - `isRevenue` boolean — Indicates whether this item is counted as revenue, for example: gift cards and donations are not counted as revenue.
  - `isAgeRestricted` boolean — If true, the item requires age verification. The `ageRestrictedObj` can be retrieved by using `expand=ageRestricted`.
  - `ageRestrictedObj` object — Contains details about the age restriction. This object is only returned if the `expand=ageRestricted` query parameter was used in the request.
    - `id` string — Unique identifier for the age restriction category.
    - `name` 'Alcohol' | 'Tobacco' | 'OTC products' | 'Vitamin & Supplements' — The category name of the age-restricted item.
    - `minimumAge` integer — The minimum legal age required to purchase the item.
  - `stockCount` integer — Deprecated. Use itemStock.
  - `taxRates` object[]
    - `id` string — Tax rate identifier.
    - `name` string, required — Tax rate name.
    - `taxType` 'VAT_TAXABLE' | 'VAT_NON_TAXABLE' | 'VAT_EXEMPT' | 'INTERNAL_TAX' | 'PARTNER_TAX' — Tax type used in Argentina.
    - `rate` integer — Tax rate for percentage-based discounts, such as sales tax. Format: 100% = 1e7 or 1 followed by 7 zeros.
    - `isDefault` boolean — Indicates whether the merchant's default tax rate is used for the item.
    - `items` object[] — Items associated with the tax rate.
      - `id` string — Unique identifier of the item.
    - `taxAmount` integer — Amount for a flat tax, such as a recycling redemption fee. Format: Cents
    - `deletedTime` integer — Time when the tax rate was deleted.
    - `modifiedTime` integer — Time when the tax rate was modified.
  - `modifierGroups` object[]
    - `id` string — Unique identifier of the modifier group.
    - `name` string — Modifier group name.
    - `alternateName` string — Alternate name of the modifier group.
    - `minRequired` integer — Minimum number of modifiers from this group that must be applied to associated lineItems when using the Register app.
    - `maxAllowed` integer — Maximum number of modifiers from this group that can be applied to associated lineItems when using the Register app.
    - `showByDefault` boolean — Indicates whether employees receive an automatic message to add modifiers from this category when using the Register app.
    - `modifiers` object[]
      - `id` string — Unique identifier of the modifier.
      - `name` string — Modifier name.
      - `alternateName` string — Alternate name of the modifier.
      - `available` boolean — Indicates whether the modifier is available across all channels.
      - `price` integer — Additional cost associated with using the modifier.
      - `modifierGroup` object
        - `id` string — Unique identifier of the modifier group.
    - `modifierIds` string — Read-only. Comma-separated list of sorted modifier IDs in the modifier group.
    - `items` object[] — List of items.
      - `id` string — Unique identifier of the item.
    - `sortOrder` integer — Ascending or descending sort order of the modifier group.
  - `categories` object[] — Categories associated with the item.
    - `id` string — Unique identifier of the category.
    - `name` string, required — Category name that displays in the Register app.
    - `sortOrder` integer — Ascending or descending sort order of the categories.
    - `items` object[] — Ordered list of items associated with the category.
      - `id` string — Unique identifier of the item.
    - `colorCode` string — Hex code of the color assigned to the category and its items. Format: #fff, #ffffff, or #ffffffff.
    - `deleted` boolean — Indicates whether the category can be deleted.
    - `modifiedTime` integer — Time when the category was last modified.
    - `canonical` object — Reference to the canonical category in an item inventory.
      - `id` string — Unique identifier of the canonical category.
  - `tags` object[] — Tags associated with the item.
    - `id` string — Unique identifier of the tag.
    - `name` string, required — Tag name.
    - `showInReporting` boolean — Indicates whether the tag displays as a summary label in the Reporting app.
    - `items` object[] — Items associated with the tag.
      - `id` string — Unique identifier of the item.
    - `printers` object[] — Printers associated with the tag.
      - `id` string — Unique identifier of the printer.
  - `canonical` object — Reference to the canonical category in an item inventory.
    - `id` string — Unique identifier of the canonical category.
  - `itemStock` object — Item stock attribute that can contain the stock quantity.
    - `item` object — Information regarding an item in the item stock.
      - `id` string — Unique identifier of the item.
    - `stockCount` integer — Deprecated. Use quantity instead.
    - `quantity` number — Current count of the items in stock.
    - `modifiedTime` integer — Time when the item was modified.
  - `MenuItem` object — Details of menu items in an inventory.
    - `id` string — Unique identifier of the menu item.
    - `item` string — Reference information of the item.
    - `name` string — Name of the menu item.
    - `description` string — Description of the menu item.
    - `imageFilename` string — File name of the image associated with the menu item.
    - `enabled` boolean — Indicates whether an item is enabled for the menu.
    - `reasonCode` string — Indicates the reason for an error during the request processing.
    - `createdTime` integer — Time when the menu item was created.
    - `modifiedTime` integer — Time when the menu item was modified.
    - `deletedTime` integer — Time when the menu item was deleted.
  - `modifiedTime` integer — Time when the item was modified.
  - `deletedTime` integer — Time when the item was deleted.
  - `priceWithoutVat` integer — Item price without value-added tax (VAT). For non-VAT merchants, this field is not used. For VAT merchants, this field is the base price of an item.
  - `colorCode` string — Hex code of the color assigned to the category and its items. Format: #fff, #ffffff, or #ffffffff.

---

[API](https://skmtc.net/clover/apis/platform-api.md) · [All operations](https://skmtc.net/clover/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clover/platform-api/versions/08da265101a3/schema)
