openapi: 3.0.0
info:
title: batches items API
description: Batches help you track inventory items by batch numbers, manufacturing dates, and expiration dates.
contact: {}
version: 1.0.0
servers:
- url: https://www.zohoapis.com/inventory/v1
description: API Endpoint
tags:
- name: items
description: Items Module
paths:
/items:
x-mcp-group:
- Items
parameters:
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: create_item
summary: Create an item
description: Creates a new item in Zoho Inventory.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/create-an-item-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/create-an-item-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
get:
tags:
- items
operationId: list_items
summary: List all the items
description: Lists all the items present in Zoho Inventory.
parameters:
- name: page
in: query
description: Page number to be fetched. Default value is 1.
required: false
schema:
type: integer
default: 1
example: 1
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
required: false
schema:
type: integer
default: 200
example: 200
- name: search_text
in: query
description: Search items by name, SKU, or other searchable fields.
required: false
schema:
type: string
- name: filter_by
in: query
description: 'Filter items by status or item type. Allowed values: <code>Status.All</code>, <code>Status.Active</code>, <code>Status.Inactive</code>, <code>Status.Lowstock</code>, <code>Status.Unmapped</code>, <code>Status.Uncategorized</code>, <code>Status.Grouped</code>, <code>ItemType.All</code>, <code>ItemType.Sales</code>, <code>ItemType.Purchases</code>, <code>ItemType.SalesAndPurchases</code>, <code>ItemType.Inventory</code>, <code>ItemType.NonInventory</code>, <code>ItemType.Service</code>.'
required: false
schema:
type: string
- name: sort_column
in: query
description: 'Sort by column. Allowed values: <code>name</code>, <code>sku</code>, <code>rate</code>, <code>purchase_rate</code>, <code>created_time</code>, <code>last_modified_time</code>, <code>reorder_level</code>, <code>stock_on_hand</code>.'
required: false
schema:
type: string
- name: sort_order
in: query
description: 'Sort order. Allowed values: <code>A</code> for ascending and <code>D</code> for descending.'
required: false
schema:
type: string
- name: status
in: query
description: 'Filter by item status. Allowed values: <code>active</code>, <code>inactive</code>.'
required: false
schema:
type: string
- name: name
in: query
description: Filter by exact item name.
required: false
schema:
type: string
- name: name_startswith
in: query
description: Filter by item name that starts with the given value.
required: false
schema:
type: string
- name: name_contains
in: query
description: Filter by item name that contains the given value.
required: false
schema:
type: string
- name: sku
in: query
description: Filter by exact SKU.
required: false
schema:
type: string
- name: sku_startswith
in: query
description: Filter by SKU that starts with the given value.
required: false
schema:
type: string
- name: sku_contains
in: query
description: Filter by SKU that contains the given value.
required: false
schema:
type: string
- name: rate
in: query
description: Filter by exact selling rate.
required: false
schema:
type: number
format: double
- name: rate_less_than
in: query
description: Filter by selling rate less than the given value.
required: false
schema:
type: number
format: double
- name: rate_less_equals
in: query
description: Filter by selling rate less than or equal to the given value.
required: false
schema:
type: number
format: double
- name: rate_greater_than
in: query
description: Filter by selling rate greater than the given value.
required: false
schema:
type: number
format: double
- name: rate_greater_equals
in: query
description: Filter by selling rate greater than or equal to the given value.
required: false
schema:
type: number
format: double
- name: purchase_rate
in: query
description: Filter by exact purchase rate.
required: false
schema:
type: number
format: double
- name: purchase_rate_less_than
in: query
description: Filter by purchase rate less than the given value.
required: false
schema:
type: number
format: double
- name: purchase_rate_less_equals
in: query
description: Filter by purchase rate less than or equal to the given value.
required: false
schema:
type: number
format: double
- name: purchase_rate_greater_than
in: query
description: Filter by purchase rate greater than the given value.
required: false
schema:
type: number
format: double
- name: purchase_rate_greater_equals
in: query
description: Filter by purchase rate greater than or equal to the given value.
required: false
schema:
type: number
format: double
- name: tax_id
in: query
description: Filter by tax ID.
required: false
schema:
type: string
- name: account_id
in: query
description: Filter by sales account ID.
required: false
schema:
type: string
- name: purchase_account_id
in: query
description: Filter by purchase account ID.
required: false
schema:
type: string
- name: customview_id
in: query
description: Custom view ID to apply.
required: false
schema:
type: string
- name: vendor_id
in: query
description: Filter by vendor ID.
required: false
schema:
type: string
- name: item_id
in: query
description: Filter by item ID.
required: false
schema:
type: string
- name: zcrm_product_id
in: query
description: Filter by Zoho CRM product ID.
required: false
schema:
type: string
- name: last_modified_time
in: query
description: Filter items modified after the given date and time. Format <code>yyyy-MM-ddTHH:mm:ssZ</code>.
required: false
schema:
type: string
- name: category_id
in: query
description: Filter by category ID.
required: false
schema:
type: string
- name: brand_ids
in: query
description: Comma-separated list of brand IDs to filter by.
required: false
schema:
type: string
- name: manufacturer_ids
in: query
description: Comma-separated list of manufacturer IDs to filter by.
required: false
schema:
type: string
- name: warehouse_id
in: query
description: Filter by warehouse ID.
required: false
schema:
type: string
- name: location_id
in: query
description: Filter by location ID.
required: false
schema:
type: string
- name: group_id
in: query
description: Filter by item group ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/list-all-the-items-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.READ
delete:
tags:
- items
operationId: bulk_delete_items
summary: Delete multiple items
description: Deletes multiple items from Zoho Inventory.
parameters:
- name: item_ids
in: query
description: Comma-separated list of item IDs to delete.
required: false
schema:
type: string
example: 4815000000044208,4815000000044274
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-delete-items-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.DELETE
/itemdetails:
x-mcp-group:
- Items
parameters:
- name: item_ids
in: query
required: true
description: <code>List of item ids separated by comma</code>
schema:
type: string
example: 4815000000044208,4815000000044274,4815000000044340
- $ref: '#/components/parameters/organization_id'
get:
tags:
- items
operationId: list_item_details
summary: Bulk fetch item details
description: Fetch item details for the mentioned item IDs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-fetch-item-details-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.READ
/items/{item_id}:
x-mcp-group:
- Items
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: 4815000000044208
- $ref: '#/components/parameters/organization_id'
get:
tags:
- items
operationId: get_item
summary: Retrieve an item
description: Fetches the details for an existing item.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/retrieve-an-item-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.READ
put:
tags:
- items
operationId: update_item
summary: Update an item
description: Update the details of an item.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/update-an-item-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-an-item-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.UPDATE
delete:
tags:
- items
operationId: delete_item
summary: Delete an item
description: Deletes an existing item from Zoho Inventory.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/delete-an-item-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.DELETE
/item/{item_id}/customfields:
x-mcp-group:
- Items
put:
tags:
- items
operationId: update_custom_field_in_item
summary: Update custom field in existing items
description: Update the value of the custom field in existing items.
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: 45667789900
- $ref: '#/components/parameters/organization_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/custom_fields'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-an-item-customfield-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.UPDATE
/items/{item_id}/image:
x-mcp-group:
- Items
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: 4815000000044208
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: upload_item_image
summary: Upload an item image
description: 'Uploads an image for an item in Zoho Inventory. Allowed formats: gif, png, jpeg, jpg, bmp, webp. Maximum size: 7 MB.'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
image:
type: string
format: binary
description: Image file to upload.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/upload-item-image-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
get:
tags:
- items
operationId: get_item_image
summary: Retrieve an item image
description: Retrieves the image associated with an item.
parameters:
- name: preview
in: query
description: Set to <code>true</code> to get a preview of the image.
required: false
schema:
type: boolean
responses:
'200':
description: Returns the item image as a binary stream.
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.READ
delete:
tags:
- items
operationId: delete_item_image
summary: Delete an item image
description: Deletes the image associated for an item in Zoho Inventory.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/delete-an-item-image-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.DELETE
/items/{item_id}/active:
x-mcp-group:
- Items
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: 4815000000044208
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: mark_item_as_active
summary: Mark as active
description: Changes the status of an item to active.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/mark-as-active-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
/items/{item_id}/inactive:
x-mcp-group:
- Items
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: 4815000000044208
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: mark_item_as_inactive
summary: Mark as inactive
description: Mark an item as inactive.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/mark-as-inactive-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
/variants/{variant_id}/openingstock:
x-mcp-group:
- Items
parameters:
- name: variant_id
in: path
required: true
description: Unique identifier of the variant.
schema:
type: string
example: '4815000000044208'
- $ref: '#/components/parameters/organization_id'
get:
tags:
- items
operationId: get_variant_opening_stock
summary: Retrieve variant opening stock
description: Fetches the opening stock details of a variant, including batches, serial numbers, and warehouse details.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/get-variant-opening-stock-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.READ
put:
tags:
- items
operationId: update_variant_opening_stock
summary: Update variant opening stock
description: Updates the opening stock details of a variant.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/update-variant-opening-stock-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-variant-opening-stock-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.UPDATE
/items/{item_id}/images:
x-mcp-group:
- Items
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: 4815000000044208
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: upload_item_images
summary: Upload multiple item images
description: 'Uploads multiple images for an item. Allowed formats: gif, png, jpeg, jpg, bmp, webp. Maximum size: 7 MB per image.'
parameters:
- name: document_ids
in: query
description: Comma-separated list of document IDs.
required: false
schema:
type: string
- name: remove_all
in: query
description: Set to <code>true</code> to remove all existing images before uploading.
required: false
schema:
type: boolean
- name: update_primary_image
in: query
description: Set to <code>true</code> to update the primary image.
required: false
schema:
type: boolean
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
image:
type: string
format: binary
description: Image file(s) to upload.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/upload-item-images-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
delete:
tags:
- items
operationId: delete_item_images
summary: Delete multiple item images
description: Deletes multiple images associated with an item.
parameters:
- name: document_ids
in: query
description: Comma-separated list of document IDs to delete.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/delete-item-images-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.DELETE
/items/{item_id}/images/reorder:
x-mcp-group:
- Items
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: 4815000000044208
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: reorder_item_images
summary: Reorder item images
description: Reorders the images associated with an item.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/reorder-item-images-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/reorder-item-images-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
/items/{item_id}/backimage:
x-mcp-group:
- Items
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: 4815000000044208
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: upload_item_back_image
summary: Upload an item back image
description: 'Uploads a back image for an item. Allowed formats: gif, png, jpeg, jpg, bmp, webp. Maximum size: 7 MB.'
parameters:
- name: document_id
in: query
description: Document ID of an existing image to set as back image.
required: false
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
back_image:
type: string
format: binary
description: Back image file to upload.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/upload-item-back-image-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
delete:
tags:
- items
operationId: delete_item_back_image
summary: Delete an item back image
description: Deletes the back image associated with an item.
parameters:
- name: document_id
in: query
description: Document ID of the back image to delete.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/delete-item-back-image-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.DELETE
/items/{item_id}/images/{image_id}/backimage:
x-mcp-group:
- Items
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: 4815000000044208
- name: image_id
in: path
required: true
description: Unique identifier of the image.
schema:
type: string
example: '2077500000000002000'
- $ref: '#/components/parameters/organization_id'
put:
tags:
- items
operationId: mark_image_as_back_image
summary: Mark an image as back image
description: Marks an existing item image as the rear/back image.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/mark-image-as-back-image-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.UPDATE
/items/active:
x-mcp-group:
- Items
parameters:
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: bulk_mark_items_active
summary: Bulk mark items as active
description: Changes the status of multiple items to active.
parameters:
- name: item_ids
in: query
description: Comma-separated list of item IDs to mark as active.
required: true
schema:
type: string
example: 4815000000044208,4815000000044274
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-mark-items-active-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
/items/inactive:
x-mcp-group:
- Items
parameters:
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: bulk_mark_items_inactive
summary: Bulk mark items as inactive
description: Changes the status of multiple items to inactive.
parameters:
- name: item_ids
in: query
description: Comma-separated list of item IDs to mark as inactive.
required: true
schema:
type: string
example: 4815000000044208,4815000000044274
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-mark-items-inactive-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
/items/ungroup:
x-mcp-group:
- Items
parameters:
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: ungroup_items
summary: Ungroup items
description: Ungroups the specified items from their variant grouping.
parameters:
- name: item_ids
in: query
description: Comma-separated list of item IDs to ungroup.
required: false
schema:
type: string
- name: composite_item_ids
in: query
description: Comma-separated list of composite item IDs to ungroup.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ungroup-items-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
/items/enablestoragelocation:
x-mcp-group:
- Items
parameters:
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: enable_storage_location
summary: Enable storage location for items
description: Enables storage location tracking for the specified items.
parameters:
- name: item_ids
in: query
description: Comma-separated list of item IDs.
required: true
schema:
type: string
example: 4815000000044208,4815000000044274
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/enable-storage-location-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
/items/disablestoragelocation:
x-mcp-group:
- Items
parameters:
- $ref: '#/components/parameters/organization_id'
post:
tags:
- items
operationId: disable_storage_location
summary: Disable storage location for items
description: Disables storage location tracking for the specified items.
parameters:
- name: item_ids
in: query
description: Comma-separated list of item IDs.
required: true
schema:
type: string
example: 4815000000044208,4815000000044274
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/disable-storage-location-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.CREATE
/items/move/{item_id}:
x-mcp-group:
- Items
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: 4815000000044208
- $ref: '#/components/parameters/organization_id'
put:
tags:
- items
operationId: move_item
summary: Move an item
description: Moves an item to a different group or location.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/move-item-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/move-item-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.UPDATE
/items/grouping/{group_id}:
x-mcp-group:
- Items
parameters:
- name: group_id
in: path
required: true
description: Unique identifier of the item group.
schema:
type: string
example: '4815000000044220'
- $ref: '#/components/parameters/organization_id'
put:
tags:
- items
operationId: group_items
summary: Group items
description: Groups items together as variants under a single item.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/group-items-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/group-items-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.items.UPDATE
/items/{item_id}/locations/permissions:
x-mcp-group:
- Items
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: 4815000000044208
- $ref: '#/components/parameters/organization_id'
put:
tags:
- items
operationId: update_item_location_permissions
summary: Update item location permissions
description: Updates the location access permissions for an item.
parameters:
- name: associated_with_all_locations
in: query
description: Set to <code>true</code> to associate the item with all locations.
required: true
schema:
type: boolean
- name: allowed_location_ids
in: query
description: Comma-separated list of allowed location IDs.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-item-location-permissions-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.warehouses.UPDATE
/items/locations/permissions:
x-mcp-group:
- Items
parameters:
- $ref: '#/components/parameters/organization_id'
put:
tags:
- items
operationId: bulk_update_item_location_permissions
summary: Bulk update item location permissions
description: Updates location access permissions for multiple items at once.
parameters:
- name: item_ids
in: query
description: Comma-separated list of item IDs.
requ
# --- truncated at 32 KB (109 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho-inventory/refs/heads/main/openapi/zoho-inventory-items-api-openapi.yml