Zoho Inventory picklists API

Picklists Module

OpenAPI Specification

zoho-inventory-picklists-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: batches picklists 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: picklists
  description: Picklists Module
paths:
  /picklists:
    x-mcp-group:
    - Picklists
    get:
      tags:
      - picklists
      operationId: list_picklists
      summary: List Picklists
      description: Retrieve the list of all picklists in the organization.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - name: sort_column
        in: query
        description: Column by which the list is sorted.
        schema:
          type: string
          enum:
          - salesorder_number
          - picklist_number
          - date
          - created_time
          - last_modified_time
          - purchase_return_number
        example: date
      - name: sort_order
        in: query
        description: Sort order. `A` for ascending, `D` for descending.
        schema:
          type: string
          enum:
          - A
          - D
        example: D
      - name: search_text
        in: query
        description: Search text to filter picklists by name or number.
        schema:
          type: string
        example: Pick-00001
      - name: filter_by
        in: query
        description: 'Filter picklists by status. Example: `Status.All`, `Status.YetToStart`, `Status.InProgress`, `Status.OnHold`, `Status.Completed`, or `MissingAdvancedTrackingDetails`.'
        schema:
          type: string
        example: Status.InProgress
      - name: salesorder_number
        in: query
        description: Filter by sales order number.
        schema:
          type: string
        example: SO-00001
      - name: salesorder_number_startswith
        in: query
        description: Filter picklists where the associated sales order number starts with the given value.
        schema:
          type: string
        example: SO-0
      - name: salesorder_number_contains
        in: query
        description: Filter picklists where the associated sales order number contains the given value.
        schema:
          type: string
        example: '0001'
      - name: purchase_return_number
        in: query
        description: Filter by purchase return number.
        schema:
          type: string
        example: PR-00001
      - name: purchase_return_number_startswith
        in: query
        description: Filter picklists where the associated purchase return number starts with the given value.
        schema:
          type: string
        example: PR-0
      - name: purchase_return_number_contains
        in: query
        description: Filter picklists where the associated purchase return number contains the given value.
        schema:
          type: string
        example: '0001'
      - name: picklist_number
        in: query
        description: Filter by picklist number.
        schema:
          type: string
        example: Pick-00001
      - name: picklist_number_startswith
        in: query
        description: Filter picklists where the picklist number starts with the given value.
        schema:
          type: string
        example: Pick-0
      - name: picklist_number_contains
        in: query
        description: Filter picklists where the picklist number contains the given value.
        schema:
          type: string
        example: '0001'
      - name: item_id
        in: query
        description: Filter picklists that contain the specified item.
        schema:
          type: string
        example: '130426000000664040'
      - name: location_id
        in: query
        description: Filter picklists by location.
        schema:
          type: string
        example: '130426000000664030'
      - name: customer_id
        in: query
        description: Filter picklists by customer.
        schema:
          type: string
        example: '130426000000664050'
      - name: assignee_id
        in: query
        description: Filter picklists by the assigned user.
        schema:
          type: string
        example: '130426000000664060'
      - name: date
        in: query
        description: Filter picklists by a specific date (yyyy-mm-dd).
        schema:
          type: string
          format: date
        example: '2024-01-15'
      - name: date_start
        in: query
        description: Filter picklists from this start date (yyyy-mm-dd).
        schema:
          type: string
          format: date
        example: '2024-01-01'
      - name: date_end
        in: query
        description: Filter picklists up to this end date (yyyy-mm-dd).
        schema:
          type: string
          format: date
        example: '2024-01-31'
      - name: status
        in: query
        description: Filter picklists by status.
        schema:
          type: string
          enum:
          - yettostart
          - inprogress
          - onhold
          - completed
        example: inprogress
      - name: customview_id
        in: query
        description: ID of a custom view to apply.
        schema:
          type: string
        example: '130426000000664070'
      - name: page
        in: query
        description: Page number for pagination.
        schema:
          type: integer
          default: 1
        example: 1
      - name: per_page
        in: query
        description: Number of records per page.
        schema:
          type: integer
          default: 10
        example: 10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list-picklists-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.READ
    post:
      tags:
      - picklists
      operationId: create_picklist
      summary: Create a Picklist
      description: Create a new picklist for picking items.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - name: ignore_auto_number_generation
        in: query
        description: Set to `true` to use a custom picklist number instead of the auto-generated one.
        schema:
          type: boolean
        example: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-a-picklist-request'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/picklist-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.CREATE
    delete:
      tags:
      - picklists
      operationId: bulk_delete_picklists
      summary: Bulk Delete Picklists
      description: Delete multiple picklists at once.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - name: picklist_ids
        in: query
        description: Comma-separated list of picklist IDs to delete. Maximum 200 IDs.
        required: true
        schema:
          type: string
        example: 130426000000810001,130426000000810002
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/message-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.DELETE
  /picklists/{picklist_id}:
    x-mcp-group:
    - Picklists
    parameters:
    - name: picklist_id
      in: path
      required: true
      description: Unique identifier of the picklist.
      schema:
        type: string
      example: '130426000000810001'
    get:
      tags:
      - picklists
      operationId: get_picklist
      summary: Get a Picklist
      description: Retrieve the details of an existing picklist.
      parameters:
      - name: print
        in: query
        description: Set to `true` to return print-friendly content.
        schema:
          type: boolean
        example: false
      - $ref: '#/components/parameters/organization_id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/picklist-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.READ
    put:
      tags:
      - picklists
      operationId: update_picklist
      summary: Update a Picklist
      description: Update the details of an existing picklist.
      parameters:
      - name: ignore_auto_number_generation
        in: query
        description: Set to `true` to use a custom picklist number instead of the auto-generated one.
        schema:
          type: boolean
        example: false
      - $ref: '#/components/parameters/organization_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-a-picklist-request'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/picklist-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.UPDATE
    delete:
      tags:
      - picklists
      operationId: delete_picklist
      summary: Delete a Picklist
      description: Delete an existing picklist.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/message-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.DELETE
  /picklists/{picklist_id}/setstatus:
    x-mcp-group:
    - Picklists
    parameters:
    - name: picklist_id
      in: path
      required: true
      description: Unique identifier of the picklist.
      schema:
        type: string
      example: '130426000000810001'
    post:
      tags:
      - picklists
      operationId: set_picklist_status
      summary: Set Status of a Picklist
      description: Update the status of a specific picklist.
      parameters:
      - name: status
        in: query
        required: true
        description: The new status to set for the picklist.
        schema:
          type: string
          enum:
          - yettostart
          - inprogress
          - onhold
          - completed
        example: completed
      - $ref: '#/components/parameters/organization_id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/message-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.UPDATE
  /picklists/setstatus:
    x-mcp-group:
    - Picklists
    post:
      tags:
      - picklists
      operationId: bulk_set_picklist_status
      summary: Bulk Set Status of Picklists
      description: Update the status of multiple picklists at once.
      parameters:
      - name: picklist_ids
        in: query
        required: true
        description: Comma-separated list of picklist IDs. Maximum 25 IDs.
        schema:
          type: string
        example: 130426000000810001,130426000000810002
      - name: picklist_item_ids
        in: query
        description: Comma-separated list of picklist item IDs to update. Maximum 50 IDs.
        schema:
          type: string
        example: 130426000000810011,130426000000810012
      - name: status
        in: query
        required: true
        description: The new status to assign to the specified picklists.
        schema:
          type: string
          enum:
          - yettostart
          - inprogress
          - onhold
          - completed
        example: completed
      - $ref: '#/components/parameters/organization_id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/message-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.UPDATE
  /picklists/{picklist_id}/comments:
    x-mcp-group:
    - Picklists
    parameters:
    - name: picklist_id
      in: path
      required: true
      description: Unique identifier of the picklist.
      schema:
        type: string
      example: '130426000000810001'
    post:
      tags:
      - picklists
      operationId: add_comment_to_picklist
      summary: Add a Comment to a Picklist
      description: Add a comment or note to an existing picklist.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/add-comment-request'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/comment-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.UPDATE
  /picklists/{picklist_id}/comments/{comment_id}:
    x-mcp-group:
    - Picklists
    parameters:
    - name: picklist_id
      in: path
      required: true
      description: Unique identifier of the picklist.
      schema:
        type: string
      example: '130426000000810001'
    - name: comment_id
      in: path
      required: true
      description: Unique identifier of the comment.
      schema:
        type: string
      example: '130426000000810021'
    delete:
      tags:
      - picklists
      operationId: delete_picklist_comment
      summary: Delete a Comment on a Picklist
      description: Delete a comment from an existing picklist.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/message-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.DELETE
  /picklists/{picklist_id}/advancedtrackingdetails:
    x-mcp-group:
    - Picklists
    parameters:
    - name: picklist_id
      in: path
      required: true
      description: Unique identifier of the picklist.
      schema:
        type: string
      example: '130426000000810001'
    get:
      tags:
      - picklists
      operationId: get_picklist_advanced_tracking_details
      summary: Get Advanced Tracking Details for a Picklist
      description: Retrieve the serial number and batch tracking details for a picklist.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/advanced-tracking-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.READ
    put:
      tags:
      - picklists
      operationId: update_picklist_advanced_tracking_details
      summary: Update Advanced Tracking Details for a Picklist
      description: Update serial number and batch tracking details for items in a picklist.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-advanced-tracking-request'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/message-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.picklists.UPDATE
  /picklists/searchsolineitems:
    x-mcp-group:
    - Picklists
    get:
      tags:
      - picklists
      operationId: search_so_line_items_for_picklist
      summary: Search Sales Order Line Items
      description: Search for sales order line items that can be added to a picklist.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - name: customer_ids_in
        in: query
        description: Comma-separated list of customer IDs to filter by. Maximum 50.
        schema:
          type: string
        example: 130426000000664050,130426000000664051
      - name: salesorder_ids_in
        in: query
        description: Comma-separated list of sales order IDs to filter by. Maximum 50.
        schema:
          type: string
        example: 130426000000700001,130426000000700002
      - name: item_ids_in
        in: query
        description: Comma-separated list of item IDs to filter by. Maximum 50.
        schema:
          type: string
        example: 130426000000664040,130426000000664041
      - name: location_id
        in: query
        description: Filter by location.
        schema:
          type: string
        example: '130426000000664030'
      - name: line_item_location_id
        in: query
        description: Filter by the location associated with the line item.
        schema:
          type: string
        example: '130426000000664031'
      - name: sort_column
        in: query
        description: Column by which the results are sorted.
        schema:
          type: string
          enum:
          - salesorder_number
          - name
          - sku
        example: salesorder_number
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/search-so-line-items-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.salesorders.READ
  /picklists/searchso:
    x-mcp-group:
    - Picklists
    get:
      tags:
      - picklists
      operationId: search_sales_orders_for_picklist
      summary: Search Sales Orders
      description: Search for sales orders that can be used when creating a picklist.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - name: customer_ids_in
        in: query
        description: Comma-separated list of customer IDs to filter by. Maximum 50.
        schema:
          type: string
        example: 130426000000664050,130426000000664051
      - name: location_id
        in: query
        description: Filter by location.
        schema:
          type: string
        example: '130426000000664030'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/search-sales-orders-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.salesorders.READ
  /picklists/searchprlineitems:
    x-mcp-group:
    - Picklists
    get:
      tags:
      - picklists
      operationId: search_pr_line_items_for_picklist
      summary: Search Purchase Return Line Items
      description: Search for purchase return line items that can be added to a picklist.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - name: vendor_ids_in
        in: query
        description: Comma-separated list of vendor IDs to filter by. Maximum 50.
        schema:
          type: string
        example: 130426000000664055,130426000000664056
      - name: purchasereturn_ids_in
        in: query
        description: Comma-separated list of purchase return IDs to filter by. Maximum 50.
        schema:
          type: string
        example: 130426000000720001,130426000000720002
      - name: item_ids_in
        in: query
        description: Comma-separated list of item IDs to filter by. Maximum 50.
        schema:
          type: string
        example: 130426000000664040,130426000000664041
      - name: location_id
        in: query
        description: Filter by location.
        schema:
          type: string
        example: '130426000000664030'
      - name: line_item_location_id
        in: query
        description: Filter by the location associated with the line item.
        schema:
          type: string
        example: '130426000000664031'
      - name: sort_column
        in: query
        description: Column by which the results are sorted.
        schema:
          type: string
          enum:
          - purchasereturn_number
          - name
          - sku
        example: purchasereturn_number
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/search-pr-line-items-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchasereturns.READ
components:
  schemas:
    add-comment-request:
      description: Request body for adding a comment to a picklist.
      type: object
      properties:
        description:
          description: Text content of the comment.
          type: string
          example: Items checked and ready for dispatch.
    picklist-object:
      description: A picklist record.
      type: object
      properties:
        picklist_id:
          $ref: '#/components/schemas/picklist_id'
        picklist_number:
          $ref: '#/components/schemas/picklist_number'
        date:
          description: Date of the picklist.
          type: string
          format: date
          readOnly: true
          example: '2024-01-15'
        notes:
          description: Internal notes for the picklist.
          type: string
          readOnly: true
          example: Fragile items - handle with care.
        assignee_id:
          description: ID of the user assigned to the picklist.
          type: string
          readOnly: true
          example: '130426000000664060'
        assignee_name:
          description: Name of the user assigned to the picklist.
          type: string
          readOnly: true
          example: John Doe
        location_id:
          description: ID of the location.
          type: string
          readOnly: true
          example: '130426000000664030'
        location_name:
          description: Name of the location.
          type: string
          readOnly: true
          example: New York
        status:
          description: Current status of the picklist.
          type: string
          readOnly: true
          example: inprogress
        created_time:
          description: Timestamp when the picklist was created.
          type: string
          readOnly: true
          example: '2024-01-15T10:30:00+05:30'
        last_modified_time:
          description: Timestamp when the picklist was last modified.
          type: string
          readOnly: true
          example: '2024-01-15T11:00:00+05:30'
        salesorder_numbers:
          description: List of sales order numbers associated with this picklist.
          type: array
          readOnly: true
          items:
            type: string
          example:
          - SO-00001
          - SO-00002
        purchase_return_numbers:
          description: List of purchase return numbers associated with this picklist.
          type: array
          readOnly: true
          items:
            type: string
          example:
          - PR-00001
        customer_names:
          description: List of customer names associated with this picklist.
          type: array
          readOnly: true
          items:
            type: string
          example:
          - Acme Corp
    picklist-line-item-request:
      description: 'A line item in a picklist create/update request. Two mutually-exclusive shapes, controlled by `group_by`:


        - **Flat (`group_by=none`)** - populate pick fields (`quantity_to_be_picked`, `storages`, `serial_numbers`, `batches`, `status`, `preferred_storage_id`, `item_custom_fields`, the `*_line_item_id` references) directly on this object. Do **not** send `mapping_entity_details`.

        - **Grouped (`group_by=item` or `sales_order`)** - only `line_item_id` (on update), `assignee_id` and `mapping_entity_details` are valid here. All actual pick details belong to each child entry inside `mapping_entity_details`.

        '
      type: object
      properties:
        line_item_id:
          description: ID of an existing picklist line item. Pass on update to identify the row being modified; omit on create.
          type: string
          example: '130426000000810011'
        salesorder_id:
          description: ID of the associated sales order. Flat mode or group by sales order.
          type: string
          example: '130426000000700001'
        parent_entity_id:
          description: ID of the parent entity (sales order or purchase return). Flat mode only.
          type: string
          example: '130426000000700001'
        so_line_item_id:
          description: ID of the underlying sales order line item. Flat mode only.
          type: string
          example: '130426000000700011'
        pr_line_item_id:
          description: ID of the underlying purchase return line item. Flat mode only.
          type: string
          example: '130426000000720011'
        parent_line_item_id:
          description: ID of the parent line item on the source entity. Flat mode only.
          type: string
          example: '130426000000700011'
        quantity_to_be_picked:
          description: Quantity of the item to be picked. Flat mode only.
          type: number
          example: 5
        quantity_picked:
          description: Quantity already picked. Flat mode only.
          type: number
          example: 3
        status:
          description: Status of the line item. Flat mode only.
          type: string
          enum:
          - yettostart
          - inprogress
          - onhold
          - completed
          example: inprogress
        preferred_storage_id:
          description: ID of the preferred storage location for this item. Flat mode or group by item.
          type: string
          example: '130426000000801001'
        storages:
          description: Storage location assignments. Flat mode only. Maximum 100.
          type: array
          maxItems: 100
          items:
            type: object
            properties:
              storage_id:
                description: ID of the storage location.
                type: string
                example: '130426000000801001'
              out_quantity:
                description: Quantity assigned to this storage location.
                type: number
                example: 5
        serial_numbers:
          description: Serial numbers assigned to this line item. Flat mode only. Maximum 10000.
          type: array
          maxItems: 10000
          items:
            type: string
          example:
          - SN-001
          - SN-002
        batches:
          description: Batch details for this line item. Flat mode only. Maximum 100.
          type: array
          maxItems: 100
          items:
            type: object
            properties:
              batch_id:
                description: Batch identifier.
                type: string
                example: '130426000000810031'
              out_quantity:
                description: Quantity in this batch.
                type: number
                example: 5
              storages:
                description: Storage location breakdown for this batch.
                type: array
                items:
                  type: object
                  properties:
                    storage_id:
                      description: ID of the storage location.
                      type: string
                      example: '130426000000801001'
                    out_quantity:
                      description: Quantity assigned to this storage location.
                      type: number
                      example: 5
        item_custom_fields:
          description: Custom field values for the item. Flat mode only. Maximum 1000.
          type: array
          maxItems: 1000
          items:
            type: object
            properties:
              label:
                description: Label of the custom field.
                type: string
                example: Zone
              value:
                description: Value for the custom field.
                type: string
                example: Zone A
        assignee_id:
          description: ID of the user assigned to this line item. For grouped picklists, assigns the picker to the entire group. This is not used for non-grouped picklists.
          type: string
          example: '130426000000664060'
        mapping_entity_details:
          description: Child pick entries grouped under this parent line item. **Required for grouped picklists** (`group_by=item` or `sales_order`) and must contain at least one entry. Must be omitted for `group_by=none`. Maximum 1000 entries.
          type: array
          maxItems: 1000
          items:
            $ref: '#/components/schemas/picklist-line-item-mapping-request'
    picklist-line-item-mapping-request:
      description: A child pick entry under a grouped picklist line item. Used only when `group_by` is `item` or `sales_order`. Provide one entry inside `mapping_entity_details` for every underlying sales order line item to be picked under the parent group.
      type: object
      properties:
        mapping_line_item_id:
          description: ID of an existing child entry. Pass on update to identify the row being modified; omit when adding a new one.
          type: string
          example: '130426000000810031'
        mapping_entity_item_id:
          description: ID of the underlying sales order line item to be picked. Required when adding a new child entry.
          type: string
          example: '130426000000700011'
        quantity_to_be_picked:
          description: Quantity to be picked for this child entry.
          type: number
          example: 5
        quantity_picked:
          description: Quantity already picked for this child entry.
          type: number
          example: 3
        status:
          description: Status of this child mapping entry.
          type: string
          enum:
          - yettostart
          - inprogress
          - onhold
          - completed
          example: inprogress
        preferred_storage_id:
          description: ID of the preferred storage location for this child entry.
          type: string
          example: '130426000000801001'
        storages:
          description: Storage location assignments for this child entry. Maximum 100.
          type: array
          maxItems: 100
          items:
            type: object
            properties:
              storage_id:
                description: ID of the storage location.
                type: string
                example: '130426000000801001'
              out_quantity:
                description: Quantity assigned to this storage location.
                type: number
                example: 5
        serial_numbers:
          description: Serial numbers picked for this child entry. Maximum 10000.
          type: array
          maxItems: 10000
          items:
            type: string
          example:
          - SN-001
          - SN-002
        batches:
          description: Batch details picked for this child entry. Maximum 100.
          type: array
          maxItems: 100
          items:
            type: object
            properties:
              batch_id:
                description: Batch identifier.
                type: string
                example: '130426000000810031'
              out_quantity:
                description: Quantity in this batch.
                type: number
                example: 5
              storages:
                description: Storage location breakdown used for picking this child entry.
                type: array
                items:
                  type: object
                  properties:
                    storage_id:
                      description: ID of the storage location.
                      ty

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