---
title: "Update existing inventory items"
method: PUT
path: "/v3/merchants/{mId}/bulk_items"
tags: ["INVENTORY"]
---

# Update existing inventory items

`PUT /v3/merchants/{mId}/bulk_items`

Updates only the changes in the payload without replacing existing inventory items. Use the POST HTTP method to [create multiple inventory items](https://docs.clover.com/reference/inventorybulkcreateinventoryitems).

## Path parameters

- `mId` string, required

## Headers

- `User-Agent` string, required

## Request body

- object
  - `items` object[], required — Array of inventory items.
    - `id` string — Unique identifier of the inventory item.
    - `hidden` boolean — Indicates whether the inventory item does not display on the Register app.
    - `available` boolean — Indicates whether the inventory item is available for sale across all channels, including point of sale (POS) devices, customer-facing kiosks, and online ordering websites.
    - `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 — Reference to an 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 options.
      - `name` string, required — Variant option name.
      - `attribute` object — Attributes, such as size and color of the item group.
        - `id` string — Unique identifier of the attribute.
      - `items` object[] — List of items associated with the attribute.
        - `id` string — Unique identifier of the item.
    - `name` string, required — Item name.
    - `alternateName` string — Item alternate name.
    - `code` string — Item product code, such as Universal Product Code (UPC) or European Article Number (EAN).
    - `sku` string — Stock keeping unit (SKU).
    - `price` integer, required — 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.
    - `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 modifier group name.
      - `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[]
        - `id` string — Unique identifier of the item.
      - `sortOrder` integer — Ascending or descending sort order of the modifier group.
    - `categories` object[] — Categories associated with items.
      - `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 modified.
      - `canonical` object — Reference to 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 associated with the tag.
      - `printers` object[] — Printers associated with the tag.
        - `id` string — Unique identifier of the printers associated with the tag.
    - `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 — Item in the item stock.
        - `id` string — Unique identifier of the item in the item stock.
      - `stockCount` integer — Deprecated. Use quantity instead.
      - `quantity` number — Current count of the item in stock.
      - `modifiedTime` integer — Time when the item was modified.
    - `MenuItem` object
      - `id` string — Unique identifier of the menu item.
      - `item` string — Reference information of the menu item.
      - `name` string — Menu item name.
      - `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 — Code that indicates the reason for an error during 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 items updated.

- object
  - `items` object[], required — Array of inventory items.
    - `id` string — Unique identifier of inventory items.
    - `hidden` boolean — Indicates whether the inventory item does not display 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 — Reference to an 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 options.
      - `name` string, required — Variant option name.
      - `attribute` object — Attributes, such as size and color, of the item group.
        - `id` string — Unique identifier of the attribute.
      - `items` object[] — List of items associated with the attribute.
        - `id` string — Unique identifier of items.
    - `name` string, required — Item name.
    - `alternateName` string — Item alternate name.
    - `code` string — Item product code, such as Universal Product Code (UPC) or European Article Number (EAN).
    - `sku` string — Stock keeping unit (SKU).
    - `price` integer, required — 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.
    - `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 tax rate.
      - `taxAmount` integer — Amount for a flat tax, such as a recycling redemption fee. Format: Cents
      - `deletedTime` integer — Time when tax rate was deleted.
      - `modifiedTime` integer — Time when tax rate was modified.
    - `modifierGroups` object[]
      - `id` string — Unique identifier of the modifier group.
      - `name` string — Modifier group name.
      - `alternateName` string — Alternate modifier group name.
      - `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 — Modifier alternate name.
        - `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[]
        - `id` string — Unique identifier of an 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.
      - `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 modified.
      - `canonical` object — Reference to 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 items associated with the tag.
      - `printers` object[] — Printers associated with the tag.
        - `id` string — Unique identifier of the printers associated with the tag.
    - `canonical` object — Reference to 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 — Item in the item stock.
        - `id` string — Unique identifier of the item in the item stock.
      - `stockCount` integer — Deprecated. Use quantity instead.
      - `quantity` number — Current count of the item in stock.
      - `modifiedTime` integer — Time when the item was modified.
    - `MenuItem` object
      - `id` string — Item id
      - `item` string — Reference information of the item.
      - `name` string — Menu item name.
      - `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 — Code that indicates the reason for an error during 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)
