> ## Documentation Index
> Fetch the complete documentation index at: https://www.commercengine.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Product Inventory

> Update product inventory



## OpenAPI

````yaml https://openapi.commercengine.io/ce-admin.json post /catalog/products/{id}/inventory
openapi: 3.1.0
info:
  title: CE Admin APIs
  version: '1.0'
  summary: Comprehensive admin interface for managing your e-commerce platform
  description: >-
    Complete administrative API suite for Commerce Engine, providing powerful
    tools to manage products, orders, customers, inventory, analytics, and
    system configuration. Designed for administrators and backend integrations
    requiring full platform control.
  license:
    name: All Rights Reserved
    url: https://www.commercengine.io/contact-us
  contact:
    email: support@commercengine.io
    url: https://www.commercengine.io/contact-us
    name: Support
servers:
  - url: https://staging.api.commercengine.io/api/v1/{store_id}/admin
    description: Staging Server
    variables:
      store_id:
        default: store_id
        description: Store ID
  - url: https://prod.api.commercengine.io/api/v1/{store_id}/admin
    description: Prod Server
    variables:
      store_id:
        default: store_id
        description: Store ID
security:
  - Authorization: []
tags:
  - name: Analytics
    description: Analytics
  - name: Catalog
    description: Catalog
  - name: Coupons & promotions
    description: Coupons & promotions
  - name: Customers
    description: Customers
  - name: Filter Options
    description: Filter Options
  - name: Inventories
    description: Inventories
  - name: Marketplace
    description: Marketplace
  - name: Marketplace Catalog
    description: Marketplace Catalog
  - name: Media Gallery
    description: Media Gallery
  - name: Metrics
    description: Metrics
  - name: Orders
    description: Orders
  - name: Payments
    description: Payments
  - name: Payouts
    description: Payouts
  - name: POS
    description: POS
  - name: POSAdmin
    description: Admin endpoints to be used as proxy in pos
  - name: Segments
    description: Segments
  - name: Shipping
    description: Shipping
  - name: SSE
    description: SSE
  - name: Store
    description: Store
  - name: Webhooks
    description: Webhooks
paths:
  /catalog/products/{id}/inventory:
    parameters:
      - name: id
        in: path
        description: product id
        required: true
        schema:
          type: string
    post:
      tags:
        - Catalog
      summary: Update Product Inventory
      description: Update product inventory
      operationId: update-inventory
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ProductInventory'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  success:
                    type: boolean
                  content:
                    properties:
                      inventory:
                        type: array
                        items:
                          $ref: '#/components/schemas/ProductInventory'
                    type: object
components:
  schemas:
    ProductInventory:
      title: ProductInventory
      type: object
      properties:
        variant_id:
          description: >
            required only if product has_variant = true. otherwise it can be
            excluded or pass null.
          type: string
        variant_name:
          type: string
          readOnly: true
        product_id:
          type: string
          readOnly: true
        product_name:
          type: string
          readOnly: true
        update_other_variants:
          description: >-
            Can be used for the product having variants. if true, same inventry
            details will be updated to other variants which are not mentioned in
            request body.
          type: boolean
          writeOnly: true
        track_quantity:
          type: boolean
        track_lot_batch:
          type: boolean
        allow_backorder:
          type: boolean
        stock:
          type: array
          items:
            type: object
            required:
              - warehouse_id
              - stock_quantity
            properties:
              sku:
                type: string
                readOnly: true
              warehouse_id:
                type: string
              warehouse_name:
                type: string
                readOnly: true
              received_quantity:
                type: integer
                readOnly: true
              reserved_quantity:
                type: integer
                readOnly: true
              sold_quantity:
                type: integer
                readOnly: true
              adjusted_quantity:
                type: integer
                readOnly: true
              stock_quantity:
                type: integer
              lot_batch:
                type:
                  - string
                  - 'null'
              mfg_date:
                type:
                  - string
                  - 'null'
                format: date
              exp_date:
                type:
                  - string
                  - 'null'
                format: date
              manufacturer:
                type:
                  - string
                  - 'null'
              created_at:
                type: string
                format: date-time
                readOnly: true
              modified_at:
                type: string
                format: date-time
                readOnly: true
      x-tags:
        - Catalog
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````