How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Zoho Inventory Sales Orders API

SalesOrders Module

Zoho Inventory Sales Orders API is one of 37 APIs that Zoho Inventory publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 JSON Schema definition.

Tagged areas include Sales Orders. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 1 JSON Schema.

This API exposes 15 operations across 11 paths, and defines 155 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://www.zohoapis.com/inventory/v1.

15 operations 11 paths 155 schemas 2 DELETE2 GET10 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://www.zohoapis.com/inventory/v1
Authentication
OAuth 2.0
Resource Areas
1

Authentication & Security 1

Zoho Inventory Sales Orders API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (Zoho_Auth) using the implicit flow, exposing 4 scopes.

Paths & Operations 15

Across 11 paths, the API surfaces 15 operations — 2 DELETE, 2 GET, 10 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Sales Orders 15

SalesOrders Module

POST
/salesorders
Create a Sales Order
create_sales_order 2 params body → 201
GET
/salesorders
List all Sales Orders
list_sales_orders 3 params → 200
DELETE
/salesorders
Bulk delete Sales Orders
bulk_delete_sales_orders 1 param → 200
GET
/salesorders/{salesorder_id}
Retrieve a Sales Order
get_sales_order 2 params → 200
PUT
/salesorders/{salesorder_id}
Update a Sales Order
update_sales_order 3 params body → 200
DELETE
/salesorders/{salesorder_id}
Delete a Sales Order
delete_sales_order 2 params → 200
POST
/salesorders/{salesorder_id}/status/confirmed
Mark as Confirmed
mark_sales_order_as_confirmed 2 params → 200
POST
/salesorders/{salesorder_id}/status/void
Mark as Void
mark_sales_order_as_void 2 params → 200
POST
/salesorders/status/confirmed
Bulk confirm Sales Orders
bulk_confirm_sales_orders 2 params → 200
POST
/salesorders/{salesorder_id}/submit
Submit a sales order for approval
submit_salesorder 2 params → 200
POST
/salesorders/{salesorder_id}/approve
Approve a sales order
approve_salesorder 2 params → 200
POST
/salesorders/{salesorder_id}/approve/final
Final approval of a sales order
approve_salesorder_final 2 params → 200
POST
/salesorders/{salesorder_id}/reject
Reject a sales order
reject_salesorder 2 params body → 200
POST
/salesorders/submit
Bulk submit sales orders for approval
bulk_submit_salesorders 2 params → 200
POST
/salesorders/approve
Bulk approve sales orders
bulk_approve_salesorders 2 params → 200

Schemas 155

The contract defines 155 schemas that model the data the API accepts and returns. The most detailed are sales_order-response (49 properties), create-a-sales-order-request (29 properties), update-a-sales-order-request (26 properties), billing_address (6 properties). Each schema is shown below with its type and property counts.

