openapi: 3.0.0 info: title: Purchase Receives description: A new purchase receive can a be created.To create Purchase receive, URL parameter purchaseorder_id is needed. contact: {} version: 1.0.0 servers: - url: https://www.zohoapis.com/inventory/v1 description: API Endpoint tags: - name: purchasereceives description: PurchaseReceives Module paths: /purchasereceives: x-mcp-group: - Purchase Receives post: tags: - purchasereceives operationId: create_purchase_receive summary: Create a purchase receive description: A new purchase receive can a be created.To create Purchase receive, URL parameter purchaseorder_id is needed. requestBody: content: application/json: schema: $ref: '#/components/schemas/create-a-purchase-receive-request' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/create-a-purchase-receive-response' deprecated: false security: - Zoho_Auth: - ZohoInventory.purchasereceives.CREATE parameters: - $ref: '#/components/parameters/organization_id' /purchasereceives/{purchasereceive_id}: x-mcp-group: - Purchase Receives get: tags: - purchasereceives operationId: get_purchase_receive summary: Retrieve a Purchase Receive description: Fetches a Purchase Receive from Zoho Inventory. responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/retrieve-a-purchase-receive-response' deprecated: false security: - Zoho_Auth: - ZohoInventory.purchasereceives.READ put: tags: - purchasereceives operationId: update_purchase_receive summary: Update a Purchase Receive description: Update a existing Purchase Receive from Zoho Inventory. requestBody: content: application/json: schema: $ref: '#/components/schemas/update-a-purchase-receive-request' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/update-a-purchase-receive-response' deprecated: false security: - Zoho_Auth: - ZohoInventory.purchasereceives.UPDATE parameters: - $ref: '#/components/parameters/organization_id' delete: tags: - purchasereceives operationId: delete_purchase_receive summary: Delete a Purchase Receive description: Deletes a Purchase Receive from Zoho Inventory. responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/delete-a-purchase-receive-response' deprecated: false security: - Zoho_Auth: - ZohoInventory.purchasereceives.DELETE parameters: - name: purchasereceive_id in: path required: true description: Unique identifier of the purchase receive. schema: type: string example: '4815000000045035' - $ref: '#/components/parameters/organization_id' /purchasereceives/{purchasereceive_id}/submit: x-mcp-group: - Purchase Receives post: tags: - purchasereceives operationId: submit_purchasereceive summary: Submit a purchase receive for approval description: Submit a purchase receive for approval workflow. parameters: - name: purchasereceive_id in: path description: Unique ID of the purchase receive. required: true schema: type: string example: '4815000000045035' - $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.purchasereceives.UPDATE /purchasereceives/{purchasereceive_id}/approve: x-mcp-group: - Purchase Receives post: tags: - purchasereceives operationId: approve_purchasereceive summary: Approve a purchase receive description: Approve a submitted purchase receive. parameters: - name: purchasereceive_id in: path description: Unique ID of the purchase receive. required: true schema: type: string example: '4815000000045035' - $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.purchasereceives.UPDATE /purchasereceives/{purchasereceive_id}/approve/final: x-mcp-group: - Purchase Receives post: tags: - purchasereceives operationId: approve_purchasereceive_final summary: Final approval of a purchase receive description: Perform the final approval of a purchase receive (admin only). parameters: - name: purchasereceive_id in: path description: Unique ID of the purchase receive. required: true schema: type: string example: '4815000000045035' - $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.purchasereceives.UPDATE /purchasereceives/{purchasereceive_id}/reject: x-mcp-group: - Purchase Receives post: tags: - purchasereceives operationId: reject_purchasereceive summary: Reject a purchase receive description: Reject a submitted purchase receive. parameters: - name: purchasereceive_id in: path description: Unique ID of the purchase receive. required: true schema: type: string example: '4815000000045035' - $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.purchasereceives.UPDATE components: parameters: organization_id: name: organization_id description: ID of the organization in: query required: true schema: type: string example: '10234695' schemas: gendoc-attributes-schema: $ref: '#/components/schemas/purchase_receive-response' purchase_receive-response: type: object properties: purchaseorder_id: $ref: '#/components/schemas/purchaseorder_id' purchaseorder_number: $ref: '#/components/schemas/purchaseorder_number' receive_id: $ref: '#/components/schemas/receive_id' receive_number: $ref: '#/components/schemas/receive_number' date: $ref: '#/components/schemas/date' vendor_id: $ref: '#/components/schemas/vendor_id' vendor_name: $ref: '#/components/schemas/vendor_name' contact_persons: $ref: '#/components/schemas/contact_persons' notes: $ref: '#/components/schemas/notes' custom_fields: $ref: '#/components/schemas/custom_fields' line_items: $ref: '#/components/schemas/line_items' billing_address: $ref: '#/components/schemas/billing_address' shipping_address: $ref: '#/components/schemas/shipping_address' created_time: $ref: '#/components/schemas/created_time' last_modified_time: $ref: '#/components/schemas/last_modified_time' purchaseorder_id: description: Unique ID generated by the server for the Purchase Order. type: string example: 4815000000044972 purchaseorder_number: description: Purchase Order number. type: string example: PO-00002 receive_id: description: Unique ID generated by the server for the Purchase Receive. This is used as identifier. type: string example: 4815000000045035 receive_number: description: Number of the Purchase Receive. type: string example: PR-00002 date: description: Date of Purchase Receive type: string example: '2015-05-28' vendor_id: description: Unique ID generated by the server for the vendor. type: string example: 4815000000044080 vendor_name: description: Name of the vendor. type: string example: Molly contact_person_id: description: Unique ID generated by the server for the contact person type: string example: 4815000000044080 contact_persons: description: Array of contact person IDs. type: array items: type: object properties: contact_person_id: $ref: '#/components/schemas/contact_person_id' example: 4815000000044080 notes: description: Purchase Receive notes. type: string example: Sample Note. customfield_id: type: string description: Unique identifier of the custom field example: '46000000012845' value: description: Value of the Custom Field type: string example: Normal custom_fields: description: Custom fields for a purchasereceive. type: array items: type: object properties: customfield_id: $ref: '#/components/schemas/customfield_id' label: $ref: '#/components/schemas/label' value: $ref: '#/components/schemas/value' line_item_id: description: Unique ID generated by the server for each line item. This is used as an identifier. type: string example: 4815000000044897 item_id: description: Unique ID generated by the server for the item. This is used as an identifier. type: string example: 4815000000044100 name: description: Name of the line item. type: string example: Laptop-white/15inch/dell description: description: Description of the line item. type: string example: Just a sample description. item_order: description: The order of the line items, starts from 0 by default. type: integer example: 0 quantity: description: Quantity of the line item. type: number format: double example: 2 unit: description: Unit of line item. type: string example: qty label: description: Label of the Custom Field type: string item_custom_fields: type: array description: List of custom fields associated with the line item items: type: object properties: label: $ref: '#/components/schemas/label' value: $ref: '#/components/schemas/value' line_items: description: Number of line items for purchase receive. Each line item contains line_item_id, item_id, name, description, item_order, quantity and unit. type: array items: type: object properties: line_item_id: $ref: '#/components/schemas/line_item_id' item_id: $ref: '#/components/schemas/item_id' name: $ref: '#/components/schemas/name' description: $ref: '#/components/schemas/description' item_order: $ref: '#/components/schemas/item_order' quantity: $ref: '#/components/schemas/quantity' unit: $ref: '#/components/schemas/unit' serial_numbers: $ref: '#/components/schemas/serial_numbers' batches: $ref: '#/components/schemas/batches-response' storages: $ref: '#/components/schemas/storages-response' serial_numbers: description: Serial numbers for the line item. Applicable only for items with serial tracking enabled. type: array items: type: string example: TC-IO-09 batches: description: Batches for the line item. Create a new batch using batch_number or reference an existing batch using batch_id. Applicable only for items with batch tracking enabled. type: array items: type: object required: - in_quantity properties: batch_id: description: Unique identifier of a batch. Use when adding inward quantity to an existing batch or updating a batch. type: string example: '6780203000001066789' batch_number: description: Batch number. Required when creating a new batch. type: string example: BTC-TL-890 external_batch_number: description: External batch number from the manufacturer. Applicable when creating a new batch. type: string example: MFR-TL-890 manufacturer_date: description: Manufacturing date of the batch. Applicable when creating a new batch. type: string example: '2026-05-12' expiry_date: description: Expiration date of the batch. Applicable when creating a new batch. type: string example: '2026-12-24' in_quantity: description: Inward quantity for the batch. type: number format: float example: 2 storages: description: Bin/storage locations allocated for stock received against this batch. type: array x-node_available_in: - Batch with Bin tracked items items: type: object required: - storage_id - in_quantity properties: storage_id: description: Unique identifier of the bin/storage location. type: string example: '6780203000001066003' in_quantity: description: Inward quantity into the bin. type: number format: float example: 2 storages: description: Bin/storage locations allocated for the line item. Applicable only for items with bin tracking enabled. type: array items: type: object required: - storage_id - in_quantity properties: storage_id: description: Unique identifier of the bin/storage location. type: string example: '6780203000000093226' in_quantity: description: Inward quantity into the bin. type: number format: float example: 2 serial_numbers: description: Serial numbers allocated to this bin. type: array x-node_available_in: - Serial with Bin tracked items items: type: string example: TC-IO-09 batches-update: description: Batches for the line item. Create a new batch using batch_number or reference an existing batch using batch_id. Applicable only for items with batch tracking enabled. type: array items: type: object required: - in_quantity properties: batch_id: description: Unique identifier of a batch. Use when adding inward quantity to an existing batch or updating a batch. type: string example: '6780203000001066789' batch_number: description: Batch number. Required when creating a new batch. type: string example: BTC-TL-890 external_batch_number: description: External batch number from the manufacturer. Applicable when creating a new batch. type: string example: MFR-TL-890 manufacturer_date: description: Manufacturing date of the batch. Applicable when creating a new batch. type: string example: '2026-05-12' expiry_date: description: Expiration date of the batch. Applicable when creating a new batch. type: string example: '2026-12-24' in_quantity: description: Inward quantity for the batch. type: number format: float example: 2 batch_in_id: description: Unique identifier of the batch record. Applicable only when updating an existing batch entry. type: string example: '6780203000001066797' storages: description: Bin/storage locations allocated for stock received against this batch. type: array x-node_available_in: - Batch with Bin tracked items items: type: object required: - storage_id - in_quantity properties: storage_id: description: Unique identifier of the bin/storage location. type: string example: '6780203000001066003' storage_in_id: description: Unique identifier of the storage record. Applicable only when updating an existing storage entry. type: string example: '6780203000001066792' in_quantity: description: Inward quantity into the bin. type: number format: float example: 2 storages-update: description: Bin/storage locations allocated for the line item. Applicable only for items with bin tracking enabled. type: array items: type: object required: - storage_id - in_quantity properties: storage_id: description: Unique identifier of the bin/storage location. type: string example: '6780203000000093226' storage_in_id: description: Unique identifier of the storage record. Applicable only when updating an existing storage entry. type: string example: '6780203000001066795' in_quantity: description: Inward quantity into the bin. type: number format: float example: 2 serial_numbers: description: Serial numbers allocated to this bin. type: array x-node_available_in: - Serial with Bin tracked items items: type: string example: TC-IO-09 batches-response: description: Batches tracked for the line item. Returned for items with batch tracking enabled. type: array items: type: object properties: batch_id: description: Unique identifier of the batch. type: string example: '6780203000001066789' batch_number: description: Batch number. type: string example: BTC-TL-890 external_batch_number: description: External batch number from the manufacturer. type: string example: MFR-TL-890 manufacturer_date: description: Manufacturing date of the batch. type: string example: '2026-05-12' expiry_date: description: Expiration date of the batch. type: string example: '2026-12-24' in_quantity: description: Inward quantity recorded for the batch. type: number format: float example: 2 batch_in_id: description: Unique identifier of the batch entry on the line item. type: string example: '6780203000001066797' storages: description: Bin/storage locations from which stock was received for this batch. type: array x-node_available_in: - Batch with Bin tracked items items: type: object properties: storage_id: description: Unique identifier of the bin/storage location. type: string example: '6780203000001066003' storage_name: description: Display name of the bin/storage location. type: string example: Bin A1 in_quantity: description: Inward quantity recorded against the bin. type: number format: float example: 2 storage_in_id: description: Unique identifier of the storage entry on the line item. type: string example: '6780203000001066792' storages-response: description: Bin/storage locations tracked for the line item. Returned for items with bin tracking enabled. type: array items: type: object properties: storage_id: description: Unique identifier of the bin/storage location. type: string example: '6780203000000093226' storage_name: description: Display name of the bin/storage location. type: string example: Bin A2 in_quantity: description: Inward quantity recorded against the bin. type: number format: float example: 2 storage_in_id: description: Unique identifier of the storage entry on the line item. type: string example: '6780203000001066795' serial_numbers: description: Serial numbers allocated to this bin. type: array x-node_available_in: - Serial with Bin tracked items items: type: string example: TC-IO-09 item_custom_fields: $ref: '#/components/schemas/item_custom_fields' address: description: Name of the street of the customer's billing address. type: string example: No:234,90 Church Street city: description: Name of the city of the customer's billing address. type: string example: New York City state: description: Name of the state of the customer's billing address. type: string example: New York zip: description: Zip code of the customer's billing address. type: string example: 10048 country: description: Name of the country of the customer's billing address. type: string example: U.S.A fax: description: Fax number of the customer's billing address. type: string example: 324-524242 billing_address: description: Customer's billing address. It contains - address, city, state, zip, country and fax. type: array items: type: object properties: address: $ref: '#/components/schemas/address' city: $ref: '#/components/schemas/city' state: $ref: '#/components/schemas/state' zip: $ref: '#/components/schemas/zip' country: $ref: '#/components/schemas/country' fax: $ref: '#/components/schemas/fax' shipping_address: description: Customer's shipping address. It contains - address, city, state, zip, country and fax. type: array items: type: object properties: address: $ref: '#/components/schemas/address' city: $ref: '#/components/schemas/city' state: $ref: '#/components/schemas/state' zip: $ref: '#/components/schemas/zip' country: $ref: '#/components/schemas/country' fax: $ref: '#/components/schemas/fax' created_time: description: Time at which the Purchase Receive was created. type: string example: 2015-05-28T00:00:00.000Z last_modified_time: description: Time at which the Purchase Order details were last modified. type: string example: 2015-05-28T00:00:00.000Z create-a-purchase-receive-request: required: - receive_number - line_items type: object properties: receive_number: $ref: '#/components/schemas/receive_number' date: $ref: '#/components/schemas/date' notes: $ref: '#/components/schemas/notes' custom_fields: $ref: '#/components/schemas/custom_fields' line_items: description: Number of line items for purchase receive. type: array items: type: object properties: line_item_id: $ref: '#/components/schemas/line_item_id' item_id: $ref: '#/components/schemas/item_id' name: $ref: '#/components/schemas/name' description: $ref: '#/components/schemas/description' item_order: $ref: '#/components/schemas/item_order' quantity: $ref: '#/components/schemas/quantity' unit: $ref: '#/components/schemas/unit' serial_numbers: $ref: '#/components/schemas/serial_numbers' batches: $ref: '#/components/schemas/batches' storages: $ref: '#/components/schemas/storages' create-a-purchase-receive-response: type: object properties: code: type: integer example: 0 readOnly: true message: type: string example: success readOnly: true purchase_receive: $ref: '#/components/schemas/purchase_receive-response' retrieve-a-purchase-receive-response: type: object properties: code: type: integer example: 0 readOnly: true message: type: string example: success readOnly: true purchase_receive: type: object properties: purchaseorder_id: $ref: '#/components/schemas/purchaseorder_id' purchaseorder_number: $ref: '#/components/schemas/purchaseorder_number' receive_id: $ref: '#/components/schemas/receive_id' receive_number: $ref: '#/components/schemas/receive_number' date: $ref: '#/components/schemas/date' vendor_id: $ref: '#/components/schemas/vendor_id' vendor_name: $ref: '#/components/schemas/vendor_name' contact_persons: $ref: '#/components/schemas/contact_persons' notes: $ref: '#/components/schemas/notes' custom_fields: $ref: '#/components/schemas/custom_fields' line_items: $ref: '#/components/schemas/line_items' billing_address: $ref: '#/components/schemas/billing_address' shipping_address: $ref: '#/components/schemas/shipping_address' created_time: $ref: '#/components/schemas/created_time' last_modified_time: $ref: '#/components/schemas/last_modified_time' update-a-purchase-receive-request: required: - receive_number - line_items type: object properties: receive_number: $ref: '#/components/schemas/receive_number' date: $ref: '#/components/schemas/date' notes: $ref: '#/components/schemas/notes' custom_fields: $ref: '#/components/schemas/custom_fields' line_items: description: Number of line items for purchase receive. type: array items: type: object properties: line_item_id: $ref: '#/components/schemas/line_item_id' item_id: $ref: '#/components/schemas/item_id' name: $ref: '#/components/schemas/name' description: $ref: '#/components/schemas/description' item_order: $ref: '#/components/schemas/item_order' quantity: $ref: '#/components/schemas/quantity' unit: $ref: '#/components/schemas/unit' serial_numbers: $ref: '#/components/schemas/serial_numbers' batches: $ref: '#/components/schemas/batches-update' storages: $ref: '#/components/schemas/storages-update' update-a-purchase-receive-response: type: object properties: code: type: integer example: 0 readOnly: true message: type: string example: success readOnly: true purchase_receive: type: object properties: purchaseorder_id: $ref: '#/components/schemas/purchaseorder_id' purchaseorder_number: $ref: '#/components/schemas/purchaseorder_number' receive_id: $ref: '#/components/schemas/receive_id' receive_number: $ref: '#/components/schemas/receive_number' date: $ref: '#/components/schemas/date' vendor_id: $ref: '#/components/schemas/vendor_id' vendor_name: $ref: '#/components/schemas/vendor_name' contact_persons: $ref: '#/components/schemas/contact_persons' notes: $ref: '#/components/schemas/notes' custom_fields: $ref: '#/components/schemas/custom_fields' line_items: $ref: '#/components/schemas/line_items' billing_address: $ref: '#/components/schemas/billing_address' shipping_address: $ref: '#/components/schemas/shipping_address' created_time: $ref: '#/components/schemas/created_time' last_modified_time: $ref: '#/components/schemas/last_modified_time' delete-a-purchase-receive-response: type: object properties: code: type: integer example: 0 readOnly: true message: type: string example: The Purchase Receive has been deleted. readOnly: true approval-action-response: type: object properties: code: type: integer example: 0 readOnly: true message: type: string example: success readOnly: true reject-request: type: object properties: reason: description: Reason for rejecting the purchase receive. Max-length [500]. type: string example: Items received do not match the purchase order. securitySchemes: Zoho_Auth: type: oauth2 flows: implicit: authorizationUrl: https://accounts.zoho.com/oauth/v2/auth scopes: ZohoInventory.purchasereceives.CREATE: Create Purchasereceives ZohoInventory.purchasereceives.READ: Read Purchasereceives ZohoInventory.purchasereceives.UPDATE: Update Purchasereceives ZohoInventory.purchasereceives.DELETE: Delete Purchasereceives