Zoho Inventory compositeitems API

CompositeItems Module

OpenAPI Specification

zoho-inventory-compositeitems-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: batches compositeitems 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: compositeitems
  description: CompositeItems Module
paths:
  /compositeitems:
    x-mcp-group:
    - Composite Items
    parameters:
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - compositeitems
      operationId: create_composite_item
      summary: Creating a Composite Item
      description: A new composite item can be created after creating items that we want to associcate with composite item. User can attach image for composite item by calling Different API 'https://www.zohoapis.com/inventory/v1/compositeitems/{composite_item_id}/image', passing form-data parameter image i.e. -F image=bag_s.jpg
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/creating-a-composite-item-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/creating-a-composite-item-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.CREATE
    get:
      tags:
      - compositeitems
      operationId: list_composite_items
      summary: List All Composite Items
      description: List of all composite items.
      parameters:
      - name: page
        in: query
        description: Page Number
        required: false
        schema:
          type: integer
        example: 1
      - name: per_page
        in: query
        description: Items to be displayed per page
        required: false
        schema:
          type: integer
        example: 25
      - name: sort_column
        in: query
        description: 'column to be used for sorting. Allowed values: <code>name</code>,<code>sku</code>,<code>rate</code>,<code>tax_name</code>,<code>purchase_rate</code>,<code>created_time</code>,<code>last_modified_time</code>,<code>reorder_level</code>'
        required: false
        schema:
          type: string
        example: ''
      - name: sort_order
        in: query
        description: order used for sorting
        required: false
        schema:
          type: string
        example: A
      - name: filter_by
        in: query
        description: 'Filter items by status. Allowed values: <code>Status.All</code>,<code>Status.Active</code>,<code>Status.Inactive</code>,<code>Status.Lowstock</code>,<code>Status.Unmapped</code>,<code>Source.Crm</code>,<code>ComboType.Assembly</code>,<code>ComboType.Kit</code>'
        required: false
        schema:
          type: string
        example: ''
      - name: usestate
        in: query
        description: Whether current filter needs to be saved
        required: false
        schema:
          type: boolean
        example: true
      - name: response_option
        in: query
        description: response format number
        required: false
        schema:
          type: integer
        example: 0
      - name: search_text
        in: query
        description: Search composite items by name or other attributes.
        required: false
        schema:
          type: string
      - name: name
        in: query
        description: Search composite items by exact name.
        required: false
        schema:
          type: string
      - name: name_contains
        in: query
        description: Search composite items where name contains the given value.
        required: false
        schema:
          type: string
      - name: name_startswith
        in: query
        description: Search composite items where name starts with the given value.
        required: false
        schema:
          type: string
      - name: sku
        in: query
        description: Search composite items by exact SKU.
        required: false
        schema:
          type: string
      - name: sku_contains
        in: query
        description: Search composite items where SKU contains the given value.
        required: false
        schema:
          type: string
      - name: status
        in: query
        description: 'Filter by status. Allowed values: <code>all</code>, <code>active</code>, <code>inactive</code>.'
        required: false
        schema:
          type: string
      - name: category_id
        in: query
        description: Filter composite items by category ID.
        required: false
        schema:
          type: string
      - name: warehouse_id
        in: query
        description: Filter composite items by warehouse ID.
        required: false
        schema:
          type: string
      - name: tax_id
        in: query
        description: Filter composite items by tax ID.
        required: false
        schema:
          type: string
      - name: last_modified_time
        in: query
        description: Filter composite items modified after the given date and time in UTC format.
        required: false
        schema:
          type: string
      - name: combo_type
        in: query
        description: 'Filter by composite item type. Allowed values: <code>assembly</code>, <code>kit</code>.'
        required: false
        schema:
          type: string
      - name: account_id
        in: query
        description: Filter composite items by sales account ID.
        required: false
        schema:
          type: string
      - name: purchase_account_id
        in: query
        description: Filter composite items by purchase account ID.
        required: false
        schema:
          type: string
      - name: location_id
        in: query
        description: Filter composite items by location ID.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list-all-composite-items-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.READ
  /compositeitems/{composite_item_id}:
    x-mcp-group:
    - Composite Items
    parameters:
    - name: composite_item_id
      in: path
      required: true
      description: Unique identifier of the composite item.
      schema:
        type: string
      example: 504366000000053250
    - $ref: '#/components/parameters/organization_id'
    get:
      tags:
      - compositeitems
      operationId: get_composite_item
      summary: Retrieving a Composite Item
      description: Retrieving details of an existing compostie item.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/retrieving-a-composite-item-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.READ
    put:
      tags:
      - compositeitems
      operationId: update_composite_item
      summary: Updating a composite item
      description: Updating details of an existing composite item.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updating-a-composite-item-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/updating-a-composite-item-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.UPDATE
    delete:
      tags:
      - compositeitems
      operationId: delete_composite_item
      summary: Deleting a Composite Item
      description: Deleting an existing Composite Item.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deleting-a-composite-item-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.DELETE
  /compositeitems/{composite_item_id}/active:
    x-mcp-group:
    - Composite Items
    parameters:
    - name: composite_item_id
      in: path
      required: true
      description: Unique identifier of the composite item.
      schema:
        type: string
      example: 504366000000053250
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - compositeitems
      operationId: mark_composite_item_active
      summary: Mark as Active
      description: Changing status of an existing composite item to active.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mark-as-active-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.CREATE
  /compositeitems/{composite_item_id}/inactive:
    x-mcp-group:
    - Composite Items
    parameters:
    - name: composite_item_id
      in: path
      required: true
      description: Unique identifier of the composite item.
      schema:
        type: string
      example: 504366000000053250
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - compositeitems
      operationId: mark_composite_item_inactive
      summary: Mark as Inactive
      description: Changing status of an existing composite item to inactive.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mark-as-inactive-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.CREATE
  /compositeitems/{composite_item_id}/image:
    x-mcp-group:
    - Composite Items
    parameters:
    - name: composite_item_id
      in: path
      required: true
      description: Unique identifier of the composite item.
      schema:
        type: string
      example: 504366000000053250
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - compositeitems
      operationId: upload_composite_item_image
      summary: Upload Composite Item Images
      description: 'Uploads an image for a composite item. Accepted image formats: <code>gif</code>, <code>png</code>, <code>jpeg</code>, <code>jpg</code>, <code>bmp</code>, <code>webp</code>. Maximum file size is 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-composite-item-image-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.CREATE
    delete:
      tags:
      - compositeitems
      operationId: delete_composite_item_image
      summary: Delete Composite Item Image
      description: Deletes the images associated with a composite item.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-composite-item-image-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.DELETE
  /bundles:
    x-mcp-group:
    - Composite Items
    parameters:
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - compositeitems
      operationId: create_assemblies
      summary: Create Assemblies
      description: Assemblies is the technique of putting together different components in desired quantities to produce a single commodity. These components could be goods, services and other non-inventory items of your choice.
      parameters:
      - name: ignore_auto_number_generation
        in: query
        description: Ignore auto-generation of reference number. If <code>true</code>, the reference number provided in the request body is used as-is.
        required: false
        schema:
          type: boolean
        example: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-bundle-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create-bundle-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.CREATE
    get:
      tags:
      - compositeitems
      operationId: list_assemblies
      summary: Assemblies History
      description: List of all Assemblies of a given composite item.
      parameters:
      - name: composite_item_id
        in: query
        description: Unique ID generated for the composite item by the server. This is used as identifier
        required: true
        schema:
          type: string
        example: 504366000000053250
      - name: item_id
        in: query
        description: Filter assemblies by item ID.
        required: false
        schema:
          type: string
      - name: warehouse_id
        in: query
        description: Filter assemblies by warehouse ID.
        required: false
        schema:
          type: string
      - name: filter_by
        in: query
        description: 'Filter assemblies by date or status. Allowed values: <code>WorkOrderDate.All</code>, <code>WorkOrderDate.Today</code>, <code>WorkOrderDate.ThisWeek</code>, <code>WorkOrderDate.ThisMonth</code>, <code>WorkOrderDate.ThisQuarter</code>, <code>WorkOrderDate.ThisYear</code>, <code>Status.All</code>, <code>Status.Pending</code>, <code>Status.Built</code>, <code>Status.Confirmed</code>.'
        required: false
        schema:
          type: string
        example: Status.All
      - name: sort_column
        in: query
        description: 'Column used for sorting. Allowed values: <code>date</code>, <code>total</code>, <code>created_time</code>, <code>last_modified_time</code>, <code>reference_number</code>.'
        required: false
        schema:
          type: string
        example: created_time
      - name: sort_order
        in: query
        description: 'Order used for sorting. Allowed values: <code>A</code> for ascending, <code>D</code> for descending.'
        required: false
        schema:
          type: string
        example: D
      - name: search_text
        in: query
        description: Search assemblies by keyword.
        required: false
        schema:
          type: string
      - name: location_id
        in: query
        description: Filter assemblies by location ID.
        required: false
        schema:
          type: string
      - name: project_id
        in: query
        description: Filter assemblies by project ID.
        required: false
        schema:
          type: string
      - name: reference_number
        in: query
        description: Search assemblies by exact reference number.
        required: false
        schema:
          type: string
      - name: reference_number_contains
        in: query
        description: Search assemblies where reference number contains the given value.
        required: false
        schema:
          type: string
      - name: date_start
        in: query
        description: Filter assemblies with date on or after the given date (yyyy-mm-dd).
        required: false
        schema:
          type: string
          format: date
      - name: date_end
        in: query
        description: Filter assemblies with date on or before the given date (yyyy-mm-dd).
        required: false
        schema:
          type: string
          format: date
      - name: status
        in: query
        description: 'Filter assemblies by status. Allowed values: <code>draft</code>, <code>confirmed</code>, <code>bundled</code>.'
        required: false
        schema:
          type: string
      - 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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bundling-history-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.READ
  /bundles/{bundle_id}:
    x-mcp-group:
    - Composite Items
    parameters:
    - name: bundle_id
      in: path
      required: true
      description: Unique identifier of the bundle.
      schema:
        type: string
      example: 504366000000053250
    - $ref: '#/components/parameters/organization_id'
    get:
      tags:
      - compositeitems
      operationId: get_assembly
      summary: Retrieve Assemblies
      description: Fetches the details for an existing Assemblies.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/retrieve-bundle-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.READ
    put:
      tags:
      - compositeitems
      operationId: update_assembly
      summary: Update an Assembly
      description: Updates the details of an existing assembly.
      parameters:
      - name: ignore_auto_number_generation
        in: query
        description: Ignore auto-generation of reference number. If <code>true</code>, the reference number provided in the request body is used as-is.
        required: false
        schema:
          type: boolean
        example: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-bundle-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-bundle-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.UPDATE
    delete:
      tags:
      - compositeitems
      operationId: delete_assembly
      summary: Delete Assemblies
      description: Deletes an existing Assemblies from Zoho Inventory.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-bundle-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.DELETE
  /bundles/{bundle_id}/bundled:
    x-mcp-group:
    - Composite Items
    parameters:
    - name: bundle_id
      in: path
      required: true
      description: Unique identifier of the bundle.
      schema:
        type: string
      example: 504366000000053250
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - compositeitems
      operationId: mark_assembly_as_built
      summary: Mark Assembly as Assembled
      description: Marks an existing assembly as built, indicating that the composite item has been assembled from its components.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mark-assembly-as-built-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.CREATE
  /bundles/{bundle_id}/confirmed:
    x-mcp-group:
    - Composite Items
    parameters:
    - name: bundle_id
      in: path
      required: true
      description: Unique identifier of the bundle.
      schema:
        type: string
      example: 504366000000053250
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - compositeitems
      operationId: mark_assembly_as_confirmed
      summary: Mark Assembly as Confirmed
      description: Marks an existing assembly as confirmed.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mark-assembly-as-confirmed-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.compositeitems.CREATE
