Clover INVENTORY API
The INVENTORY API from Clover — 5 operation(s) for inventory.
The INVENTORY API from Clover — 5 operation(s) for inventory.
openapi: 3.1.0
info:
title: Clover Ecommerce CHARGES INVENTORY API
description: 'Clover Ecommerce API v1 — online (card-not-present) payments: charges, captures, refunds, tokenization, and hosted checkout. Authentication uses OAuth 2.0 / PAKMS Ecommerce API keys. Schemas and operations are derived from the Clover developer reference at docs.clover.com.'
version: v1
contact:
name: Clover Developer Platform
url: https://docs.clover.com/dev/reference
x-generated-from: documentation
x-last-validated: '2026-06-02'
servers:
- url: https://scl.clover.com
description: Production Ecommerce
- url: https://scl-sandbox.dev.clover.com
description: Sandbox Ecommerce
security:
- OAuth2: []
tags:
- name: INVENTORY
paths:
/v3/merchants/{mId}/items/{itemId}:
delete:
summary: Clover Delete an Inventory Item
description: Delete an inventory item
operationId: inventoryDeleteItem
tags:
- INVENTORY
parameters:
- name: mId
in: path
required: true
description: Merchant Id
schema:
type: string
example: 9ABCDEF1234567
- name: itemId
in: path
required: true
description: Item Id
schema:
type: string
example: 9ABCDEF1234567
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/Item'
examples:
InventoryDeleteItem200Example:
summary: Default inventoryDeleteItem 200 response
x-microcks-default: true
value:
id: example-value
hidden: true
available: true
autoManage: true
itemGroup: {}
options:
- {}
name: example-value
alternateName: example-value
code: example-value
sku: example-value
price: 1
priceType: FIXED
defaultTaxRates: true
unitName: example-value
cost: 1
isRevenue: true
stockCount: 1
taxRates:
- {}
modifierGroups:
- {}
categories:
- {}
tags:
- {}
canonical: {}
itemStock: {}
MenuItem: {}
modifiedTime: 1
deletedTime: 1
priceWithoutVat: 1
colorCode: example-value
'401':
description: Authentication required or invalid token.
'429':
description: Too many requests; rate limit exceeded.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
summary: Clover Get a Single Inventory Item
description: Retrieves an existing inventory item.
operationId: inventoryGetItem
tags:
- INVENTORY
parameters:
- name: mId
in: path
required: true
description: Merchant idenitifier.
schema:
type: string
example: 9ABCDEF1234567
- name: itemId
in: path
required: true
description: Inventory item identifier.
schema:
type: string
example: 9ABCDEF1234567
- name: expand
in: query
required: false
description: 'Additional information provided as an expanded response: [tags, categories, taxRates, modifierGroups, itemStock, options]'
schema:
type: string
example: example-expand
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/Item'
examples:
InventoryGetItem200Example:
summary: Default inventoryGetItem 200 response
x-microcks-default: true
value:
id: example-value
hidden: true
available: true
autoManage: true
itemGroup: {}
options:
- {}
name: example-value
alternateName: example-value
code: example-value
sku: example-value
price: 1
priceType: FIXED
defaultTaxRates: true
unitName: example-value
cost: 1
isRevenue: true
stockCount: 1
taxRates:
- {}
modifierGroups:
- {}
categories:
- {}
tags:
- {}
canonical: {}
itemStock: {}
MenuItem: {}
modifiedTime: 1
deletedTime: 1
priceWithoutVat: 1
colorCode: example-value
'401':
description: Authentication required or invalid token.
'429':
description: Too many requests; rate limit exceeded.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v3/merchants/{mId}/categories:
post:
summary: Clover Create an Item Category
description: Create an item category
operationId: categoryCreateCategory
tags:
- INVENTORY
parameters:
- name: mId
in: path
required: true
description: Merchant Id
schema:
type: string
example: 9ABCDEF1234567
- name: expand
in: query
required: false
description: 'Expandable field: [items]'
schema:
type: string
example: example-expand
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Category'
examples:
CategoryCreateCategoryRequestExample:
summary: Default categoryCreateCategory request
x-microcks-default: true
value:
id: example-value
name: example-value
sortOrder: 1
items:
- {}
colorCode: example-value
deleted: true
modifiedTime: 1
canonical: {}
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/Category'
examples:
CategoryCreateCategory200Example:
summary: Default categoryCreateCategory 200 response
x-microcks-default: true
value:
id: example-value
name: example-value
sortOrder: 1
items:
- {}
colorCode: example-value
deleted: true
modifiedTime: 1
canonical: {}
'401':
description: Authentication required or invalid token.
'429':
description: Too many requests; rate limit exceeded.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
summary: Clover Get All Categories
description: Retrieves all categories. Items display on the Register app within categories in the order in which they are added to a category. Items may be associated with one or more categories or may not be associated with any category. Categories display in the Register app based on the sort order value for each category.
operationId: categoryGetCategories
tags:
- INVENTORY
parameters:
- name: mId
in: path
required: true
description: Merchant identifier.
schema:
type: string
example: 9ABCDEF1234567
- name: filter
in: query
required: false
description: 'Filter fields to display search results: [modifiedTime, deleted, sortOrder, name, colorCode, id]'
schema:
type: string
example: example-filter
- name: expand
in: query
required: false
description: 'Additional information provided as an expanded response: [items]'
schema:
type: string
example: example-expand
- name: offset
in: query
required: false
description: Position of the first line item returned in the search results. Indicates the number of line items that are excluded from the search results.
schema:
type: integer
example: 1
- name: limit
in: query
required: false
description: "Maximum number of line items returned in the search result.\n Default: 100 \n Maximum limit: 1000"
schema:
type: integer
example: 1
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/Category'
examples:
CategoryGetCategories200Example:
summary: Default categoryGetCategories 200 response
x-microcks-default: true
value:
elements:
- {}
'401':
description: Authentication required or invalid token.
'429':
description: Too many requests; rate limit exceeded.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v3/merchants/{mId}/items:
get:
summary: Clover Get All Inventory Items
description: Displays line items for each category in the inventory for an order.
operationId: inventoryGetItems
tags:
- INVENTORY
parameters:
- name: mId
in: path
required: true
description: Merchant identifier.
schema:
type: string
example: 9ABCDEF1234567
- name: filter
in: query
required: false
description: 'Filter fields to display search results: [lowStock, modifiedTime, hidden, itemCode, available, option.id, modifierGroup.id, autoManage, price, id, sku, defaultTaxRates, tags.id, alternateName, isRevenue, tags.name, deleted, item.id, name, itemStock.quantity, itemGroup.id, isAgeRestricted, ageRestrictedType, minimumAge]'
schema:
type: string
example: example-filter
- name: expand
in: query
required: false
description: 'Additional information provided as an expanded response: [tags, categories, taxRates, modifierGroups, itemStock, options, ageRestricted]'
schema:
type: string
example: example-expand
- name: offset
in: query
required: false
description: Position of the first line item returned in the search results. Indicates the number of line items that are excluded from the search results.
schema:
type: integer
example: 1
- name: limit
in: query
required: false
description: "Maximum number of line items returned in the search result.\n Default: 100 \n Maximum limit: 1000"
schema:
type: integer
example: 1
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/Item'
examples:
InventoryGetItems200Example:
summary: Default inventoryGetItems 200 response
x-microcks-default: true
value:
elements:
- {}
'401':
description: Authentication required or invalid token.
'429':
description: Too many requests; rate limit exceeded.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
summary: Clover Create an Inventory Item
description: Creates an inventory item.
operationId: inventoryCreateItem
tags:
- INVENTORY
parameters:
- name: mId
in: path
required: true
description: Merchant identifier.
schema:
type: string
example: 9ABCDEF1234567
- name: expand
in: query
required: false
description: 'Expandable fields to display additional nested information: [tags, categories, taxRates, modifierGroups, itemStock, options, ageRestricted]'
schema:
type: string
example: example-expand
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Item'
examples:
InventoryCreateItemRequestExample:
summary: Default inventoryCreateItem request
x-microcks-default: true
value:
id: example-value
hidden: true
available: true
autoManage: true
itemGroup: {}
options:
- {}
name: example-value
alternateName: example-value
code: example-value
sku: example-value
price: 1
priceType: FIXED
defaultTaxRates: true
unitName: example-value
cost: 1
isRevenue: true
stockCount: 1
taxRates:
- {}
modifierGroups:
- {}
categories:
- {}
tags:
- {}
canonical: {}
itemStock: {}
MenuItem: {}
modifiedTime: 1
deletedTime: 1
priceWithoutVat: 1
colorCode: example-value
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/Item'
examples:
InventoryCreateItem200Example:
summary: Default inventoryCreateItem 200 response
x-microcks-default: true
value:
id: example-value
hidden: true
available: true
autoManage: true
itemGroup: {}
options:
- {}
name: example-value
alternateName: example-value
code: example-value
sku: example-value
price: 1
priceType: FIXED
defaultTaxRates: true
unitName: example-value
cost: 1
isRevenue: true
stockCount: 1
taxRates:
- {}
modifierGroups:
- {}
categories:
- {}
tags:
- {}
canonical: {}
itemStock: {}
MenuItem: {}
modifiedTime: 1
deletedTime: 1
priceWithoutVat: 1
colorCode: example-value
'401':
description: Authentication required or invalid token.
'429':
description: Too many requests; rate limit exceeded.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v3/merchants/{mId}/categories/{catId}:
get:
summary: Clover Get a Category
description: Get a category
operationId: categoryGetCategory
tags:
- INVENTORY
parameters:
- name: mId
in: path
required: true
description: Merchant Id
schema:
type: string
example: 9ABCDEF1234567
- name: catId
in: path
required: true
description: Category Id
schema:
type: string
example: 9ABCDEF1234567
- name: expand
in: query
required: false
description: 'Expandable field: [items]'
schema:
type: string
example: example-expand
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/Category'
examples:
CategoryGetCategory200Example:
summary: Default categoryGetCategory 200 response
x-microcks-default: true
value:
id: example-value
name: example-value
sortOrder: 1
items:
- {}
colorCode: example-value
deleted: true
modifiedTime: 1
canonical: {}
'401':
description: Authentication required or invalid token.
'429':
description: Too many requests; rate limit exceeded.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v3/merchants/{mId}/bulk_items:
post:
summary: Clover Create Multiple Inventory Items
description: Creates multiple inventory items in a single request. Use the PUT HTTP method to [update existing inventory items](https://docs.clover.com/reference/inventorybulkpatchinventoryitems).
operationId: inventoryBulkCreateInventoryItems
tags:
- INVENTORY
parameters:
- name: mId
in: path
required: true
description: Merchant identifier.
schema:
type: string
example: 9ABCDEF1234567
responses:
'200':
description: Successful response.
'401':
description: Authentication required or invalid token.
'429':
description: Too many requests; rate limit exceeded.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
Category:
type: object
properties:
id:
type: string
description: Unique identifier
example: 9ABCDEF1234567
name:
type: string
description: The name of the category which will appear in Clover Register App.
example: Example name
sortOrder:
type: integer
description: Integer used to determine how this category is sorted against other categories.
example: 1
items:
type: array
items:
type: object
example: []
colorCode:
type: string
description: 'Hex code representation of the color assigned to this category and its items, in the form of #fff, #ffffff, or #ffffffff'
example: ABC123
deleted:
type: boolean
description: Whether the category has been deleted.
example: true
modifiedTime:
type: integer
description: The time this category was last modified
example: 1718153645000
canonical:
type: object
example: {}
description: Clover Category resource. Schema derived from the Clover Platform REST API v3 reference.
x-schema-source: documentation
x-source-url: https://docs.clover.com/dev/reference/categorygetcategory
Item:
type: object
properties:
id:
type: string
description: Unique identifier of the inventory item.
example: 9ABCDEF1234567
hidden:
type: boolean
description: "Indicates whether the inventory item is hidden on the Register app.\n Default: False"
example: true
available:
type: boolean
description: "Indicates whether the inventory item is available for sale across all channels.\n Default: True"
example: true
autoManage:
type: boolean
description: "Indicates whether the inventory item's availability is automatically or manually managed.\n Values:\n True - Item availability is automatically managed.\n False(default) - Item availability is manually managed. "
example: true
itemGroup:
type: object
example: {}
options:
type: array
items:
type: object
example: []
name:
type: string
description: Item name.
example: Example name
alternateName:
type: string
description: Alternate name of the item.
example: Example alternateName
code:
type: string
description: Item product code, such as Universal Product Code (UPC) or European Article Number (EAN).
example: ABC123
sku:
type: string
description: Stock keeping unit (SKU).
example: SKU-001
price:
type: integer
format: int64
description: "Price of the item based on the merchant's local currency and price type, such as fixed, variable, or per unit price.\n For non-VAT merchants who do not pay value-added tax, this field is exclusive of tax.\n For VAT merchants, this field is inclusive of tax.\n Format: Cents"
example: 1099
priceType:
type: string
description: Price type, such as fixed, variable, or per unit price.
enum:
- FIXED
- VARIABLE
- PER_UNIT
example: FIXED
defaultTaxRates:
type: boolean
description: "Indicates whether or not to use the default tax rate. \n Default: True"
example: true
unitName:
type: string
description: Unit of measurement for the item, such as pound or meter.
example: Example unitName
cost:
type: integer
description: 'Cost of the item to a merchant as compared to the price payable by the customer, for example: wholesale versus retail price.'
example: 1099
isRevenue:
type: boolean
description: "Indicates whether this item is counted as revenue, for example: gift cards and donations are not counted as revenue.\n Default: False"
example: true
stockCount:
type: integer
description: Deprecated. Use itemStock.
example: 1
taxRates:
type: array
items:
type: object
example: []
modifierGroups:
type: array
items:
type: object
example: []
categories:
type: array
items:
type: object
example: []
tags:
type: array
items:
type: object
example: []
canonical:
type: object
example: {}
itemStock:
type: object
example: {}
MenuItem:
type: object
example: {}
modifiedTime:
type: integer
description: Time when the item was modified.
example: 1718153645000
deletedTime:
type: integer
description: Time when the item was deleted.
example: 1718153645000
priceWithoutVat:
type: integer
description: "Item price without value-added tax (VAT).\n For non-VAT merchants, this field is not used.\n For VAT merchants, this field is the base price of an item."
example: 1099
colorCode:
type: string
description: "Hex code of the color assigned to the category and its items.\n Format: #fff, #ffffff, or #ffffffff."
example: ABC123
description: Clover Item resource. Schema derived from the Clover Platform REST API v3 reference.
x-schema-source: documentation
x-source-url: https://docs.clover.com/dev/reference/inventorygetitem
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://www.clover.com/oauth/authorize
tokenUrl: https://api.clover.com/oauth/token
scopes: {}
description: OAuth 2.0 token or Ecommerce (PAKMS) API key.