OpenAPI Specification
openapi: 3.0.0
info:
title: batches invoices 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: invoices
description: Invoices Module
paths:
/invoices:
x-mcp-group:
- Invoices
parameters:
- $ref: '#/components/parameters/organization_id'
post:
tags:
- invoices
operationId: create_invoice
summary: Create an invoice
description: Create an invoice for your customer.
parameters:
- name: send
in: query
description: Send the invoice to the contact person(s) associated with the invoice. Allowed values <code>true</code> and <code>false</code>.
required: false
schema:
type: boolean
- name: ignore_auto_number_generation
in: query
description: Ignore auto invoice number generation for this invoice. This mandates the invoice number. Allowed values <code>true</code> and <code>false</code>
required: false
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/create-an-invoice-request'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/create-an-invoice-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.CREATE
get:
tags:
- invoices
operationId: list_invoices
summary: List invoices
description: List all invoices with pagination.
parameters:
- name: invoice_number
in: query
description: An unique number given to the invoice. Maximum length [100]
required: false
schema:
type: string
example: INV-00003
- name: item_name
in: query
description: 'item name.Variants: <code>item_name_startswith</code> and <code>item_name_contains</code>. Maximum length [100]'
required: false
schema:
type: string
example: Desktop Units
- name: item_id
in: query
description: Unique item id.
required: false
schema:
type: string
example: 982000000030049
- name: item_description
in: query
description: 'Search invoices by item description.Variants: <code>item_description_startswith</code> and <code>item_description_contains</code>. Maximum length [100]'
required: false
schema:
type: string
example: ''
- name: reference_number
in: query
description: The reference number of the invoice
required: false
schema:
type: string
example: ''
- name: customer_name
in: query
description: The name of the customer. Maximum length [100]
required: false
schema:
type: string
example: Bowman & Co
- name: recurring_invoice_id
in: query
description: ID of the recurring invoice from which the invoice is created.
required: false
schema:
type: string
example: ''
- name: email
in: query
description: contact's email id. Maximum length [100]
required: false
schema:
type: string
example: ''
- name: total
in: query
description: The total amount to be paid
required: false
schema:
type: string
example: 40.6
- name: balance
in: query
description: The unpaid amount
required: false
schema:
type: string
example: 40.6
- name: custom_field
in: query
description: 'custom fields for invoice. Variants: <code>custom_field_startswith</code> and <code>custom_field_contains</code>'
required: false
schema:
type: string
example: ''
- name: date
in: query
description: 'invoice date. Default date format is yyyy-mm-dd.<code> Variants: due_date_start, due_date_end, due_date_before and due_date_after</code>.'
required: false
schema:
type: string
example: '2013-11-17'
- name: due_date
in: query
description: 'due date of the invoices. Default date format is yyyy-mm-dd. <code> Variants: due_date_start, due_date_end, due_date_before and due_date_after </code>'
required: false
schema:
type: string
example: '2013-12-03'
- name: status
in: query
description: 'Search invoices by invoice status.Allowed Values: <code>sent</code>, <code>draft</code>, <code>overdue</code>, <code>paid</code>, <code>void</code>, <code>unpaid</code>, <code>partially_paid</code> and <code>viewed</code>'
required: false
schema:
type: string
example: draft
- name: customer_id
in: query
description: ID of the customer the invoice has to be created.
required: false
schema:
type: string
example: 982000000567001
- name: filter_by
in: query
description: 'Filter invoices by any status or payment expected date.Allowed Values: <code> Status.All</code>, <code>Status.Sent</code>, <code> Status.Draft</code>, <code>Status.OverDue</code>, <code>Status.Paid</code>, <code>Status.Void</code>, <code>Status.Unpaid</code>, <code>Status.PartiallyPaid</code>,<code> Status.Viewed</code> and <code>Date.PaymentExpectedDate</code>'
required: false
schema:
type: string
example: ''
- name: search_text
in: query
description: Search invoices by invoice number or purchase order or customer name. Maximum length [100]
required: false
schema:
type: string
example: ''
- name: sort_column
in: query
description: 'Sort invoices.Allowed Values: <code>customer_name</code>, <code>invoice_number</code>, <code>date</code>, <code> due_date</code>, <code>total</code>, <code>balance</code> and <code>created_time</code>'
required: false
schema:
type: string
example: created_time
- 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-invoices-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.READ
/invoices/{invoice_id}:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
put:
tags:
- invoices
operationId: update_invoice
summary: Update an invoice
description: Update an existing invoice. To delete a line item just remove it from the line_items list.
parameters:
- name: ignore_auto_number_generation
in: query
description: Ignore auto invoice number generation for this invoice. This mandates the invoice number. Allowed values <code>true</code> and <code>false</code>
required: false
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/update-an-invoice-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-an-invoice-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.UPDATE
get:
tags:
- invoices
operationId: get_invoice
summary: Get an invoice
description: Get the details of an invoice.
parameters:
- name: print
in: query
description: Print the exported pdf.
required: false
schema:
type: boolean
- name: accept
in: query
description: Get the details of a particular invoice in formats such as json/ pdf/ html. Default format is json. Allowed values <code>json</code> <code>pdf</code> and <code>html</code>
required: false
schema:
type: string
example: ''
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/get-an-invoice-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.READ
delete:
tags:
- invoices
operationId: delete_invoice
summary: Delete an invoice
description: Delete an existing invoice. Invoices which have payment or credits note applied cannot be deleted.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/delete-an-invoice-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.DELETE
/invoice/{invoice_id}/customfields:
x-mcp-group:
- Invoices
put:
tags:
- invoices
operationId: update_custom_field_in_invoice
summary: Update custom field in existing invoices
description: Update the value of the custom field in existing invoices.
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/custom_fields_update'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-an-invoice-customfield-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.UPDATE
/invoices/{invoice_id}/status/sent:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- invoices
operationId: mark_invoice_as_sent
summary: Mark an invoice as sent
description: Mark a draft invoice as sent.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/mark-an-invoice-as-sent-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.CREATE
/invoices/{invoice_id}/status/void:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- invoices
operationId: mark_invoice_as_void
summary: Void an invoice
description: Mark an invoice status as void. Upon voiding, the payments and credits associated with the invoices will be unassociated and will be under customer credits.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/void-an-invoice-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.CREATE
/invoices/{invoice_id}/status/draft:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- invoices
operationId: mark_invoice_as_draft
summary: Mark as draft
description: Mark a voided invoice as draft.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/mark-as-draft-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.CREATE
/invoices/{invoice_id}/email:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- invoices
operationId: email_invoice
summary: Email an invoice
description: Email an invoice to the customer. Input json string is not mandatory. If input json string is empty, mail will be send with default mail content.
parameters:
- name: send_customer_statement
in: query
description: Send customer statement pdf a with email.
required: false
schema:
type: boolean
example: ' '
- name: send_attachment
in: query
description: Send the invoice attachment a with the email.
required: false
schema:
type: boolean
example: ' '
- name: attachments
in: query
description: Files to be attached to the email
required: false
schema:
type: string
format: binary
example: ''
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/email-an-invoice-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/email-an-invoice-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.CREATE
get:
tags:
- invoices
operationId: get_invoice_email_content
summary: Get invoice email content
description: Get the email content of an invoice.
parameters:
- name: email_template_id
in: query
description: Get the email content based on a specific email template. If this param is not inputted, then the content will be based on the email template associated with the customer. If no template is associated with the customer, then default template will be used.
required: false
schema:
type: string
example: ''
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/get-invoice-email-content-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.READ
/invoices/email:
x-mcp-group:
- Invoices
parameters:
- $ref: '#/components/parameters/organization_id'
post:
tags:
- invoices
operationId: email_invoices
summary: Email invoices
description: Send invoices to your customers by email. Maximum of 10 invoices can be sent at once.
parameters:
- name: invoice_ids
in: query
description: Comma separated invoice ids which are to be emailed.
required: true
schema:
type: string
example: ''
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/email-invoices-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.CREATE
/invoices/{invoice_id}/paymentreminder:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
get:
tags:
- invoices
operationId: get_invoice_reminder_mail_content
summary: Get payment reminder mail content
description: Get the mail content of the payment reminder.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/get-payment-reminder-mail-content-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.READ
/invoices/pdf:
x-mcp-group:
- Invoices
parameters:
- $ref: '#/components/parameters/organization_id'
get:
tags:
- invoices
operationId: bulk_export_invoices
summary: Bulk export Invoices
description: Maximum of 25 invoices can be exported in a single pdf.
parameters:
- name: invoice_ids
in: query
description: Comma separated invoice ids which are to be export as pdf.
required: true
schema:
type: string
example: ''
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-export-invoices-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.READ
/invoices/print:
x-mcp-group:
- Invoices
parameters:
- $ref: '#/components/parameters/organization_id'
get:
tags:
- invoices
operationId: bulk_print_invoices
summary: Bulk print invoices
description: Export invoices as pdf and print them. Maximum of 25 invoices can be printed.
parameters:
- name: invoice_ids
in: query
description: Export invoices as pdf and print them. Maximum of 25 invoices can be printed.
required: true
schema:
type: string
example: ''
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/bulk-print-invoices-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.READ
/invoices/{invoice_id}/paymentreminder/disable:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- invoices
operationId: disable_invoice_payment_reminder
summary: Disable payment reminder
description: Disable automated payment reminders for an invoice.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/disable-payment-reminder-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.CREATE
/invoices/{invoice_id}/paymentreminder/enable:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- invoices
operationId: enable_invoice_payment_reminder
summary: Enable payment reminder
description: Enable automated payment reminders for an invoice.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/enable-payment-reminder-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.CREATE
/invoices/{invoice_id}/writeoff:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- invoices
operationId: write_off_invoice
summary: Write off invoice
description: Write off the invoice balance amount of an invoice.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/write-off-invoice-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.CREATE
/invoices/{invoice_id}/writeoff/cancel:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- invoices
operationId: cancel_write_off_invoice
summary: Cancel write off
description: Cancel the write off amount of an invoice.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/cancel-write-off-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.CREATE
/invoices/{invoice_id}/address/billing:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
put:
tags:
- invoices
operationId: update_invoice_billing_address
summary: Update billing address
description: Updates the billing address for this invoice alone.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/update-billing-address-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-billing-address-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.UPDATE
/invoices/{invoice_id}/address/shipping:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
put:
tags:
- invoices
operationId: update_invoice_shipping_address
summary: Update shipping address
description: Updates the shipping address for this invoice alone.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/update-shipping-address-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-shipping-address-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.UPDATE
/invoices/templates:
x-mcp-group:
- Invoices
parameters:
- $ref: '#/components/parameters/organization_id'
get:
tags:
- invoices
operationId: list_invoice_templates
summary: List invoice templates
description: Get all invoice pdf templates.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/list-invoice-templates-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.READ
/invoices/{invoice_id}/templates/{template_id}:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
put:
tags:
- invoices
operationId: update_invoice_template
summary: Update invoice template
description: Update the pdf template associated with the invoice.
parameters:
- name: template_id
in: path
required: true
description: Unique identifier of the invoice template.
schema:
type: string
example: 982000000000143
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-invoice-template-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.UPDATE
/invoices/{invoice_id}/payments:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
get:
tags:
- invoices
operationId: list_invoice_payments
summary: List invoice payments
description: Get the list of payments made for an invoice.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/list-invoice-payments-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.READ
/invoices/{invoice_id}/creditsapplied:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
get:
tags:
- invoices
operationId: list_credits_applied
summary: List credits applied
description: Get the list of credits applied for an invoice.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/list-credits-applied-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.READ
/invoices/{invoice_id}/credits:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- invoices
operationId: apply_credits_to_invoice
summary: Apply credits
description: Apply the customer credits either from credit notes or excess customer payments to an invoice. Multiple credits can be applied at once.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/apply-credits-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/apply-credits-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.CREATE
/invoices/{invoice_id}/payments/{invoice_payment_id}:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
delete:
tags:
- invoices
operationId: delete_invoice_payment
summary: Delete a payment
description: Delete a payment made to an invoice.
parameters:
- name: invoice_payment_id
in: path
required: true
description: Unique identifier of the invoice payment.
schema:
type: string
example: 982000000567192
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/delete-a-payment-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.DELETE
/invoices/{invoice_id}/creditsapplied/{creditnotes_invoice_id}:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
delete:
tags:
- invoices
operationId: delete_applied_credit_to_invoice
summary: Delete applied credit
description: Delete a particular credit applied to an invoice.
parameters:
- name: creditnotes_invoice_id
in: path
required: true
description: Unique identifier of the credit note invoice.
schema:
type: string
example: '982000000567172'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/delete-applied-credit-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.DELETE
/invoices/{invoice_id}/attachment:
x-mcp-group:
- Invoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
get:
tags:
- invoices
operationId: get_invoice_attachment
summary: Get an invoice attachment
description: Returns the file attached to the invoice.
parameters:
- name: preview
in: query
description: Get the thumbnail of the attachment.
required: false
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/get-an-invoice-attachment-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.invoices.READ
post:
tags:
- invoices
operationId: add_attachment_to_invoice
summary: Add attachment to an invoice
description: Attach a file to an invoice.
parameters:
- name: can_send_in_mail
in: query
description: True to send the attachment with the invoice when emailed.
required: false
schema:
type: boolean
example: true
- name: attachment
in: query
description: 'The file to be attached.Allowed Extensions: <code>gif</code>, <code>png</code>, <code>jpeg</code>, <code>jpg</code>, <code>bmp</code> and <code>pdf</code>'
required: false
schema:
type: string
format: binary
example: ''
responses:
'20
# --- truncated at 32 KB (156 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho-inventory/refs/heads/main/openapi/zoho-inventory-invoices-api-openapi.yml