components:
  schemas:
    deleting-a-composite-item-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The item has been deleted.
          readOnly: true
    composite_item_id:
      description: Unique ID generated for the composite item by the server. This is used as identifier
      type: string
      example: 504366000000053250
    updating-a-composite-item-request:
      required:
      - name
      - sku
      - mapped_items
      - rate
      - item_type
      - product_type
      type: object
      properties:
        composite_item_id:
          $ref: '#/components/schemas/composite_item_id'
        name:
          $ref: '#/components/schemas/name'
        unit:
          $ref: '#/components/schemas/unit'
        tax_id:
          $ref: '#/components/schemas/tax_id'
        description:
          $ref: '#/components/schemas/description'
        tax_name:
          $ref: '#/components/schemas/tax_name'
        tax_percentage:
          $ref: '#/components/schemas/tax_percentage'
        tax_type:
          $ref: '#/components/schemas/tax_type'
        purchase_account_id:
          $ref: '#/components/schemas/purchase_account_id'
        purchase_account_name:
          $ref: '#/components/schemas/purchase_account_name'
        account_id:
          $ref: '#/components/schemas/account_id'
        account_name:
          $ref: '#/components/schemas/account_name'
        inventory_account_id:
          $ref: '#/components/schemas/inventory_account_id'
        inventory_account_name:
          $ref: '#/components/schemas/inventory_account_name'
        status:
          $ref: '#/components/schemas/status'
        source:
          $ref: '#/components/schemas/source'
        is_combo_product:
          $ref: '#/components/schemas/is_combo_product'
        item_type:
          $ref: '#/components/schemas/item_type'
        rate:
          $ref: '#/components/schemas/rate'
        pricebook_rate:
          $ref: '#/components/schemas/pricebook_rate'
        purchase_rate:
          $ref: '#/components/schemas/purchase_rate'
        reorder_level:
          $ref: '#/components/schemas/reorder_level'
        initial_stock:
          $ref: '#/components/schemas/initial_stock'
        initial_stock_rate:
          $ref: '#/components/schemas/initial_stock_rate'
        vendor_id:
          $ref: '#/components/schemas/vendor_id'
        vendor_name:
          $ref: '#/components/schemas/vendor_name'
        stock_on_hand:
          $ref: '#/components/schemas/stock_on_hand'
        asset_value:
          $ref: '#/components/schemas/asset_value'
        available_stock:
          $ref: '#/components/schemas/available_stock'
        actual_available_stock:
          $ref: '#/components/schemas/actual_available_stock'
        sku:
          $ref: '#/components/schemas/sku'
        upc:
          $ref: '#/components/schemas/upc'
        ean:
          $ref: '#/components/schemas/ean'
        isbn:
          $ref: '#/components/schemas/isbn'
        part_number:
          $ref: '#/components/schemas/part_number'
        image_id:
          $ref: '#/components/schemas/image_id'
        image_name:
          $ref: '#/components/schemas/image_name'
        purchase_description:
          $ref: '#/components/schemas/purchase_description'
        custom_fields:
          $ref: '#/components/schemas/custom_fields'
        mapped_items:
          $ref: '#/components/schemas/mapped_items'
        item_tax_preferences:
          $ref: '#/components/schemas/item_tax_preferences'
        hsn_or_sac:
          $ref: '#/components/schemas/hsn_or_sac'
        product_type:
          description: Type of the product.
          type: string
          example: goods
        combo_type:
          description: 'Type of composite item. Allowed values: <code>assembly</code>, <code>kit</code>.'
          type: string
          example: assembly
    ean:
      description: European Article Number, 13 digit barcode number of the item
      type: string
      example: 5789414385764
    inventory_account_name:
      description: Name of inventory type
      type: string
      example: Inventory Asset
    vendor_name:
      description: Name of the preferred vendor
      type: string
      example: Mr. vendor combo
    batches:
      description: Batch details for the line item. Reference an existing batch using <code>batch_id</code>. Applicable only for items with batch tracking enabled.
      type: array
      items:
        type: object
        required:
        - batch_id
        - out_quantity
        properties:
          batch_id:
            description: Unique identifier of an existing batch.
            type: string
            example: '6780203000000176162'
          out_quantity:
            description: Quantity consumed from the batch.
            type: number
            format: float
            example: 1
          storages:
            description: Bin/storage locations from which stock was consumed for this batch.
            type: array
            x-node_available_in:
            - Batch with Bin tracked items
            items:
              type: object
              required:
              - storage_id
              - out_quantity
              properties:
                storage_id:
                  description: Unique identifier of the bin/storage location.
                  type: string
                  example: '6780203000000093226'
                out_quantity:
                  description: Quantity consumed from the bin.
                  type: number
                  format: float
                  example: 1
    mark-as-active-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: Re-activation complete! The item is back in business!
          readOnly: true
    available_stock:
      description: Stock based on Shipments and Receives
      type: number
      format: double
      example: 2
    item_id:
      description: Unique ID generated by the server for the Item. This is used as an identifier.
      type: string
      example: 4815000000044208
    bundle_id:
      description: Unique ID generated for the Assemblies by the server. This is used as identifier
      type: string
      example: 504366000000053250
    updating-a-composite-item-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: Item details have been saved.
          readOnly: true
        composite_item:
          $ref: '#/components/schemas/composite_item'
    account_id:
      description: Unique ID generated by the server for the type of sale of this item
      type: string
      example: 504366000000000400
    serial_numbers:
      description: Serial numbers for the line item. Applicable only for items with serial tracking enabled.
      type: array
      items:
        type: string
        example: PKG-003
    date:
      description: The date on which Assemblies is done
      type: string
      format: date
      example: '2017-01-05'
    purchase_account_id:
      description: Unique ID generated by the server for the type of purchase
      type: string
      example: 504366000000034000
    purchase_rate:
      description: Buying price of the item
      type: number
      format: double
      example: 30000
    custom_fields:
      description: Custom fields are used to add more information about the item
      type: array
      items:
        type: object
        properties:
          customfield_id:
            $ref: '#/components/schemas/customfield_id'
          value:
            $ref: '#/components/schemas/value'
          label:
            $ref: '#/components/schemas/label'
    item_type:
      description: Type of item <code>Always inventory</code>
      type: string
      example: inventory
    value:
      description: Value of the custom field.
      type: string
      example: GBGD078
    tax_specification:
      description: Type of tax. It can be <code> intra</code> or <code> inter</code>
      type: string
      example: intra
      x-node_available_in:
      - in
      x-node_unavailable_in: []
    create-bundle-request:
      required:
      - reference_number
      - date
      - composite_item_id
      - composite_item_name
      - quantity_to_bundle
      - line_items
      - is_completed
      type: object
      properties:
        reference_number:
          $ref: '#/components/schemas/reference_number'
        date:
          $ref: '#/components/schemas/date'
        description:
          $ref: '#/components/schemas/description'
        composite_item_id:
          $ref: '#/components/schemas/composite_item_id'
        composite_item_name:
          $ref: '#/components/schemas/composite_item_name'
        composite_item_sku:
          $ref: '#/components/schemas/composite_item_sku'
        quantity_to_bundle:
          $ref: '#/components/schemas/quantity_to_bundle'
        status:
          description: 'Status of the assembly. Allowed values: <code>draft</code>, <code>confirmed</code>, <code>bundled</code>.'
          type: string
          example: draft
        warehouse_id:
          description: Warehouse ID for the assembly.
          type: string
          example: '460000000038080'
        location_id:
          $ref: '#/components/schemas/location_id'
        line_items:
          description: A assemblies can contain multiple line items. Each line item contains <code>item_id</code>,<code>name</code>,<code>description</code>,<code>quantity_consumed</code>,<code>unit</code>,<code>account_id</code>,<code>location_id</code>.
          type: array
          items:
            type: object
            required:
            - item_id
            - name
            - quantity_consumed
            - account_id
            - location_id
            properties:
              item_id:
                $ref: '#/components/schemas/item_id'
              name:
                $ref: '#/components/schemas/name'
              sku:
                description: SKU of the component item.
                type: string
                example: SK123
              description:
                $ref: '#/components/schemas/description'
              quantity_consumed:
                $ref: '#/components/schemas/quantity_consumed'
              total_quantity_consumed:
                description: Total quantity consumed for this component.
                type: number
                format: double
                example: 2
              unit:
                $ref: '#/components/schemas/unit'
              rate:
                $ref: '#/components/schemas/rate'
              account_id:
                $ref: '#/components/schemas/account_id'
              account_name:
                $ref: '#/components/schemas/account_name'
              location_id:
                $ref: '#/components/schemas/location_id'
              location_name:
                $ref: '#/components/schemas/location_name'
              warehouse_id:
                description: Warehouse ID for the component item.
                type: string
                example: '460000000038080'
              item_order:
                description: Sort order

# --- truncated at 32 KB (86 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho-inventory/refs/heads/main/openapi/zoho-inventory-compositeitems-api-openapi.yml