---
title: "Create or delete associations between inventory items and modifier groups"
method: POST
path: "/v3/merchants/{mId}/item_modifier_groups"
tags: ["INVENTORY"]
---

# Create or delete associations between inventory items and modifier groups

`POST /v3/merchants/{mId}/item_modifier_groups`

Creates or deletes the association between inventory items and modifier groups. Modifiers can only be applied to inventory items associated with that modifier group. For more information, see [Use object associations](https://docs.clover.com/docs/using-object-associations).

## Path parameters

- `mId` string, required

## Query parameters

- `delete` boolean

## Headers

- `User-Agent` string, required

## Request body

- object
  - `modifierGroup` object
    - `id` string — Unique identifier of the modifier group.
  - `item` object
    - `id` string — Unique identifier of the inventory item.

## Response `200`

Successful response. Association created or deleted.

- object
  - `item` object, required
    - `id` string — Unique identifier.
    - `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
        - `id` string — Unique identifier of the attribute.
      - `items` object[] — List of items associated with the attribute.
        - `id` string — Unique identifier of the attribute.
    - `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. For use 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 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[] — List of items.
        - `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 on an item.
      - `colorCode` string — Hex code of the color assigned to the category and its items. Format: #fff, #ffffff, or #ffffffff. Note: You can change or delete the Item color at any time. In this case, it may no longer match this line item.
      - `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 an item.
      - `printers` object[] — Printers associated with the tag.
        - `id` string — Unique identifier of the printer.
    - `canonical` object — Reference to canonical tags in an item inventory.
      - `id` string — Unique identifier of the canonical tags.
    - `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 in the item stock.
      - `stockCount` integer — Deprecated. Use quantity instead.
      - `quantity` number — Current count of the items in stock.
      - `modifiedTime` integer — Time when the item was modified.
    - `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. Note: You can change or delete the Item color at any time. In this case, it may no longer match this line item.
  - `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[] — List of items.
      - `id` string — Unique identifier of an item.
    - `sortOrder` integer — Ascending or descending sort order of the modifier group.

---

[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)
