Zoho Inventory compositeitems API

CompositeItems Module

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zoho-inventory-compositeitems-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

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