Zoho Inventory purchaseorders API

PurchaseOrders Module

Operations 13

POST /purchaseorders Create a Purchase Order #
GET /purchaseorders List all Purchase Orders #
GET /purchaseorders/{purchaseorder_id} Retrieve a Purchase Order #
PUT /purchaseorders/{purchaseorder_id} Update a Purchase Order #
DELETE /purchaseorders/{purchaseorder_id} Delete a Purchase Order #
POST /purchaseorders/{purchaseorder_id}/status/issued Mark as Issued #
POST /purchaseorders/{purchaseorder_id}/status/cancelled Mark as Cancelled #
POST /purchaseorders/{purchaseorder_id}/submit Submit a purchase order for approval #
POST /purchaseorders/{purchaseorder_id}/approve Approve a purchase order #
POST /purchaseorders/{purchaseorder_id}/reject Reject a purchase order #
POST /purchaseorders/{purchaseorder_id}/approve/final Final-approve a purchase order #
POST /purchaseorders/submit Bulk submit purchase orders for approval #
POST /purchaseorders/approve Bulk approve purchase orders #

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-purchaseorders-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

zoho-inventory-purchaseorders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: batches Purchaseorders 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: purchaseorders
  description: PurchaseOrders Module
paths:
  /purchaseorders:
    x-mcp-group:
    - Purchase Orders
    parameters:
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - purchaseorders
      operationId: create_purchase_order
      summary: Create a Purchase Order
      description: Creates a new Purchase Order in Zoho Inventory. Description about extra parameter ignore_auto_number_generation - Ignore auto purchase order number generation for this Purchase order. This mandates the Purchase Order number to be entered. Allowed Values <code>true</code> and <code>false</code>.
      parameters:
      - name: ignore_auto_number_generation
        in: query
        description: Ignore auto purchase order number generation for this purchase order. This mandates the purchase order number. Allowed values are <code> true </code> , <code> false </code>.
        required: false
        schema:
          type: boolean
        example: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-a-purchase-order-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create-a-purchase-order-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.CREATE
    get:
      tags:
      - purchaseorders
      operationId: list_purchase_orders
      summary: List all Purchase Orders
      description: Lists all the Purchase Orders present in Zoho Inventory.
      parameters:
      - name: page
        in: query
        description: Page number to be fetched. Default value is 1.
        required: false
        schema:
          type: integer
          default: 1
        example: 1
      - name: per_page
        in: query
        description: Number of records to be fetched per page. Default value is 200.
        required: false
        schema:
          type: integer
          default: 200
        example: 200
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list-all-purchase-orders-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.READ
  /purchaseorders/{purchaseorder_id}:
    x-mcp-group:
    - Purchase Orders
    parameters:
    - name: purchaseorder_id
      in: path
      required: true
      description: Unique identifier of the purchase order.
      schema:
        type: string
      example: 4815000000044972
    - $ref: '#/components/parameters/organization_id'
    get:
      tags:
      - purchaseorders
      operationId: get_purchase_order
      summary: Retrieve a Purchase Order
      description: Retrieves the details for an existing Purchase Order.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/retrieve-a-purchase-order-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.READ
    put:
      tags:
      - purchaseorders
      operationId: update_purchase_order
      summary: Update a Purchase Order
      description: Updates a new Purchase Order in Zoho Inventory. Description about extra parameter ignore_auto_number_generation - Ignore auto Purchase order number generation for this Purchase Order. This mandates the Purchase Order number to be entered. Allowed Values <code>true</code> and <code>false</code>.
      parameters:
      - name: ignore_auto_number_generation
        in: query
        description: Ignore auto purchase order number generation for this purchase order. This mandates the purchase order number. Allowed values are <code> true </code> , <code> false </code>.
        required: false
        schema:
          type: boolean
        example: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-a-purchase-order-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-a-purchase-order-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.UPDATE
    delete:
      tags:
      - purchaseorders
      operationId: delete_purchase_order
      summary: Delete a Purchase Order
      description: Deletes a Purchase Order from Zoho Inventory.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-a-purchase-order-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.DELETE
  /purchaseorders/{purchaseorder_id}/status/issued:
    x-mcp-group:
    - Purchase Orders
    parameters:
    - name: purchaseorder_id
      in: path
      required: true
      description: Unique identifier of the purchase order.
      schema:
        type: string
      example: 4815000000044972
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - purchaseorders
      operationId: mark_purchase_order_as_issued
      summary: Mark as Issued
      description: Marks a Purchase Order as Issued.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mark-as-issued-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.CREATE
  /purchaseorders/{purchaseorder_id}/status/cancelled:
    x-mcp-group:
    - Purchase Orders
    parameters:
    - name: purchaseorder_id
      in: path
      required: true
      description: Unique identifier of the purchase order.
      schema:
        type: string
      example: 4815000000044972
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - purchaseorders
      operationId: mark_purchase_order_as_cancelled
      summary: Mark as Cancelled
      description: Marks a Purchase Order as Cancelled.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mark-as-cancelled-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.CREATE
  /purchaseorders/{purchaseorder_id}/submit:
    x-mcp-group:
    - Purchase Orders
    post:
      tags:
      - purchaseorders
      operationId: submit_purchaseorder
      summary: Submit a purchase order for approval
      description: Submit a purchase order for approval workflow.
      parameters:
      - name: purchaseorder_id
        in: path
        description: Unique ID of the purchase order.
        required: true
        schema:
          type: string
        example: '4815000000044972'
      - $ref: '#/components/parameters/organization_id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approval-action-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.UPDATE
  /purchaseorders/{purchaseorder_id}/approve:
    x-mcp-group:
    - Purchase Orders
    post:
      tags:
      - purchaseorders
      operationId: approve_purchaseorder
      summary: Approve a purchase order
      description: Approve a submitted purchase order.
      parameters:
      - name: purchaseorder_id
        in: path
        description: Unique ID of the purchase order.
        required: true
        schema:
          type: string
        example: '4815000000044972'
      - $ref: '#/components/parameters/organization_id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approval-action-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.UPDATE
  /purchaseorders/{purchaseorder_id}/reject:
    x-mcp-group:
    - Purchase Orders
    post:
      tags:
      - purchaseorders
      operationId: reject_purchaseorder
      summary: Reject a purchase order
      description: Reject a submitted purchase order.
      parameters:
      - name: purchaseorder_id
        in: path
        description: Unique ID of the purchase order.
        required: true
        schema:
          type: string
        example: '4815000000044972'
      - $ref: '#/components/parameters/organization_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/reject-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approval-action-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.UPDATE
  /purchaseorders/{purchaseorder_id}/approve/final:
    x-mcp-group:
    - Purchase Orders
    post:
      tags:
      - purchaseorders
      operationId: final_approve_purchaseorder
      summary: Final-approve a purchase order
      description: Mark a submitted purchase order as final approved, bypassing the remaining approval sequence.
      parameters:
      - name: purchaseorder_id
        in: path
        description: Unique ID of the purchase order.
        required: true
        schema:
          type: string
        example: '4815000000044972'
      - $ref: '#/components/parameters/organization_id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approval-action-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.UPDATE
  /purchaseorders/submit:
    x-mcp-group:
    - Purchase Orders
    post:
      tags:
      - purchaseorders
      operationId: bulk_submit_purchaseorders
      summary: Bulk submit purchase orders for approval
      description: Submit multiple purchase orders for approval workflow at once.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - name: purchaseorder_ids
        in: query
        description: Comma-separated list of purchase order IDs to submit for approval.
        required: true
        schema:
          type: string
        example: 4815000000044972,4815000000044990
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approval-action-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.UPDATE
  /purchaseorders/approve:
    x-mcp-group:
    - Purchase Orders
    post:
      tags:
      - purchaseorders
      operationId: bulk_approve_purchaseorders
      summary: Bulk approve purchase orders
      description: Approve multiple submitted purchase orders at once.
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - name: purchaseorder_ids
        in: query
        description: Comma-separated list of purchase order IDs to approve.
        required: true
        schema:
          type: string
        example: 4815000000044972,4815000000044990
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approval-action-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.purchaseorders.UPDATE
components:
  schemas:
    attention:
      description: Name of the person, whose attention is required.
      type: string
      example: Tony
    contact_person_name:
      description: Name of the Contact Person
      type: string
      example: David
    mark-as-cancelled-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The purchase order has been marked as cancelled.
          readOnly: true
    bill_number:
      description: Bill number of Purchase Order.
      type: string
      example: BL-00002
    account_id:
      description: Account ID of the item.
      type: string
      example: 4815000000035003
    last_name:
      description: Last Name of the Contact Person.
      type: string
      example: John
    transaction_id:
      description: Unique ID generated by the server for the transaction. This is used as an identifier.
      type: string
      example: 1232423434
    location_id:
      description: Location ID
      type: string
      example: '460000000038080'
    tax_type:
      description: Denotes the type of the tax. This can either be a single tax or a tax group.
      type: string
      example: tax
    can_send_in_mail:
      description: Checks whether it can be sent in a mail or not.
      type: boolean
      example: true
    contact_person_email:
      description: Email ID of the Contact Person.
      type: string
      example: willsmith@bowmanfurniture.com
    delete-a-purchase-order-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The Purchase Order has been deleted.
          readOnly: true
    update-a-purchase-order-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        purchase_order:
          type: object
          properties:
            purchaseorder_id:
              $ref: '#/components/schemas/purchaseorder_id'
            purchaseorder_number:
              $ref: '#/components/schemas/purchaseorder_number'
            date:
              $ref: '#/components/schemas/date'
            expected_delivery_date:
              $ref: '#/components/schemas/expected_delivery_date'
            reference_number:
              $ref: '#/components/schemas/reference_number'
            status:
              $ref: '#/components/schemas/status'
            vendor_id:
              $ref: '#/components/schemas/vendor_id'
            vendor_name:
              $ref: '#/components/schemas/vendor_name'
            contact_persons_associated:
              $ref: '#/components/schemas/contact_persons_associated'
            currency_id:
              $ref: '#/components/schemas/currency_id'
            currency_code:
              $ref: '#/components/schemas/currency_code'
            currency_symbol:
              $ref: '#/components/schemas/currency_symbol'
            exchange_rate:
              $ref: '#/components/schemas/exchange_rate'
            delivery_date:
              $ref: '#/components/schemas/delivery_date'
            salesorder_id:
              $ref: '#/components/schemas/salesorder_id'
            is_drop_shipment:
              $ref: '#/components/schemas/is_drop_shipment'
            custom_fields:
              $ref: '#/components/schemas/custom_fields'
            line_items:
              $ref: '#/components/schemas/line_items'
            location_id:
              $ref: '#/components/schemas/location_id'
            location_name:
              $ref: '#/components/schemas/location_name'
            sub_total:
              $ref: '#/components/schemas/sub_total'
            tax_total:
              $ref: '#/components/schemas/tax_total'
            total:
              $ref: '#/components/schemas/total'
            taxes:
              $ref: '#/components/schemas/taxes'
            price_precision:
              $ref: '#/components/schemas/price_precision'
            pricebook_id:
              $ref: '#/components/schemas/pricebook_id'
            billing_address:
              $ref: '#/components/schemas/billing_address'
            notes:
              $ref: '#/components/schemas/notes'
            terms:
              $ref: '#/components/schemas/terms'
            ship_via:
              $ref: '#/components/schemas/ship_via'
            ship_via_id:
              $ref: '#/components/schemas/ship_via_id'
            attention:
              $ref: '#/components/schemas/attention'
            delivery_org_address_id:
              $ref: '#/components/schemas/delivery_org_address_id'
            delivery_customer_id:
              $ref: '#/components/schemas/delivery_customer_id'
            delivery_customer_name:
              $ref: '#/components/schemas/delivery_customer_name'
            delivery_address:
              $ref: '#/components/schemas/delivery_address'
            attachment_name:
              $ref: '#/components/schemas/attachment_name'
            can_send_in_mail:
              $ref: '#/components/schemas/can_send_in_mail'
            template_id:
              $ref: '#/components/schemas/template_id'
            template_name:
              $ref: '#/components/schemas/template_name'
            template_type:
              $ref: '#/components/schemas/template_type'
            created_time:
              $ref: '#/components/schemas/created_time'
            last_modified_time:
              $ref: '#/components/schemas/last_modified_time'
            purchasereceives:
              $ref: '#/components/schemas/purchasereceives'
            bills:
              $ref: '#/components/schemas/bills'
            gst_treatment:
              $ref: '#/components/schemas/gst_treatment'
            gst_no:
              $ref: '#/components/schemas/gst_no'
            source_of_supply:
              $ref: '#/components/schemas/source_of_supply'
            destination_of_supply:
              $ref: '#/components/schemas/destination_of_supply'
            is_pre_gst:
              $ref: '#/components/schemas/is_pre_gst'
            is_reverse_charge_applied:
              $ref: '#/components/schemas/is_reverse_charge_applied'
    reverse_charge_tax_name:
      description: Enter reverse charge tax name
      type: string
      example: inter
      x-node_available_in:
      - in
      x-node_unavailable_in: []
    is_backorder:
      description: This indicates whether it is a Back order or not.
      type: boolean
      example: false
    location_name:
      description: Name of the location
      type: string
    expected_delivery_date:
      description: Expected date of delivery for the items ordered.
      type: string
      example: '2015-05-28'
    is_drop_shipment:
      description: Default is <code>FALSE</code>, in case of drop shipment value must be <code>TRUE</code>.
      type: boolean
      example: true
    notes:
      description: Notes for the Purchase Order.
      type: string
      example: Sample Note
    tax_exemption_code:
      description: Code of the Tax Exemption
      type: string
      x-node_available_in:
      - in
      - au
      - ca
      - mx
      x-node_unavailable_in: []
    delivery_date:
      description: Date of delivery of the product.
      type: string
      example: '2015-06-01'
    expected_delivery_date_formatted:
      description: Indicates the date format.
      type: string
      example: 2015/05/28
    documents:
      description: Purchase order can have files attached to them. Each attachment has the following attributes <code>can_send_in_mail</code>, <code>file_name</code>, <code>file_type</code>, <code>file_size_formatted</code>, <code>attachment_order</code>, <code>document_id</code>, <code>file_size</code>.
      type: array
      items:
        type: object
        properties:
          can_send_in_mail:
            $ref: '#/components/schemas/can_send_in_mail'
          file_name:
            $ref: '#/components/schemas/file_name'
          file_type:
            $ref: '#/components/schemas/file_type'
          file_size_formatted:
            $ref: '#/components/schemas/file_size_formatted'
          attachment_order:
            $ref: '#/components/schemas/attachment_order'
          document_id:
            $ref: '#/components/schemas/document_id'
          file_size:
            $ref: '#/components/schemas/file_size'
    delivery_customer_name:
      description: Customer's name at the delivery address.
      type: string
      example: Tony
    purchase_order-response:
      type: object
      properties:
        purchaseorder_id:
          $ref: '#/components/schemas/purchaseorder_id'
        documents:
          $ref: '#/components/schemas/documents'
        purchaseorder_number:
          $ref: '#/components/schemas/purchaseorder_number'
        date:
          $ref: '#/components/schemas/date'
        expected_delivery_date:
          $ref: '#/components/schemas/expected_delivery_date'
        date_formatted:
          $ref: '#/components/schemas/date_formatted'
        expected_delivery_date_formatted:
          $ref: '#/components/schemas/expected_delivery_date_formatted'
        delivery_date_formatted:
          $ref: '#/components/schemas/delivery_date_formatted'
        status_formatted:
          $ref: '#/components/schemas/status_formatted'
        billed_status:
          $ref: '#/components/schemas/billed_status'
        is_emailed:
          $ref: '#/components/schemas/is_emailed'
        is_inclusive_tax:
          $ref: '#/components/schemas/is_inclusive_tax'
        is_backorder:
          $ref: '#/components/schemas/is_backorder'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        status:
          $ref: '#/components/schemas/status'
        vendor_id:
          $ref: '#/components/schemas/vendor_id'
        vendor_name:
          $ref: '#/components/schemas/vendor_name'
        contact_persons_associated:
          $ref: '#/components/schemas/contact_persons_associated'
        comments:
          $ref: '#/components/schemas/comments'
        currency_id:
          $ref: '#/components/schemas/currency_id'
        currency_code:
          $ref: '#/components/schemas/currency_code'
        currency_symbol:
          $ref: '#/components/schemas/currency_symbol'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        delivery_date:
          $ref: '#/components/schemas/delivery_date'
        salesorder_id:
          $ref: '#/components/schemas/salesorder_id'
        is_drop_shipment:
          $ref: '#/components/schemas/is_drop_shipment'
        custom_fields:
          $ref: '#/components/schemas/custom_fields'
        line_items:
          $ref: '#/components/schemas/line_items'
        location_id:
          $ref: '#/components/schemas/location_id'
        location_name:
          $ref: '#/components/schemas/location_name'
        sub_total:
          $ref: '#/components/schemas/sub_total'
        sub_total_formatted:
          $ref: '#/components/schemas/sub_total_formatted'
        tax_total:
          $ref: '#/components/schemas/tax_total'
        total:
          $ref: '#/components/schemas/total'
        taxes:
          $ref: '#/components/schemas/taxes'
        price_precision:
          $ref: '#/components/schemas/price_precision'
        pricebook_id:
          $ref: '#/components/schemas/pricebook_id'
        billing_address:
          $ref: '#/components/schemas/billing_address'
        notes:
          $ref: '#/components/schemas/notes'
        terms:
          $ref: '#/components/schemas/terms'
        ship_via:
          $ref: '#/components/schemas/ship_via'
        ship_via_id:
          $ref: '#/components/schemas/ship_via_id'
        attention:
          $ref: '#/components/schemas/attention'
        delivery_org_address_id:
          $ref: '#/components/schemas/delivery_org_address_id'
        delivery_customer_id:
          $ref: '#/components/schemas/delivery_customer_id'
        delivery_customer_name:
          $ref: '#/components/schemas/delivery_customer_name'
        delivery_address:
          $ref: '#/components/schemas/delivery_address'
        attachment_name:
          $ref: '#/components/schemas/attachment_name'
        can_send_in_mail:
          $ref: '#/components/schemas/can_send_in_mail'
        template_id:
          $ref: '#/components/schemas/template_id'
        template_name:
          $ref: '#/components/schemas/template_name'
        template_type:
          $ref: '#/components/schemas/template_type'
        created_time:
          $ref: '#/components/schemas/created_time'
        last_modified_time:
          $ref: '#/components/schemas/last_modified_time'
        purchasereceives:
          $ref: '#/components/schemas/purchasereceives'
        bills:
          $ref: '#/components/schemas/bills'
        gst_treatment:
          $ref: '#/components/schemas/gst_treatment'
        gst_no:
          $ref: '#/components/schemas/gst_no'
        source_of_supply:
          $ref: '#/components/schemas/source_of_supply'
        destination_of_supply:
          $ref: '#/components/schemas/destination_of_supply'
        is_pre_gst:
          $ref: '#/components/schemas/is_pre_gst'
        is_reverse_charge_applied:
          $ref: '#/components/schemas/is_reverse_charge_applied'
    tax_name:
      description: Name of the tax applied on the line item.
      type: string
      example: Sales Tax
    receive_number:
      description: Number of the Purchase Receive.
      type: string
      example: PR-00002
    operation_type:
      description: Type of operation performed
      type: string
      example: Updated
    comments:
      description: History related to the purchase order.
      type: array
      items:
        type: object
        properties:
          comment_id:
            $ref: '#/components/schemas/comment_id'
          purchaseorder_id:
            $ref: '#/components/schemas/purchaseorder_id'
          commented_by:
            $ref: '#/components/schemas/commented_by'
          comment_type:
            $ref: '#/components/schemas/comment_type'
          date_description:
            $ref: '#/components/schemas/date_description'
          time:
            $ref: '#/components/schemas/time'
          operation_type:
            $ref: '#/components/schemas/operation_type'
          transaction_id:
            $ref: '#/components/schemas/transaction_id'
          transaction_type:
            $ref: '#/components/schemas/transaction_type'
    update-a-purchase-order-request:
      required:
      - purchaseorder_number
      - vendor_id
      - line_items
      type: object
      properties:
        purchaseorder_number:
          $ref: '#/components/schemas/purchaseorder_number'
        date:
          $ref: '#/components/schemas/date'
        expected_delivery_date:
          $ref: '#/components/schemas/expected_delivery_date'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        ship_via:
          $ref: '#/components/schemas/ship_via'
        vendor_id:
          $ref: '#/components/schemas/vendor_id'
        salesorder_id:
          $ref: '#/components/schemas/salesorder_id'
        is_drop_shipment:
          $ref: '#/components/schemas/is_drop_shipment'
        contact_persons_associated:
          $ref: '#/components/schemas/contact_persons_associated_payload'
        attention:
          $ref: '#/components/schemas/attention'
        delivery_org_address_id:
          $ref: '#/components/schemas/delivery_org_address_id'
        delivery_customer_id:
          $ref: '#/components/schemas/delivery_customer_id'
        notes:
          $ref: '#/components/schemas/notes'
        terms:
          $ref: '#/components/schemas/terms'
        exchange_rate:
          $ref: '#/components/schemas/exchange_rate'
        custom_fields:
          $ref: '#/components/schemas/custom_fields'
        line_items:
          description: List of line items in a purchase order
          type: array
          items:
            type: object
            properties:
              item_id:
                $ref: '#/components/schemas/item_id'
              line_item_id:
                $ref: '#/components/schemas/line_item_id'
              account_id:
                $ref: '#/components/schemas/account_id'
              name:
                $ref: '#/components/schemas/name'
              description:
                $ref: '#/components/schemas/description'
              item_order:
                $ref: '#/components/schemas/item_order'
              bcy_rate:
                $ref: '#/components/schemas/bcy_rate'
              purchase_rate:
                $ref: '#/components/schemas/purchase_rate'
              quantity:
                $ref: '#/components/schemas/quantity'
              quantity_received:
                $ref: '#/components/schemas/quantity_received'
              unit:
                $ref: '#/components/schemas/unit'
              item_total:
                $ref: '#/components/schemas/item_total'
              tax_id:
                $ref: '#/components/schemas/tax_id'
              tax_name:
                $ref: '#/components/schemas/tax_name'
              tax_type:
                $ref: '#/components/schemas/tax_type'
              tax_percentage:
                $ref: '#/components/schemas/tax_percentage'
              image_id:
                $ref: '#/components/schemas/image_id'
              image_name:
                $ref: '#/components/schemas/image_name'
              image_type:
                $ref: '#/components/schemas/image_type'
              reverse_charge_tax_id:
                $ref: '#/components/schemas/reverse_charge_tax_id'
              hsn_or_sac:
                $ref: '#/components/schemas/hsn_or_sac'
              tax_exemption_code:
                $ref: '#/components/schemas/tax_exemption_code'
              location_id:
                $ref: '#/components/schemas/location_id'
              tax_exemption_id:
                $ref: '#/components/schemas/tax_exemption_id'
              salesorder_item_id:
                $ref: '#/components/schemas/salesorder_item_id'
              item_custom_fields:
                $ref: '#/components/schemas/item_custom_fields'
        location_id:
          $ref: '#/components/schemas/location_id'
        gst_treatment:
          $ref: '#/components/schemas/gst_treatment'
        tax_treatment:
          $ref: '#/components/schemas/tax_treatment'
        gst_no:
          $ref: '#/components/schemas/gst_no'
        source_of_supply:
          $ref: '#/components/schemas/source_of_supply'
        destination_of_supply:
          $ref: '#/components/schemas/destination_of_supply'
    bcy_rate:
      description: Item rate in the organization's base currency.
      type: number
      format: double
      example: 122
    purchasereceives:
      description: Purchase receives for purchase order. Each Recieve contains- <code>receive_id</code>, <code>receive_number</code>, <code>date</code> and <code>note</code>.
      type: array
      items:
        type: object
        properties:
          receive_id:
            $ref: '#/components/schemas/receive_id'
          receive_number:
            $ref: '#/components/schemas/receive_number'
          date:
            $ref: '#/components/schemas/date'
          notes:
            $ref: '#/components/schemas/notes'
          line_items:
            $ref: '#/components/schemas/line_items'
    purchase_rate:
      description: Purchase Price of the line item.
      type: number
      format: double
      example: 122
    is_emailed:
      description: Checks whether the purchase order has been emailed or not.
      type: boolean
      example: true
    address:
      description: Name of the street of the customer's billing address.
      type: string
      example: No:234,90 Church Street
    reverse_charge_tax_amount:
      description: Tax amount for the re

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