due_date
string
Due date for the Invoice.
list-all-sales-orders-response
object
3 properties
file_size_formatted
string
This indicates the size of the formatted file.
shipment_date
string
Shipment date of the Sales Order.
delivery_guarantee
boolean
Delivery guarantee of the shipment can be true or false.
file_type
string
This indicates the type of the file.
is_invoiced
boolean
Checks whether the Sales Order has been invoiced or not.
mapped_items
array
Items that are associated with the composite item (kit) in the line item. Applicable only when the line item is a kit type composite item.
tracking_number
string
Tracking number of shipment.
template_id
string
Unique ID generated by the server for the Template. This is used as an identifier.
city
string
Name of the city of the customer's shipping address.
label
string
Label of the Custom Field
file_name
string
This indicates the name of the file.
value
string
Value of the Custom Field
bulk-delete-sales-orders-response
object
2 properties
is_backorder_allowed
boolean
description
string
Description of the line item.
shipment_number
string
Shipment number of the package.
shipping_address
object
Customer's shipping address. It contains - address , city , state , zip , country and fax .
6 properties
is_drop_shipment
boolean
Denotes if a SalesOrder is a drop shipment
template_type
string
Type of the template.
is_backordered
boolean
Denotes if a SalesOrder has been backordered
reject-request
object
1 property
quantity_invoiced
number
Quantity invoiced of the line item.
discount_amount
number
Discount to be applied on the Sales Order.
tax_total
number
Tax total of the Sales Order.
tds_tax_id
string
ID of the TDS tax or TDS tax group applied
address
string
Name of the street of the customer's shipping address.
discount
number
Discount applied to the sales order, which can be either a percentage or a flat amount. For percentage discounts, the value should include the % symbol (e.g.,…
terms
string
Terms for the Sales Order.
shipment_status
string
Shipment status of the package.
retrieve-a-sales-order-response
object
3 properties
contact_person_name
string
Name of the Contact Person
bcy_rate
number
Item rate in the organization's base currency.
is_dropshipped
boolean
Denotes if a SalesOrder has been dropshipped
first_name
string
First Name of the Contact Person
purchaseorders
array
shipment_id
string
Unique ID generated by the server for the shipment. This is used as an identifier.
delivery_method
string
Delivery method of the shipment.
estimate_id
string
Unique ID generated by the server from the Estimate created in Zoho Books. This is used as an identifier.
phone
string
Phone Number of the Contact Person
line_item_id
string
Unique ID generated by the server for each line item. This is used as an identifier.
gst_treatment
string
Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are businessgst , businessnone , overseas , consumer .
currency_code
string
Currency code.
currency_id
string
Unique ID generated by the server for the currency. This is used as an identifier.
mark-as-confirmed-response
object
2 properties
contact_persons_associated_payload
array
Contact Persons associated with the sales order.
taxes
array
Number of taxes applied on sales order. Each tax contains: taxname and taxamount .
balance
number
Balance due for the invoice.
fax
string
Fax number of the customer's shipping address.
last_name
string
Last Name of the Contact Person
last_modified_time
string
Time at which the sales order details were last modified.
created_time
string
Time at which the Sales Order was created.
customer_name
string
Name of the customer.
carrier
string
Name of the shipping carrier.
image_id
number
Unique ID generated by the server for the item image. This is used an identifier.
item_id
string
Unique ID generated by the server for the item. This is used as an identifier.
custom_fields
array
List of custom fields associated with the sales order
currency_symbol
string
The symbol for the selected currency.
documents
array
Sales order can have files attached to them. Each attachment has the following attributes cansendinmail , filename , filetype , filesizeformatted , attachmento…
location_id
string
Location ID
unitkey_code
string
Add SAT Unit Key Code for your goods/services. Download the CFDI Catalogs.
customfield_id
string
Unique ID of the custom field.
salesperson_name
string
Name of the Sales Person.
zip
string
Zip code of the customer's shipping address.
line_items
array
A sales order can contain multiple line items. Each line item contains itemid , name , description , rate , quantity , unit , taxid , taxname , taxtype , taxpe…
is_combo_product
boolean
Indicates whether the line item is a composite product.
service
string
Name of the service provided by the carrier.
hsn_or_sac
string
Add HSN/SAC code for your goods/services
shipment_days
integer
Days of Shipment for the Order
notes
string
Notes for the Sales Order.
gst_no
string
15 digit GST identification number of the customer.
is_email_enabled
boolean
Used to check if Email communication preference is enabled for the contact person at transaction level.
item_custom_fields
array
List of custom fields associated with the line item
is_pre_gst
boolean
Applicable for transactions that fall before july 1, 2017
location_name
string
Name of the location
salesorder_number
string
The Sales Order number. This is unique for each sales order.
rate
number
Rate / Selling Price of the line item.
template_name
string
Name of the template used for the Sales Order.
quantity_packed
number
Quantity packed of the line item.
delete-a-sales-order-response
object
2 properties
contact_person_id
string
Unique ID of the Contact Person
shipping_address_id
string
Unique Id generated by the server for address in contacts page. To add a shipping address to sales order, send the addressid using this node. Else, the default…
detailed_status
string
Detailed status.
salesorder_id
string
Unique ID generated by the server for the Sales Order. This is used as identifier.
customer_id
string
Unique ID generated for the customer. This is used as an identifier.
package_number
string
Package number of the Sales Order.
billing_address_id
string
Unique Id generated by the server for address in contacts page. To add a billing address to sales order, send the addressid using this node. Else, the default…
country
string
Name of the country of the customer's shipping address.
create-a-sales-order-response
object
3 properties
price_precision
integer
The precision level for the price's decimal point in a Sales Order.
salesperson_id
string
Unique ID generated by the server for the sales person. This is used as an identifier.
state
string
Name of the state of the customer's shipping address.
image_type
string
The type (file format) of the image.
has_unconfirmed_line_item
boolean
billing_address
object
Customer's billing address. It contains - address , city , state , zip , country and fax .
6 properties
invoices
array
Invoices created for the Sales Order. Each invoice contains - invoiceid , invoicenumber , status , date , duedate , total , balance .
update-a-sales-order-request
object
26 properties 3 required
item_total
number
Total of line item.
tax_name
string
Name of the tax applied on the line item.
communication_preference
object
Preferred modes of communication for the contact person at transaction level.
2 properties
packages
array
These are the packages created for Sales Orders. Each package contains - packageid , packagenumber , status , detailedstatus , statusmessage , shipmentid , shi…
status
string
The current status of the Sales Order.
invoice_id
string
Unique ID generated by the server for the invoice. This is used as an identifier.
name
string
Name of the line item.
pricebook_id
string
Unique ID generated by the server for the Pricebook. This is used as an identifier.
package_id
string
Unique ID generated by the server for the package. This is used as an identifier.
bcy_total
integer
Total in Base Currency of the Organisation
mark-as-void-response
object
2 properties
tax_id
string
Unique ID generated by the server for the tax. This is used as an identifier.
contact_person_email
string
Email ID of the Contact Person.
file_size
integer
this indicates the size of the attached file.
is_emailed
boolean
Checks whether the Sales Order has been emailed to the customer or not.
status_message
string
Status message of package.
place_of_supply
string
Place where the goods/services are supplied to. (If not given, place of contact given for the contact will be taken)
can_send_in_mail
boolean
Checks whether the sales order can be sent as a mail or not.
adjustment_description
string
Description for the adjustment.
sales_channel
string
From which channel the saleorder was obtained
is_whatsapp_enabled
boolean
Used to check if WhatsApp communication preference is enabled for the contact person at transaction level.
invoice_number
string
The number of the Invoice.
sub_total
number
Sub total of the Sales Order.
contact_persons_associated
array
Contact Persons associated with the sales order.
mapped_items_create
array
Items that are associated with the composite item (kit) in the line item. Applicable only when the line item is a kit type composite item.
attachment_order
integer
This indicates the chronological number of the attachment.
is_inclusive_tax
boolean
Used to specify whether the line item rates are inclusive or exclusive of tax.
sales_order-response
object
49 properties
tax_type
string
Denotes the type of the tax. This can either be a single tax or a tax group.
tax_amount
number
Amount of the tax.
update-a-sales-order-response
object
3 properties
combo_type
string
Type of the composite item. Allowed values are assembly and kit .
document_id
string
Unique ID generated by the server for the document. This is used as an identifier.
image_name
string
Name of the image of the line item.
item_order
integer
The order of the line items, starts from 0 by default.
shipping_charge
number
Shipping charges that can be applied to the Sales Order.
exchange_rate
number
Exchange rate of the currency, with respect to the base currency.
sat_item_key_code
string
Add SAT Item Key Code for your goods/services. Download the CFDI Catalogs.
quantity
number
Quantity of the line item.
unit
string
Unit of line item.
date
string
The date for the Sales Order.
mobile
string
Mobile Number of the Contact Person
create-a-sales-order-request
object
29 properties 3 required
total
number
Total amount of the Sales Order.
discount_type
string
Type of discount. Allowed values are entitylevel , itemlevel . For entitylevel type, discount is applied at entity level and the node discount resides outside…
attachment_name
string
Name of attached file with Sales Order.
delivery_method_id
string
Unique ID generated by the server for the delivery method. This is used as an identifier.
approval-action-response
object
2 properties
quantity_shipped
number
Quantity shipped of the line item.
delivery_days
string
The expected days to be taken for the delivery.
is_backorder
boolean
Denotes if a SalesOrder is a backorder
mapped_items_update
array
Items that are associated with the composite item (kit) in the line item. Applicable only when the line item is a kit type composite item.
reference_number
string
Reference number of the Sales Order
tax_percentage
number
Percentage of the tax.
is_discount_before_tax
boolean
Used to check whether the discount is applied before tax or after tax.
bulk-confirm-salesorders-response
object
3 properties
adjustment
number
Adjustment on the Sales Order's total.

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

zoho-inventory-sales-orders-api-openapi.yml Raw ↑

Other APIs Zoho Inventory publishes across the network.

Zoho Inventory batches API
Zoho Inventory bills API
Zoho Inventory compositeitems API
Zoho Inventory contact-persons API
Zoho Inventory contacts API
Zoho Inventory credit-notes API
Zoho Inventory currency API
Zoho Inventory customer-payments API
Zoho Inventory delivery-challans API
Zoho Inventory inventoryadjustments API
Zoho Inventory invoices API
Zoho Inventory items API
Where this information came from

This is an independent, third-party profile of Zoho Inventory Sales Orders API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.