Skip to content

Instantly share code, notes, and snippets.

@franz-see
Last active March 2, 2026 18:17
Show Gist options
  • Select an option

  • Save franz-see/7494963acb27685b33593bd0f0ccd3f9 to your computer and use it in GitHub Desktop.

Select an option

Save franz-see/7494963acb27685b33593bd0f0ccd3f9 to your computer and use it in GitHub Desktop.
zoho_books_openapi.yaml
This file has been truncated, but you can view the full file.
openapi: 3.0.3
info:
title: Zoho Books API
description: Combined Zoho Books API collection generated from OpenAPI specifications.
version: '3.0'
servers:
- url: https://www.zohoapis.com/books/v3
description: Zoho Books API - US data center
- url: https://www.zohoapis.eu/books/v3
description: Zoho Books API - EU data center
- url: https://www.zohoapis.in/books/v3
description: Zoho Books API - IN data center
- url: https://www.zohoapis.com.au/books/v3
description: Zoho Books API - AU data center
- url: https://www.zohoapis.jp/books/v3
description: Zoho Books API - JP data center
security:
- OAuth2:
- ZohoBooks.fullaccess.all
paths:
/bankaccounts:
post:
tags:
- Bank Accounts
summary: Create a bank account
description: Create a bank account or a credit card account for your organization.
operationId: createABankAccount
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_name:
type: string
account_type:
type: string
account_number:
type: string
account_code:
type: string
currency_id:
type: string
currency_code:
type: string
description:
type: string
bank_name:
type: string
routing_number:
type: string
is_primary_account:
type: boolean
is_paypal_account:
type: boolean
paypal_type:
type: string
paypal_email_address:
type: string
example:
account_name: Corporate Account
account_type: bank
account_number: '80000009823'
account_code: ''
currency_id: '460000000000097'
currency_code: USD
description: Salary details.
bank_name: Xavier Bank
routing_number: '123456789'
is_primary_account: false
is_paypal_account: true
paypal_type: ''
paypal_email_address: johnsmith@zilliuminc.com
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Bank Accounts
summary: List view of accounts
description: List all bank and credit card accounts for your organization.
operationId: listViewOfAccounts
parameters:
- name: filter_by
in: query
description: 'Filter the account by their status. Allowed Values: `Status.All`, `Status.Active` and `Status.Inactive`.'
schema:
type: string
example: Status.All
- name: sort_column
in: query
description: 'Sort the values based on the allowed values. Allowed Values: `account_name`,`account_type` and `account_code`.'
schema:
type: string
example: account_name
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bankaccounts/{account_id}:
delete:
tags:
- Bank Accounts
summary: Delete an account
description: Delete a bank account from your organization.
operationId: deleteAnAccount
parameters:
- name: account_id
in: path
required: true
description: Unique identifier of the bank account.
schema:
type: string
example: '460000000050127'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Bank Accounts
summary: Get account details
description: Get a detailed look of the account specified.
operationId: getAccountDetails
parameters:
- name: account_id
in: path
required: true
description: Unique identifier of the bank account.
schema:
type: string
example: '460000000050127'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Bank Accounts
summary: Update bank account
description: Modify the account that was created.
operationId: updateBankAccount
parameters:
- name: account_id
in: path
required: true
description: Unique identifier of the bank account.
schema:
type: string
example: '460000000050127'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_name:
type: string
account_type:
type: string
account_number:
type: string
account_code:
type: string
currency_id:
type: string
currency_code:
type: string
description:
type: string
bank_name:
type: string
routing_number:
type: string
is_primary_account:
type: boolean
is_paypal_account:
type: boolean
paypal_type:
type: string
paypal_email_address:
type: string
example:
account_name: Corporate Account
account_type: bank
account_number: '80000009823'
account_code: ''
currency_id: '460000000000097'
currency_code: USD
description: Salary details.
bank_name: Xavier Bank
routing_number: '123456789'
is_primary_account: false
is_paypal_account: true
paypal_type: ''
paypal_email_address: johnsmith@zilliuminc.com
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bankaccounts/{account_id}/inactive:
post:
tags:
- Bank Accounts
summary: Deactivate account.
description: Make an account inactive.
operationId: deactivateAccount
parameters:
- name: account_id
in: path
required: true
description: Unique identifier of the bank account.
schema:
type: string
example: '460000000050127'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bankaccounts/{account_id}/active:
post:
tags:
- Bank Accounts
summary: Activate account
description: Make an account active.
operationId: activateAccount
parameters:
- name: account_id
in: path
required: true
description: Unique identifier of the bank account.
schema:
type: string
example: '460000000050127'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bankstatements:
post:
tags:
- Bank Accounts
summary: Import a Bank/Credit Card Statement
description: Import your bank/credit card feeds into your account.
operationId: importABankcreditCardStatement
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: string
start_date:
type: string
end_date:
type: string
transactions:
type: array
items:
type: object
properties:
transaction_id:
type: string
date:
type: string
debit_or_credit:
type: string
amount:
type: integer
payee:
type: string
description:
type: string
reference_number:
type: string
example:
account_id: '460000000050127'
start_date: '2019-01-01'
end_date: '2019-01-02'
transactions:
- transaction_id: XXXXSCD01
date: '2012-01-14'
debit_or_credit: credit
amount: 7500
payee: Bowman and Co
description: Electronics purchase
reference_number: Ref-2134
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bankaccounts/{account_id}/statement/lastimported:
get:
tags:
- Bank Accounts
summary: Get last imported statement
description: Get the details of previously imported statement for the account.
operationId: getLastImportedStatement
parameters:
- name: account_id
in: path
required: true
description: Unique identifier of the bank account.
schema:
type: string
example: '460000000050127'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bankaccounts/{account_id}/statement/{statement_id}:
delete:
tags:
- Bank Accounts
summary: Delete last imported statement
description: Delete the statement that was previously imported.
operationId: deleteLastImportedStatement
parameters:
- name: statement_id
in: path
required: true
description: Unique identifier of the bank statement.
schema:
type: string
example: '460000000049013'
- name: account_id
in: path
required: true
description: Unique identifier of the bank account.
schema:
type: string
example: '460000000050127'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bankaccounts/rules:
post:
tags:
- Bank Rules
summary: Create a rule
description: Create a rule and apply it on deposit/withdrawal for bank accounts and on refund/charges for credit card
accounts.
operationId: createARule
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
rule_name:
type: string
target_account_id:
type: integer
apply_to:
type: string
criteria_type:
type: string
criterion:
type: array
items:
type: object
properties:
field:
type: string
comparator:
type: string
value:
type: string
record_as:
type: string
account_id:
type: integer
customer_id:
type: integer
tax_id:
type: string
reference_number:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
product_type:
type: string
tax_authority_id:
type: string
tax_exemption_id:
type: string
example:
rule_name: Minimum Deposit Rule
target_account_id: 460000000048001
apply_to: deposits
criteria_type: and
criterion:
- field: amount
comparator: greater_than_or_equals
value: '500.00'
record_as: deposit
account_id: 460000000049001
customer_id: 46000000000111
tax_id: '460000000048238'
reference_number: manual
vat_treatment: ''
tax_treatment: vat_registered
is_reverse_charge_applied: true
product_type: ''
tax_authority_id: ''
tax_exemption_id: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Bank Rules
summary: Get Rules List
description: Fetch all the rules created for a specified bank or credit card account ID.
operationId: getRulesList
parameters:
- name: account_id
in: query
description: ID of the Bank Account
required: true
schema:
type: string
example: '460000000000361'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bankaccounts/rules/{rule_id}:
delete:
tags:
- Bank Rules
summary: Delete a rule
description: Delete a rule from your account and make it no longer applicable on the transactions.
operationId: deleteARule
parameters:
- name: rule_id
in: path
required: true
description: Unique identifier of the bank account rule.
schema:
type: string
example: '460000000048005'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Bank Rules
summary: Get a rule
description: Get details of a specific rule.
operationId: getARule
parameters:
- name: rule_id
in: path
required: true
description: Unique identifier of the bank account rule.
schema:
type: string
example: '460000000048005'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Bank Rules
summary: Update a rule
description: Make changes to the rule, add or modify it and update.
operationId: updateARule
parameters:
- name: rule_id
in: path
required: true
description: Unique identifier of the bank account rule.
schema:
type: string
example: '460000000048005'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
rule_name:
type: string
target_account_id:
type: integer
apply_to:
type: string
criteria_type:
type: string
criterion:
type: array
items:
type: object
properties:
criteria_id:
type: object
properties: {}
field:
type: object
properties: {}
comparator:
type: object
properties: {}
value:
type: object
properties: {}
record_as:
type: string
account_id:
type: integer
customer_id:
type: integer
tax_id:
type: string
reference_number:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
product_type:
type: string
tax_authority_id:
type: string
tax_exemption_id:
type: string
example:
rule_name: Minimum Deposit Rule
target_account_id: 460000000048001
apply_to: deposits
criteria_type: and
criterion:
- criteria_id: {}
field: {}
comparator: {}
value: {}
record_as: deposit
account_id: 460000000049001
customer_id: 46000000000111
tax_id: '460000000048238'
reference_number: manual
vat_treatment: ''
tax_treatment: vat_registered
is_reverse_charge_applied: true
product_type: ''
tax_authority_id: ''
tax_exemption_id: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions:
post:
tags:
- Bank Transactions
summary: Create a transaction for an account
description: Create a bank transaction based on the allowed transaction types.
operationId: createATransactionForAnAccount
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
from_account_id:
type: string
to_account_id:
type: string
transaction_type:
type: string
amount:
type: integer
payment_mode:
type: string
exchange_rate:
type: integer
date:
type: string
customer_id:
type: string
reference_number:
type: string
description:
type: string
currency_id:
type: string
tax_id:
type: string
is_inclusive_tax:
type: boolean
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
from_account_tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
to_account_tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
documents:
type: array
items:
type: object
properties:
file_name:
type: object
properties: {}
document_id:
type: object
properties: {}
bank_charges:
type: integer
user_id:
type: integer
tax_authority_id:
type: string
tax_exemption_id:
type: string
custom_fields:
type: array
items:
type: object
properties:
custom_field_id:
type: object
properties: {}
index:
type: object
properties: {}
label:
type: object
properties: {}
value:
type: object
properties: {}
example:
from_account_id: '460000000070003'
to_account_id: '460000000048001'
transaction_type: deposit
amount: 2000
payment_mode: Cash
exchange_rate: 1
date: '2013-10-01'
customer_id: '460000000000111'
reference_number: Ref-121
description: ''
currency_id: '460000000000097'
tax_id: ''
is_inclusive_tax: false
tags:
- tag_id: {}
tag_option_id: {}
from_account_tags:
- tag_id: {}
tag_option_id: {}
to_account_tags:
- tag_id: {}
tag_option_id: {}
documents:
- file_name: {}
document_id: {}
bank_charges: 0
user_id: 0
tax_authority_id: ''
tax_exemption_id: ''
custom_fields:
- custom_field_id: {}
index: {}
label: {}
value: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Bank Transactions
summary: Get transactions list
description: Get all the transaction details involved in an account.
operationId: getTransactionsList
parameters:
- name: account_id
in: query
schema:
type: string
example: '460000000048001'
- name: transaction_type
in: query
schema:
type: string
example: deposit
- name: date
in: query
description: 'Start and end date, to provide a range within which the transaction date exist. Variants: `date_start`
and `date_end`'
schema:
type: string
example: '2013-10-01'
- name: amount
in: query
description: 'Start and end amount, to provide a range within which the transaction amount exist. Variants: `amount_start`
and `amount_end`'
schema:
type: string
example: '2000'
- name: status
in: query
description: Transaction status wise list view - All, uncategorized, manually_added, matched, excluded, categorized
schema:
type: string
example: categorized
- name: reference_number
in: query
description: Search using Reference Number of the transaction
schema:
type: string
example: Ref-121
- name: filter_by
in: query
description: 'Filters the transactions based on the allowed types. Allowed Values: `Status.All`, `Status.Uncategorized`,
`Status.Categorized`, `Status.ManuallyAdded`, `Status.Excluded` and `Status.Matched`.'
schema:
type: string
- name: sort_column
in: query
description: 'Sorts the transactions based on the allowed sort types. Allowed Values: `date`.'
schema:
type: string
- name: transaction_status
in: query
description: Transaction status wise list view - All, uncategorized, manually_added, matched, excluded, categorized
schema:
type: string
- name: search_text
in: query
description: Search Transactions by contact name or description
schema:
type: string
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/{bank_transaction_id}:
delete:
tags:
- Bank Transactions
summary: Delete a transaction
description: Delete a transaction from an account by specifying the transaction_id.
operationId: deleteATransaction
parameters:
- name: bank_transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Bank Transactions
summary: Get transaction
description: Fetch the details of a transaction by specifying the transaction_id.
operationId: getTransaction
parameters:
- name: bank_transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Bank Transactions
summary: Update a transaction
description: Make changes in the applicable fields of a transaction and update it.
operationId: updateATransaction
parameters:
- name: bank_transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
from_account_id:
type: string
to_account_id:
type: string
transaction_type:
type: string
amount:
type: integer
payment_mode:
type: string
exchange_rate:
type: integer
date:
type: string
customer_id:
type: string
reference_number:
type: string
description:
type: string
currency_id:
type: string
tax_id:
type: string
is_inclusive_tax:
type: boolean
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
from_account_tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
to_account_tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
documents:
type: array
items:
type: object
properties:
file_name:
type: object
properties: {}
document_id:
type: object
properties: {}
bank_charges:
type: integer
user_id:
type: integer
tax_authority_id:
type: string
tax_exemption_id:
type: string
custom_fields:
type: array
items:
type: object
properties:
custom_field_id:
type: object
properties: {}
index:
type: object
properties: {}
label:
type: object
properties: {}
value:
type: object
properties: {}
line_items:
type: array
items:
type: object
properties:
line_id:
type: string
account_id:
type: string
account_name:
type: string
description:
type: string
tax_amount:
type: integer
tax_id:
type: string
tax_name:
type: string
tax_type:
type: string
tax_percentage:
type: integer
item_total:
type: integer
item_total_inclusive_of_tax:
type: integer
item_order:
type: integer
tags:
type: array
items:
type: object
properties: {}
example:
from_account_id: '460000000070003'
to_account_id: '460000000048001'
transaction_type: deposit
amount: 2000
payment_mode: Cash
exchange_rate: 1
date: '2013-10-01'
customer_id: '460000000000111'
reference_number: Ref-121
description: ''
currency_id: '460000000000097'
tax_id: ''
is_inclusive_tax: false
tags:
- tag_id: {}
tag_option_id: {}
from_account_tags:
- tag_id: {}
tag_option_id: {}
to_account_tags:
- tag_id: {}
tag_option_id: {}
documents:
- file_name: {}
document_id: {}
bank_charges: 0
user_id: 0
tax_authority_id: ''
tax_exemption_id: ''
custom_fields:
- custom_field_id: {}
index: {}
label: {}
value: {}
line_items:
- line_id: '46000000001234'
account_id: '460000000048001'
account_name: Petty Cash
description: ''
tax_amount: 0
tax_id: ''
tax_name: ''
tax_type: tax
tax_percentage: 0
item_total: 7500
item_total_inclusive_of_tax: 7500
item_order: 1
tags:
- {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/uncategorized/{transaction_id}/match:
post:
tags:
- Bank Transactions
summary: Match a transaction
description: Match an uncategorized transaction with an existing transaction in the account.
operationId: matchATransaction
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
- name: account_id
in: query
description: Mandatory Account id for which transactions are to be listed.
schema:
type: string
example: '460000000048001'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
transactions_to_be_matched:
type: array
items:
type: object
properties:
transaction_id:
type: object
properties: {}
transaction_type:
type: object
properties: {}
example:
transactions_to_be_matched:
- transaction_id: {}
transaction_type: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Bank Transactions
summary: Get matching transactions
description: Provide criteria to search for matching uncategorised transactions. The list of transactions can also include
invoices/bills/credit-notes which will not be matched directly. Instead, a new (payment/refund) transaction is recorded
and matched.
operationId: getMatchingTransactions
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
- name: transaction_id
in: query
description: ID of the Transaction
schema:
type: string
example: '460000000048017'
- name: transaction_type
in: query
description: "Type of the transaction. \n Allowed transaction types : deposit, refund(*Supported only in Credit Card\
\ accounts), transfer_fund, card_payment, sales_without_invoices, expense_refund, owner_contribution, interest_income,\
\ other_income, owner_drawings, sales_return \n Note: You will not be able to create the following module-specific\
\ transaction types under Bank Transaction endpoints : Expense, Vendor Advance/Vendor Payment/Bill Payment, Vendor\
\ Credit Refund, Vendor Payment Refund, Customer Advance/Customer Payment, Credit Note Refund, Payment Refund. Hence,\
\ refer them in their repective modules."
schema:
type: string
example: deposit
- name: date_after
in: query
description: Date after which Transactions are to be filtered
schema:
type: string
- name: date_before
in: query
description: Date before which Transactions are to be filtered
schema:
type: string
- name: amount_start
in: query
description: Starting amout with which transactions are to be filtered
schema:
type: string
- name: amount_end
in: query
description: Starting amout with which transactions are to be filtered
schema:
type: string
- name: contact
in: query
description: Contact person name, involved in the transaction.
schema:
type: string
- name: reference_number
in: query
description: Reference Number of the transaction
schema:
type: string
example: Ref-121
- name: show_all_transactions
in: query
description: Check if all transactions must be shown
schema:
type: string
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/{transaction_id}/unmatch:
post:
tags:
- Bank Transactions
summary: Unmatch a matched transaction
description: Unmatch a transaction that was previously matched and make it uncategorized.
operationId: unmatchAMatchedTransaction
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
- name: account_id
in: query
description: Mandatory Account id for which transactions are to be listed.
schema:
type: string
example: '460000000048001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/uncategorized/{transaction_id}/exclude:
post:
tags:
- Bank Transactions
summary: Exclude a transaction
description: Exclude a transaction from your bank or credit card account.
operationId: excludeATransaction
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
- name: account_id
in: query
description: Mandatory Account id for which transactions are to be listed.
schema:
type: string
example: '460000000048001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/uncategorized/{transaction_id}/restore:
post:
tags:
- Bank Transactions
summary: Restore a transaction
description: Restore an excluded transaction in your account.
operationId: restoreATransaction
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
- name: account_id
in: query
description: Mandatory Account id for which transactions are to be listed.
schema:
type: string
example: '460000000048001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/uncategorized/{transaction_id}/categorize:
post:
tags:
- Bank Transactions
summary: Categorize an uncategorized transaction
description: Categorize an uncategorized transaction by creating a new transaction.
operationId: categorizeAnUncategorizedTransaction
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
from_account_id:
type: string
to_account_id:
type: string
transaction_type:
type: string
amount:
type: integer
date:
type: string
reference_number:
type: string
payment_mode:
type: string
exchange_rate:
type: integer
description:
type: string
customer_id:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
documents:
type: array
items:
type: object
properties:
file_name:
type: object
properties: {}
document_id:
type: object
properties: {}
currency_id:
type: string
tax_id:
type: string
to_account_tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
from_account_tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
is_inclusive_tax:
type: boolean
bank_charges:
type: integer
user_id:
type: integer
tax_authority_id:
type: string
tax_exemption_id:
type: string
custom_fields:
type: array
items:
type: object
properties:
custom_field_id:
type: object
properties: {}
index:
type: object
properties: {}
label:
type: object
properties: {}
value:
type: object
properties: {}
line_items:
type: array
items:
type: object
properties:
line_id:
type: string
account_id:
type: string
account_name:
type: string
description:
type: string
tax_amount:
type: integer
tax_id:
type: string
tax_name:
type: string
tax_type:
type: string
tax_percentage:
type: integer
item_total:
type: integer
item_total_inclusive_of_tax:
type: integer
item_order:
type: integer
tags:
type: array
items:
type: object
properties: {}
example:
from_account_id: '460000000070003'
to_account_id: '460000000048001'
transaction_type: deposit
amount: 2000
date: '2013-10-01'
reference_number: Ref-121
payment_mode: Cash
exchange_rate: 1
description: ''
customer_id: '460000000000111'
tags:
- tag_id: {}
tag_option_id: {}
documents:
- file_name: {}
document_id: {}
currency_id: '460000000000097'
tax_id: ''
to_account_tags:
- tag_id: {}
tag_option_id: {}
from_account_tags:
- tag_id: {}
tag_option_id: {}
is_inclusive_tax: false
bank_charges: 0
user_id: 0
tax_authority_id: ''
tax_exemption_id: ''
custom_fields:
- custom_field_id: {}
index: {}
label: {}
value: {}
line_items:
- line_id: '46000000001234'
account_id: '460000000048001'
account_name: Petty Cash
description: ''
tax_amount: 0
tax_id: ''
tax_name: ''
tax_type: tax
tax_percentage: 0
item_total: 7500
item_total_inclusive_of_tax: 7500
item_order: 1
tags:
- {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/uncategorized/{transaction_id}/categorize/expenses:
post:
tags:
- Bank Transactions
summary: Categorize as expense
description: Categorize an Uncategorized transaction as expense.
operationId: categorizeAsExpense
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
- name: doc
in: query
description: Document that is to be attached
schema:
type: string
- name: totalFiles
in: query
description: Total number of files.
schema:
type: string
example: '0'
- name: document_ids
in: query
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: string
paid_through_account_id:
type: string
date:
type: string
tax_id:
type: string
amount:
type: integer
project_id:
type: string
tax_exemption_code:
type: string
tax_exemption_id:
type: string
is_inclusive_tax:
type: boolean
is_billable:
type: boolean
reference_number:
type: string
description:
type: string
customer_id:
type: string
zp_project_id:
type: integer
zp_project_name:
type: string
zp_client_id:
type: integer
vendor_id:
type: string
vehicle_id:
type: string
mileage_unit:
type: string
mileage_rate:
type: integer
can_reclaim_vat_on_mileage:
type: boolean
fuel_type:
type: string
engine_capacity_range:
type: string
employee_id:
type: integer
mileage_type:
type: string
expense_type:
type: string
distance:
type: integer
start_reading:
type: string
end_reading:
type: string
currency_id:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
documents:
type: array
items:
type: object
properties:
file_name:
type: object
properties: {}
document_id:
type: object
properties: {}
exchange_rate:
type: integer
recurring_expense_id:
type: integer
vat_treatment:
type: string
tax_treatment:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
is_update_customer:
type: boolean
product_type:
type: string
taxes:
type: array
items:
type: object
properties:
tax_name:
type: object
properties: {}
tax_amount:
type: object
properties: {}
tax_id:
type: object
properties: {}
reason:
type: string
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: string
account_id:
type: string
description:
type: string
amount:
type: integer
tax_id:
type: string
item_order:
type: integer
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
tax_exemption_code:
type: string
tax_exemption_id:
type: string
tags:
type: array
items:
type: object
properties: {}
zcrm_potential_id:
type: integer
example:
account_id: '460000000048001'
paid_through_account_id: '460000000000358'
date: '2013-10-01'
tax_id: ''
amount: 2000
project_id: ''
tax_exemption_code: ''
tax_exemption_id: ''
is_inclusive_tax: false
is_billable: false
reference_number: Ref-121
description: ''
customer_id: '460000000000111'
zp_project_id: 0
zp_project_name: ''
zp_client_id: 0
vendor_id: '460000000026049'
vehicle_id: ''
mileage_unit: km
mileage_rate: 0
can_reclaim_vat_on_mileage: false
fuel_type: ''
engine_capacity_range: ''
employee_id: 0
mileage_type: non_mileage
expense_type: non_mileage
distance: 4
start_reading: ''
end_reading: ''
currency_id: '460000000000097'
custom_fields:
- index: 0
value: ''
tags:
- tag_id: {}
tag_option_id: {}
documents:
- file_name: {}
document_id: {}
exchange_rate: 1
recurring_expense_id: 0
vat_treatment: ''
tax_treatment: vat_registered
acquisition_vat_id: ''
reverse_charge_vat_id: ''
is_update_customer: false
product_type: ''
taxes:
- tax_name: {}
tax_amount: {}
tax_id: {}
reason: ''
line_items:
- line_item_id: '460000000012834'
account_id: '460000000048001'
description: ''
amount: 2000
tax_id: ''
item_order: 1
product_type: ''
acquisition_vat_id: ''
reverse_charge_vat_id: ''
tax_exemption_code: ''
tax_exemption_id: ''
tags:
- {}
zcrm_potential_id: 0
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/{transaction_id}/uncategorize:
post:
tags:
- Bank Transactions
summary: Uncategorize a categorized transaction
description: Revert a categorized transaction as uncategorized.
operationId: uncategorizeACategorizedTransaction
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
- name: account_id
in: query
description: Mandatory Account id for which transactions are to be listed.
schema:
type: string
example: '460000000048001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/uncategorized/{transaction_id}/categorize/vendorpayments:
post:
tags:
- Bank Transactions
summary: Categorize a vendor payment
description: Categorize an uncategorized transaction as Vendor Payment.
operationId: categorizeAVendorPayment
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
vendor_id:
type: string
bills:
type: array
items:
type: object
properties:
bill_payment_id:
type: object
properties: {}
bill_id:
type: object
properties: {}
amount_applied:
type: object
properties: {}
tax_amount_withheld:
type: object
properties: {}
payment_mode:
type: string
description:
type: string
date:
type: string
reference_number:
type: string
exchange_rate:
type: integer
paid_through_account_id:
type: string
amount:
type: integer
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
is_paid_via_print_check:
type: boolean
check_details:
type: array
items:
type: object
properties:
memo:
type: object
properties: {}
check_number:
type: object
properties: {}
example:
vendor_id: '460000000026049'
bills:
- bill_payment_id: {}
bill_id: {}
amount_applied: {}
tax_amount_withheld: {}
payment_mode: Cash
description: ''
date: '2013-10-01'
reference_number: Ref-121
exchange_rate: 1
paid_through_account_id: '460000000000358'
amount: 2000
custom_fields:
- index: 0
value: ''
is_paid_via_print_check: false
check_details:
- memo: {}
check_number: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/uncategorized/{transaction_id}/categorize/customerpayments:
post:
tags:
- Bank Transactions
summary: Categorize as customer payment
description: Categorize an uncategorized transaction as Customer Payment.
operationId: categorizeAsCustomerPayment
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
retainerinvoice_id:
type: integer
invoices:
type: array
items:
type: object
properties:
invoice_payment_id:
type: object
properties: {}
invoice_id:
type: object
properties: {}
amount_applied:
type: object
properties: {}
tax_amount_withheld:
type: object
properties: {}
discount_amount:
type: object
properties: {}
payment_mode:
type: string
description:
type: string
reference_number:
type: string
exchange_rate:
type: integer
amount:
type: integer
bank_charges:
type: integer
account_id:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
documents:
type: array
items:
type: object
properties:
file_name:
type: object
properties: {}
document_id:
type: object
properties: {}
date:
type: string
template_id:
type: integer
contact_persons:
type: array
items:
type: string
example:
customer_id: '460000000000111'
retainerinvoice_id: 0
invoices:
- invoice_payment_id: {}
invoice_id: {}
amount_applied: {}
tax_amount_withheld: {}
discount_amount: {}
payment_mode: Cash
description: ''
reference_number: Ref-121
exchange_rate: 1
amount: 2000
bank_charges: 0
account_id: '460000000048001'
custom_fields:
- index: 0
value: ''
documents:
- file_name: {}
document_id: {}
date: '2013-10-01'
template_id: 0
contact_persons:
- '460000000870911'
- '460000000870915'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/uncategorized/{transaction_id}/categorize/creditnoterefunds:
post:
tags:
- Bank Transactions
summary: Categorize as credit note refunds
description: Categorize an Uncategorized transaction as a refund from a credit note.
operationId: categorizeAsCreditNoteRefunds
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
creditnote_id:
type: string
date:
type: string
refund_mode:
type: string
reference_number:
type: string
amount:
type: integer
exchange_rate:
type: integer
from_account_id:
type: string
description:
type: string
example:
creditnote_id: '4000000030049'
date: '2013-10-01'
refund_mode: Cash
reference_number: Ref-121
amount: 2000
exchange_rate: 1
from_account_id: '460000000070003'
description: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/uncategorized/{transaction_id}/categorize/vendorcreditrefunds:
post:
tags:
- Bank Transactions
summary: Categorize as vendor credit refunds
description: Categorize an uncategorized transaction as a refund from a vendor credit.
operationId: categorizeAsVendorCreditRefunds
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the bank transaction.
schema:
type: string
example: '460000000048017'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
vendor_credit_id:
type: string
date:
type: string
refund_mode:
type: string
reference_number:
type: string
amount:
type: integer
exchange_rate:
type: integer
account_id:
type: string
description:
type: string
example:
vendor_credit_id: '460000000030049'
date: '2013-10-01'
refund_mode: Cash
reference_number: Ref-121
amount: 2000
exchange_rate: 1
account_id: '460000000048001'
description: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/uncategorized/{statement_line_id}/categorize/paymentrefunds:
post:
tags:
- Bank Transactions
summary: Categorize as Customer Payment refund
description: Categorizing bank transactions as Payment Refund.
operationId: categorizeAsCustomerPaymentRefund
parameters:
- name: statement_line_id
in: path
required: true
description: Unique identifier of the bank statement line.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
date:
type: string
refund_mode:
type: string
reference_number:
type: string
amount:
type: integer
exchange_rate:
type: integer
from_account_id:
type: string
description:
type: string
example:
date: '2013-10-01'
refund_mode: Cash
reference_number: Ref-121
amount: 2000
exchange_rate: 1
from_account_id: '460000000070003'
description: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/banktransactions/uncategorized/{statement_line_id}/categorize/vendorpaymentrefunds:
post:
tags:
- Bank Transactions
summary: Categorize as Vendor Payment refund
description: Categorizing bank transactions as Vendor Payment Refund.
operationId: categorizeAsVendorPaymentRefund
parameters:
- name: statement_line_id
in: path
required: true
description: Unique identifier of the bank statement line.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
vendorpayment_id:
type: string
date:
type: string
refund_mode:
type: string
reference_number:
type: string
amount:
type: integer
exchange_rate:
type: integer
to_account_id:
type: string
description:
type: string
example:
vendorpayment_id: '460000000012345'
date: '2013-10-01'
refund_mode: Cash
reference_number: Ref-121
amount: 2000
exchange_rate: 1
to_account_id: '460000000048001'
description: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/basecurrencyadjustment:
post:
tags:
- Base Currency Adjustment
summary: Create a base currency adjustment
description: Creates a base currency adjustment for the given information.
operationId: createABaseCurrencyAdjustment
parameters:
- name: account_ids
in: query
description: ID of the accounts for which base currency adjustments need to be posted.
required: true
schema:
type: string
example: '460000000000364'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
currency_id:
type: string
adjustment_date:
type: string
exchange_rate:
type: integer
notes:
type: string
example:
currency_id: '460000000000109'
adjustment_date: '2013-09-05'
exchange_rate: 1
notes: Base Currency Adjustment against EUR
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Base Currency Adjustment
summary: List base currency adjustment
description: Lists base currency adjustment.
operationId: listBaseCurrencyAdjustment
parameters:
- name: filter_by
in: query
description: 'Filter base currency adjustment list. Allowed Values: `Date.All`, `Date.Today`, `Date.ThisWeek`, `Date.ThisMonth`,
`Date.ThisQuarter` and `Date.ThisYear`.'
schema:
type: string
- name: sort_column
in: query
description: 'Sort base currency adjustment list. Allowed Values: `adjustment_date`, `exchange_rate`, `currency_code`,
`debit_or_credit` and `gain_or_loss`.'
schema:
type: string
- name: last_modified_time
in: query
description: Search using the Last Modified Time of the Base Currency Adjustment
schema:
type: string
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/basecurrencyadjustment/{base_currency_adjustment_id}:
delete:
tags:
- Base Currency Adjustment
summary: Delete a base currency adjustment
description: Deletes the base currency adjustment.
operationId: deleteABaseCurrencyAdjustment
parameters:
- name: base_currency_adjustment_id
in: path
required: true
description: Unique identifier of the base currency adjustment.
schema:
type: string
example: '460000000039001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Base Currency Adjustment
summary: Get a base currency adjustment
description: Get the base currency adjustment details.
operationId: getABaseCurrencyAdjustment
parameters:
- name: base_currency_adjustment_id
in: path
required: true
description: Unique identifier of the base currency adjustment.
schema:
type: string
example: '460000000039001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/basecurrencyadjustment/accounts:
get:
tags:
- Base Currency Adjustment
summary: List account details for base currency adjustment
description: List of accounts having transaction with effect to the given exchange rate.
operationId: listAccountDetailsForBaseCurrencyAdjustment
parameters:
- name: currency_id
in: query
description: ID of currency for which we need to post adjustment.
required: true
schema:
type: string
example: '460000000000109'
- name: adjustment_date
in: query
description: Date of adjustment.
required: true
schema:
type: string
example: '2013-09-05'
- name: exchange_rate
in: query
description: Exchange rate of the currency.
required: true
schema:
type: string
example: '1'
- name: notes
in: query
description: Notes for base currency adjustment.
required: true
schema:
type: string
example: Base Currency Adjustment against EUR
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills:
post:
tags:
- Bills
summary: Create a bill
description: Create a bill received from your vendor.
operationId: createABill
parameters:
- name: attachment
in: query
description: 'File to attach. Allowed Extensions: `gif`, `png`, `jpeg`, `jpg`, `bmp` and `pdf`.'
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
vendor_id:
type: string
currency_id:
type: string
vat_treatment:
type: string
is_update_customer:
type: boolean
purchaseorder_ids:
type: array
items:
type: integer
bill_number:
type: string
documents:
type: array
items:
type: object
properties:
document_id:
type: object
properties: {}
file_name:
type: object
properties: {}
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
permit_number:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
gst_no:
type: string
pricebook_id:
type: integer
reference_number:
type: string
date:
type: string
due_date:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
recurring_bill_id:
type: string
exchange_rate:
type: number
is_item_level_tax_calc:
type: boolean
is_inclusive_tax:
type: boolean
adjustment:
type: integer
adjustment_description:
type: string
location_id:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
line_items:
type: array
items:
type: object
properties:
purchaseorder_item_id:
type: string
line_item_id:
type: string
item_id:
type: string
name:
type: string
account_id:
type: string
description:
type: string
rate:
type: integer
hsn_or_sac:
type: integer
reverse_charge_tax_id:
type: integer
location_id:
type: string
quantity:
type: integer
tax_id:
type: string
tds_tax_id:
type: string
tax_treatment_code:
type: string
tax_exemption_id:
type: string
tax_exemption_code:
type: string
item_order:
type: integer
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
unit:
type: string
tags:
type: array
items:
type: object
properties: {}
is_billable:
type: boolean
project_id:
type: string
customer_id:
type: string
item_custom_fields:
type: array
items:
type: object
properties: {}
serial_numbers:
type: array
items:
type: object
properties: {}
taxes:
type: array
items:
type: object
properties:
tax_id:
type: string
tax_name:
type: string
tax_amount:
type: number
notes:
type: string
terms:
type: string
approvers:
type: array
items:
type: object
properties:
approver_id:
type: object
properties: {}
order:
type: object
properties: {}
example:
vendor_id: '460000000038029'
currency_id: '460000000000099'
vat_treatment: ''
is_update_customer: false
purchaseorder_ids:
- 460000000068231
- 460000000068233
bill_number: '00454'
documents:
- document_id: {}
file_name: {}
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
permit_number: ''
gst_treatment: business_gst
tax_treatment: vat_registered
gst_no: 22AAAAA0000A1Z5
pricebook_id: 460000000038090
reference_number: '4321133'
date: '2013-09-11'
due_date: '2013-09-26'
payment_terms: 0
payment_terms_label: Due on Receipt
recurring_bill_id: ''
exchange_rate: 1.23
is_item_level_tax_calc: false
is_inclusive_tax: false
adjustment: 0
adjustment_description: ' '
location_id: '460000000038080'
custom_fields:
- index: 0
value: ''
tags:
- tag_id: {}
tag_option_id: {}
line_items:
- purchaseorder_item_id: ''
line_item_id: '460000000067009'
item_id: '460000000054135'
name: ''
account_id: '460000000000403'
description: ''
rate: 10
hsn_or_sac: 80540
reverse_charge_tax_id: 460000000038056
location_id: '460000000038080'
quantity: 1
tax_id: '460000000027005'
tds_tax_id: '460000000027009'
tax_treatment_code: uae_others
tax_exemption_id: ''
tax_exemption_code: ''
item_order: 1
product_type: ''
acquisition_vat_id: ''
reverse_charge_vat_id: ''
unit: kgs
tags:
- {}
is_billable: false
project_id: ''
customer_id: ''
item_custom_fields:
- {}
serial_numbers:
- {}
taxes:
- tax_id: '460000000027005'
tax_name: VAT (12.5%)
tax_amount: 1.25
notes: Thanks for your business.
terms: Terms and conditions apply.
approvers:
- approver_id: {}
order: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Bills
summary: List bills
description: List all bills with pagination.
operationId: listBills
parameters:
- name: bill_number
in: query
description: Filter bills by bill number. Accepts exact matches or use `bill_number_startswith` for prefix matching
and `bill_number_contains` for substring matching. Useful for finding bills by unique identifier or partial patterns.
schema:
type: string
example: '00454'
- name: reference_number
in: query
description: Filter bills by reference number. Accepts exact matches or use `reference_number_startswith` for prefix
matching and `reference_number_contains` for substring matching. Useful for finding bills by external references
or vendor invoice numbers.
schema:
type: string
example: '4321133'
- name: date
in: query
description: Filter bills by bill date in YYYY-MM-DD format. Use `date_start`/`date_end` for ranges, `date_before`/`date_after`
for relative dates. Useful for billing periods and due date management.
schema:
type: string
example: '2013-09-11'
- name: status
in: query
description: 'Filter bills by status: `paid`, `open`, `overdue`, `void`, or `partially_paid`. Useful for payment status
filtering, accounts payable management, and status-specific reporting.'
schema:
type: string
example: open
- name: description
in: query
description: Filter bills by description text. Accepts exact matches or use `description_startswith` for prefix matching
and `description_contains` for substring matching. Useful for finding bills by line item descriptions or vendor
notes.
schema:
type: string
- name: vendor_name
in: query
description: Filter bills by vendor name. Use `vendor_name_startswith` for prefix matching or `vendor_name_contains`
for substring matching. Useful for finding bills from specific suppliers.
schema:
type: string
- name: total
in: query
description: Filter bills by total amount. Use `total_less_than`, `total_less_equals`, `total_greater_than`, or `total_greater_equals`
for amount-based filtering. Useful for finding bills within specific price ranges or above/below certain thresholds.
schema:
type: string
example: '40'
- name: vendor_id
in: query
description: Filter bills by specific vendor ID. Accepts the unique identifier for a vendor to retrieve all bills
associated with that particular supplier or vendor account.
schema:
type: string
example: '460000000038029'
- name: item_id
in: query
description: Filter bills by specific item ID. Retrieves all bills containing a particular product or service item
based on its unique identifier.
schema:
type: string
example: '460000000054135'
- name: recurring_bill_id
in: query
description: Filter bills by recurring bill ID. Retrieves all bills generated from a specific recurring bill template
or schedule.
schema:
type: string
- name: purchaseorder_id
in: query
description: Filter bills by purchase order ID. Retrieves all bills associated with a specific purchase order for
tracking procurement workflows.
schema:
type: string
example: '460000000068231'
- name: last_modified_time
in: query
description: Filter bills by last modification timestamp. Accepts ISO 8601 format (YYYY-MM-DDTHH:MM:SS+/-HHMM) to
find bills modified at or after a specific time.
schema:
type: string
example: 2013-09-11T17:18:32+0530
- name: filter_by
in: query
description: Filter bills by status using predefined status constants. Options include `Status.All`, `Status.PartiallyPaid`,
`Status.Paid`, `Status.Overdue`, `Status.Void`, and `Status.Open`.
schema:
type: string
- name: search_text
in: query
description: Filter bills using general search text. Searches across bill number, reference number, and vendor name
fields to find matching bills. Useful for quick searches when you know part of the bill information.
schema:
type: string
- name: page
in: query
description: Specify the page number for pagination. Use this parameter to navigate through multiple pages of bills
when the total number of bills exceeds the per_page limit.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Specify the number of bills to retrieve per page. The default value is 200, but you can adjust this to
optimize performance based on your needs and API rate limits.
schema:
type: string
example: '200'
- name: sort_column
in: query
description: Specify the column to sort bills by. Available options include `vendor_name`, `bill_number`, `date`,
`due_date`, `total`, `balance`, and `created_time`.
schema:
type: string
- name: sort_order
in: query
description: Specify the sorting order for bills. Use `A` for ascending order (A-Z, 0-9, earliest to latest) or `D`
for descending order (Z-A, 9-0, latest to earliest).
schema:
type: string
example: D
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Bills
summary: Update a bill using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update a bill by providing its API name in the X-Unique-Identifier-Key header and
its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding bill will be retrieved and
updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the custom field's
unique value is not found in any of the existing bills, a new bill will be created if the necessary payload details
are available
operationId: updateABillUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
vendor_id:
type: string
currency_id:
type: string
vat_treatment:
type: string
is_update_customer:
type: boolean
purchaseorder_ids:
type: array
items:
type: integer
bill_number:
type: string
documents:
type: array
items:
type: object
properties:
document_id:
type: object
properties: {}
file_name:
type: object
properties: {}
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
permit_number:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
gst_no:
type: string
pricebook_id:
type: integer
reference_number:
type: string
date:
type: string
due_date:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
recurring_bill_id:
type: string
exchange_rate:
type: number
is_item_level_tax_calc:
type: boolean
is_inclusive_tax:
type: boolean
adjustment:
type: integer
adjustment_description:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
line_items:
type: array
items:
type: object
properties:
purchaseorder_item_id:
type: string
line_item_id:
type: string
item_id:
type: string
name:
type: string
account_id:
type: string
description:
type: string
rate:
type: integer
hsn_or_sac:
type: integer
reverse_charge_tax_id:
type: integer
location_id:
type: string
quantity:
type: integer
tax_id:
type: string
tds_tax_id:
type: string
tax_treatment_code:
type: string
tax_exemption_id:
type: string
tax_exemption_code:
type: string
item_order:
type: integer
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
unit:
type: string
tags:
type: array
items:
type: object
properties: {}
is_billable:
type: boolean
project_id:
type: string
customer_id:
type: string
item_custom_fields:
type: array
items:
type: object
properties: {}
serial_numbers:
type: array
items:
type: object
properties: {}
location_id:
type: string
taxes:
type: array
items:
type: object
properties:
tax_id:
type: string
tax_name:
type: string
tax_amount:
type: number
notes:
type: string
terms:
type: string
approvers:
type: array
items:
type: object
properties:
approver_id:
type: object
properties: {}
order:
type: object
properties: {}
example:
vendor_id: '460000000038029'
currency_id: '460000000000099'
vat_treatment: ''
is_update_customer: false
purchaseorder_ids:
- 460000000068231
- 460000000068233
bill_number: '00454'
documents:
- document_id: {}
file_name: {}
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
permit_number: ''
gst_treatment: business_gst
tax_treatment: vat_registered
gst_no: 22AAAAA0000A1Z5
pricebook_id: 460000000038090
reference_number: '4321133'
date: '2013-09-11'
due_date: '2013-09-26'
payment_terms: 0
payment_terms_label: Due on Receipt
recurring_bill_id: ''
exchange_rate: 1.23
is_item_level_tax_calc: false
is_inclusive_tax: false
adjustment: 0
adjustment_description: ' '
custom_fields:
- index: 0
value: ''
tags:
- tag_id: {}
tag_option_id: {}
line_items:
- purchaseorder_item_id: ''
line_item_id: '460000000067009'
item_id: '460000000054135'
name: ''
account_id: '460000000000403'
description: ''
rate: 10
hsn_or_sac: 80540
reverse_charge_tax_id: 460000000038056
location_id: '460000000038080'
quantity: 1
tax_id: '460000000027005'
tds_tax_id: '460000000027009'
tax_treatment_code: uae_others
tax_exemption_id: ''
tax_exemption_code: ''
item_order: 1
product_type: ''
acquisition_vat_id: ''
reverse_charge_vat_id: ''
unit: kgs
tags:
- {}
is_billable: false
project_id: ''
customer_id: ''
item_custom_fields:
- {}
serial_numbers:
- {}
location_id: '460000000038080'
taxes:
- tax_id: '460000000027005'
tax_name: VAT (12.5%)
tax_amount: 1.25
notes: Thanks for your business.
terms: Terms and conditions apply.
approvers:
- approver_id: {}
order: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}:
delete:
tags:
- Bills
summary: Delete a bill
description: Delete an existing bill. Bills which have payments applied cannot be deleted.
operationId: deleteABill
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Bills
summary: Get a bill
description: Get the details of a bill.
operationId: getABill
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Bills
summary: Update a bill
description: Update a bill. To delete a line item just remove it from the line_items list.
operationId: updateABill
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
- name: attachment
in: query
description: 'File to attach. Allowed Extensions: `gif`, `png`, `jpeg`, `jpg`, `bmp` and `pdf`.'
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
vendor_id:
type: string
currency_id:
type: string
vat_treatment:
type: string
is_update_customer:
type: boolean
purchaseorder_ids:
type: array
items:
type: integer
bill_number:
type: string
documents:
type: array
items:
type: object
properties:
document_id:
type: object
properties: {}
file_name:
type: object
properties: {}
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
permit_number:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
gst_no:
type: string
pricebook_id:
type: integer
reference_number:
type: string
date:
type: string
due_date:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
recurring_bill_id:
type: string
exchange_rate:
type: number
is_item_level_tax_calc:
type: boolean
is_inclusive_tax:
type: boolean
adjustment:
type: integer
adjustment_description:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
line_items:
type: array
items:
type: object
properties:
purchaseorder_item_id:
type: string
line_item_id:
type: string
item_id:
type: string
name:
type: string
account_id:
type: string
description:
type: string
rate:
type: integer
hsn_or_sac:
type: integer
reverse_charge_tax_id:
type: integer
location_id:
type: string
quantity:
type: integer
tax_id:
type: string
tds_tax_id:
type: string
tax_treatment_code:
type: string
tax_exemption_id:
type: string
tax_exemption_code:
type: string
item_order:
type: integer
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
unit:
type: string
tags:
type: array
items:
type: object
properties: {}
is_billable:
type: boolean
project_id:
type: string
customer_id:
type: string
item_custom_fields:
type: array
items:
type: object
properties: {}
serial_numbers:
type: array
items:
type: object
properties: {}
location_id:
type: string
taxes:
type: array
items:
type: object
properties:
tax_id:
type: string
tax_name:
type: string
tax_amount:
type: number
notes:
type: string
terms:
type: string
approvers:
type: array
items:
type: object
properties:
approver_id:
type: object
properties: {}
order:
type: object
properties: {}
example:
vendor_id: '460000000038029'
currency_id: '460000000000099'
vat_treatment: ''
is_update_customer: false
purchaseorder_ids:
- 460000000068231
- 460000000068233
bill_number: '00454'
documents:
- document_id: {}
file_name: {}
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
permit_number: ''
gst_treatment: business_gst
tax_treatment: vat_registered
gst_no: 22AAAAA0000A1Z5
pricebook_id: 460000000038090
reference_number: '4321133'
date: '2013-09-11'
due_date: '2013-09-26'
payment_terms: 0
payment_terms_label: Due on Receipt
recurring_bill_id: ''
exchange_rate: 1.23
is_item_level_tax_calc: false
is_inclusive_tax: false
adjustment: 0
adjustment_description: ' '
custom_fields:
- index: 0
value: ''
tags:
- tag_id: {}
tag_option_id: {}
line_items:
- purchaseorder_item_id: ''
line_item_id: '460000000067009'
item_id: '460000000054135'
name: ''
account_id: '460000000000403'
description: ''
rate: 10
hsn_or_sac: 80540
reverse_charge_tax_id: 460000000038056
location_id: '460000000038080'
quantity: 1
tax_id: '460000000027005'
tds_tax_id: '460000000027009'
tax_treatment_code: uae_others
tax_exemption_id: ''
tax_exemption_code: ''
item_order: 1
product_type: ''
acquisition_vat_id: ''
reverse_charge_vat_id: ''
unit: kgs
tags:
- {}
is_billable: false
project_id: ''
customer_id: ''
item_custom_fields:
- {}
serial_numbers:
- {}
location_id: '460000000038080'
taxes:
- tax_id: '460000000027005'
tax_name: VAT (12.5%)
tax_amount: 1.25
notes: Thanks for your business.
terms: Terms and conditions apply.
approvers:
- approver_id: {}
order: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bill/{bill_id}/customfields:
put:
tags:
- Bills
summary: Update custom field in existing bills
description: Update the value of the custom field in existing bills.
operationId: updateCustomFieldInExistingBills
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
type: object
properties:
custom_field_id:
type: integer
index:
type: integer
label:
type: string
value:
type: string
example:
- custom_field_id: 0
index: 0
label: ''
value: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}/status/void:
post:
tags:
- Bills
summary: Void a bill
description: Mark a bill status as void.
operationId: voidABill
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}/status/open:
post:
tags:
- Bills
summary: Mark a bill as open
description: Mark a void bill as open.
operationId: markABillAsOpen
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}/submit:
post:
tags:
- Bills
summary: Submit a bill for approval
description: Submit a bill for approval.
operationId: submitABillForApproval
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}/approve:
post:
tags:
- Bills
summary: Approve a bill
description: Approve a bill.
operationId: approveABill
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}/address/billing:
put:
tags:
- Bills
summary: Update billing address
description: Updates the billing address for this bill.
operationId: updateBillingAddress
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip:
type: string
country:
type: string
fax:
type: string
attention:
type: string
is_update_customer:
type: boolean
example:
address: ''
city: ''
state: ''
zip: ''
country: ''
fax: ''
attention: ''
is_update_customer: false
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}/payments:
get:
tags:
- Bills
summary: List bill payments
description: Get the list of payments made for a bill.
operationId: listBillPayments
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}/credits:
post:
tags:
- Bills
summary: Apply credits
description: Apply the vendor credits from excess vendor payments to a bill. Multiple credits can be applied at once.
operationId: applyCredits
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
bill_payments:
type: array
items:
type: object
properties:
payment_id:
type: object
properties: {}
amount_applied:
type: object
properties: {}
apply_vendor_credits:
type: array
items:
type: object
properties:
vendor_credit_id:
type: object
properties: {}
amount_applied:
type: object
properties: {}
example:
bill_payments:
- payment_id: {}
amount_applied: {}
apply_vendor_credits:
- vendor_credit_id: {}
amount_applied: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}/payments/{bill_payment_id}:
delete:
tags:
- Bills
summary: Delete a payment
description: Delete a payment made to a bill.
operationId: deleteAPayment
parameters:
- name: bill_payment_id
in: path
required: true
description: Unique identifier of the bill payment.
schema:
type: string
example: '460000000042061'
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}/attachment:
post:
tags:
- Bills
summary: Add attachment to a bill
description: Attach a file to a bill.
operationId: addAttachmentToABill
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
- name: attachment
in: query
description: 'File to attach. Allowed Extensions: `gif`, `png`, `jpeg`, `jpg`, `bmp` and `pdf`.'
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
delete:
tags:
- Bills
summary: Delete an attachment
description: Delete the file attached to a bill.
operationId: deleteAnAttachment
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Bills
summary: Get a bill attachment
description: Returns the file attached to the bill.
operationId: getABillAttachment
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
- name: preview
in: query
description: Get the thumbnail of the attachment.
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}/comments:
post:
tags:
- Bills
summary: Add comment
description: Add a comment for a bill.
operationId: addComment
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
example:
description: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Bills
summary: List bill comments & history
description: Get the complete history and comments of a bill.
operationId: listBillCommentsHistory
parameters:
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/{bill_id}/comments/{comment_id}:
delete:
tags:
- Bills
summary: Delete a comment
description: Delete a bill comment.
operationId: deleteAComment
parameters:
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '460000000069037'
- name: bill_id
in: path
required: true
description: Unique identifier of the bill.
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/bills/editpage/frompurchaseorders:
get:
tags:
- Bills
summary: Convert PO to Bill
description: "Create a bill for the selected purchase orders. Use this api to fetch the Bill payload by passing the\
\ purchaseorder_ids in the query parameters and then use the create bill api and pass the payload to create a bill\
\ \n Create bill API Endpoint."
operationId: convertPoToBill
parameters:
- name: purchaseorder_ids
in: query
description: ID of the purchase order
required: true
schema:
type: string
example: '460000000098765'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/chartofaccounts:
post:
tags:
- Chart Of Accounts
summary: Create an account
description: Creates an account with the given account type.
operationId: createAnAccount
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_name:
type: string
account_code:
type: string
account_type:
type: string
currency_id:
type: string
description:
type: string
show_on_dashboard:
type: boolean
can_show_in_ze:
type: boolean
include_in_vat_return:
type: boolean
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
parent_account_id:
type: string
example:
account_name: Notes Payable
account_code: ''
account_type: long_term_liability
currency_id: '460000000000097'
description: A Liability account which can be paid off in a time period longer than one year.
show_on_dashboard: false
can_show_in_ze: false
include_in_vat_return: false
custom_fields:
- customfield_id: {}
value: {}
parent_account_id: '460000000009097'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Chart Of Accounts
summary: List chart of accounts
description: List all chart of accounts along with pagination.
operationId: listChartOfAccounts
parameters:
- name: showbalance
in: query
description: Boolean to get current balance of accounts.
schema:
type: string
- name: filter_by
in: query
description: 'Filter accounts based on its account type and status. Allowed Values: `AccountType.All`, `AccountType.Active`,
`AccountType.Inactive`, `AccountType.Asset`, `AccountType.Liability`, `AccountType.Equity`, `AccountType.Income`
and `AccountType.Expense`.'
schema:
type: string
- name: sort_column
in: query
description: 'Sort accounts. Allowed Values: `account_name` and `account_type`.'
schema:
type: string
- name: last_modified_time
in: query
schema:
type: string
example: 2013-01-17T15:27:23+0530
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/chartofaccounts/{account_id}:
delete:
tags:
- Chart Of Accounts
summary: Delete an account
description: Deletes the given account. Accounts associated in any transaction/products could not be deleted.
operationId: deleteAnAccount2
parameters:
- name: account_id
in: path
required: true
description: Unique identifier of the account.
schema:
type: string
example: '460000000038079'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Chart Of Accounts
summary: Get an account
description: Gets the details of an account.
operationId: getAnAccount
parameters:
- name: account_id
in: path
required: true
description: Unique identifier of the account.
schema:
type: string
example: '460000000038079'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Chart Of Accounts
summary: Update an account
description: Updates the account information.
operationId: updateAnAccount
parameters:
- name: account_id
in: path
required: true
description: Unique identifier of the account.
schema:
type: string
example: '460000000038079'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_name:
type: string
account_code:
type: string
account_type:
type: string
currency_id:
type: string
description:
type: string
show_on_dashboard:
type: boolean
can_show_in_ze:
type: boolean
include_in_vat_return:
type: boolean
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
parent_account_id:
type: string
example:
account_name: Notes Payable
account_code: ''
account_type: long_term_liability
currency_id: '460000000000097'
description: A Liability account which can be paid off in a time period longer than one year.
show_on_dashboard: false
can_show_in_ze: false
include_in_vat_return: false
custom_fields:
- customfield_id: {}
value: {}
parent_account_id: '460000000009097'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/chartofaccounts/{account_id}/active:
post:
tags:
- Chart Of Accounts
summary: Mark an account as active
description: Updates the account status as active.
operationId: markAnAccountAsActive
parameters:
- name: account_id
in: path
required: true
description: Unique identifier of the account.
schema:
type: string
example: '460000000038079'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/chartofaccounts/{account_id}/inactive:
post:
tags:
- Chart Of Accounts
summary: Mark an account as inactive
description: Updates the account status as inactive.
operationId: markAnAccountAsInactive
parameters:
- name: account_id
in: path
required: true
description: Unique identifier of the account.
schema:
type: string
example: '460000000038079'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/chartofaccounts/transactions:
get:
tags:
- Chart Of Accounts
summary: List of transactions for an account
description: List all involved transactions for the given account.
operationId: listOfTransactionsForAnAccount
parameters:
- name: account_id
in: query
description: ID of the Account
required: true
schema:
type: string
example: '460000000038079'
- name: date
in: query
description: 'Search account transactions with the given date range. Default date format is yyyy-mm-dd. Variants:
`date.start`, `date.end`, `date.before` and `date.after`.'
schema:
type: string
- name: amount
in: query
description: 'Search account transactions with given amount range. Variants: `amount.less_than`, `amount.less_equals`,
`amount.greater_than` and `amount.greater_equals`.'
schema:
type: string
- name: filter_by
in: query
description: 'Filter accounts based on its account type and status. Allowed Values: `AccountType.All`, `AccountType.Active`,
`AccountType.Inactive`, `AccountType.Asset`, `AccountType.Liability`, `AccountType.Equity`, `AccountType.Income`
and `AccountType.Expense`.'
schema:
type: string
- name: transaction_type
in: query
description: 'Search transactions based on the given transaction type. Allowed Values: `invoice`, `customer_payment`,
`bills`, `vendor_payment`, `credit_notes`, `creditnote_refund`, `expense`, `card_payment`, `purchase_or_charges`,
`journal`, `deposit`, `refund`, `transfer_fund`, `base_currency_adjustment`, `opening_balance`, `sales_without_invoices`,
`expense_refund`, `tax_refund`, `receipt_from_initial_debtors`, `owner_contribution`, `interest_income`, `other_income`,
`owner_drawings` and `payment_to_initial_creditors`.'
schema:
type: string
example: customer_payment
- name: sort_column
in: query
description: 'Sort accounts. Allowed Values: `account_name` and `account_type`.'
schema:
type: string
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/chartofaccounts/transactions/{transaction_id}:
delete:
tags:
- Chart Of Accounts
summary: Delete a transaction
description: Deletes the transaction.
operationId: deleteATransaction2
parameters:
- name: transaction_id
in: path
required: true
description: Unique identifier of the transaction.
schema:
type: string
example: '460000000050163'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/contactpersons:
post:
tags:
- Contact Persons
summary: Create a contact person
description: Create a contact person for contact.
operationId: createAContactPerson
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
contact_id:
type: integer
salutation:
type: string
first_name:
type: string
last_name:
type: string
email:
type: string
phone:
type: string
mobile:
type: string
skype:
type: string
designation:
type: string
department:
type: string
enable_portal:
type: boolean
communication_preference:
type: object
properties:
is_sms_enabled:
type: boolean
is_whatsapp_enabled:
type: boolean
example:
contact_id: 460000000026049
salutation: Mr
first_name: Will
last_name: Smith
email: willsmith@bowmanfurniture.com
phone: +1-925-921-9201
mobile: +1-4054439562
skype: zoho
designation: Sales Engineer
department: Sales
enable_portal: true
communication_preference:
is_sms_enabled: true
is_whatsapp_enabled: true
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/contactpersons/{contact_person_id}:
delete:
tags:
- Contact Persons
summary: Delete a contact person
description: Delete an existing contact person.
operationId: deleteAContactPerson
parameters:
- name: contact_person_id
in: path
required: true
description: Unique identifier of the contact person.
schema:
type: string
example: '460000000026051'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Contact Persons
summary: Update a contact person
description: Update an existing contact person.
operationId: updateAContactPerson
parameters:
- name: contact_person_id
in: path
required: true
description: Unique identifier of the contact person.
schema:
type: string
example: '460000000026051'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
contact_id:
type: integer
salutation:
type: string
first_name:
type: string
last_name:
type: string
email:
type: string
phone:
type: string
mobile:
type: string
skype:
type: string
designation:
type: string
department:
type: string
enable_portal:
type: boolean
is_primary_contact:
type: boolean
communication_preference:
type: object
properties:
is_sms_enabled:
type: boolean
is_whatsapp_enabled:
type: boolean
example:
contact_id: 460000000026049
salutation: Mr
first_name: Will
last_name: Smith
email: willsmith@bowmanfurniture.com
phone: +1-925-921-9201
mobile: +1-4054439562
skype: zoho
designation: Sales Engineer
department: Sales
enable_portal: true
is_primary_contact: true
communication_preference:
is_sms_enabled: true
is_whatsapp_enabled: true
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/contactpersons:
get:
tags:
- Contact Persons
summary: List contact persons
description: List all contacts with pagination.
operationId: listContactPersons
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/contactpersons/{contact_person_id}:
get:
tags:
- Contact Persons
summary: Get a contact person
description: Get the contact person details.
operationId: getAContactPerson
parameters:
- name: contact_person_id
in: path
required: true
description: Unique identifier of the contact person.
schema:
type: string
example: '460000000026051'
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/contactpersons/{contact_person_id}/primary:
post:
tags:
- Contact Persons
summary: Mark as primary contact person
description: Mark a contact person as primary for the contact.
operationId: markAsPrimaryContactPerson
parameters:
- name: contact_person_id
in: path
required: true
description: Unique identifier of the contact person.
schema:
type: string
example: '460000000026051'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts:
post:
tags:
- Contacts
summary: Create a Contact
description: Create a new contact with comprehensive business information. This operation allows you to create a customer
or vendor by providing details such as contact name, company information, addresses, contact persons, payment terms,
tax settings, and custom fields. The created contact can be used for generating invoices, bills, estimates, and other
business transactions. The system automatically assigns a unique contact ID.
operationId: createAContact
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
contact_name:
type: string
company_name:
type: string
website:
type: string
language_code:
type: string
contact_type:
type: string
customer_sub_type:
type: string
credit_limit:
type: integer
pricebook_id:
type: integer
contact_number:
type: string
ignore_auto_number_generation:
type: boolean
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
is_portal_enabled:
type: boolean
currency_id:
type: integer
payment_terms:
type: integer
payment_terms_label:
type: string
notes:
type: string
billing_address:
type: object
properties:
attention:
type: string
address:
type: string
street2:
type: string
state_code:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
phone:
type: string
shipping_address:
type: object
properties:
attention:
type: string
address:
type: string
street2:
type: string
state_code:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
phone:
type: string
contact_persons:
type: array
items:
type: object
properties:
salutation:
type: object
properties: {}
first_name:
type: object
properties: {}
last_name:
type: object
properties: {}
email:
type: object
properties: {}
phone:
type: object
properties: {}
mobile:
type: object
properties: {}
designation:
type: object
properties: {}
department:
type: object
properties: {}
skype:
type: object
properties: {}
is_primary_contact:
type: object
properties: {}
communication_preference:
type: object
properties: {}
enable_portal:
type: object
properties: {}
default_templates:
type: object
properties:
invoice_template_id:
type: integer
estimate_template_id:
type: integer
creditnote_template_id:
type: integer
purchaseorder_template_id:
type: integer
salesorder_template_id:
type: integer
retainerinvoice_template_id:
type: integer
paymentthankyou_template_id:
type: integer
retainerinvoice_paymentthankyou_template_id:
type: integer
invoice_email_template_id:
type: integer
estimate_email_template_id:
type: integer
creditnote_email_template_id:
type: integer
purchaseorder_email_template_id:
type: integer
salesorder_email_template_id:
type: integer
retainerinvoice_email_template_id:
type: integer
paymentthankyou_email_template_id:
type: integer
retainerinvoice_paymentthankyou_email_template_id:
type: integer
statement_template_id:
type: integer
payment_remittance_email_template_id:
type: integer
bill_template_id:
type: integer
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
opening_balances:
type: array
items:
type: object
properties:
location_id:
type: object
properties: {}
exchange_rate:
type: object
properties: {}
opening_balance_amount:
type: object
properties: {}
vat_reg_no:
type: string
owner_id:
type: integer
tax_reg_no:
type: integer
tax_exemption_certificate_number:
type: string
country_code:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
tax_regime:
type: string
legal_name:
type: string
is_tds_registered:
type: boolean
place_of_contact:
type: string
gst_no:
type: string
gst_treatment:
type: string
tax_authority_name:
type: string
avatax_exempt_no:
type: string
avatax_use_code:
type: string
tax_exemption_id:
type: integer
tax_exemption_code:
type: string
tax_authority_id:
type: integer
tax_id:
type: integer
tds_tax_id:
type: string
is_taxable:
type: boolean
facebook:
type: string
twitter:
type: string
track_1099:
type: boolean
tax_id_type:
type: string
tax_id_value:
type: string
example:
contact_name: Bowman and Co
company_name: Bowman and Co
website: www.bowmanfurniture.com
language_code: ''
contact_type: customer
customer_sub_type: business
credit_limit: 1000
pricebook_id: 460000000000123
contact_number: CNT-001234
ignore_auto_number_generation: false
tags:
- tag_id: {}
tag_option_id: {}
is_portal_enabled: true
currency_id: 460000000000097
payment_terms: 15
payment_terms_label: Net 15
notes: 'Payment option : Through check'
billing_address:
attention: Mr.John
address: 4900 Hopyard Rd
street2: Suite 310
state_code: CA
city: Pleasanton
state: CA
zip: 94588
country: U.S.A
fax: +1-925-924-9600
phone: +1-925-921-9201
shipping_address:
attention: Mr.John
address: 4900 Hopyard Rd
street2: Suite 310
state_code: CA
city: Pleasanton
state: CA
zip: 94588
country: U.S.A
fax: +1-925-924-9600
phone: +1-925-921-9201
contact_persons:
- salutation: {}
first_name: {}
last_name: {}
email: {}
phone: {}
mobile: {}
designation: {}
department: {}
skype: {}
is_primary_contact: {}
communication_preference: {}
enable_portal: {}
default_templates:
invoice_template_id: 460000000052069
estimate_template_id: 460000000000179
creditnote_template_id: 460000000000211
purchaseorder_template_id: 460000000000213
salesorder_template_id: 460000000000214
retainerinvoice_template_id: 460000000000215
paymentthankyou_template_id: 460000000000216
retainerinvoice_paymentthankyou_template_id: 460000000000217
invoice_email_template_id: 460000000052071
estimate_email_template_id: 460000000052073
creditnote_email_template_id: 460000000052075
purchaseorder_email_template_id: 460000000000218
salesorder_email_template_id: 460000000000219
retainerinvoice_email_template_id: 460000000000220
paymentthankyou_email_template_id: 460000000000221
retainerinvoice_paymentthankyou_email_template_id: 460000000000222
statement_template_id: 460000000000101
payment_remittance_email_template_id: 460000000000102
bill_template_id: 460000000000103
custom_fields:
- index: 1
value: GBGD078
opening_balances:
- location_id: {}
exchange_rate: {}
opening_balance_amount: {}
vat_reg_no: ''
owner_id: 460000000016051
tax_reg_no: 12345678912345
tax_exemption_certificate_number: KRAEXM0043310521
country_code: ''
vat_treatment: ''
tax_treatment: ''
tax_regime: general_legal_person
legal_name: ESCUELA KEMPER URGATE
is_tds_registered: false
place_of_contact: TN
gst_no: 22AAAAA0000A1Z5
gst_treatment: business_gst
tax_authority_name: ''
avatax_exempt_no: ''
avatax_use_code: ''
tax_exemption_id: 11149000000061054
tax_exemption_code: ''
tax_authority_id: 11149000000061052
tax_id: 11149000000061058
tds_tax_id: '982000000557012'
is_taxable: true
facebook: zoho
twitter: zoho
track_1099: false
tax_id_type: ''
tax_id_value: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Contacts
summary: List Contacts
description: Retrieve a comprehensive list of all contacts with advanced filters. This operation supports multiple search
criteria including contact name, company name, address, email, phone, and general text search. You can filter contacts
by status (active, inactive, duplicate, CRM) and sort by various fields. The response includes essential contact information,
financial data including outstanding amounts and credit limits, and pagination details for efficient data retrieval.
operationId: listContacts
parameters:
- name: contact_type
in: query
description: 'Search contacts by contact type. Allowed Values: `customer`, `vendor`.'
schema:
type: string
example: customer
- name: contact_name
in: query
description: 'Search contacts by contact name. Max-length [100] Variants: `contact_name_startswith` and `contact_name_contains`.
Max-length [100]'
schema:
type: string
example: Bowman and Co
- name: company_name
in: query
description: 'Search contacts by company name. Max-length [100] Variants: `company_name_startswith` and `company_name_contains`'
schema:
type: string
example: Bowman and Co
- name: first_name
in: query
description: 'Search contacts by first name of the primary contact person. Max-length [100] Variants: `first_name_startswith`
and `first_name_contains`'
schema:
type: string
example: Will
- name: last_name
in: query
description: 'Search contacts by last name of the primary contact person. Max-length [100] Variants: `last_name_startswith`
and `last_name_contains`'
schema:
type: string
example: Smith
- name: address
in: query
description: 'Search contacts by any of the address fields. Max-length [100] Variants: `address_startswith` and `address_contains`'
schema:
type: string
example: 4900 Hopyard Rd
- name: email
in: query
description: 'Search contacts by email of the primary contact person. Max-length [100] Variants: `email_startswith`
and `email_contains`'
schema:
type: string
example: willsmith@bowmanfurniture.com
- name: phone
in: query
description: 'Search contacts by phone number of the primary contact person. Max-length [100] Variants: `phone_startswith`
and `phone_contains`'
schema:
type: string
example: +1-925-921-9201
- name: filter_by
in: query
description: 'Filter contacts by status. Allowed Values: `Status.All, Status.Active, Status.Inactive, Status.Duplicate,
Status.PortalEnabled, Status.PortalDisabled, Invoice.OverDue, Invoice.Unpaid, Status.CreditLimitExceed and Status.Crm`'
schema:
type: string
- name: search_text
in: query
description: Search contacts by contact name or notes. Max-length [100]
schema:
type: string
- name: sort_column
in: query
description: 'Sort contacts. Allowed Values: `contact_name, first_name, last_name, email, outstanding_receivable_amount,
created_time and last_modified_time`'
schema:
type: string
example: contact_name
- name: zcrm_contact_id
in: query
description: CRM Contact ID for the contact.
schema:
type: string
example: '460000000026049'
- name: zcrm_account_id
in: query
description: CRM Account ID for the contact.
schema:
type: string
example: '460000000026049'
- name: zcrm_vendor_id
in: query
description: CRM Vendor ID for the contact.
schema:
type: string
example: '460000000026049'
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Contacts
summary: Update a contact using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update a contact by providing its API name in the X-Unique-Identifier-Key header
and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding contact will be retrieved
and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the custom field's
unique value is not found in any of the existing contacts, a new contact will be created if the necessary payload
details are available
operationId: updateAContactUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
contact_name:
type: string
company_name:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
contact_type:
type: string
customer_sub_type:
type: string
currency_id:
type: integer
opening_balances:
type: array
items:
type: object
properties:
location_id:
type: object
properties: {}
exchange_rate:
type: object
properties: {}
opening_balance_amount:
type: object
properties: {}
credit_limit:
type: integer
pricebook_id:
type: integer
contact_number:
type: string
ignore_auto_number_generation:
type: boolean
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
website:
type: string
owner_id:
type: integer
custom_fields:
type: array
items:
type: object
properties:
index:
type: object
properties: {}
value:
type: object
properties: {}
label:
type: object
properties: {}
billing_address:
type: object
properties:
attention:
type: string
address:
type: string
street2:
type: string
state_code:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
phone:
type: string
shipping_address:
type: object
properties:
attention:
type: string
address:
type: string
street2:
type: string
state_code:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
phone:
type: string
contact_persons:
type: array
items:
type: object
properties:
contact_person_id:
type: integer
salutation:
type: string
first_name:
type: string
last_name:
type: string
email:
type: string
phone:
type: string
mobile:
type: string
designation:
type: string
department:
type: string
skype:
type: string
is_primary_contact:
type: boolean
enable_portal:
type: boolean
communication_preference:
type: object
properties:
is_sms_enabled:
type: object
properties: {}
is_whatsapp_enabled:
type: object
properties: {}
default_templates:
type: object
properties:
invoice_template_id:
type: integer
estimate_template_id:
type: integer
creditnote_template_id:
type: integer
purchaseorder_template_id:
type: integer
salesorder_template_id:
type: integer
retainerinvoice_template_id:
type: integer
paymentthankyou_template_id:
type: integer
retainerinvoice_paymentthankyou_template_id:
type: integer
invoice_email_template_id:
type: integer
estimate_email_template_id:
type: integer
creditnote_email_template_id:
type: integer
purchaseorder_email_template_id:
type: integer
salesorder_email_template_id:
type: integer
retainerinvoice_email_template_id:
type: integer
paymentthankyou_email_template_id:
type: integer
retainerinvoice_paymentthankyou_email_template_id:
type: integer
statement_template_id:
type: integer
payment_remittance_email_template_id:
type: integer
bill_template_id:
type: integer
notes:
type: string
vat_reg_no:
type: string
tax_reg_no:
type: integer
country_code:
type: string
tax_treatment:
type: string
tax_exemption_certificate_number:
type: string
tax_regime:
type: string
legal_name:
type: string
is_tds_registered:
type: boolean
vat_treatment:
type: string
place_of_contact:
type: string
gst_no:
type: string
gst_treatment:
type: string
tax_authority_name:
type: string
avatax_exempt_no:
type: string
avatax_use_code:
type: string
tax_exemption_id:
type: integer
tax_exemption_code:
type: string
tax_authority_id:
type: integer
tax_id:
type: integer
is_taxable:
type: boolean
facebook:
type: string
twitter:
type: string
track_1099:
type: boolean
tax_id_type:
type: string
tax_id_value:
type: string
example:
contact_name: Bowman and Co
company_name: Bowman and Co
payment_terms: 15
payment_terms_label: Net 15
contact_type: customer
customer_sub_type: business
currency_id: 460000000000097
opening_balances:
- location_id: {}
exchange_rate: {}
opening_balance_amount: {}
credit_limit: 1000
pricebook_id: 460000000000123
contact_number: CNT-001234
ignore_auto_number_generation: false
tags:
- tag_id: {}
tag_option_id: {}
website: www.bowmanfurniture.com
owner_id: 460000000016051
custom_fields:
- index: {}
value: {}
label: {}
billing_address:
attention: Mr.John
address: 4900 Hopyard Rd
street2: Suite 310
state_code: CA
city: Pleasanton
state: CA
zip: 94588
country: U.S.A
fax: +1-925-924-9600
phone: +1-925-921-9201
shipping_address:
attention: Mr.John
address: 4900 Hopyard Rd
street2: Suite 310
state_code: CA
city: Pleasanton
state: CA
zip: 94588
country: U.S.A
fax: +1-925-924-9600
phone: +1-925-921-9201
contact_persons:
- contact_person_id: 460000000026051
salutation: Mr
first_name: Will
last_name: Smith
email: willsmith@bowmanfurniture.com
phone: +1-925-921-9201
mobile: +1-4054439562
designation: Sales Executive
department: Sales and Marketing
skype: Zoho
is_primary_contact: true
enable_portal: true
communication_preference:
is_sms_enabled: {}
is_whatsapp_enabled: {}
default_templates:
invoice_template_id: 460000000052069
estimate_template_id: 460000000000179
creditnote_template_id: 460000000000211
purchaseorder_template_id: 460000000000213
salesorder_template_id: 460000000000214
retainerinvoice_template_id: 460000000000215
paymentthankyou_template_id: 460000000000216
retainerinvoice_paymentthankyou_template_id: 460000000000217
invoice_email_template_id: 460000000052071
estimate_email_template_id: 460000000052073
creditnote_email_template_id: 460000000052075
purchaseorder_email_template_id: 460000000000218
salesorder_email_template_id: 460000000000219
retainerinvoice_email_template_id: 460000000000220
paymentthankyou_email_template_id: 460000000000221
retainerinvoice_paymentthankyou_email_template_id: 460000000000222
statement_template_id: 460000000000101
payment_remittance_email_template_id: 460000000000102
bill_template_id: 460000000000103
notes: 'Payment option : Through check'
vat_reg_no: ''
tax_reg_no: 12345678912345
country_code: ''
tax_treatment: ''
tax_exemption_certificate_number: KRAEXM0043310521
tax_regime: general_legal_person
legal_name: ESCUELA KEMPER URGATE
is_tds_registered: false
vat_treatment: ''
place_of_contact: TN
gst_no: 22AAAAA0000A1Z5
gst_treatment: business_gst
tax_authority_name: ''
avatax_exempt_no: ''
avatax_use_code: ''
tax_exemption_id: 11149000000061054
tax_exemption_code: ''
tax_authority_id: 11149000000061052
tax_id: 11149000000061058
is_taxable: true
facebook: zoho
twitter: zoho
track_1099: false
tax_id_type: ''
tax_id_value: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}:
delete:
tags:
- Contacts
summary: Delete a Contact
description: Delete an existing contact.
operationId: deleteAContact
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Contacts
summary: Get Contact
description: Retrieve comprehensive details of a specific contact. This operation provides complete contact details
such as basic information, addresses, contact persons, payment terms, tax settings, custom fields, and financial data
including outstanding amounts, credit limits, and transaction history.
operationId: getContact
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Contacts
summary: Update a Contact
description: Update an existing contact with comprehensive business information. This operation allows you to modify
all contact details including basic information, addresses, contact persons, payment terms, tax settings, and custom
fields. For contact person, you can add new contact persons, update existing ones, or remove them by excluding them
from the contact_persons list.
operationId: updateAContact
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
contact_name:
type: string
company_name:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
contact_type:
type: string
customer_sub_type:
type: string
currency_id:
type: integer
opening_balances:
type: array
items:
type: object
properties:
location_id:
type: object
properties: {}
exchange_rate:
type: object
properties: {}
opening_balance_amount:
type: object
properties: {}
credit_limit:
type: integer
pricebook_id:
type: integer
contact_number:
type: string
ignore_auto_number_generation:
type: boolean
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
website:
type: string
owner_id:
type: integer
custom_fields:
type: array
items:
type: object
properties:
index:
type: object
properties: {}
value:
type: object
properties: {}
label:
type: object
properties: {}
billing_address:
type: object
properties:
attention:
type: string
address:
type: string
street2:
type: string
state_code:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
phone:
type: string
shipping_address:
type: object
properties:
attention:
type: string
address:
type: string
street2:
type: string
state_code:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
phone:
type: string
contact_persons:
type: array
items:
type: object
properties:
contact_person_id:
type: integer
salutation:
type: string
first_name:
type: string
last_name:
type: string
email:
type: string
phone:
type: string
mobile:
type: string
designation:
type: string
department:
type: string
skype:
type: string
is_primary_contact:
type: boolean
enable_portal:
type: boolean
communication_preference:
type: object
properties:
is_sms_enabled:
type: object
properties: {}
is_whatsapp_enabled:
type: object
properties: {}
default_templates:
type: object
properties:
invoice_template_id:
type: integer
estimate_template_id:
type: integer
creditnote_template_id:
type: integer
purchaseorder_template_id:
type: integer
salesorder_template_id:
type: integer
retainerinvoice_template_id:
type: integer
paymentthankyou_template_id:
type: integer
retainerinvoice_paymentthankyou_template_id:
type: integer
invoice_email_template_id:
type: integer
estimate_email_template_id:
type: integer
creditnote_email_template_id:
type: integer
purchaseorder_email_template_id:
type: integer
salesorder_email_template_id:
type: integer
retainerinvoice_email_template_id:
type: integer
paymentthankyou_email_template_id:
type: integer
retainerinvoice_paymentthankyou_email_template_id:
type: integer
statement_template_id:
type: integer
payment_remittance_email_template_id:
type: integer
bill_template_id:
type: integer
notes:
type: string
vat_reg_no:
type: string
tax_reg_no:
type: integer
country_code:
type: string
tax_treatment:
type: string
tax_exemption_certificate_number:
type: string
tax_regime:
type: string
legal_name:
type: string
is_tds_registered:
type: boolean
vat_treatment:
type: string
place_of_contact:
type: string
gst_no:
type: string
gst_treatment:
type: string
tax_authority_name:
type: string
avatax_exempt_no:
type: string
avatax_use_code:
type: string
tax_exemption_id:
type: integer
tax_exemption_code:
type: string
tax_authority_id:
type: integer
tax_id:
type: integer
is_taxable:
type: boolean
facebook:
type: string
twitter:
type: string
track_1099:
type: boolean
tax_id_type:
type: string
tax_id_value:
type: string
example:
contact_name: Bowman and Co
company_name: Bowman and Co
payment_terms: 15
payment_terms_label: Net 15
contact_type: customer
customer_sub_type: business
currency_id: 460000000000097
opening_balances:
- location_id: {}
exchange_rate: {}
opening_balance_amount: {}
credit_limit: 1000
pricebook_id: 460000000000123
contact_number: CNT-001234
ignore_auto_number_generation: false
tags:
- tag_id: {}
tag_option_id: {}
website: www.bowmanfurniture.com
owner_id: 460000000016051
custom_fields:
- index: {}
value: {}
label: {}
billing_address:
attention: Mr.John
address: 4900 Hopyard Rd
street2: Suite 310
state_code: CA
city: Pleasanton
state: CA
zip: 94588
country: U.S.A
fax: +1-925-924-9600
phone: +1-925-921-9201
shipping_address:
attention: Mr.John
address: 4900 Hopyard Rd
street2: Suite 310
state_code: CA
city: Pleasanton
state: CA
zip: 94588
country: U.S.A
fax: +1-925-924-9600
phone: +1-925-921-9201
contact_persons:
- contact_person_id: 460000000026051
salutation: Mr
first_name: Will
last_name: Smith
email: willsmith@bowmanfurniture.com
phone: +1-925-921-9201
mobile: +1-4054439562
designation: Sales Executive
department: Sales and Marketing
skype: Zoho
is_primary_contact: true
enable_portal: true
communication_preference:
is_sms_enabled: {}
is_whatsapp_enabled: {}
default_templates:
invoice_template_id: 460000000052069
estimate_template_id: 460000000000179
creditnote_template_id: 460000000000211
purchaseorder_template_id: 460000000000213
salesorder_template_id: 460000000000214
retainerinvoice_template_id: 460000000000215
paymentthankyou_template_id: 460000000000216
retainerinvoice_paymentthankyou_template_id: 460000000000217
invoice_email_template_id: 460000000052071
estimate_email_template_id: 460000000052073
creditnote_email_template_id: 460000000052075
purchaseorder_email_template_id: 460000000000218
salesorder_email_template_id: 460000000000219
retainerinvoice_email_template_id: 460000000000220
paymentthankyou_email_template_id: 460000000000221
retainerinvoice_paymentthankyou_email_template_id: 460000000000222
statement_template_id: 460000000000101
payment_remittance_email_template_id: 460000000000102
bill_template_id: 460000000000103
notes: 'Payment option : Through check'
vat_reg_no: ''
tax_reg_no: 12345678912345
country_code: ''
tax_treatment: ''
tax_exemption_certificate_number: KRAEXM0043310521
tax_regime: general_legal_person
legal_name: ESCUELA KEMPER URGATE
is_tds_registered: false
vat_treatment: ''
place_of_contact: TN
gst_no: 22AAAAA0000A1Z5
gst_treatment: business_gst
tax_authority_name: ''
avatax_exempt_no: ''
avatax_use_code: ''
tax_exemption_id: 11149000000061054
tax_exemption_code: ''
tax_authority_id: 11149000000061052
tax_id: 11149000000061058
is_taxable: true
facebook: zoho
twitter: zoho
track_1099: false
tax_id_type: ''
tax_id_value: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/active:
post:
tags:
- Contacts
summary: Mark as Active
description: Mark a contact as active.
operationId: markAsActive
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/inactive:
post:
tags:
- Contacts
summary: Mark as Inactive
description: Mark a contact as inactive.
operationId: markAsInactive
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/portal/enable:
post:
tags:
- Contacts
summary: Enable Portal Access
description: Enable portal access for a contact.
operationId: enablePortalAccess
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
contact_persons:
type: array
items:
type: object
properties:
contact_person_id:
type: integer
example:
contact_persons:
- contact_person_id: 460000000026051
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/paymentreminder/enable:
post:
tags:
- Contacts
summary: Enable Payment Reminders
description: Enable automated payment reminders for a contact.
operationId: enablePaymentReminders
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/paymentreminder/disable:
post:
tags:
- Contacts
summary: Disable Payment Reminders
description: Disable automated payment reminders for a contact.
operationId: disablePaymentReminders
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/statements/email:
post:
tags:
- Contacts
summary: Email Statement
description: Email statement to the contact. If JSONString is not inputted, mail will be sent with the default mail
content.
operationId: emailStatement
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
- name: start_date
in: query
description: If start_date and end_date are not given, current month's statement will be sent to contact. Date format
[yyyy-mm-dd]
schema:
type: string
- name: end_date
in: query
description: End date for the statement. Date format [yyyy-mm-dd]
schema:
type: string
- name: multipart_or_formdata
in: query
description: Files to be attached along with the statement.
schema:
type: string
example: file
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
send_from_org_email_id:
type: boolean
to_mail_ids:
type: array
items:
type: string
cc_mail_ids:
type: array
items:
type: string
subject:
type: string
body:
type: string
example:
send_from_org_email_id: true
to_mail_ids:
- willsmith@bowmanfurniture.com
cc_mail_ids:
- peterparker@bowmanfurniture.com
subject: Statement of transactions with Zillium Inc
body: Dear Customer, <br/>We have attached with this email a list of all your transactions with us for the
period 01 Sep 2013 to 30 Sep 2013. You can write to us or call us if you need any assistance or clarifications. <br/>Thanks
for your business.<br/>Regards<br/>Zillium Inc
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Contacts
summary: Get Statement Mail Content
description: Get the statement mail content.
operationId: getStatementMailContent
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
- name: start_date
in: query
description: If start_date and end_date are not given, current month's statement will be sent to contact. Date format
[yyyy-mm-dd]
schema:
type: string
- name: end_date
in: query
description: End date for the statement. Date format [yyyy-mm-dd]
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/email:
post:
tags:
- Contacts
summary: Email Contact
description: Send email to contact.
operationId: emailContact
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
- name: send_customer_statement
in: query
description: Send customer statement pdf with email.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
to_mail_ids:
type: array
items:
type: string
subject:
type: string
body:
type: string
attachments:
type: string
example:
to_mail_ids:
- willsmith@bowmanfurniture.com
subject: Welcome to Zillium Inc .
body: Dear Customer, <br/>We have attached with this email a list of all your transactions with us for the
period 01 Sep 2013 to 30 Sep 2013. You can write to us or call us if you need any assistance or clarifications. <br/>Thanks
for your business.<br/>Regards<br/>Zillium Inc
attachments: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/comments:
get:
tags:
- Contacts
summary: List Comments
description: List recent activities of a contact.
operationId: listComments
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/address:
post:
tags:
- Contacts
summary: Add Additional Address
description: Add an additional address for a contact using the arguments below.
operationId: addAdditionalAddress
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
attention:
type: string
address:
type: string
street2:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
phone:
type: string
example:
attention: Mr.John
address: 4900 Hopyard Rd
street2: Suite 310
city: Pleasanton
state: CA
zip: 94588
country: U.S.A
fax: +1-925-924-9600
phone: +1-925-921-9201
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Contacts
summary: Get Contact Addresses
description: Get addresses of a contact including its Shipping Address, Billing Address and other additional addresses.
operationId: getContactAddresses
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/address/{address_id}:
delete:
tags:
- Contacts
summary: Delete Additional Address
description: Delete the additional address of a contact.
operationId: deleteAdditionalAddress
parameters:
- name: address_id
in: path
required: true
description: Unique identifier of the address.
schema:
type: string
example: '1053791000000186000'
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Contacts
summary: Edit Additional Address
description: Edit the additional address of a contact using the arguments below.
operationId: editAdditionalAddress
parameters:
- name: address_id
in: path
required: true
description: Unique identifier of the address.
schema:
type: string
example: '1053791000000186000'
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
attention:
type: string
address:
type: string
street2:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
phone:
type: string
address_id:
type: integer
example:
attention: Mr.John
address: 4900 Hopyard Rd
street2: Suite 310
city: Pleasanton
state: CA
zip: 94588
country: U.S.A
fax: +1-925-924-9600
phone: +1-925-921-9201
address_id: 1053791000000186000
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/refunds:
get:
tags:
- Contacts
summary: List Refunds
description: List the refund history of a contact.
operationId: listRefunds
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/track1099:
post:
tags:
- Contacts
summary: Track 1099
description: 'Track a contact for 1099 reporting: (Note: This API is only available when the organization''s country
is U.S.A).'
operationId: track1099
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/untrack1099:
post:
tags:
- Contacts
summary: Untrack 1099
description: 'Use this API to stop tracking payments to a vendor for 1099 reporting. (Note: This API is only available
when the organization''s country is U.S.A).'
operationId: untrack1099
parameters:
- name: contact_id
in: path
required: true
description: Unique identifier of the contact.
schema:
type: string
example: '460000000026049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/contacts/{contact_id}/receivables/unusedretainerpayments:
get:
tags:
- Contacts
summary: Get Unused Retainer Payments
description: Retrieve information about unused retainer payments for a specific contact. This endpoint returns details
of retainer payments that have been made but not yet applied to invoices, providing insight into available credit
balances from retainer payments.
operationId: getUnusedRetainerPayments
parameters:
- name: contact_id
in: path
required: true
schema:
type: string
example: '460000000026049'
- name: currency_id
in: query
description: Currency ID to filter unused retainer payments by specific currency.
schema:
type: string
example: '460000000000097'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes:
post:
tags:
- Credit Notes
summary: Create a credit note
description: Create a new credit note to record credits issued to customers for returned items, overpayments, or adjustments.
Supports multi-currency transactions, custom line items, tax calculations, and workflows.
operationId: createACreditNote
parameters:
- name: invoice_id
in: query
description: Invoice ID of the required invoice.
schema:
type: string
example: '90300000079426'
- name: ignore_auto_number_generation
in: query
description: Set to true if you need to provide your own credit note number.
schema:
type: string
example: 'False'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
date:
type: string
is_draft:
type: boolean
exchange_rate:
type: string
line_items:
type: array
items:
type: object
properties:
item_id:
type: string
invoice_id:
type: string
invoice_item_id:
type: string
description:
type: string
code:
type: string
name:
type: string
type:
type: integer
account_id:
type: string
account_name:
type: string
quantity:
type: integer
tax_id:
type: string
tds_tax_id:
type: string
tax_treatment_code:
type: string
product_type:
type: string
sat_item_key_code:
type: integer
unitkey_code:
type: string
serial_numbers:
type: string
location_id:
type: string
project_id:
type: integer
tags:
type: array
items:
type: object
properties: {}
location_id:
type: string
creditnote_number:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
gst_no:
type: string
cfdi_usage:
type: string
cfdi_reference_type:
type: string
place_of_supply:
type: string
ignore_auto_number_generation:
type: boolean
reference_number:
type: string
custom_fields:
type: array
items:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
notes:
type: string
terms:
type: string
template_id:
type: string
tax_id:
type: string
tax_authority_id:
type: string
tax_exemption_id:
type: string
avatax_use_code:
type: string
avatax_exempt_no:
type: string
vat_treatment:
type: string
is_inclusive_tax:
type: string
avatax_tax_code:
type: string
example:
customer_id: '903000000000099'
currency_id: '982000000567240'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
date: '2016-06-05'
is_draft: true
exchange_rate: '5.5'
line_items:
- item_id: '90300000081501'
invoice_id: '90300000079426'
invoice_item_id: '982000000567021'
description: prorated amount for items
code: basic-monthly
name: Basic Monthly
type: 1
account_id: '903000000000388'
account_name: Sales
quantity: 1
tax_id: '903000000000356'
tds_tax_id: '903000000000357'
tax_treatment_code: uae_others
product_type: goods
sat_item_key_code: 71121206
unitkey_code: box
serial_numbers: ''
location_id: '460000000038080'
project_id: 90300000087378
tags:
- {}
location_id: '460000000038080'
creditnote_number: CN-29
gst_treatment: business_gst
tax_treatment: vat_registered
is_reverse_charge_applied: true
gst_no: 22AAAAA0000A1Z5
cfdi_usage: acquisition_of_merchandise
cfdi_reference_type: return_of_merchandise
place_of_supply: TN
ignore_auto_number_generation: false
reference_number: INV-384
custom_fields:
- ''
tags:
- tag_id: {}
tag_option_id: {}
notes: Offer for the referral
terms: ''
template_id: '90300000001336'
tax_id: '903000000000356'
tax_authority_id: '903000006345'
tax_exemption_id: '903000006345'
avatax_use_code: ''
avatax_exempt_no: ''
vat_treatment: overseas
is_inclusive_tax: fasle
avatax_tax_code: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Credit Notes
summary: List all Credit Notes
description: Retrieve a paginated list of credit notes with comprehensive filtering, sorting, and search capabilities.
Use query parameters to filter by date, status, amount, customer details, items, taxes, and custom fields.
operationId: listAllCreditNotes
parameters:
- name: creditnote_number
in: query
description: Filter credit notes by specific credit note number. Use this parameter to search for a particular credit
note by its unique number. Max-Length [100]
schema:
type: string
example: CN-29
- name: date
in: query
description: Filter credit notes by the date they were raised. Use yyyy-mm-dd format to search for credit notes created
on a specific date.
schema:
type: string
example: '2016-06-05'
- name: status
in: query
description: 'Filter credit notes by their current status. Allowed values: `open`, `closed`, `void`, or `draft`.'
schema:
type: string
example: draft
- name: total
in: query
description: Filter credit notes by their total amount. Use this parameter to search for credit notes with a specific
total value.
schema:
type: string
example: '450'
- name: reference_number
in: query
description: Filter credit notes by their reference number. Use this parameter to search for credit notes with a specific
reference number. Max-Length [100]
schema:
type: string
example: INV-384
- name: customer_name
in: query
description: Filter credit notes by customer name. Use this parameter to search for credit notes associated with a
specific customer. Max-Length [100]
schema:
type: string
example: Bowman Furniture
- name: item_name
in: query
description: Filter credit notes by item name. Use this parameter to search for credit notes containing specific items.
Max-Length [100]
schema:
type: string
example: kit
- name: customer_id
in: query
description: Filter credit notes by customer ID. Use this parameter to search for credit notes associated with a specific
customer. Retrieve customer IDs from the contacts API.
schema:
type: string
example: '903000000000099'
- name: item_description
in: query
description: Filter credit notes by item description. Supports variants `item_description_startswith` and `item_description_contains`
for flexible searching. Max-length [100]
schema:
type: string
- name: item_id
in: query
description: Filter credit notes by item ID. Use this parameter to search for credit notes containing a specific item.
Retrieve item IDs from the items API.
schema:
type: string
example: '90300000081501'
- name: line_item_id
in: query
description: Filter credit notes by line item ID. Use this parameter to search for credit notes containing a specific
line item within the credit note.
schema:
type: string
example: '903000006245'
- name: tax_id
in: query
description: Filter credit notes by tax ID. Use this parameter to search for credit notes with a specific tax applied.
Retrieve tax IDs from the taxes API.
schema:
type: string
example: '903000000000356'
- name: filter_by
in: query
description: 'Filter credit notes by status using predefined status values. Allowed values: `Status.All`, `Status.Open`,
`Status.Draft`, `Status.Closed`, and `Status.Void`.'
schema:
type: string
- name: search_text
in: query
description: Search credit notes using text search across multiple fields. Searches credit note number, customer name,
and reference number. Max-length [100]
schema:
type: string
- name: sort_column
in: query
description: 'Sort credit notes by specified column. Allowed values: `customer_name`, `creditnote_number`, `balance`,
`total`, `date`, and `created_time`.'
schema:
type: string
example: created_time
- name: page
in: query
description: Page number for pagination. Specify which page of results to retrieve. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records per page for pagination. Controls how many credit notes are returned in each page.
Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Credit Notes
summary: Update a credit note using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update a credit note by providing its API name in the X-Unique-Identifier-Key header
and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding credit note will be
retrieved and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the
custom field's unique value is not found in any of the existing credit notes, a new credit note will be created if
the necessary payload details are available
operationId: updateACreditNoteUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
date:
type: string
is_draft:
type: boolean
exchange_rate:
type: string
line_items:
type: array
items:
type: object
properties:
item_id:
type: object
properties: {}
line_item_id:
type: object
properties: {}
account_id:
type: object
properties: {}
name:
type: object
properties: {}
description:
type: object
properties: {}
item_order:
type: object
properties: {}
rate:
type: object
properties: {}
quantity:
type: object
properties: {}
unit:
type: object
properties: {}
discount:
type: object
properties: {}
tax_id:
type: object
properties: {}
tds_tax_id:
type: object
properties: {}
tax_exemption_id:
type: object
properties: {}
tax_exemption_code:
type: object
properties: {}
tax_treatment_code:
type: object
properties: {}
avatax_use_code:
type: object
properties: {}
avatax_tax_code:
type: object
properties: {}
product_type:
type: object
properties: {}
hsn_or_sac:
type: object
properties: {}
sat_item_key_code:
type: object
properties: {}
unitkey_code:
type: object
properties: {}
item_custom_fields:
type: object
properties: {}
location_id:
type: object
properties: {}
location_name:
type: object
properties: {}
serial_numbers:
type: object
properties: {}
project_id:
type: object
properties: {}
tags:
type: object
properties: {}
location_id:
type: string
creditnote_number:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
gst_no:
type: string
cfdi_usage:
type: string
cfdi_reference_type:
type: string
place_of_supply:
type: string
ignore_auto_number_generation:
type: boolean
reference_number:
type: string
custom_fields:
type: array
items:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
notes:
type: string
terms:
type: string
template_id:
type: string
tax_id:
type: string
tax_authority_id:
type: string
tax_exemption_id:
type: string
avatax_use_code:
type: string
avatax_exempt_no:
type: string
vat_treatment:
type: string
is_inclusive_tax:
type: string
item_id:
type: string
account_id:
type: string
name:
type: string
avatax_tax_code:
type: string
description:
type: string
unit:
type: string
rate:
type: integer
quantity:
type: integer
example:
customer_id: '903000000000099'
currency_id: '982000000567240'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
date: '2016-06-05'
is_draft: true
exchange_rate: '5.5'
line_items:
- item_id: {}
line_item_id: {}
account_id: {}
name: {}
description: {}
item_order: {}
rate: {}
quantity: {}
unit: {}
discount: {}
tax_id: {}
tds_tax_id: {}
tax_exemption_id: {}
tax_exemption_code: {}
tax_treatment_code: {}
avatax_use_code: {}
avatax_tax_code: {}
product_type: {}
hsn_or_sac: {}
sat_item_key_code: {}
unitkey_code: {}
item_custom_fields: {}
location_id: {}
location_name: {}
serial_numbers: {}
project_id: {}
tags: {}
location_id: '460000000038080'
creditnote_number: CN-29
gst_treatment: business_gst
tax_treatment: vat_registered
is_reverse_charge_applied: true
gst_no: 22AAAAA0000A1Z5
cfdi_usage: acquisition_of_merchandise
cfdi_reference_type: return_of_merchandise
place_of_supply: TN
ignore_auto_number_generation: false
reference_number: INV-384
custom_fields:
- ''
tags:
- tag_id: {}
tag_option_id: {}
notes: Offer for the referral
terms: ''
template_id: '90300000001336'
tax_id: '903000000000356'
tax_authority_id: '903000006345'
tax_exemption_id: '903000006345'
avatax_use_code: ''
avatax_exempt_no: ''
vat_treatment: overseas
is_inclusive_tax: fasle
item_id: '90300000081501'
account_id: '903000000000388'
name: Basic Monthly
avatax_tax_code: ''
description: prorated amount for items
unit: kgs
rate: 0
quantity: 1
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}:
delete:
tags:
- Credit Notes
summary: Delete a credit note
description: Delete an existing credit note.
operationId: deleteACreditNote
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Credit Notes
summary: Get a credit note
description: Details of an existing creditnote.
operationId: getACreditNote
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
- name: print
in: query
description: 'Export credit note pdf with default print option. Allowed Values: `true`, `false`, `on` and `off`'
schema:
type: string
example: 'True'
- name: accept
in: query
description: 'You can get credit note details as json/pdf/html. Default format is html. Allowed Values: `json`, `pdf`
and `html`'
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Credit Notes
summary: Update a credit note
description: Details of an existing creditnote.
operationId: updateACreditNote
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
- name: ignore_auto_number_generation
in: query
description: Set to true if you need to provide your own credit note number.
schema:
type: string
example: 'False'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
date:
type: string
is_draft:
type: boolean
exchange_rate:
type: string
line_items:
type: array
items:
type: object
properties:
item_id:
type: object
properties: {}
line_item_id:
type: object
properties: {}
account_id:
type: object
properties: {}
name:
type: object
properties: {}
description:
type: object
properties: {}
item_order:
type: object
properties: {}
rate:
type: object
properties: {}
quantity:
type: object
properties: {}
unit:
type: object
properties: {}
discount:
type: object
properties: {}
tax_id:
type: object
properties: {}
tds_tax_id:
type: object
properties: {}
tax_exemption_id:
type: object
properties: {}
tax_exemption_code:
type: object
properties: {}
tax_treatment_code:
type: object
properties: {}
avatax_use_code:
type: object
properties: {}
avatax_tax_code:
type: object
properties: {}
product_type:
type: object
properties: {}
hsn_or_sac:
type: object
properties: {}
sat_item_key_code:
type: object
properties: {}
unitkey_code:
type: object
properties: {}
item_custom_fields:
type: object
properties: {}
location_id:
type: object
properties: {}
location_name:
type: object
properties: {}
serial_numbers:
type: object
properties: {}
project_id:
type: object
properties: {}
tags:
type: object
properties: {}
location_id:
type: string
creditnote_number:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
gst_no:
type: string
cfdi_usage:
type: string
cfdi_reference_type:
type: string
place_of_supply:
type: string
ignore_auto_number_generation:
type: boolean
reference_number:
type: string
custom_fields:
type: array
items:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
notes:
type: string
terms:
type: string
template_id:
type: string
tax_id:
type: string
tax_authority_id:
type: string
tax_exemption_id:
type: string
avatax_use_code:
type: string
avatax_exempt_no:
type: string
vat_treatment:
type: string
is_inclusive_tax:
type: string
item_id:
type: string
account_id:
type: string
name:
type: string
avatax_tax_code:
type: string
description:
type: string
unit:
type: string
rate:
type: integer
quantity:
type: integer
example:
customer_id: '903000000000099'
currency_id: '982000000567240'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
date: '2016-06-05'
is_draft: true
exchange_rate: '5.5'
line_items:
- item_id: {}
line_item_id: {}
account_id: {}
name: {}
description: {}
item_order: {}
rate: {}
quantity: {}
unit: {}
discount: {}
tax_id: {}
tds_tax_id: {}
tax_exemption_id: {}
tax_exemption_code: {}
tax_treatment_code: {}
avatax_use_code: {}
avatax_tax_code: {}
product_type: {}
hsn_or_sac: {}
sat_item_key_code: {}
unitkey_code: {}
item_custom_fields: {}
location_id: {}
location_name: {}
serial_numbers: {}
project_id: {}
tags: {}
location_id: '460000000038080'
creditnote_number: CN-29
gst_treatment: business_gst
tax_treatment: vat_registered
is_reverse_charge_applied: true
gst_no: 22AAAAA0000A1Z5
cfdi_usage: acquisition_of_merchandise
cfdi_reference_type: return_of_merchandise
place_of_supply: TN
ignore_auto_number_generation: false
reference_number: INV-384
custom_fields:
- ''
tags:
- tag_id: {}
tag_option_id: {}
notes: Offer for the referral
terms: ''
template_id: '90300000001336'
tax_id: '903000000000356'
tax_authority_id: '903000006345'
tax_exemption_id: '903000006345'
avatax_use_code: ''
avatax_exempt_no: ''
vat_treatment: overseas
is_inclusive_tax: fasle
item_id: '90300000081501'
account_id: '903000000000388'
name: Basic Monthly
avatax_tax_code: ''
description: prorated amount for items
unit: kgs
rate: 0
quantity: 1
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/email:
post:
tags:
- Credit Notes
summary: Email a credit note
description: Email a credit note.
operationId: emailACreditNote
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
- name: customer_id
in: query
description: Customer ID of the customer for whom the credit note is raised.
schema:
type: string
example: '903000000000099'
- name: attachments
in: query
description: The files to be attached with the email.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
to_mail_ids:
type: array
items:
type: string
cc_mail_ids:
type: array
items:
type: string
subject:
type: string
body:
type: string
example:
to_mail_ids:
- benjamin.george@bowmanfurniture.com
- paul@bowmanfurniture.com
cc_mail_ids:
- accounts@bowmanfurniture.com
subject: Credit note for subscription.
body: Please find attached the credit note for your subscription.
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Credit Notes
summary: Get email content
description: Get email content of a credit note.
operationId: getEmailContent
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
- 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.
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/status/void:
post:
tags:
- Credit Notes
summary: Void a Credit Note
description: Mark the credit note as Void.
operationId: voidACreditNote
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/status/draft:
post:
tags:
- Credit Notes
summary: Convert Credit Note to Draft.
description: Convert a voided credit note to Draft.
operationId: convertCreditNoteToDraft
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/status/open:
post:
tags:
- Credit Notes
summary: Convert to Open
description: Convert a credit note in Draft status to Open.
operationId: convertToOpen
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/submit:
post:
tags:
- Credit Notes
summary: Submit a credit note for approval
description: Submit an estimate for approval.
operationId: submitACreditNoteForApproval
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/approve:
post:
tags:
- Credit Notes
summary: Approve a credit note.
description: Approve a credit note.
operationId: approveACreditNote
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/emailhistory:
get:
tags:
- Credit Notes
summary: Email history
description: Get email history of a credit code.
operationId: emailHistory
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/address/billing:
put:
tags:
- Credit Notes
summary: Update billing address
description: Updates the billing address for an existing credit note alone.
operationId: updateBillingAddress2
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
example:
address: 4900 Hopyard Rd, Suite 310
city: Pleasanton
state: CA
zip: 94588
country: USA
fax: +1-925-924-9600
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/address/shipping:
put:
tags:
- Credit Notes
summary: Update Shipping address
description: Updates the shipping address for an existing credit note alone.
operationId: updateShippingAddress
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
example:
address: Suite 125, McMillan Avenue
city: San Francisco
state: CA
zip: 94134
country: USA
fax: +1-925-924-9600
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/templates:
get:
tags:
- Credit Notes
summary: List credit note template
description: Get all credit note pdf templates.
operationId: listCreditNoteTemplate
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/templates/{template_id}:
put:
tags:
- Credit Notes
summary: Update a credit note template
description: Update the pdf template associated with the credit note.
operationId: updateACreditNoteTemplate
parameters:
- name: template_id
in: path
required: true
description: Unique identifier of the credit note template.
schema:
type: string
example: '90300000001336'
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/invoices:
post:
tags:
- Credit Notes
summary: Credit to an invoice
description: Apply credit note to existing invoices.
operationId: creditToAnInvoice
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
invoices:
type: array
items:
type: object
properties:
invoice_id:
type: string
amount_applied:
type: number
invoice_id:
type: string
amount_applied:
type: number
example:
invoices:
- invoice_id: '90300000079426'
amount_applied: 41.82
invoice_id: '90300000079426'
amount_applied: 41.82
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Credit Notes
summary: List invoices credited
description: List invoices to which the credit note is applied.
operationId: listInvoicesCredited
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/invoices/{creditnote_invoice_id}:
delete:
tags:
- Credit Notes
summary: Delete invoices credited
description: Delete the credits applied to an invoice.
operationId: deleteInvoicesCredited
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
- name: creditnote_invoice_id
in: path
required: true
description: Unique identifier of the credit note invoice.
schema:
type: string
example: '982000000567172'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/comments:
post:
tags:
- Credit Notes
summary: Add a comment
description: Add a comment to an existing credit note.
operationId: addAComment
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
example:
description: Credits applied to invoice INV-00004
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Credit Notes
summary: List credit note comments & history
description: Get history and comments of a credit note.
operationId: listCreditNoteCommentsHistory
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/comments/{comment_id}:
delete:
tags:
- Credit Notes
summary: Delete a Comment
description: Delete a credit note comment.
operationId: deleteAComment2
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '982000000570001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/refunds:
get:
tags:
- Credit Notes
summary: List credit note refunds
description: List all refunds with pagination.
operationId: listCreditNoteRefunds
parameters:
- name: customer_id
in: query
description: Customer ID of the customer for whom the credit note is raised.
schema:
type: string
example: '903000000000099'
- name: sort_column
in: query
description: 'Sort refunds list. Allowed Values: `refund_mode`, `reference_number`, `date`, `creditnote_number`, `customer_name`,
`amount_bcy` and `amount_fcy`'
schema:
type: string
example: created_time
- name: page
in: query
description: Page number for pagination. Specify which page of results to retrieve. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records per page for pagination. Controls how many credit notes are returned in each page.
Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/refunds:
post:
tags:
- Credit Notes
summary: Refund credit note
description: Refund credit note amount.
operationId: refundCreditNote
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
date:
type: string
refund_mode:
type: string
payment_form:
type: string
reference_number:
type: string
amount:
type: integer
exchange_rate:
type: string
from_account_id:
type: string
description:
type: string
example:
date: '2016-06-05'
refund_mode: cash
payment_form: cash
reference_number: INV-384
amount: 450
exchange_rate: '5.5'
from_account_id: ' '
description: prorated amount for items
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Credit Notes
summary: List refunds of a credit note
description: List all refunds of an existing credit note.
operationId: listRefundsOfACreditNote
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
- name: page
in: query
description: Page number for pagination. Specify which page of results to retrieve. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records per page for pagination. Controls how many credit notes are returned in each page.
Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/creditnotes/{creditnote_id}/refunds/{creditnote_refund_id}:
delete:
tags:
- Credit Notes
summary: Delete credit note refund
description: Delete a credit note refund.
operationId: deleteCreditNoteRefund
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
- name: creditnote_refund_id
in: path
required: true
description: Unique identifier of the credit note refund.
schema:
type: string
example: '982000000567158'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Credit Notes
summary: Get credit note refund
description: Get refund of a particular credit note.
operationId: getCreditNoteRefund
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
- name: creditnote_refund_id
in: path
required: true
description: Unique identifier of the credit note refund.
schema:
type: string
example: '982000000567158'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Credit Notes
summary: Update credit note refund
description: Update the refunded transaction.
operationId: updateCreditNoteRefund
parameters:
- name: creditnote_id
in: path
required: true
description: Unique identifier of the credit note.
schema:
type: string
example: '90300000072369'
- name: creditnote_refund_id
in: path
required: true
description: Unique identifier of the credit note refund.
schema:
type: string
example: '982000000567158'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
date:
type: string
refund_mode:
type: string
payment_form:
type: string
reference_number:
type: string
amount:
type: integer
exchange_rate:
type: string
from_account_id:
type: string
description:
type: string
example:
date: '2016-06-05'
refund_mode: cash
payment_form: cash
reference_number: INV-384
amount: 450
exchange_rate: '5.5'
from_account_id: ' '
description: prorated amount for items
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/settings/currencies:
post:
tags:
- Currency
summary: Create a Currency
description: Create a currency for transaction.
operationId: createACurrency
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
currency_code:
type: string
currency_symbol:
type: string
price_precision:
type: integer
currency_format:
type: string
example:
currency_code: AUD
currency_symbol: $
price_precision: 2
currency_format: 1,234,567.89
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Currency
summary: List Currencies
description: Get list of currencies configured.
operationId: listCurrencies
parameters:
- name: filter_by
in: query
description: 'Filter currencies excluding base currency. Allowed Values: `Currencies.ExcludeBaseCurrency`'
schema:
type: string
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/settings/currencies/{currency_id}:
delete:
tags:
- Currency
summary: Delete a currency
description: Delete a currency. Currency that is associated to transactions cannot be deleted.
operationId: deleteACurrency
parameters:
- name: currency_id
in: path
required: true
description: Unique identifier of the currency.
schema:
type: string
example: '982000000004012'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Currency
summary: Get a Currency
description: Get the details of a currency.
operationId: getACurrency
parameters:
- name: currency_id
in: path
required: true
description: Unique identifier of the currency.
schema:
type: string
example: '982000000004012'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Currency
summary: Update a Currency
description: Update the details of a currency.
operationId: updateACurrency
parameters:
- name: currency_id
in: path
required: true
description: Unique identifier of the currency.
schema:
type: string
example: '982000000004012'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
currency_code:
type: string
currency_symbol:
type: string
price_precision:
type: integer
currency_format:
type: string
example:
currency_code: AUD
currency_symbol: $
price_precision: 2
currency_format: 1,234,567.89
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/settings/currencies/{currency_id}/exchangerates:
post:
tags:
- Currency
summary: Create an exchange rate
description: Create an exchange rate for the specified currency.
operationId: createAnExchangeRate
parameters:
- name: currency_id
in: path
required: true
description: Unique identifier of the currency.
schema:
type: string
example: '982000000004012'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
effective_date:
type: string
rate:
type: number
example:
effective_date: '2013-09-04'
rate: 1.23
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Currency
summary: List exchange rates
description: List of exchange rates configured for the currency.
operationId: listExchangeRates
parameters:
- name: currency_id
in: path
required: true
description: Unique identifier of the currency.
schema:
type: string
example: '982000000004012'
- name: from_date
in: query
description: Returns the exchange rate details from the given date or from previous closest match in the absence of
the exchange rate on the given date.
schema:
type: string
example: '2017-01-02'
- name: is_current_date
in: query
description: To return the exchange rate only if available for current date.
schema:
type: string
example: 'True'
- name: sort_column
in: query
description: 'Sorts the exchange rate according to this column. Allowed Values : `effective_date`'
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/settings/currencies/{currency_id}/exchangerates/{exchange_rate_id}:
delete:
tags:
- Currency
summary: Delete an exchage rate
description: Delete an exchange rate for the specified currency.
operationId: deleteAnExchageRate
parameters:
- name: exchange_rate_id
in: path
required: true
description: Unique identifier of the exchange rate.
schema:
type: string
example: '460000000038035'
- name: currency_id
in: path
required: true
description: Unique identifier of the currency.
schema:
type: string
example: '982000000004012'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Currency
summary: Get an exchange rate.
description: Get the details of an exchange rate that has been asscoiated to the currency.
operationId: getAnExchangeRate
parameters:
- name: exchange_rate_id
in: path
required: true
description: Unique identifier of the exchange rate.
schema:
type: string
example: '460000000038035'
- name: currency_id
in: path
required: true
description: Unique identifier of the currency.
schema:
type: string
example: '982000000004012'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Currency
summary: Update an exchange rate
description: Update the details of exchange rate for a currency.
operationId: updateAnExchangeRate
parameters:
- name: exchange_rate_id
in: path
required: true
description: Unique identifier of the exchange rate.
schema:
type: string
example: '460000000038035'
- name: currency_id
in: path
required: true
description: Unique identifier of the currency.
schema:
type: string
example: '982000000004012'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
effective_date:
type: string
rate:
type: number
example:
effective_date: '2013-09-04'
rate: 1.23
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/{module_name}:
post:
tags:
- Custom Modules
summary: Create Custom Modules
description: To create a custom module, you can use the argument below
operationId: createCustomModules
parameters:
- name: module_name
in: path
required: true
description: Module Name
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
record_name:
type: string
cf_debt_amount:
type: integer
example:
record_name: Alice
cf_debt_amount: 10000
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
delete:
tags:
- Custom Modules
summary: ' Delete Custom Modules'
description: To delete a custom module, you can use the argument below
operationId: deleteCustomModules
parameters:
- name: module_name
in: path
required: true
description: Module Name
schema:
type: string
example: cm_debtor
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Custom Modules
summary: Get Record List of a Custom Module
description: To get the list of records of a custom module, you can use the argument below
operationId: getRecordListOfACustomModule
parameters:
- name: module_name
in: path
required: true
description: Module Name
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Custom Modules
summary: Bulk Update Custom Module
description: To update existing custom module records in bulk, use the argument below
operationId: bulkUpdateCustomModule
parameters:
- name: module_name
in: path
required: true
description: Module Name
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
cf_debt_amount:
type: integer
module_record_id:
type: string
record_name:
type: string
example:
cf_debt_amount: 10000
module_record_id: 460000000639128,460000000639129
record_name: Alice
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/{module_name}/{module_id}:
delete:
tags:
- Custom Modules
summary: 'Delete individual records '
description: to delete individual records of a custom module, use the argument below
operationId: deleteIndividualRecords
parameters:
- name: module_id
in: path
required: true
description: Custom Module ID
schema:
type: string
example: '2112155000000652000'
- name: module_name
in: path
required: true
description: Module Name
schema:
type: string
example: cm_debtor
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Custom Modules
summary: Get Individual Record Details
description: To get the details of an individual organisation, use the argument below.
operationId: getIndividualRecordDetails
parameters:
- name: module_name
in: path
required: true
description: Module Name
schema:
type: string
- name: module_id
in: path
required: true
description: Custom Module ID
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Custom Modules
summary: Update Custom Module
description: To update an existing custom module, use the argument below
operationId: updateCustomModule
parameters:
- name: module_name
in: path
required: true
description: Module Name
schema:
type: string
- name: module_id
in: path
required: true
description: Custom Module ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
record_name:
type: string
cf_debt_amount:
type: integer
example:
record_name: Alice
cf_debt_amount: 10000
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices:
post:
tags:
- Customer Debit Notes
summary: Create a customer debit note
description: Create a customer debit note for additional charges or adjustments to be made to the original invoice.
operationId: createACustomerDebitNote
parameters:
- name: send
in: query
description: Send the debit note to the contact person(s) associated with the debit note. Allowed values `true` and
`false`.
schema:
type: string
- name: ignore_auto_number_generation
in: query
description: Ignore auto debit note number generation for this debit note. This mandates the debit note number. Allowed
values `true` and `false`
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
type:
type: string
currency_id:
type: string
contact_persons:
type: array
items:
type: string
invoice_number:
type: string
date:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
due_date:
type: string
exchange_rate:
type: integer
location_id:
type: string
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: string
value:
type: string
reference_invoice_id:
type: string
reference_invoice_type:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
line_items:
type: array
items:
type: object
properties:
item_id:
type: string
hsn_or_sac:
type: string
location_id:
type: string
description:
type: string
rate:
type: integer
quantity:
type: integer
tax_id:
type: string
tags:
type: array
items:
type: object
properties: {}
example:
customer_id: '982000000567001'
type: debit_note
currency_id: '982000000000001'
contact_persons:
- ''
invoice_number: DN-00001
date: '2013-11-17'
payment_terms: 15
payment_terms_label: Net 15
due_date: '2013-12-02'
exchange_rate: 1
location_id: '460000000038080'
custom_fields:
- customfield_id: ''
value: ''
reference_invoice_id: '982000000567005'
reference_invoice_type: registered
tags:
- tag_id: {}
tag_option_id: {}
line_items:
- item_id: '982000000030049'
hsn_or_sac: '80540'
location_id: '460000000038080'
description: Desktop Units
rate: 20
quantity: 2
tax_id: '982000000567104'
tags:
- {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Customer Debit Notes
summary: List customer debit notes
description: Get a list of customer debit notes with helpful pagination, filtering, search, and sorting features. Perfect
for viewing your debit note data in organized ways, whether you need to find specific debit notes or browse through
your records.
operationId: listCustomerDebitNotes
parameters:
- name: item_name
in: query
description: Search debit notes by item name. Filters debit notes based on product or service names in debit note
line items. Supports `item_name_startswith` and `item_name_contains` variants. Maximum length is 100 characters.
Useful for finding debit notes with specific products or services.
schema:
type: string
example: Desktop Units
- name: item_id
in: query
description: Search debit notes by item ID. Filters debit notes based on the unique identifier of specific products
or services in line items. Use the GET `/items` API to find available item IDs. Useful for finding all debit notes
containing a specific product or service.
schema:
type: string
example: '982000000030049'
- name: item_description
in: query
description: Search debit notes by item description. Filters debit notes based on detailed descriptions of products
or services in line items. Supports `item_description_startswith` and `item_description_contains` variants. Maximum
length is 100 characters. Useful for finding debit notes with specific item descriptions or technical specifications.
schema:
type: string
- name: customer_name
in: query
description: Search debit notes by customer name. Filters debit notes based on the business or individual name associated
with the debit note. Maximum length is 100 characters. Useful for finding all debit notes for a specific customer
or generating customer reports.
schema:
type: string
example: Bowman & Co
- name: email
in: query
description: Search debit notes by customer email address. Filters debit notes based on the email address of the customer
or contact person. Maximum length is 100 characters. Useful for finding debit notes for specific customers or generating
customer segment reports.
schema:
type: string
- name: total
in: query
description: Search debit notes by total amount. Filters debit notes based on the final debit note amount including
taxes, discounts, and adjustments. Useful for finding debit notes within specific price ranges or identifying high-value
transactions.
schema:
type: string
example: '40.6'
- name: balance
in: query
description: Search debit notes by outstanding balance. Filters debit notes based on the remaining unpaid amount owed
by the customer. Useful for finding overdue debit notes, tracking receivables, or generating aging reports.
schema:
type: string
example: '40.6'
- name: custom_field
in: query
description: 'Search debit notes by custom fields.Variants: `custom_field_startswith` and `custom_field_contains`'
schema:
type: string
- name: date
in: query
description: 'Search debit notes by debit note date. Filters debit notes based on the date they were created. Use
yyyy-mm-dd format. Supports variants: `date_start`, `date_end`, `date_before` and `date_after`. Useful for finding
debit notes within date ranges or specific time periods.'
schema:
type: string
example: '2013-11-17'
- name: due_date
in: query
description: 'Search debit notes by due date. Filters debit notes based on the payment due date. Use yyyy-mm-dd format.
Supports variants: `due_date_start`, `due_date_end`, `due_date_before` and `due_date_after`. Useful for finding
overdue debit notes or debit notes due within specific periods.'
schema:
type: string
example: '2013-12-03'
- name: created_date
in: query
description: 'Search debit notes by creation date. Filters debit notes based on the date they were created. Use yyyy-mm-dd
format. Supports variants: `created_date_start`, `created_date_end`, `created_date_before` and `created_date_after`.
Useful for finding debit notes created within specific time periods or date ranges.'
schema:
type: string
example: '2013-11-17'
- name: last_modified_time
in: query
description: 'Search debit notes modified after a specific time. Filters debit notes based on their last modification
timestamp. Use YYYY-MM-DDTHH:MM:SS-UTC format. Useful for finding recently updated debit notes or syncing data changes.
Example : 2023-11-18T02:02:51-0800, 2025-19-19T02:02:51%2B0800'
schema:
type: string
example: 2013-11-18T02:02:51-0800
- name: status
in: query
description: 'Search debit notes by status. Filters debit notes based on their current state in the billing workflow.
Allowed values: `sent`, `draft`, `overdue`, `paid`, `void`, `unpaid`, `partially_paid` and `viewed`. Useful for
finding debit notes in specific stages of the billing process.'
schema:
type: string
example: draft
- name: customer_id
in: query
description: Search debit notes by customer ID. Filters debit notes based on the unique identifier of the customer
for whom the debit note was created. Use the customer ID returned by the Contacts API to find all debit notes for
a specific customer.
schema:
type: string
example: '982000000567001'
- name: filter_by
in: query
description: Filter needs to be `Type.DebitNote`.
schema:
type: string
example: Type.DebitNote
- name: search_text
in: query
description: Search debit notes by debit note number, purchase order, or customer name. This parameter performs a
general search across multiple debit note fields. Maximum length is 100 characters. Useful for quick searches when
you know part of the debit note information but are unsure which specific field to search.
schema:
type: string
- name: sort_column
in: query
description: 'Sort debit notes by specific column. Allowed values: `customer_name`, `debit_note_number`, `date`, `due_date`,
`total`, `balance` and `created_time`. Use this parameter to organize debit note results in a specific order for
better data analysis and reporting.'
schema:
type: string
example: created_time
- name: page
in: query
description: Page number to be fetched from the paginated results. Default value is 1. Use this parameter along with
per_page to navigate through large sets of debit note data. Useful for implementing pagination in your application.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200. Use this parameter to control the size
of each page of results. Maximum value is 200. Useful for optimizing data transfer and improving application performance.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Invoices
summary: Update an invoice using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update an invoice by providing its API name in the X-Unique-Identifier-Key header
and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding invoice will be retrieved
and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the custom field's
unique value is not found in any of the existing invoices, a new invoice will be created if the necessary payload
details are available
operationId: updateAnInvoiceUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: integer
currency_id:
type: integer
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
invoice_number:
type: string
place_of_supply:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
gst_treatment:
type: string
cfdi_usage:
type: string
cfdi_reference_type:
type: string
reference_invoice_id:
type: string
gst_no:
type: string
reference_number:
type: string
template_id:
type: integer
date:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
due_date:
type: string
discount:
type: integer
is_discount_before_tax:
type: boolean
discount_type:
type: string
is_inclusive_tax:
type: boolean
exchange_rate:
type: integer
recurring_invoice_id:
type: string
invoiced_estimate_id:
type: string
salesperson_name:
type: string
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
item_id:
type: integer
project_id:
type: integer
time_entry_ids:
type: array
items:
type: string
product_type:
type: string
hsn_or_sac:
type: integer
sat_item_key_code:
type: integer
unitkey_code:
type: string
location_id:
type: string
expense_id:
type: string
expense_receipt_name:
type: string
name:
type: string
description:
type: string
item_order:
type: integer
bcy_rate:
type: integer
rate:
type: integer
quantity:
type: integer
unit:
type: string
discount_amount:
type: integer
tags:
type: array
items:
type: object
properties: {}
discount:
type: integer
tax_id:
type: integer
tds_tax_id:
type: string
tax_name:
type: string
tax_type:
type: string
tax_percentage:
type: number
tax_treatment_code:
type: string
header_name:
type: string
header_id:
type: integer
payment_options:
type: object
properties:
payment_gateways:
type: array
items:
type: object
properties: {}
allow_partial_payments:
type: boolean
custom_body:
type: string
custom_subject:
type: string
notes:
type: string
terms:
type: string
shipping_charge:
type: integer
adjustment:
type: integer
adjustment_description:
type: string
reason:
type: string
tax_authority_id:
type: integer
tax_exemption_id:
type: integer
avatax_use_code:
type: string
avatax_exempt_no:
type: string
tax_id:
type: integer
expense_id:
type: string
salesorder_item_id:
type: string
avatax_tax_code:
type: string
line_item_id:
type: integer
example:
customer_id: 982000000567001
currency_id: 982000000000190
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
invoice_number: INV-00003
place_of_supply: TN
vat_treatment: ''
tax_treatment: vat_registered
is_reverse_charge_applied: true
gst_treatment: business_gst
cfdi_usage: acquisition_of_merchandise
cfdi_reference_type: return_of_merchandise
reference_invoice_id: '132738000000126013'
gst_no: 22AAAAA0000A1Z5
reference_number: ' '
template_id: 982000000000143
date: '2013-11-17'
payment_terms: 15
payment_terms_label: Net 15
due_date: '2013-12-03'
discount: 0
is_discount_before_tax: true
discount_type: item_level
is_inclusive_tax: false
exchange_rate: 1
recurring_invoice_id: ' '
invoiced_estimate_id: ' '
salesperson_name: ' '
custom_fields:
- customfield_id: {}
value: {}
tags:
- tag_id: {}
tag_option_id: {}
location_id: '460000000038080'
line_items:
- item_id: 982000000030049
project_id: 90300000087378
time_entry_ids: []
product_type: goods
hsn_or_sac: 80540
sat_item_key_code: 71121206
unitkey_code: E48
location_id: '460000000038080'
expense_id: '460000000028080'
expense_receipt_name: ''
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
item_order: 1
bcy_rate: 120
rate: 120
quantity: 1
unit: ' '
discount_amount: 0
tags:
- {}
discount: 0
tax_id: 982000000557028
tds_tax_id: '982000000557012'
tax_name: VAT
tax_type: tax
tax_percentage: 12.5
tax_treatment_code: uae_others
header_name: Electronic devices
header_id: 982000000000670
payment_options:
payment_gateways:
- {}
allow_partial_payments: true
custom_body: ' '
custom_subject: ' '
notes: Looking forward for your business.
terms: Terms & Conditions apply
shipping_charge: 0
adjustment: 0
adjustment_description: ' '
reason: ' '
tax_authority_id: 11149000000061052
tax_exemption_id: 11149000000061054
avatax_use_code: ''
avatax_exempt_no: ''
tax_id: 982000000557028
expense_id: '460000000028080'
salesorder_item_id: ' '
avatax_tax_code: ''
line_item_id: 982000000567021
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{debit_note_id}:
delete:
tags:
- Customer Debit Notes
summary: Delete a customer debit note
description: Delete an existing customer debit note. Debit notes which have payment or credits note applied cannot be
deleted.
operationId: deleteACustomerDebitNote
parameters:
- name: debit_note_id
in: path
required: true
description: Unique identifier for the debit note
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Customer Debit Notes
summary: Get a customer debit note
description: Get the details of a customer debit note.
operationId: getACustomerDebitNote
parameters:
- name: debit_note_id
in: path
required: true
description: Unique identifier for the debit note
schema:
type: string
- name: print
in: query
description: Print the exported pdf.
schema:
type: string
- name: accept
in: query
description: Get the details of a particular debit note in formats such as json/ pdf/ html. Default format is json.
Allowed values `json` `pdf` and `html`
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Customer Debit Notes
summary: Update a customer debit note
description: Update an existing customer debit note. To delete a line item just remove it from the line_items list.
operationId: updateACustomerDebitNote
parameters:
- name: debit_note_id
in: path
required: true
description: Unique identifier for the debit note
schema:
type: string
- name: ignore_auto_number_generation
in: query
description: Ignore auto debit note number generation for this debit note. This mandates the debit note number. Allowed
values `true` and `false`
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
type:
type: string
currency_id:
type: string
invoice_number:
type: string
template_id:
type: string
date:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
due_date:
type: string
discount:
type: integer
exchange_rate:
type: integer
location_id:
type: string
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: string
value:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
line_items:
type: array
items:
type: object
properties:
item_id:
type: string
product_type:
type: string
hsn_or_sac:
type: string
location_id:
type: string
description:
type: string
rate:
type: integer
quantity:
type: integer
unit:
type: string
tax_id:
type: string
item_total:
type: integer
tags:
type: array
items:
type: object
properties: {}
example:
customer_id: '982000000567001'
type: debit_note
currency_id: '982000000000001'
invoice_number: DN-00001
template_id: '982000000000143'
date: '2013-11-17'
payment_terms: 15
payment_terms_label: Net 15
due_date: '2013-12-02'
discount: 0
exchange_rate: 1
location_id: '460000000038080'
custom_fields:
- customfield_id: ''
value: ''
tags:
- tag_id: {}
tag_option_id: {}
line_items:
- item_id: '982000000030049'
product_type: goods
hsn_or_sac: '80540'
location_id: '460000000038080'
description: Desktop Units
rate: 20
quantity: 2
unit: Nos
tax_id: '982000000567104'
item_total: 40
tags:
- {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/customerpayments:
post:
tags:
- Customer Payments
summary: Create a payment
description: Create a new payment.
operationId: createAPayment
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
payment_mode:
type: string
amount:
type: integer
date:
type: string
reference_number:
type: string
description:
type: string
invoices:
type: array
items:
type: object
properties:
invoice_id:
type: string
amount_applied:
type: integer
exchange_rate:
type: integer
payment_form:
type: string
bank_charges:
type: integer
custom_fields:
type: array
items:
type: object
properties:
label:
type: string
value:
type: integer
location_id:
type: string
invoice_id:
type: string
amount_applied:
type: integer
tax_amount_withheld:
type: integer
account_id:
type: string
contact_persons:
type: array
items:
type: string
retainerinvoice_id:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
customer_id: '903000000000099'
payment_mode: cash
amount: 450
date: '2016-06-05'
reference_number: INV-384
description: Payment has been added to INV-384
invoices:
- invoice_id: '90300000079426'
amount_applied: 450
exchange_rate: 1
payment_form: cash
bank_charges: 10
custom_fields:
- label: label
value: 129890
location_id: '460000000038080'
invoice_id: '90300000079426'
amount_applied: 450
tax_amount_withheld: 0
account_id: ' '
contact_persons:
- '982000000870911'
- '982000000870915'
retainerinvoice_id: '982000000567114'
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
delete:
tags:
- Customer Payments
summary: Bulk delete Customer payments
description: Delete multiple customer payments.
operationId: bulkDeleteCustomerPayments
parameters:
- name: payment_id
in: query
description: Comma-separated list of payment IDs to be deleted
required: true
schema:
type: string
example: 9030000079467,9030000079468,9030000079469
- name: bulk_delete
in: query
description: Flag to indicate bulk delete operation
required: true
schema:
type: string
example: 'True'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Customer Payments
summary: List Customer Payments
description: List all the payments made by your customer.
operationId: listCustomerPayments
parameters:
- name: customer_name
in: query
description: 'Search payments by customer name. Variants: `customer_name_startswith` and `customer_name_contains`.
Max-len [100]'
schema:
type: string
example: Bowman Furniture
- name: reference_number
in: query
description: 'Search payments by reference number. Variants: `reference_number_startswith` and `reference_number_contains`.
Max-len [100]'
schema:
type: string
example: INV-384
- name: date
in: query
schema:
type: string
example: '2016-06-05'
- name: amount
in: query
description: 'Search payments by payment amount. Variants: `amount_less_than`, `amount_less_equals`, `amount_greater_than`
and `amount_greater_equals`'
schema:
type: string
example: '450'
- name: notes
in: query
description: 'Search payments by customer notes. Variants: `notes_startswith` and `notes_contains`'
schema:
type: string
- name: payment_mode
in: query
description: 'Search payments by payment mode. Variants: `payment_mode_startswith` and `payment_mode_contains`'
schema:
type: string
example: cash
- name: filter_by
in: query
description: 'Filter payments by mode.Allowed Values: `PaymentMode.All`, `PaymentMode.Check`, `PaymentMode.Cash`,
`PaymentMode.BankTransfer`, `PaymentMode.Paypal`, `PaymentMode.CreditCard`, `PaymentMode.GoogleCheckout`, `PaymentMode.Credit`,
`PaymentMode.Authorizenet`, `PaymentMode.BankRemittance`, `PaymentMode.Payflowpro`, `PaymentMode.Stripe`, `PaymentMode.TwoCheckout`,
`PaymentMode.Braintree` and `PaymentMode.Others`'
schema:
type: string
- name: sort_column
in: query
schema:
type: string
example: created_time
- name: search_text
in: query
description: Search payments by reference number or customer name or payment description. Max-length [100]
schema:
type: string
- name: customer_id
in: query
description: Customer ID of the customer involved in the payment.
schema:
type: string
example: '903000000000099'
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Customer Payments
summary: Update a payment using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update a payment by providing its API name in the X-Unique-Identifier-Key header
and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding payment will be retrieved
and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the custom field's
unique value is not found in any of the existing payments, a new payment will be created if the necessary payload
details are available
operationId: updateAPaymentUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
payment_mode:
type: string
amount:
type: integer
date:
type: string
reference_number:
type: string
description:
type: string
invoices:
type: array
items:
type: object
properties:
invoice_id:
type: string
amount_applied:
type: integer
exchange_rate:
type: integer
payment_form:
type: string
bank_charges:
type: integer
custom_fields:
type: array
items:
type: object
properties:
label:
type: string
value:
type: integer
invoice_id:
type: string
amount_applied:
type: integer
tax_amount_withheld:
type: integer
location_id:
type: string
account_id:
type: string
retainerinvoice_id:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
customer_id: '903000000000099'
payment_mode: cash
amount: 450
date: '2016-06-05'
reference_number: INV-384
description: Payment has been added to INV-384
invoices:
- invoice_id: '90300000079426'
amount_applied: 450
exchange_rate: 1
payment_form: cash
bank_charges: 10
custom_fields:
- label: label
value: 129890
invoice_id: '90300000079426'
amount_applied: 450
tax_amount_withheld: 0
location_id: '460000000038080'
account_id: ' '
retainerinvoice_id: '982000000567114'
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/customerpayments/{payment_id}:
delete:
tags:
- Customer Payments
summary: Delete a payment
description: Delete an existing payment.
operationId: deleteAPayment2
parameters:
- name: payment_id
in: path
required: true
description: Unique identifier of the payment.
schema:
type: string
example: '9030000079467'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Customer Payments
summary: Retrieve a payment
description: Details of an existing payment.
operationId: retrieveAPayment
parameters:
- name: payment_id
in: path
required: true
description: Unique identifier of the payment.
schema:
type: string
example: '9030000079467'
- name: accept
in: query
description: Format of the response. Allowed values are `json` and `pdf`. Default is `json`.
schema:
type: string
example: json
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Customer Payments
summary: Update a payment
description: Update an existing payment information.
operationId: updateAPayment
parameters:
- name: payment_id
in: path
required: true
description: Unique identifier of the payment.
schema:
type: string
example: '9030000079467'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
payment_mode:
type: string
amount:
type: integer
date:
type: string
reference_number:
type: string
description:
type: string
invoices:
type: array
items:
type: object
properties:
invoice_id:
type: string
amount_applied:
type: integer
exchange_rate:
type: integer
payment_form:
type: string
bank_charges:
type: integer
custom_fields:
type: array
items:
type: object
properties:
label:
type: string
value:
type: integer
invoice_id:
type: string
amount_applied:
type: integer
tax_amount_withheld:
type: integer
location_id:
type: string
account_id:
type: string
retainerinvoice_id:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
customer_id: '903000000000099'
payment_mode: cash
amount: 450
date: '2016-06-05'
reference_number: INV-384
description: Payment has been added to INV-384
invoices:
- invoice_id: '90300000079426'
amount_applied: 450
exchange_rate: 1
payment_form: cash
bank_charges: 10
custom_fields:
- label: label
value: 129890
invoice_id: '90300000079426'
amount_applied: 450
tax_amount_withheld: 0
location_id: '460000000038080'
account_id: ' '
retainerinvoice_id: '982000000567114'
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/customerpayments/{customer_payment_id}/refunds:
post:
tags:
- Customer Payments
summary: Refund an excess customer payment
description: Refund the excess amount paid by the customer.
operationId: refundAnExcessCustomerPayment
parameters:
- name: customer_payment_id
in: path
required: true
description: Unique identifier of the customer payment.
schema:
type: string
example: '9030000079467'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
date:
type: string
refund_mode:
type: string
reference_number:
type: string
amount:
type: integer
exchange_rate:
type: integer
payment_form:
type: string
from_account_id:
type: string
description:
type: string
example:
date: '2016-06-05'
refund_mode: cash
reference_number: INV-384
amount: 450
exchange_rate: 1
payment_form: cash
from_account_id: ' '
description: Payment has been added to INV-384
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Customer Payments
summary: List refunds of a customer payment
description: List all the refunds pertaining to an existing customer payment.
operationId: listRefundsOfACustomerPayment
parameters:
- name: customer_payment_id
in: path
required: true
description: Unique identifier of the customer payment.
schema:
type: string
example: '9030000079467'
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/customerpayment/{customer_payment_id}/customfields:
put:
tags:
- Customer Payments
summary: Update custom field in existing customerpayments
description: Update the value of the custom field in existing customerpayments.
operationId: updateCustomFieldInExistingCustomerpayments
parameters:
- name: customer_payment_id
in: path
required: true
description: Unique identifier of the customer payment.
schema:
type: string
example: '9030000079467'
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
type: object
properties:
customfield_id:
type: string
value:
type: integer
example:
- customfield_id: '46000000012845'
value: 129890
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/customerpayments/{customer_payment_id}/refunds/{refund_id}:
delete:
tags:
- Customer Payments
summary: Delete a Refund
description: Delete refund pertaining to an existing customer payment.
operationId: deleteARefund
parameters:
- name: customer_payment_id
in: path
required: true
description: Unique identifier of the customer payment.
schema:
type: string
example: '9030000079467'
- name: refund_id
in: path
required: true
description: Unique identifier of the refund.
schema:
type: string
example: '3000000003017'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Customer Payments
summary: Details of a refund
description: Obtain details of a particular refund of a customer payment.
operationId: detailsOfARefund
parameters:
- name: customer_payment_id
in: path
required: true
description: Unique identifier of the customer payment.
schema:
type: string
example: '9030000079467'
- name: refund_id
in: path
required: true
description: Unique identifier of the refund.
schema:
type: string
example: '3000000003017'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Customer Payments
summary: Update a refund
description: Update the refunded transaction.
operationId: updateARefund
parameters:
- name: customer_payment_id
in: path
required: true
description: Unique identifier of the customer payment.
schema:
type: string
example: '9030000079467'
- name: refund_id
in: path
required: true
description: Unique identifier of the refund.
schema:
type: string
example: '3000000003017'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
date:
type: string
refund_mode:
type: string
reference_number:
type: string
amount:
type: integer
exchange_rate:
type: integer
payment_form:
type: string
description:
type: string
from_account_id:
type: string
example:
date: '2016-06-05'
refund_mode: cash
reference_number: INV-384
amount: 450
exchange_rate: 1
payment_form: cash
description: Payment has been added to INV-384
from_account_id: ' '
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates:
post:
tags:
- Estimates
summary: Create an Estimate
description: Create an estimate for your customer.
operationId: createAnEstimate
parameters:
- name: send
in: query
description: 'Send the estimate to the contact person(s) associated with the estimate.Allowed Values: `true` and `false`'
schema:
type: string
- name: ignore_auto_number_generation
in: query
description: Ignore auto estimate number generation for this estimate. This mandates the estimate number.
schema:
type: string
example: 'False'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: integer
currency_id:
type: integer
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
template_id:
type: integer
place_of_supply:
type: string
gst_treatment:
type: string
gst_no:
type: string
estimate_number:
type: string
reference_number:
type: string
date:
type: string
expiry_date:
type: string
exchange_rate:
type: integer
discount:
type: integer
is_discount_before_tax:
type: boolean
discount_type:
type: string
is_inclusive_tax:
type: boolean
custom_body:
type: string
custom_subject:
type: string
salesperson_name:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
line_items:
type: array
items:
type: object
properties:
item_id:
type: string
line_item_id:
type: integer
name:
type: string
description:
type: string
product_type:
type: string
hsn_or_sac:
type: integer
sat_item_key_code:
type: integer
unitkey_code:
type: string
item_order:
type: integer
bcy_rate:
type: integer
rate:
type: integer
quantity:
type: integer
unit:
type: string
discount_amount:
type: integer
discount:
type: integer
tax_id:
type: integer
tds_tax_id:
type: string
tax_name:
type: string
tax_type:
type: string
tax_percentage:
type: number
tax_treatment_code:
type: string
item_total:
type: integer
location_id:
type: string
tags:
type: array
items:
type: object
properties: {}
location_id:
type: string
notes:
type: string
terms:
type: string
shipping_charge:
type: integer
adjustment:
type: integer
adjustment_description:
type: string
tax_id:
type: integer
tax_exemption_id:
type: integer
tax_authority_id:
type: integer
avatax_use_code:
type: string
avatax_exempt_no:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
item_id:
type: string
line_item_id:
type: integer
name:
type: string
description:
type: string
rate:
type: integer
unit:
type: string
quantity:
type: integer
project_id:
type: integer
accept_retainer:
type: boolean
retainer_percentage:
type: integer
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
customer_id: 982000000567001
currency_id: 982000000000190
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
template_id: 982000000000143
place_of_supply: TN
gst_treatment: business_gst
gst_no: 22AAAAA0000A1Z5
estimate_number: EST-00002
reference_number: QRT-12346
date: '2013-11-18'
expiry_date: '2013-11-30'
exchange_rate: 1
discount: 0
is_discount_before_tax: true
discount_type: item_level
is_inclusive_tax: false
custom_body: ' '
custom_subject: ' '
salesperson_name: Will smith
custom_fields:
- index: 1
value: 15 Dec 2013
line_items:
- item_id: ' '
line_item_id: 982000000567021
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
product_type: goods
hsn_or_sac: 80540
sat_item_key_code: 71121206
unitkey_code: E48
item_order: 1
bcy_rate: 120
rate: 120
quantity: 1
unit: ' '
discount_amount: 0
discount: 0
tax_id: 982000000557028
tds_tax_id: '982000000557012'
tax_name: VAT
tax_type: tax
tax_percentage: 12.5
tax_treatment_code: uae_others
item_total: 120
location_id: '460000000038080'
tags:
- {}
location_id: '460000000038080'
notes: Looking forward for your business.
terms: Terms & Conditions apply
shipping_charge: 0
adjustment: 0
adjustment_description: ' '
tax_id: 982000000557028
tax_exemption_id: 11149000000061054
tax_authority_id: 11149000000061052
avatax_use_code: ''
avatax_exempt_no: ''
vat_treatment: ''
tax_treatment: vat_registered
is_reverse_charge_applied: true
item_id: ' '
line_item_id: 982000000567021
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
rate: 120
unit: ' '
quantity: 1
project_id: 90300000087378
accept_retainer: true
retainer_percentage: 10
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Estimates
summary: List estimates
description: List all estimates with pagination.
operationId: listEstimates
parameters:
- name: estimate_number
in: query
description: Filter or search estimates by their unique estimate number. Supports variants such as `estimate_number_startswith`
and `estimate_number_contains` for partial matches. Useful for quickly locating a specific estimate or a group of
estimates with similar numbering.
schema:
type: string
example: EST-00002
- name: reference_number
in: query
description: Filter or search estimates by their reference number. Supports variants such as `reference_number_startswith`
and `reference_number_contains` for partial matches. Useful for linking estimates to external systems, customer
requests, or internal workflows.
schema:
type: string
example: QRT-12346
- name: customer_name
in: query
description: Filter or search estimates by the customer's name. Supports variants such as `customer_name_startswith`
and `customer_name_contains` for partial matches. Useful for quickly locating all estimates associated with a specific
customer or group of customers with similar names.
schema:
type: string
example: Bowman & Co
- name: total
in: query
description: Filter or search estimates by the total amount of the estimate. Supports variants such as `total_less_than`,
`total_less_equals`, `total_greater_than`, and `total_greater_equals` for range-based queries. Useful for finding
estimates within a specific budget or identifying high-value quotes.
schema:
type: string
example: '40.6'
- name: customer_id
in: query
description: Filter or search estimates by the unique customer ID. Use the `customer_id` returned by the Contacts
API for the same organization. This helps you retrieve all estimates linked to a specific customer.
schema:
type: string
example: '982000000567001'
- name: item_id
in: query
description: Filter or search estimates by the unique item ID. Use the `item_id` returned by the Items API for the
same organization. This allows you to find all estimates that include a specific product or service.
schema:
type: string
- name: item_name
in: query
description: Search estimates by item name.Variants `item_name_startswith` and `item_name_contains`
schema:
type: string
- name: item_description
in: query
description: Search estimates by item description.Variants`item_description_startswith` and `item_description_contains`
schema:
type: string
- name: custom_field
in: query
description: Search estimates by custom field.Variants`custom_field_startswith` and `custom_field_contains`
schema:
type: string
- name: expiry_date
in: query
description: The date of expiration of the estimates
schema:
type: string
example: '2013-11-30'
- name: date
in: query
description: Search estimates by estimate date.Variants `date_start`, `date_end`, `date_before` and `date_after`
schema:
type: string
example: '2013-11-18'
- name: status
in: query
description: Search estimates by status.Allowed Values`draft`, `sent`,` invoiced `, `accepted`, `declined` and `expired`
schema:
type: string
example: draft
- name: filter_by
in: query
description: Filter estimates by status.Allowed Values `Status.All`, `Status.Sent`, `Status.Draft`, `Status.Invoiced`,
`Status.Accepted`, `Status.Declined` and `Status.Expired`
schema:
type: string
- name: search_text
in: query
description: Perform a keyword search across estimate number, reference number, or customer name. Use this parameter
to quickly find estimates that match any of these fields, making it easier to locate relevant records with minimal
input.
schema:
type: string
- name: sort_column
in: query
description: Sort estimates. Allowed Values `customer_name`, `estimate_number`, `date`, `total` and `created_time`
schema:
type: string
example: created_time
- name: zcrm_potential_id
in: query
description: Potential ID of a Deal in CRM.
schema:
type: string
example: '460000000026049'
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Estimates
summary: update an Estimate using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update an estimate by providing its API name in the X-Unique-Identifier-Key header
and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding estimate will be retrieved
and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the custom field's
unique value is not found in any of the existing estimates, a new estimate will be created if the necessary payload
details are available
operationId: updateAnEstimateUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: integer
currency_id:
type: integer
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
template_id:
type: integer
place_of_supply:
type: string
gst_treatment:
type: string
gst_no:
type: string
estimate_number:
type: string
reference_number:
type: string
date:
type: string
expiry_date:
type: string
exchange_rate:
type: integer
discount:
type: integer
is_discount_before_tax:
type: boolean
discount_type:
type: string
is_inclusive_tax:
type: boolean
custom_body:
type: string
custom_subject:
type: string
salesperson_name:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
line_items:
type: array
items:
type: object
properties:
item_id:
type: string
line_item_id:
type: integer
name:
type: string
description:
type: string
product_type:
type: string
hsn_or_sac:
type: integer
sat_item_key_code:
type: integer
unitkey_code:
type: string
item_order:
type: integer
bcy_rate:
type: integer
rate:
type: integer
quantity:
type: integer
unit:
type: string
discount_amount:
type: integer
discount:
type: integer
tax_id:
type: integer
tds_tax_id:
type: string
tax_name:
type: string
tax_type:
type: string
tax_percentage:
type: number
tax_treatment_code:
type: string
item_total:
type: integer
location_id:
type: string
tags:
type: array
items:
type: object
properties: {}
location_id:
type: string
notes:
type: string
terms:
type: string
shipping_charge:
type: integer
adjustment:
type: integer
adjustment_description:
type: string
tax_id:
type: integer
tax_exemption_id:
type: integer
tax_authority_id:
type: integer
avatax_use_code:
type: string
avatax_exempt_no:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
item_id:
type: string
line_item_id:
type: integer
name:
type: string
description:
type: string
rate:
type: integer
unit:
type: string
quantity:
type: integer
project_id:
type: integer
accept_retainer:
type: boolean
retainer_percentage:
type: integer
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
customer_id: 982000000567001
currency_id: 982000000000190
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
template_id: 982000000000143
place_of_supply: TN
gst_treatment: business_gst
gst_no: 22AAAAA0000A1Z5
estimate_number: EST-00002
reference_number: QRT-12346
date: '2013-11-18'
expiry_date: '2013-11-30'
exchange_rate: 1
discount: 0
is_discount_before_tax: true
discount_type: item_level
is_inclusive_tax: false
custom_body: ' '
custom_subject: ' '
salesperson_name: Will smith
custom_fields:
- index: 1
value: 15 Dec 2013
line_items:
- item_id: ' '
line_item_id: 982000000567021
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
product_type: goods
hsn_or_sac: 80540
sat_item_key_code: 71121206
unitkey_code: E48
item_order: 1
bcy_rate: 120
rate: 120
quantity: 1
unit: ' '
discount_amount: 0
discount: 0
tax_id: 982000000557028
tds_tax_id: '982000000557012'
tax_name: VAT
tax_type: tax
tax_percentage: 12.5
tax_treatment_code: uae_others
item_total: 120
location_id: '460000000038080'
tags:
- {}
location_id: '460000000038080'
notes: Looking forward for your business.
terms: Terms & Conditions apply
shipping_charge: 0
adjustment: 0
adjustment_description: ' '
tax_id: 982000000557028
tax_exemption_id: 11149000000061054
tax_authority_id: 11149000000061052
avatax_use_code: ''
avatax_exempt_no: ''
vat_treatment: ''
tax_treatment: vat_registered
is_reverse_charge_applied: true
item_id: ' '
line_item_id: 982000000567021
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
rate: 120
unit: ' '
quantity: 1
project_id: 90300000087378
accept_retainer: true
retainer_percentage: 10
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}:
delete:
tags:
- Estimates
summary: Delete an Estimate
description: Delete an existing estimate.
operationId: deleteAnEstimate
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Estimates
summary: Get an estimate
description: Get the details of an estimate.
operationId: getAnEstimate
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
- name: print
in: query
description: Print the exported pdf.
schema:
type: string
example: ' '
- name: accept
in: query
description: 'Get the details of a particular estimate in formats such as json/ pdf/ html. Default format is json.Allowed
Values: `json`, `pdf` and `html`'
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Estimates
summary: Update an Estimate
description: Update an existing estimate. To delete a line item just remove it from the line_items list.
operationId: updateAnEstimate
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
- name: ignore_auto_number_generation
in: query
description: Ignore auto estimate number generation for this estimate. This mandates the estimate number.
schema:
type: string
example: 'False'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: integer
currency_id:
type: integer
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
template_id:
type: integer
place_of_supply:
type: string
gst_treatment:
type: string
gst_no:
type: string
estimate_number:
type: string
reference_number:
type: string
date:
type: string
expiry_date:
type: string
exchange_rate:
type: integer
discount:
type: integer
is_discount_before_tax:
type: boolean
discount_type:
type: string
is_inclusive_tax:
type: boolean
custom_body:
type: string
custom_subject:
type: string
salesperson_name:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
line_items:
type: array
items:
type: object
properties:
item_id:
type: string
line_item_id:
type: integer
name:
type: string
description:
type: string
product_type:
type: string
hsn_or_sac:
type: integer
sat_item_key_code:
type: integer
unitkey_code:
type: string
item_order:
type: integer
bcy_rate:
type: integer
rate:
type: integer
quantity:
type: integer
unit:
type: string
discount_amount:
type: integer
discount:
type: integer
tax_id:
type: integer
tds_tax_id:
type: string
tax_name:
type: string
tax_type:
type: string
tax_percentage:
type: number
tax_treatment_code:
type: string
item_total:
type: integer
location_id:
type: string
tags:
type: array
items:
type: object
properties: {}
location_id:
type: string
notes:
type: string
terms:
type: string
shipping_charge:
type: integer
adjustment:
type: integer
adjustment_description:
type: string
tax_id:
type: integer
tax_exemption_id:
type: integer
tax_authority_id:
type: integer
avatax_use_code:
type: string
avatax_exempt_no:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
item_id:
type: string
line_item_id:
type: integer
name:
type: string
description:
type: string
rate:
type: integer
unit:
type: string
quantity:
type: integer
project_id:
type: integer
accept_retainer:
type: boolean
retainer_percentage:
type: integer
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
customer_id: 982000000567001
currency_id: 982000000000190
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
template_id: 982000000000143
place_of_supply: TN
gst_treatment: business_gst
gst_no: 22AAAAA0000A1Z5
estimate_number: EST-00002
reference_number: QRT-12346
date: '2013-11-18'
expiry_date: '2013-11-30'
exchange_rate: 1
discount: 0
is_discount_before_tax: true
discount_type: item_level
is_inclusive_tax: false
custom_body: ' '
custom_subject: ' '
salesperson_name: Will smith
custom_fields:
- index: 1
value: 15 Dec 2013
line_items:
- item_id: ' '
line_item_id: 982000000567021
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
product_type: goods
hsn_or_sac: 80540
sat_item_key_code: 71121206
unitkey_code: E48
item_order: 1
bcy_rate: 120
rate: 120
quantity: 1
unit: ' '
discount_amount: 0
discount: 0
tax_id: 982000000557028
tds_tax_id: '982000000557012'
tax_name: VAT
tax_type: tax
tax_percentage: 12.5
tax_treatment_code: uae_others
item_total: 120
location_id: '460000000038080'
tags:
- {}
location_id: '460000000038080'
notes: Looking forward for your business.
terms: Terms & Conditions apply
shipping_charge: 0
adjustment: 0
adjustment_description: ' '
tax_id: 982000000557028
tax_exemption_id: 11149000000061054
tax_authority_id: 11149000000061052
avatax_use_code: ''
avatax_exempt_no: ''
vat_treatment: ''
tax_treatment: vat_registered
is_reverse_charge_applied: true
item_id: ' '
line_item_id: 982000000567021
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
rate: 120
unit: ' '
quantity: 1
project_id: 90300000087378
accept_retainer: true
retainer_percentage: 10
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimate/{estimate_id}/customfields:
put:
tags:
- Estimates
summary: Update custom field in existing estimates
description: Update the value of the custom field in existing estimates.
operationId: updateCustomFieldInExistingEstimates
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
type: object
properties:
customfield_id:
type: string
value:
type: string
example:
- customfield_id: '46000000012845'
value: 15 Dec 2013
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}/status/sent:
post:
tags:
- Estimates
summary: Mark an estimate as sent
description: Mark a draft estimate as sent.
operationId: markAnEstimateAsSent
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}/status/accepted:
post:
tags:
- Estimates
summary: Mark an estimate as accepted
description: Mark a sent estimate as accepted if the customer has accepted it.
operationId: markAnEstimateAsAccepted
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}/status/declined:
post:
tags:
- Estimates
summary: Mark an estimate as declined
description: Mark a sent estimate as declined if the customer has rejected it.
operationId: markAnEstimateAsDeclined
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}/submit:
post:
tags:
- Estimates
summary: Submit an estimate for approval
description: Submit an estimate for approval.
operationId: submitAnEstimateForApproval
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}/approve:
post:
tags:
- Estimates
summary: Approve an estimate.
description: Approve an estimate.
operationId: approveAnEstimate
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}/email:
post:
tags:
- Estimates
summary: Email an estimate
description: Email an estimate to the customer. Input json string is not mandatory. If input json string is empty, mail
will be send with default mail content.
operationId: emailAnEstimate
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
- name: attachments
in: query
description: Files to be attached to the email
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
send_from_org_email_id:
type: boolean
to_mail_ids:
type: array
items:
type: string
cc_mail_ids:
type: array
items:
type: string
subject:
type: string
body:
type: string
mail_documents:
type: array
items:
type: string
example:
send_from_org_email_id: false
to_mail_ids:
- willsmith@bowmanfurniture.com
cc_mail_ids:
- peterparker@bowmanfurniture.com
subject: Statement of transactions with Zillium Inc
body: 'Dear Customer, Thanks for your business enquiry. The estimate EST-000002 is attached with this
email. We can get started if you send us your consent. For any assistance you can reach us via email
or phone. Looking forward to hearing back from you. Here''s an overview of the estimate for your reference. Estimate
Overview: Estimate : EST-000002 Date : 03 Oct 2013 Amount : $36.47 Regards<br>\nZillium
Inc<br>\n""'
mail_documents:
- '982000000000121'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Estimates
summary: Get estimate email content
description: Get the email content of an estimate.
operationId: getEstimateEmailContent
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
- 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: true
schema:
type: string
example: '982000000000079'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/email:
post:
tags:
- Estimates
summary: Email multiple estimates
description: Send estimates to your customers by email. Maximum of 10 estimates can be sent at once.
operationId: emailMultipleEstimates
parameters:
- name: estimate_ids
in: query
description: Comma separated estimate ids which are to be emailed.
required: true
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/pdf:
get:
tags:
- Estimates
summary: Bulk export estimates
description: Maximum of 25 estimates can be exported in a single pdf.
operationId: bulkExportEstimates
parameters:
- name: estimate_ids
in: query
description: Comma separated estimate ids which are to be emailed.
required: true
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/print:
get:
tags:
- Estimates
summary: Bulk print estimates
description: Export estimates as pdf and print them. Maximum of 25 estimates can be printed.
operationId: bulkPrintEstimates
parameters:
- name: estimate_ids
in: query
description: Comma separated estimate ids which are to be emailed.
required: true
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}/address/billing:
put:
tags:
- Estimates
summary: Update billing address
description: Updates the billing address for this estimate alone.
operationId: updateBillingAddress3
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
example:
address: "B-1104, 11F, \nHorizon International Tower, \nNo. 6, ZhiChun Road, HaiDian District,"
city: Beijing
state: Beijing
zip: 1000881
country: China
fax: +86-10-82637827
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}/address/shipping:
put:
tags:
- Estimates
summary: Update shipping address
description: Updates the shipping address for an existing estimate alone.
operationId: updateShippingAddress2
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
example:
address: 4900 Hopyard Rd, Suite 310
city: Pleasanton
state: CA
zip: 94588
country: U.S.A
fax: +1-925-924-9600
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/templates:
get:
tags:
- Estimates
summary: List estimate template
description: Get all estimate pdf templates.
operationId: listEstimateTemplate
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}/templates/{template_id}:
put:
tags:
- Estimates
summary: Update estimate template
description: Update the pdf template associated with the estimate.
operationId: updateEstimateTemplate
parameters:
- name: template_id
in: path
required: true
description: Unique identifier of the estimate template.
schema:
type: string
example: '982000000000143'
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}/comments:
post:
tags:
- Estimates
summary: Add Comments
description: Add a comment for an estimate.
operationId: addComments
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
show_comment_to_clients:
type: boolean
example:
description: Estimate marked as sent
show_comment_to_clients: true
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Estimates
summary: List estimate comments & history
description: Get the complete history and comments of an estimate.
operationId: listEstimateCommentsHistory
parameters:
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/estimates/{estimate_id}/comments/{comment_id}:
delete:
tags:
- Estimates
summary: Delete a comment
description: Delete an estimate comment.
operationId: deleteAComment3
parameters:
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '982000000567019'
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Estimates
summary: Update comment
description: Update an existing comment of an estimate.
operationId: updateComment
parameters:
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '982000000567019'
- name: estimate_id
in: path
required: true
description: Unique identifier of the estimate.
schema:
type: string
example: '982000000567011'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
show_comment_to_clients:
type: string
example:
description: Estimate created
show_comment_to_clients: ' '
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/expenses:
post:
tags:
- Expenses
summary: Create an Expense
description: Create billable or non-billable expense.
operationId: createAnExpense
parameters:
- name: receipt
in: query
description: 'Expense receipt file to attach. Allowed Extensions: `gif`, `png`, `jpeg`, `jpg`, `bmp`, `pdf`, `xls`,
`xlsx`, `doc` and `docx`.'
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
date:
type: string
amount:
type: number
tax_id:
type: integer
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
hsn_or_sac:
type: integer
gst_no:
type: string
reverse_charge_tax_id:
type: integer
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: object
properties: {}
account_id:
type: object
properties: {}
description:
type: object
properties: {}
amount:
type: object
properties: {}
tax_id:
type: object
properties: {}
item_order:
type: object
properties: {}
product_type:
type: object
properties: {}
acquisition_vat_id:
type: object
properties: {}
reverse_charge_vat_id:
type: object
properties: {}
reverse_charge_tax_id:
type: object
properties: {}
tax_exemption_code:
type: object
properties: {}
tax_exemption_id:
type: object
properties: {}
location_id:
type: object
properties: {}
tags:
type: object
properties: {}
taxes:
type: array
items:
type: object
properties:
tax_id:
type: object
properties: {}
tax_amount:
type: object
properties: {}
is_inclusive_tax:
type: boolean
is_billable:
type: boolean
reference_number:
type: string
nullable: true
description:
type: string
customer_id:
type: integer
currency_id:
type: integer
exchange_rate:
type: integer
project_id:
type: integer
mileage_type:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
start_reading:
type: string
end_reading:
type: string
distance:
type: string
mileage_unit:
type: string
mileage_rate:
type: string
employee_id:
type: string
vehicle_type:
type: string
can_reclaim_vat_on_mileage:
type: string
fuel_type:
type: string
engine_capacity_range:
type: string
paid_through_account_id:
type: integer
vendor_id:
type: string
custom_fields:
type: array
items:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
account_id: 982000000561057
date: '2013-11-18'
amount: 112.5
tax_id: 982000000566007
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
hsn_or_sac: 80540
gst_no: 22AAAAA0000A1Z5
reverse_charge_tax_id: 982000000561063
location_id: '460000000038080'
line_items:
- line_item_id: {}
account_id: {}
description: {}
amount: {}
tax_id: {}
item_order: {}
product_type: {}
acquisition_vat_id: {}
reverse_charge_vat_id: {}
reverse_charge_tax_id: {}
tax_exemption_code: {}
tax_exemption_id: {}
location_id: {}
tags: {}
taxes:
- tax_id: {}
tax_amount: {}
is_inclusive_tax: false
is_billable: true
reference_number: null
description: Marketing
customer_id: 982000000567001
currency_id: 982000000567001
exchange_rate: 1
project_id: 982000000567226
mileage_type: non_mileage
vat_treatment: eu_vat_not_registered
tax_treatment: vat_registered
product_type: goods
acquisition_vat_id: ' '
reverse_charge_vat_id: ' '
start_reading: ' '
end_reading: ' '
distance: ' '
mileage_unit: ' '
mileage_rate: ' '
employee_id: '982000000030040'
vehicle_type: ' '
can_reclaim_vat_on_mileage: ' '
fuel_type: ' '
engine_capacity_range: ' '
paid_through_account_id: 982000000567250
vendor_id: ' '
custom_fields: []
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Expenses
summary: List Expenses
description: List all the Expenses with pagination.
operationId: listExpenses
parameters:
- name: description
in: query
description: Search expenses by description.Variants `description_startswith` and `description_contains`. Max-length
[100]
schema:
type: string
example: Marketing
- name: reference_number
in: query
description: Search expenses by reference number. Variants `reference_number_startswith` and `reference_number_contains`.
Max-length [100]
schema:
type: string
- name: date
in: query
description: Search expenses by expense date. Variants `date_start`, `date_end`, `date_before` and `date_after`. Format
[yyyy-mm-dd]
schema:
type: string
example: '2013-11-18T00:00:00+00:00'
- name: status
in: query
description: Search expenses by expense status. Allowed Values `unbilled`, `invoiced`, `reimbursed`, `non-billable`
and `billable`
schema:
type: string
example: unbilled
- name: amount
in: query
description: 'Search expenses by amount. Variants: `amount_less_than`, `amount_less_equals`, `amount_greater_than`
and `amount_greater_than`'
schema:
type: string
example: '112.5'
- name: account_name
in: query
description: Search expenses by expense account name. Variants `account_name_startswith` and `account_name_contains`.
Max-length [100]
schema:
type: string
example: Rent
- name: customer_name
in: query
description: 'Search expenses by customer name. Variants: `customer_name_startswith` and `customer_name_contains`.
Max-length [100]'
schema:
type: string
example: Bowman & Co
- name: vendor_name
in: query
description: 'Search expenses by vendor name. Variants: `vendor_name_startswith` and `vendor_name_contains`.'
schema:
type: string
- name: customer_id
in: query
description: ID of the expense account.
schema:
type: string
example: '982000000567001'
- name: vendor_id
in: query
description: ID of the vendor the expense is made.
schema:
type: string
- name: recurring_expense_id
in: query
description: Search expenses by recurring expense id.
schema:
type: string
example: '982000000000190'
- name: paid_through_account_id
in: query
description: Search expenses by paid through account id.
schema:
type: string
example: '982000000567250'
- name: search_text
in: query
description: Search expenses by account name or description or `customer name` or `vendor name`. Max-length [100]
schema:
type: string
example: Rent
- name: sort_column
in: query
description: Sort expenses.Allowed Values `date`, `account_name`, `total`, `bcy_total`, `reference_number`, `customer_name`
and `created_time`
schema:
type: string
example: total
- name: filter_by
in: query
description: Filter expenses by expense status. Allowed Values `Status.All`, `Status.Billable`, `Status.Nonbillable`,
`Status.Reimbursed`, `Status.Invoiced`and `Status.Unbilled`
schema:
type: string
example: Status.Billable
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Expenses
summary: Update an expense using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update a expense by providing its API name in the X-Unique-Identifier-Key header
and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding bill expense be retrieved
and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the custom field's
unique value is not found in any of the existing expenses, a new expense will be created if the necessary payload
details are available
operationId: updateAnExpenseUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
date:
type: string
amount:
type: number
tax_id:
type: integer
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
hsn_or_sac:
type: integer
gst_no:
type: string
reverse_charge_tax_id:
type: integer
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: object
properties: {}
account_id:
type: object
properties: {}
description:
type: object
properties: {}
amount:
type: object
properties: {}
tax_id:
type: object
properties: {}
item_order:
type: object
properties: {}
product_type:
type: object
properties: {}
acquisition_vat_id:
type: object
properties: {}
reverse_charge_vat_id:
type: object
properties: {}
reverse_charge_tax_id:
type: object
properties: {}
tax_exemption_code:
type: object
properties: {}
tax_exemption_id:
type: object
properties: {}
location_id:
type: object
properties: {}
tags:
type: object
properties: {}
location_id:
type: string
taxes:
type: array
items:
type: object
properties:
tax_id:
type: object
properties: {}
tax_amount:
type: object
properties: {}
is_inclusive_tax:
type: boolean
is_billable:
type: boolean
reference_number:
type: string
nullable: true
description:
type: string
customer_id:
type: integer
currency_id:
type: integer
exchange_rate:
type: integer
project_id:
type: integer
mileage_type:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
start_reading:
type: string
end_reading:
type: string
distance:
type: string
mileage_unit:
type: string
mileage_rate:
type: string
employee_id:
type: string
vehicle_type:
type: string
can_reclaim_vat_on_mileage:
type: string
fuel_type:
type: string
engine_capacity_range:
type: string
paid_through_account_id:
type: integer
vendor_id:
type: string
custom_fields:
type: array
items:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
account_id: 982000000561057
date: '2013-11-18'
amount: 120.5
tax_id: 982000000566007
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
hsn_or_sac: 80540
gst_no: 22AAAAA0000A1Z5
reverse_charge_tax_id: 982000000561063
line_items:
- line_item_id: {}
account_id: {}
description: {}
amount: {}
tax_id: {}
item_order: {}
product_type: {}
acquisition_vat_id: {}
reverse_charge_vat_id: {}
reverse_charge_tax_id: {}
tax_exemption_code: {}
tax_exemption_id: {}
location_id: {}
tags: {}
location_id: '460000000038080'
taxes:
- tax_id: {}
tax_amount: {}
is_inclusive_tax: false
is_billable: true
reference_number: null
description: Marketing
customer_id: 982000000567001
currency_id: 982000000567001
exchange_rate: 1
project_id: 982000000567226
mileage_type: non_mileage
vat_treatment: eu_vat_not_registered
tax_treatment: vat_registered
product_type: goods
acquisition_vat_id: ' '
reverse_charge_vat_id: ' '
start_reading: ' '
end_reading: ' '
distance: ' '
mileage_unit: ' '
mileage_rate: ' '
employee_id: '982000000030040'
vehicle_type: ' '
can_reclaim_vat_on_mileage: ' '
fuel_type: ' '
engine_capacity_range: ' '
paid_through_account_id: 982000000567250
vendor_id: ' '
custom_fields: []
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/expenses/{expense_id}:
delete:
tags:
- Expenses
summary: Delete an Expense
description: Delete an existing expense.
operationId: deleteAnExpense
parameters:
- name: expense_id
in: path
required: true
description: Unique identifier of the expense.
schema:
type: string
example: '982000000030049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Expenses
summary: Get an Expense
description: Get the details of the Expense.
operationId: getAnExpense
parameters:
- name: expense_id
in: path
required: true
description: Unique identifier of the expense.
schema:
type: string
example: '982000000030049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Expenses
summary: Update an Expense
description: Update an existing Expense.
operationId: updateAnExpense
parameters:
- name: expense_id
in: path
required: true
description: Unique identifier of the expense.
schema:
type: string
example: '982000000030049'
- name: receipt
in: query
description: 'Expense receipt file to attach. Allowed Extensions: `gif`, `png`, `jpeg`, `jpg`, `bmp`, `pdf`, `xls`,
`xlsx`, `doc` and `docx`.'
schema:
type: string
- name: delete_receipt
in: query
schema:
type: string
example: 'False'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
date:
type: string
amount:
type: number
tax_id:
type: integer
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
hsn_or_sac:
type: integer
gst_no:
type: string
reverse_charge_tax_id:
type: integer
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: object
properties: {}
account_id:
type: object
properties: {}
description:
type: object
properties: {}
amount:
type: object
properties: {}
tax_id:
type: object
properties: {}
item_order:
type: object
properties: {}
product_type:
type: object
properties: {}
acquisition_vat_id:
type: object
properties: {}
reverse_charge_vat_id:
type: object
properties: {}
reverse_charge_tax_id:
type: object
properties: {}
tax_exemption_code:
type: object
properties: {}
tax_exemption_id:
type: object
properties: {}
location_id:
type: object
properties: {}
tags:
type: object
properties: {}
location_id:
type: string
taxes:
type: array
items:
type: object
properties:
tax_id:
type: object
properties: {}
tax_amount:
type: object
properties: {}
is_inclusive_tax:
type: boolean
is_billable:
type: boolean
reference_number:
type: string
nullable: true
description:
type: string
customer_id:
type: integer
currency_id:
type: integer
exchange_rate:
type: integer
project_id:
type: integer
mileage_type:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
start_reading:
type: string
end_reading:
type: string
distance:
type: string
mileage_unit:
type: string
mileage_rate:
type: string
employee_id:
type: string
vehicle_type:
type: string
can_reclaim_vat_on_mileage:
type: string
fuel_type:
type: string
engine_capacity_range:
type: string
paid_through_account_id:
type: integer
vendor_id:
type: string
custom_fields:
type: array
items:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
account_id: 982000000561057
date: '2013-11-18'
amount: 120.5
tax_id: 982000000566007
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
hsn_or_sac: 80540
gst_no: 22AAAAA0000A1Z5
reverse_charge_tax_id: 982000000561063
line_items:
- line_item_id: {}
account_id: {}
description: {}
amount: {}
tax_id: {}
item_order: {}
product_type: {}
acquisition_vat_id: {}
reverse_charge_vat_id: {}
reverse_charge_tax_id: {}
tax_exemption_code: {}
tax_exemption_id: {}
location_id: {}
tags: {}
location_id: '460000000038080'
taxes:
- tax_id: {}
tax_amount: {}
is_inclusive_tax: false
is_billable: true
reference_number: null
description: Marketing
customer_id: 982000000567001
currency_id: 982000000567001
exchange_rate: 1
project_id: 982000000567226
mileage_type: non_mileage
vat_treatment: eu_vat_not_registered
tax_treatment: vat_registered
product_type: goods
acquisition_vat_id: ' '
reverse_charge_vat_id: ' '
start_reading: ' '
end_reading: ' '
distance: ' '
mileage_unit: ' '
mileage_rate: ' '
employee_id: '982000000030040'
vehicle_type: ' '
can_reclaim_vat_on_mileage: ' '
fuel_type: ' '
engine_capacity_range: ' '
paid_through_account_id: 982000000567250
vendor_id: ' '
custom_fields: []
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/expenses/{expense_id}/comments:
get:
tags:
- Expenses
summary: List expense History & Comments
description: Get history and comments of expense.
operationId: listExpenseHistoryComments
parameters:
- name: expense_id
in: path
required: true
description: Unique identifier of the expense.
schema:
type: string
example: '982000000030049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/employees:
post:
tags:
- Expenses
summary: Create an employee
description: Create an employee for an expense.
operationId: createAnEmployee
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
email:
type: string
example:
name: John David
email: johnsmith@zilliuminc.com
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Expenses
summary: List employees
description: List employees with pagination.
operationId: listEmployees
parameters:
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/employees/{employee_id}:
get:
tags:
- Expenses
summary: Get an employee
description: Get the details of the employee.
operationId: getAnEmployee
parameters:
- name: employee_id
in: path
required: true
description: Unique identifier of the expense.
schema:
type: string
example: '982000000030040'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/employee/{employee_id}:
delete:
tags:
- Expenses
summary: Delete an employee
description: Delete an existing employee.
operationId: deleteAnEmployee
parameters:
- name: employee_id
in: path
required: true
description: Unique identifier of the expense.
schema:
type: string
example: '982000000030040'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/expenses/{expense_id}/receipt:
post:
tags:
- Expenses
summary: Add receipt to an expense.
description: Attach a receipt to an expense.
operationId: addReceiptToAnExpense
parameters:
- name: expense_id
in: path
required: true
description: Unique identifier of the expense.
schema:
type: string
example: '982000000030049'
- name: receipt
in: query
description: 'Expense receipt file to attach. Allowed Extensions: `gif`, `png`, `jpeg`, `jpg`, `bmp`, `pdf`, `xls`,
`xlsx`, `doc` and `docx`.'
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
delete:
tags:
- Expenses
summary: Delete a receipt
description: Delete the receipt attached to the expense.
operationId: deleteAReceipt
parameters:
- name: expense_id
in: path
required: true
description: Unique identifier of the expense.
schema:
type: string
example: '982000000030049'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Expenses
summary: Get an expense receipt
description: Returns the receipt attached to the expense.
operationId: getAnExpenseReceipt
parameters:
- name: expense_id
in: path
required: true
description: Unique identifier of the expense.
schema:
type: string
example: '982000000030049'
- name: preview
in: query
description: Get the thumbnail of the receipt.
schema:
type: string
example: 'False'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/expenses/{expense_id}/attachment:
post:
tags:
- Expenses
summary: Add attachment to an expense
description: Attach one or multiple files to an expense. This endpoint allows you to attach various types of documents
to support your expense records. Returns document details for the uploaded attachments.
operationId: addAttachmentToAnExpense
parameters:
- name: expense_id
in: path
required: true
schema:
type: string
example: '982000000030049'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
attachment:
type: string
format: binary
description: 'Expense attachment file to attach. Allowed Extensions: `gif`, `png`, `jpeg`, `jpg`, `bmp`,
`pdf`, `xls`, `xlsx`, `doc`, `docx`, `txt` and `csv`'
totalFiles:
type: string
description: Total number of files being uploaded.
document_ids:
type: string
description: Array of document IDs for batch processing.
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassets:
post:
tags:
- Fixed Assets
summary: Create a fixed asset
description: Create a fixed asset.
operationId: createAFixedAsset
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
asset_name:
type: string
fixed_asset_type_id:
type: string
asset_account_id:
type: string
expense_account_id:
type: string
depreciation_account_id:
type: string
depreciation_method:
type: string
depreciation_frequency:
type: string
depreciation_percentage:
type: integer
total_life:
type: integer
salvage_value:
type: integer
depreciation_start_date:
type: string
description:
type: string
asset_cost:
type: integer
computation_type:
type: string
warranty_expiry_date:
type: string
asset_purchase_date:
type: string
serial_no:
type: string
dep_start_value:
type: integer
notes:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
example:
asset_name: Laptop
fixed_asset_type_id: '3640355000000319008'
asset_account_id: '3640355000000000367'
expense_account_id: '3640355000000000421'
depreciation_account_id: '3640355000000000367'
depreciation_method: declining_method
depreciation_frequency: yearly
depreciation_percentage: 12
total_life: 60
salvage_value: 100
depreciation_start_date: '2024-12-17'
description: ''
asset_cost: 1000
computation_type: prorata_basis
warranty_expiry_date: '2027-12-17'
asset_purchase_date: '2024-12-17'
serial_no: SN-0001
dep_start_value: 1000
notes: This is a laptop Model 2024
tags:
- tag_id: {}
tag_option_id: {}
custom_fields:
- customfield_id: {}
value: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Fixed Assets
summary: Get fixed asset list
description: fixed asset list.
operationId: getFixedAssetList
parameters:
- name: filter_by
in: query
description: 'Filter fixed asset by fixed asset status. Allowed Values: `Status.All`, `Status.Active`, `Status.Cancel`,
`Status.FullyDepreciated`, `Status.WriteOff`, `Status.Sold` and `Status.Draft`'
schema:
type: string
- name: sort_column
in: query
description: 'Sort fixed asset list. Allowed Values: `asset_name`, `asset_number`, `asset_cost`, `created_time` and
`current_asset_value`'
schema:
type: string
example: asset_number
- name: sort_order
in: query
description: 'Sort fixed asset list in ascendeing or descending order. Allowed Values: `A` and `D`'
schema:
type: string
example: A
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassets/{fixed_asset_id}:
delete:
tags:
- Fixed Assets
summary: Delete a fixed asset
description: Deletes the given fixed asset.
operationId: deleteAFixedAsset
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Fixed Assets
summary: Get fixed asset
description: Get the details of the fixed asset.
operationId: getFixedAsset
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Fixed Assets
summary: Update a fixed asset
description: Updates the fixed asset with given information.
operationId: updateAFixedAsset
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
asset_name:
type: string
fixed_asset_type_id:
type: string
asset_account_id:
type: string
expense_account_id:
type: string
depreciation_account_id:
type: string
depreciation_method:
type: string
depreciation_frequency:
type: string
depreciation_percentage:
type: integer
total_life:
type: integer
salvage_value:
type: integer
depreciation_start_date:
type: string
description:
type: string
asset_cost:
type: integer
computation_type:
type: string
warranty_expiry_date:
type: string
asset_purchase_date:
type: string
serial_no:
type: string
dep_start_value:
type: integer
notes:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
example:
asset_name: Laptop
fixed_asset_type_id: '3640355000000319008'
asset_account_id: '3640355000000000367'
expense_account_id: '3640355000000000421'
depreciation_account_id: '3640355000000000367'
depreciation_method: declining_method
depreciation_frequency: yearly
depreciation_percentage: 12
total_life: 60
salvage_value: 100
depreciation_start_date: '2024-12-17'
description: ''
asset_cost: 1000
computation_type: prorata_basis
warranty_expiry_date: '2027-12-17'
asset_purchase_date: '2024-12-17'
serial_no: SN-0001
dep_start_value: 1000
notes: This is a laptop Model 2024
tags:
- tag_id: {}
tag_option_id: {}
custom_fields:
- customfield_id: {}
value: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassets/{fixed_asset_id}/history:
get:
tags:
- Fixed Assets
summary: Get fixed asset history
description: It displays a detailed summary of the asset from acquisition till write off.
operationId: getFixedAssetHistory
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassets/{fixed_asset_id}/forecast:
get:
tags:
- Fixed Assets
summary: Get fixed asset's forecast depreciation
description: It displays a detailed summary of the asset's future depreciation rates.
operationId: getFixedAssetsForecastDepreciation
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassets/{fixed_asset_id}/status/active:
post:
tags:
- Fixed Assets
summary: Mark fixed asset as active
description: Mark the fixed asset as active to start calculating depreciation for the asset.
operationId: markFixedAssetAsActive
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassets/{fixed_asset_id}/status/cancel:
post:
tags:
- Fixed Assets
summary: Cancel fixed asset
description: Cancel the fixed asset.
operationId: cancelFixedAsset
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassets/{fixed_asset_id}/status/draft:
post:
tags:
- Fixed Assets
summary: Mark fixed asset as draft
description: Mark the fixed asset as draft.
operationId: markFixedAssetAsDraft
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassets/{fixed_asset_id}/writeoff:
post:
tags:
- Fixed Assets
summary: Write off fixed asset
description: Write off the fixed asset.
operationId: writeOffFixedAsset
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
date:
type: string
expense_account_id:
type: string
reason:
type: string
example:
date: '2024-12-17'
expense_account_id: '3640355000000000421'
reason: Asset is damaged
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassets/{fixed_asset_id}/sell:
post:
tags:
- Fixed Assets
summary: Sell fixed asset
description: Sell the fixed asset.
operationId: sellFixedAsset
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
expense_account_id:
type: string
invoice_id:
type: string
line_item_id:
type: string
reason:
type: string
example:
expense_account_id: '3640355000000000421'
invoice_id: '3640355000000319008'
line_item_id: '3640355000000319008'
reason: Asset is no longer required
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassets/{fixed_asset_id}/comments:
post:
tags:
- Fixed Assets
summary: Add a comment
description: Add a comment to the fixed asset.
operationId: addAComment2
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
example:
description: Fixed asset is in good condition
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassets/{fixed_asset_id}/comments/{comment_id}:
delete:
tags:
- Fixed Assets
summary: Delete a comment
description: Delete the comment of the fixed asset.
operationId: deleteAComment4
parameters:
- name: fixed_asset_id
in: path
required: true
description: Unique identifier of the fixed asset.
schema:
type: string
example: '3640355000000319008'
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '3640355000000319013'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassettypes:
post:
tags:
- Fixed Assets
summary: Create a fixed asset type
description: Create a fixed asset type.
operationId: createAFixedAssetType
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
fixed_asset_type_name:
type: string
expense_account_id:
type: string
depreciation_account_id:
type: string
depreciation_method:
type: string
depreciation_frequency:
type: string
depreciation_percentage:
type: integer
total_life:
type: integer
salvage_value:
type: integer
computation_type:
type: string
example:
fixed_asset_type_name: Machines
expense_account_id: '3640355000000000421'
depreciation_account_id: '3640355000000000367'
depreciation_method: declining_method
depreciation_frequency: yearly
depreciation_percentage: 12
total_life: 60
salvage_value: 100
computation_type: prorata_basis
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Fixed Assets
summary: Get fixed asset type list
description: fixed asset type list.
operationId: getFixedAssetTypeList
parameters:
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/fixedassettypes/{fixed_asset_type_id}:
delete:
tags:
- Fixed Assets
summary: Delete a fixed asset type
description: Deletes the given fixed asset type.
operationId: deleteAFixedAssetType
parameters:
- name: fixed_asset_type_id
in: path
required: true
description: Unique identifier of the fixed asset type.
schema:
type: string
example: '3640355000000319008'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Fixed Assets
summary: Update a fixed asset type
description: Updates the fixed asset type with given information.
operationId: updateAFixedAssetType
parameters:
- name: fixed_asset_type_id
in: path
required: true
description: Unique identifier of the fixed asset type.
schema:
type: string
example: '3640355000000319008'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
fixed_asset_type_name:
type: string
expense_account_id:
type: string
depreciation_account_id:
type: string
depreciation_method:
type: string
depreciation_frequency:
type: string
depreciation_percentage:
type: integer
total_life:
type: integer
salvage_value:
type: integer
computation_type:
type: string
example:
fixed_asset_type_name: Machines
expense_account_id: '3640355000000000421'
depreciation_account_id: '3640355000000000367'
depreciation_method: declining_method
depreciation_frequency: yearly
depreciation_percentage: 12
total_life: 60
salvage_value: 100
computation_type: prorata_basis
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/crm/account/{crm_account_id}/import:
post:
tags:
- ZOHO CRM Integration
summary: Import a customer using the CRM account ID
description: "Zoho Books must be integrated with Zoho CRM using Accounts and Contacts sync or using Accounts only sync\
\ to import a customer from CRM with its CRM account ID. \n Note: You can get a contact by CRM account ID by using\
\ this API Endpoint"
operationId: importACustomerUsingTheCrmAccountId
parameters:
- name: crm_account_id
in: path
required: true
description: Unique identifier of the zoho crm account.
schema:
type: string
example: '460000000026041'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/crm/contact/{crm_contact_id}/import:
post:
tags:
- ZOHO CRM Integration
summary: Import a customer using CRM contact ID
description: "Zoho Books must be integrated with Zoho CRM using `Contacts only sync` or `Accounts & their Contacts and\
\ Include contacts that are not associated to any accounts ` sync type contacts that are not associated to any accounts\
\ in Zoho CRM to import a customer from CRM with its CRM contact ID. \n Note: You can get a contact by CRM contact\
\ ID by using this API Endpoint"
operationId: importACustomerUsingCrmContactId
parameters:
- name: crm_contact_id
in: path
required: true
description: Unique identifier of the zoho crm contact.
schema:
type: string
example: '460000000026042'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/crm/vendor/{crm_vendor_id}/import:
post:
tags:
- ZOHO CRM Integration
summary: Import a vendor using the CRM vendor ID
description: Zoho Books must be integrated with Zoho CRM using Vendor only sync to import a vendor from CRM with its
CRM vendor ID.
operationId: importAVendorUsingTheCrmVendorId
parameters:
- name: crm_vendor_id
in: path
required: true
description: Unique identifier of the zoho crm vendor.
schema:
type: string
example: '460000000026043'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/crm/item/{crm_product_id}/import:
post:
tags:
- ZOHO CRM Integration
summary: Import an item using the CRM product ID
description: Zoho Books must be integrated with Zoho CRM using Products only sync to import an item from CRM with its
CRM product ID.
operationId: importAnItemUsingTheCrmProductId
parameters:
- name: crm_product_id
in: path
required: true
description: Unique identifier of the zoho crm product.
schema:
type: string
example: '460000000026055'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices#createAnInvoice:
post:
tags:
- Invoices
summary: Create an invoice
description: Create an invoice for your customer.
operationId: createAnInvoice
parameters:
- name: send
in: query
description: Send the invoice to the contact person(s) associated with the invoice. Allowed values `true` and `false`.
schema:
type: string
- name: ignore_auto_number_generation
in: query
description: Ignore auto invoice number generation for this invoice. This mandates the invoice number. Allowed values
`true` and `false`
schema:
type: string
- name: is_quick_create
in: query
description: Enable quick create mode for simplified invoice creation. When true, the invoice creation process is
streamlined with minimal required fields. Allowed values `true` and `false`
schema:
type: string
- name: batch_payments
in: query
description: "Enable batch payment processing for the invoice. When true, the invoice can be included in batch payment\
\ operations. Allowed values `true` and `false` \n Note : `is_quick_create` needs to be true for batch payments\
\ to be processed and batch_payments vales need to pass in request body"
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: integer
currency_id:
type: integer
contact_persons:
type: array
items:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
invoice_number:
type: string
place_of_supply:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
gst_treatment:
type: string
gst_no:
type: string
cfdi_usage:
type: string
reference_number:
type: string
template_id:
type: integer
date:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
due_date:
type: string
discount:
type: integer
is_discount_before_tax:
type: boolean
discount_type:
type: string
is_inclusive_tax:
type: boolean
exchange_rate:
type: integer
location_id:
type: string
recurring_invoice_id:
type: string
invoiced_estimate_id:
type: string
salesperson_name:
type: string
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
send:
type: boolean
line_items:
type: array
items:
type: object
properties:
item_id:
type: integer
project_id:
type: integer
time_entry_ids:
type: array
items:
type: string
product_type:
type: string
hsn_or_sac:
type: integer
sat_item_key_code:
type: integer
unitkey_code:
type: string
location_id:
type: string
expense_id:
type: string
bill_id:
type: string
bill_item_id:
type: string
expense_receipt_name:
type: string
name:
type: string
description:
type: string
item_order:
type: integer
bcy_rate:
type: integer
rate:
type: integer
quantity:
type: integer
unit:
type: string
discount_amount:
type: integer
discount:
type: integer
tags:
type: array
items:
type: object
properties: {}
tax_id:
type: integer
tds_tax_id:
type: string
tax_name:
type: string
tax_type:
type: string
tax_percentage:
type: number
tax_treatment_code:
type: string
header_name:
type: string
salesorder_item_id:
type: string
payment_options:
type: object
properties:
payment_gateways:
type: array
items:
type: object
properties: {}
allow_partial_payments:
type: boolean
custom_body:
type: string
custom_subject:
type: string
notes:
type: string
terms:
type: string
shipping_charge:
type: integer
adjustment:
type: integer
adjustment_description:
type: string
reason:
type: string
tax_authority_id:
type: integer
tax_exemption_id:
type: integer
billing_address_id:
type: string
shipping_address_id:
type: string
avatax_use_code:
type: string
avatax_exempt_no:
type: string
tax_id:
type: integer
expense_id:
type: string
salesorder_item_id:
type: string
avatax_tax_code:
type: string
time_entry_ids:
type: array
items:
type: string
batch_payments:
type: array
items:
type: object
properties:
payment_mode:
type: string
amount:
type: string
account_id:
type: string
example:
customer_id: 982000000567001
currency_id: 982000000000190
contact_persons:
- '982000000870911'
- '982000000870915'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
invoice_number: INV-00003
place_of_supply: TN
vat_treatment: ''
tax_treatment: vat_registered
is_reverse_charge_applied: true
gst_treatment: business_gst
gst_no: 22AAAAA0000A1Z5
cfdi_usage: acquisition_of_merchandise
reference_number: ' '
template_id: 982000000000143
date: '2013-11-17'
payment_terms: 15
payment_terms_label: Net 15
due_date: '2013-12-03'
discount: 0
is_discount_before_tax: true
discount_type: item_level
is_inclusive_tax: false
exchange_rate: 1
location_id: '460000000038080'
recurring_invoice_id: ' '
invoiced_estimate_id: ' '
salesperson_name: ' '
custom_fields:
- customfield_id: {}
value: {}
tags:
- tag_id: {}
tag_option_id: {}
send: false
line_items:
- item_id: 982000000030049
project_id: 90300000087378
time_entry_ids: []
product_type: goods
hsn_or_sac: 80540
sat_item_key_code: 71121206
unitkey_code: E48
location_id: '460000000038080'
expense_id: '460000000028080'
bill_id: ' '
bill_item_id: ' '
expense_receipt_name: ''
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
item_order: 1
bcy_rate: 120
rate: 120
quantity: 1
unit: ' '
discount_amount: 0
discount: 0
tags:
- {}
tax_id: 982000000557028
tds_tax_id: '982000000557012'
tax_name: VAT
tax_type: tax
tax_percentage: 12.5
tax_treatment_code: uae_others
header_name: Electronic devices
salesorder_item_id: ' '
payment_options:
payment_gateways:
- {}
allow_partial_payments: true
custom_body: ' '
custom_subject: ' '
notes: Looking forward for your business.
terms: Terms & Conditions apply
shipping_charge: 0
adjustment: 0
adjustment_description: ' '
reason: ' '
tax_authority_id: 11149000000061052
tax_exemption_id: 11149000000061054
billing_address_id: '218500000000142012'
shipping_address_id: '218500000000142014'
avatax_use_code: ''
avatax_exempt_no: ''
tax_id: 982000000557028
expense_id: '460000000028080'
salesorder_item_id: ' '
avatax_tax_code: ''
time_entry_ids: []
batch_payments:
- payment_mode: Cash
amount: '100.00'
account_id: '1000000095342'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices#listInvoices:
get:
tags:
- Invoices
summary: List invoices
description: Get a list of invoices with helpful pagination, filtering, search, and sorting features. Perfect for viewing
your invoice data in organized ways, whether you need to find specific invoices or browse through your records.
operationId: listInvoices
parameters:
- name: invoice_number
in: query
description: Search invoices by invoice number. Filters invoices based on their unique identifier. Supports `invoice_number_startswith`
and `invoice_number_contains` variants. Maximum length is 100 characters. Useful for finding specific invoices or
invoices with similar numbering patterns.
schema:
type: string
example: INV-00003
- name: item_name
in: query
description: Search invoices by item name. Filters invoices based on product or service names in invoice line items.
Supports `item_name_startswith` and `item_name_contains` variants. Maximum length is 100 characters. Useful for
finding invoices with specific products or services.
schema:
type: string
example: Desktop Units
- name: item_id
in: query
description: Search invoices by item ID. Filters invoices based on the unique identifier of specific products or services
in line items. Use the GET `/items` API to find available item IDs. Useful for finding all invoices containing a
specific product or service.
schema:
type: string
example: '982000000030049'
- name: item_description
in: query
description: Search invoices by item description. Filters invoices based on detailed descriptions of products or services
in line items. Supports `item_description_startswith` and `item_description_contains` variants. Maximum length is
100 characters. Useful for finding invoices with specific item descriptions or technical specifications.
schema:
type: string
- name: reference_number
in: query
description: Search invoices by reference number. Filters invoices based on external reference identifiers like purchase
order numbers, contract numbers, or project codes. Useful for finding invoices associated with specific projects
or business transactions.
schema:
type: string
- name: customer_name
in: query
description: Search invoices by customer name. Filters invoices based on the business or individual name associated
with the invoice. Maximum length is 100 characters. Useful for finding all invoices for a specific customer or generating
customer reports.
schema:
type: string
example: Bowman & Co
- name: recurring_invoice_id
in: query
description: ID of the recurring invoice from which the invoice is created.
schema:
type: string
- name: email
in: query
description: Search invoices by customer email address. Filters invoices based on the email address of the customer
or contact person. Maximum length is 100 characters. Useful for finding invoices for specific customers or generating
customer segment reports.
schema:
type: string
- name: total
in: query
description: Search invoices by total amount. Filters invoices based on the final invoice amount including taxes,
discounts, and adjustments. Useful for finding invoices within specific price ranges or identifying high-value transactions.
schema:
type: string
example: '40.6'
- name: balance
in: query
description: Search invoices by outstanding balance. Filters invoices based on the remaining unpaid amount owed by
the customer. Useful for finding overdue invoices, tracking receivables, or generating aging reports.
schema:
type: string
example: '40.6'
- name: custom_field
in: query
description: 'Search invoices by custom fields.Variants: `custom_field_startswith` and `custom_field_contains`'
schema:
type: string
- name: date
in: query
description: 'Search invoices by invoice date. Filters invoices based on the date they were created. Use yyyy-mm-dd
format. Supports variants: `date_start`, `date_end`, `date_before` and `date_after`. Useful for finding invoices
within date ranges or specific time periods.'
schema:
type: string
example: '2013-11-17'
- name: due_date
in: query
description: 'Search invoices by due date. Filters invoices based on the payment due date. Use yyyy-mm-dd format.
Supports variants: `due_date_start`, `due_date_end`, `due_date_before` and `due_date_after`. Useful for finding
overdue invoices or invoices due within specific periods.'
schema:
type: string
example: '2013-12-03'
- name: created_date
in: query
description: 'Search invoices by creation date. Filters invoices based on the date they were created. Use yyyy-mm-dd
format. Supports variants: `created_date_start`, `created_date_end`, `created_date_before` and `created_date_after`.
Useful for finding invoices created within specific time periods or date ranges.'
schema:
type: string
example: '2013-11-17'
- name: last_modified_time
in: query
description: 'Search invoices modified after a specific time. Filters invoices based on their last modification timestamp.
Use YYYY-MM-DDTHH:MM:SS-UTC format. Useful for finding recently updated invoices or syncing data changes. Example
: 2023-11-18T02:02:51-0800, 2025-19-19T02:02:51%2B0800'
schema:
type: string
example: 2013-11-18T02:02:51-0800
- name: status
in: query
description: 'Search invoices by status. Filters invoices based on their current state in the billing workflow. Allowed
values: `sent`, `draft`, `overdue`, `paid`, `void`, `unpaid`, `partially_paid` and `viewed`. Useful for finding
invoices in specific stages of the billing process.'
schema:
type: string
example: draft
- name: customer_id
in: query
description: Search invoices by customer ID. Filters invoices based on the unique identifier of the customer for whom
the invoice was created. Use the customer ID returned by the Contacts API to find all invoices for a specific customer.
schema:
type: string
example: '982000000567001'
- name: filter_by
in: query
description: Filter invoices by status or payment expected date. Use `Status.*` for status-based filtering (e.g.,
Status.Sent, Status.Paid) or `Date.PaymentExpectedDate` for date-based filtering. Provides advanced filtering options
beyond basic search parameters.
schema:
type: string
- name: search_text
in: query
description: Search invoices by invoice number, purchase order, or customer name. This parameter performs a general
search across multiple invoice fields. Maximum length is 100 characters. Useful for quick searches when you know
part of the invoice information but are unsure which specific field to search.
schema:
type: string
- name: sort_column
in: query
description: 'Sort invoices by specific column. Allowed values: `customer_name`, `invoice_number`, `date`, `due_date`,
`total`, `balance` and `created_time`. Use this parameter to organize invoice results in a specific order for better
data analysis and reporting.'
schema:
type: string
example: created_time
- name: zcrm_potential_id
in: query
description: Search invoices by CRM potential ID. This parameter allows you to find invoices associated with a specific
deal or opportunity in your Zoho CRM system. Use the potential ID from your CRM to link invoices to sales opportunities
and track revenue from specific deals.
schema:
type: string
example: '460000000026049'
- name: response_option
in: query
description: 'To get desired response format. There are 5 formats of responses: 0 (Includes all invoices), 1 (Includes
all invoices, the number of invoices, and the sum of their total and balance amounts), 2 (Includes only the number
of invoices), 3 (Includes the number of invoices and the sum of their total and balance amounts), and 4 (Includes
all invoices and the sum of their total and balance amounts).'
schema:
type: string
example: '2'
- name: page
in: query
description: Page number to be fetched from the paginated results. Default value is 1. Use this parameter along with
per_page to navigate through large sets of invoice data. Useful for implementing pagination in your application.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200. Use this parameter to control the size
of each page of results. Maximum value is 200. Useful for optimizing data transfer and improving application performance.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}:
delete:
tags:
- Invoices
summary: Delete an invoice
description: Delete an existing invoice. Invoices which have payment or credits note applied cannot be deleted.
operationId: deleteAnInvoice
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Invoices
summary: Get an invoice
description: Get the details of an invoice.
operationId: getAnInvoice
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
- name: print
in: query
description: Print the exported pdf.
schema:
type: string
- 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 `json` `pdf` and `html`
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Invoices
summary: Update an invoice
description: Update an existing invoice. To delete a line item just remove it from the line_items list.
operationId: updateAnInvoice
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
- name: ignore_auto_number_generation
in: query
description: Ignore auto invoice number generation for this invoice. This mandates the invoice number. Allowed values
`true` and `false`
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: integer
currency_id:
type: integer
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
invoice_number:
type: string
place_of_supply:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
gst_treatment:
type: string
cfdi_usage:
type: string
cfdi_reference_type:
type: string
reference_invoice_id:
type: string
gst_no:
type: string
reference_number:
type: string
template_id:
type: integer
date:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
due_date:
type: string
discount:
type: integer
is_discount_before_tax:
type: boolean
discount_type:
type: string
is_inclusive_tax:
type: boolean
exchange_rate:
type: integer
recurring_invoice_id:
type: string
invoiced_estimate_id:
type: string
salesperson_name:
type: string
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
item_id:
type: integer
project_id:
type: integer
time_entry_ids:
type: array
items:
type: string
product_type:
type: string
hsn_or_sac:
type: integer
sat_item_key_code:
type: integer
unitkey_code:
type: string
location_id:
type: string
expense_id:
type: string
expense_receipt_name:
type: string
name:
type: string
description:
type: string
item_order:
type: integer
bcy_rate:
type: integer
rate:
type: integer
quantity:
type: integer
unit:
type: string
discount_amount:
type: integer
tags:
type: array
items:
type: object
properties: {}
discount:
type: integer
tax_id:
type: integer
tds_tax_id:
type: string
tax_name:
type: string
tax_type:
type: string
tax_percentage:
type: number
tax_treatment_code:
type: string
header_name:
type: string
header_id:
type: integer
payment_options:
type: object
properties:
payment_gateways:
type: array
items:
type: object
properties: {}
allow_partial_payments:
type: boolean
custom_body:
type: string
custom_subject:
type: string
notes:
type: string
terms:
type: string
shipping_charge:
type: integer
adjustment:
type: integer
adjustment_description:
type: string
reason:
type: string
tax_authority_id:
type: integer
tax_exemption_id:
type: integer
avatax_use_code:
type: string
avatax_exempt_no:
type: string
tax_id:
type: integer
expense_id:
type: string
salesorder_item_id:
type: string
avatax_tax_code:
type: string
line_item_id:
type: integer
example:
customer_id: 982000000567001
currency_id: 982000000000190
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
invoice_number: INV-00003
place_of_supply: TN
vat_treatment: ''
tax_treatment: vat_registered
is_reverse_charge_applied: true
gst_treatment: business_gst
cfdi_usage: acquisition_of_merchandise
cfdi_reference_type: return_of_merchandise
reference_invoice_id: '132738000000126013'
gst_no: 22AAAAA0000A1Z5
reference_number: ' '
template_id: 982000000000143
date: '2013-11-17'
payment_terms: 15
payment_terms_label: Net 15
due_date: '2013-12-03'
discount: 0
is_discount_before_tax: true
discount_type: item_level
is_inclusive_tax: false
exchange_rate: 1
recurring_invoice_id: ' '
invoiced_estimate_id: ' '
salesperson_name: ' '
custom_fields:
- customfield_id: {}
value: {}
tags:
- tag_id: {}
tag_option_id: {}
location_id: '460000000038080'
line_items:
- item_id: 982000000030049
project_id: 90300000087378
time_entry_ids: []
product_type: goods
hsn_or_sac: 80540
sat_item_key_code: 71121206
unitkey_code: E48
location_id: '460000000038080'
expense_id: '460000000028080'
expense_receipt_name: ''
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
item_order: 1
bcy_rate: 120
rate: 120
quantity: 1
unit: ' '
discount_amount: 0
tags:
- {}
discount: 0
tax_id: 982000000557028
tds_tax_id: '982000000557012'
tax_name: VAT
tax_type: tax
tax_percentage: 12.5
tax_treatment_code: uae_others
header_name: Electronic devices
header_id: 982000000000670
payment_options:
payment_gateways:
- {}
allow_partial_payments: true
custom_body: ' '
custom_subject: ' '
notes: Looking forward for your business.
terms: Terms & Conditions apply
shipping_charge: 0
adjustment: 0
adjustment_description: ' '
reason: ' '
tax_authority_id: 11149000000061052
tax_exemption_id: 11149000000061054
avatax_use_code: ''
avatax_exempt_no: ''
tax_id: 982000000557028
expense_id: '460000000028080'
salesorder_item_id: ' '
avatax_tax_code: ''
line_item_id: 982000000567021
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/status/sent:
post:
tags:
- Invoices
summary: Mark an invoice as sent
description: Mark a draft invoice as sent.
operationId: markAnInvoiceAsSent
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/status/void:
post:
tags:
- Invoices
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.
operationId: voidAnInvoice
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/status/draft:
post:
tags:
- Invoices
summary: Mark as draft
description: Mark a voided invoice as draft.
operationId: markAsDraft
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/email:
post:
tags:
- Invoices
summary: Email multiple invoices
description: Send invoices to your customers by email. Maximum of 10 invoices can be sent at once.
operationId: emailMultipleInvoices
parameters:
- name: invoice_ids
in: query
description: Comma separated invoice ids which are to be emailed.
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
contacts:
type: array
items:
type: object
properties:
contact_id:
type: integer
email:
type: boolean
snail_mail:
type: boolean
example:
contacts:
- contact_id: 460000000026049
email: true
snail_mail: false
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/fromsalesorder:
post:
tags:
- Invoices
summary: Create an instant invoice
description: Create an instant invoice for all the confirmed sales orders you have selected.
operationId: createAnInstantInvoice
parameters:
- name: salesorder_id
in: query
required: true
schema:
type: string
example: '2000000014088'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/mapwithorder:
post:
tags:
- Invoices
summary: Associate invoices with sales order
description: Associate one or more existing invoices with a sales orders.
operationId: associateInvoicesWithSalesOrder
parameters:
- name: invoice_ids
in: query
description: Array of invoice IDs to be associated with a sales order.
required: true
schema:
type: string
example: 982000000567114,982000000567115,982000000567116
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/submit:
post:
tags:
- Invoices
summary: Submit an invoice for approval
description: Submit an invoice for approval.
operationId: submitAnInvoiceForApproval
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/approve:
post:
tags:
- Invoices
summary: Approve an invoice.
description: Approve an invoice.
operationId: approveAnInvoice
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/email:
post:
tags:
- Invoices
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.
operationId: emailAnInvoice
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
- name: send_customer_statement
in: query
description: Send customer statement pdf a with email.
schema:
type: string
example: ' '
- name: send_attachment
in: query
description: Send the invoice attachment a with the email.
schema:
type: string
example: ' '
- name: attachments
in: query
description: Files to be attached to the email
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
send_from_org_email_id:
type: boolean
from_address_id:
type: integer
to_mail_ids:
type: array
items:
type: string
cc_mail_ids:
type: array
items:
type: string
subject:
type: string
body:
type: string
example:
send_from_org_email_id: false
from_address_id: 2000000011993
to_mail_ids:
- willsmith@bowmanfurniture.com
cc_mail_ids:
- peterparker@bowmanfurniture.com
subject: 'Invoice from Zillium Inc (Invoice#: INV-00001)'
body: 'Dear Customer, <br><br><br><br>Thanks for your business. <br><br><br><br>The invoice
INV-00001 is attached with this email. You can choose the easy way out and <a href= https://invoice.zoho.com/SecurePayment?CInvoiceID=b9800228e011ae86abe71227bdacb3c68e1af685f647dcaed747812e0b9314635e55ac6223925675b371fcbd2d5ae3dc >pay
online for this invoice.</a> <br><br>Here''s an overview of the invoice for your reference. <br><br><br><br>Invoice
Overview: <br><br>Invoice : INV-00001 <br><br>Date : 05 Aug 2013 <br><br>Amount :
$541.82 <br><br><br><br>It was great working with you. Looking forward to working with you again.<br><br><br>\nRegards<br>\nZillium
Inc<br>\n",'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Invoices
summary: Get invoice email content
description: Get the email content of an invoice.
operationId: getInvoiceEmailContent
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
- 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.
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/paymentreminder:
post:
tags:
- Invoices
summary: Remind Customer
description: Remind your customer about an unpaid invoice by email. Reminder will be sent, only for the invoices which
are in open or overdue status.
operationId: remindCustomer
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
- name: send_customer_statement
in: query
description: Send customer statement pdf a with email.
schema:
type: string
example: ' '
- name: attachments
in: query
description: Files to be attached to the email
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
to_mail_ids:
type: array
items:
type: string
cc_mail_ids:
type: array
items:
type: string
subject:
type: string
body:
type: string
send_from_org_email_id:
type: boolean
example:
to_mail_ids:
- willsmith@bowmanfurniture.com
cc_mail_ids:
- peterparker@bowmanfurniture.com
subject: 'Invoice from Zillium Inc (Invoice#: INV-00001)'
body: '<br>Dear Mr. Sujin,&nbsp;<br><br>You might have missed the payment date and the invoice is now overdue
by&nbsp;1&nbsp;days.<br><br>----------------------------------------------------------------------------------------<br><h2>Invoice#
: INV-000004 </h2>Dated : 23 Dec 2016<br>----------------------------------------------------------------------------------------<br><b>&nbsp;Due
Date &nbsp; &nbsp; &nbsp; &nbsp; : &nbsp;&nbsp;23 Dec 2016</b><br><b>&nbsp;Amount &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; : &nbsp;&nbsp;$139.65</b><br>----------------------------------------------------------------------------------------<br><br><span>Not
to worry at all !&nbsp;</span>View your invoice and take the easy way out by making an&nbsp;<a href="https://books.zoho.com/portal/zilliuminc/index#/invoices/invoice/2000000007037
">online payment</a>.<br><br>If you have already paid, please accept our apologies and kindly ignore this
payment reminder.<br><br><br>Regards,<br><br>David Sujin<br>Zillium Inc<br><br><br>'
send_from_org_email_id: false
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Invoices
summary: Get payment reminder mail content
description: Get the mail content of the payment reminder.
operationId: getPaymentReminderMailContent
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/paymentreminder:
post:
tags:
- Invoices
summary: Bulk invoice reminder
description: Remind your customer about an unpaid invoices by email. Reminder mail will be send, only for the invoices
is in open or overdue status. Maximum 10 invoices can be reminded at once.
operationId: bulkInvoiceReminder
parameters:
- name: invoice_ids
in: query
description: Array of invoice ids for which the reminder has to be sent.
required: true
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/pdf:
get:
tags:
- Invoices
summary: Bulk export Invoices
description: Maximum of 25 invoices can be exported in a single pdf.
operationId: bulkExportInvoices
parameters:
- name: invoice_ids
in: query
description: Comma separated invoice ids which are to be export as pdf.
required: true
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/print:
get:
tags:
- Invoices
summary: Bulk print invoices
description: Export invoices as pdf and print them. Maximum of 25 invoices can be printed.
operationId: bulkPrintInvoices
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
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/paymentreminder/disable:
post:
tags:
- Invoices
summary: Disable payment reminder
description: Disable automated payment reminders for an invoice.
operationId: disablePaymentReminder
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/paymentreminder/enable:
post:
tags:
- Invoices
summary: Enable payment reminder
description: Enable automated payment reminders for an invoice.
operationId: enablePaymentReminder
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/writeoff:
post:
tags:
- Invoices
summary: Write off invoice
description: Write off the invoice balance amount of an invoice.
operationId: writeOffInvoice
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/writeoff/cancel:
post:
tags:
- Invoices
summary: Cancel write off
description: Cancel the write off amount of an invoice.
operationId: cancelWriteOff
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/address/billing:
put:
tags:
- Invoices
summary: Update billing address
description: Updates the billing address for this invoice alone.
operationId: updateBillingAddress4
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
example:
address: "B-1104, 11F, \nHorizon International Tower, \nNo. 6, ZhiChun Road, HaiDian District"
city: Beijing
state: Beijing
zip: 1000881
country: ''
fax: +86-10-82637827
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/address/shipping:
put:
tags:
- Invoices
summary: Update shipping address
description: Updates the shipping address for this invoice alone.
operationId: updateShippingAddress3
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
street2:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
example:
address: 4900 Hopyard Rd, Suit 310
street2: McMillan Avenue
city: Pleasanton
state: CA
zip: 945881
country: USA
fax: +1-925-924-9600
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/templates:
get:
tags:
- Invoices
summary: List invoice templates
description: Get all invoice pdf templates.
operationId: listInvoiceTemplates
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/templates/{template_id}:
put:
tags:
- Invoices
summary: Update invoice template
description: Update the pdf template associated with the invoice.
operationId: updateInvoiceTemplate
parameters:
- name: template_id
in: path
required: true
description: Unique identifier of the invoice template.
schema:
type: string
example: '982000000000143'
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/payments:
get:
tags:
- Invoices
summary: List invoice payments
description: Get the list of payments made for an invoice.
operationId: listInvoicePayments
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/creditsapplied:
get:
tags:
- Invoices
summary: List credits applied
description: Get the list of credits applied for an invoice.
operationId: listCreditsApplied
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/credits:
post:
tags:
- Invoices
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.
operationId: applyCredits2
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
invoice_payments:
type: array
items:
type: object
properties:
payment_id:
type: object
properties: {}
amount_applied:
type: object
properties: {}
apply_creditnotes:
type: array
items:
type: object
properties:
creditnote_id:
type: object
properties: {}
amount_applied:
type: object
properties: {}
example:
invoice_payments:
- payment_id: {}
amount_applied: {}
apply_creditnotes:
- creditnote_id: {}
amount_applied: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/payments/{invoice_payment_id}:
delete:
tags:
- Invoices
summary: Delete a payment
description: Delete a payment made to an invoice.
operationId: deleteAPayment3
parameters:
- name: invoice_payment_id
in: path
required: true
description: Unique identifier of the invoice payment.
schema:
type: string
example: '982000000567192'
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/creditsapplied/{creditnotes_invoice_id}:
delete:
tags:
- Invoices
summary: Delete applied credit
description: Delete a particular credit applied to an invoice.
operationId: deleteAppliedCredit
parameters:
- name: creditnotes_invoice_id
in: path
required: true
description: Unique identifier of the credit note invoice.
schema:
type: string
example: '982000000567172'
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/attachment:
post:
tags:
- Invoices
summary: Add attachment to an invoice
description: Attach a file to an invoice.
operationId: addAttachmentToAnInvoice
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
- name: can_send_in_mail
in: query
description: True to send the attachment with the invoice when emailed.
schema:
type: string
example: 'True'
- name: attachment
in: query
description: 'The file to be attached.Allowed Extensions: `gif`, `png`, `jpeg`, `jpg`, `bmp` and `pdf`'
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
delete:
tags:
- Invoices
summary: Delete last attached attachment
description: Delete the file attached to the invoice.
operationId: deleteLastAttachedAttachment
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Invoices
summary: Get last attached attachment
description: Returns the file attached to the invoice.
operationId: getLastAttachedAttachment
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
- name: preview
in: query
description: Get the thumbnail of the attachment.
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Invoices
summary: Update attachment preference
description: Set whether you want to send the attached file while emailing the invoice.
operationId: updateAttachmentPreference
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
- name: can_send_in_mail
in: query
description: Boolean to send the attachment with the invoice when emailed.
required: true
schema:
type: string
example: 'True'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/documents/{document_id}:
delete:
tags:
- Invoices
summary: Delete Invoice attachment
description: Delete a specific document attached to an invoice. This operation permanently removes the document from
the invoice and cannot be undone. Only documents that are not system-generated can be deleted.
operationId: deleteInvoiceAttachment
parameters:
- name: invoice_id
in: path
required: true
schema:
type: string
example: '982000000567114'
- name: document_id
in: path
required: true
schema:
type: string
example: '982000000567200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Invoices
summary: Retrieve Invoice Document
description: Retrieve a specific document attached to an invoice with advanced retrieval options.
operationId: retrieveInvoiceDocument
parameters:
- name: invoice_id
in: path
required: true
schema:
type: string
- name: document_id
in: path
required: true
schema:
type: string
- name: responseformat
in: query
description: Specify the response format (e.g., json, pdf, html)
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/expenses/{expense_id}/receipt:
delete:
tags:
- Invoices
summary: Delete the expense receipt
description: Delete the expense receipts attached to an invoice which is raised from an expense.
operationId: deleteTheExpenseReceipt
parameters:
- name: expense_id
in: path
required: true
description: Unique identifier of the expense.
schema:
type: string
example: '460000000028080'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoice/{invoice_id}/customfields:
put:
tags:
- Invoices
summary: Update custom field in existing invoices
description: Update the value of the custom field in existing invoices.
operationId: updateCustomFieldInExistingInvoices
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
type: object
properties:
customfield_id:
type: string
value:
type: string
example:
- customfield_id: '46000000012845'
value: Normal
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/comments:
post:
tags:
- Invoices
summary: Add comment
description: Add a comment for an invoice.
operationId: addComment2
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
payment_expected_date:
type: string
show_comment_to_clients:
type: boolean
example:
description: This is a comment.
payment_expected_date: ' '
show_comment_to_clients: true
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Invoices
summary: List invoice comments & history
description: Get the complete history and comments of an invoice.
operationId: listInvoiceCommentsHistory
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/invoices/{invoice_id}/comments/{comment_id}:
delete:
tags:
- Invoices
summary: Delete a comment
description: Delete an invoice comment.
operationId: deleteAComment5
parameters:
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '982000000567019'
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Invoices
summary: Update comment
description: Update an existing comment of an invoice.
operationId: updateComment2
parameters:
- name: invoice_id
in: path
required: true
description: Unique identifier of the invoice.
schema:
type: string
example: '982000000567114'
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '982000000567019'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
show_comment_to_clients:
type: boolean
example:
description: This is a comment.
show_comment_to_clients: true
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/share/paymentlink:
get:
tags:
- Invoices
summary: Generate payment link
description: This API generates a payment link for the invoice with an expiry date.
operationId: generatePaymentLink
parameters:
- name: transaction_id
in: query
description: The ID of the transaction (Invoice ID).
required: true
schema:
type: string
example: '982000000567114'
- name: transaction_type
in: query
description: The type of the transaction (Invoice).
required: true
schema:
type: string
example: invoice
- name: link_type
in: query
description: The type of the link (Private or Public).
required: true
schema:
type: string
example: public
- name: expiry_time
in: query
description: 'The expiry time of the payment link. Supported format : `yyyy-MM-dd`'
required: true
schema:
type: string
example: '2024-06-27'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/items:
post:
tags:
- Items
summary: Create an Item
description: Create a new item.
operationId: createAnItem
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
rate:
type: integer
description:
type: string
tax_id:
type: integer
locations:
type: array
items:
type: object
properties:
location_id:
type: string
initial_stock:
type: string
initial_stock_rate:
type: string
purchase_tax_rule_id:
type: integer
sales_tax_rule_id:
type: integer
tax_percentage:
type: string
sku:
type: string
product_type:
type: string
hsn_or_sac:
type: string
sat_item_key_code:
type: string
unitkey_code:
type: string
is_taxable:
type: boolean
tax_exemption_id:
type: string
purchase_tax_exemption_id:
type: string
account_id:
type: string
avatax_tax_code:
type: integer
avatax_use_code:
type: integer
item_type:
type: string
purchase_description:
type: string
purchase_rate:
type: string
purchase_account_id:
type: string
inventory_account_id:
type: string
vendor_id:
type: string
reorder_level:
type: string
item_tax_preferences:
type: array
items:
type: object
properties:
tax_id:
type: integer
tax_specification:
type: object
properties: {}
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
example:
name: Hard Drive
rate: 120
description: 500GB
tax_id: 982000000037049
locations:
- location_id: '460000000038080'
initial_stock: ' '
initial_stock_rate: ' '
purchase_tax_rule_id: 127919000000106780
sales_tax_rule_id: 127919000000106780
tax_percentage: 70%
sku: s12345
product_type: goods
hsn_or_sac: ''
sat_item_key_code: ''
unitkey_code: ''
is_taxable: false
tax_exemption_id: ''
purchase_tax_exemption_id: ''
account_id: ' '
avatax_tax_code: 982000000037049
avatax_use_code: 982000000037049
item_type: ' '
purchase_description: ' '
purchase_rate: ' '
purchase_account_id: ' '
inventory_account_id: ' '
vendor_id: ' '
reorder_level: ' '
item_tax_preferences:
- tax_id: 982000000037049
tax_specification: {}
custom_fields:
- customfield_id: {}
value: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Items
summary: List items
description: Get the list of all active items with pagination.
operationId: listItems
parameters:
- name: name
in: query
description: 'Search items by name. Max-length [100]. Variants: `name_startswith` and `name_contains`'
schema:
type: string
example: Hard Drive
- name: description
in: query
description: 'Search items by description. Max-length [100]. Variants: `description_startswith` and `description_contains`'
schema:
type: string
example: 500GB
- name: rate
in: query
description: 'Search items by rate. Variants: `rate_less_than`, `rate_less_equals`, `rate_greater_than` and `rate_greater_equals`'
schema:
type: string
example: '120'
- name: tax_id
in: query
description: Search items by tax id.
schema:
type: string
example: '982000000037049'
- name: tax_name
in: query
schema:
type: string
example: Sales Tax
- name: is_taxable
in: query
description: Boolean to track the taxability of the item.
schema:
type: string
- name: tax_exemption_id
in: query
description: ID of the tax exemption. Mandatory, if `is_taxable` is false.
schema:
type: string
- name: account_id
in: query
description: ID of the account to which the item has to be associated with.
schema:
type: string
- name: filter_by
in: query
description: 'Filter items by status. Allowed Values: `Status.All`, `Status.Active` and `Status.Inactive`'
schema:
type: string
- name: search_text
in: query
description: Search items by name or description. Max-length [100]
schema:
type: string
- name: sort_column
in: query
description: 'Sort items. Allowed Values: `name`, `rate` and `tax_name`'
schema:
type: string
- name: sat_item_key_code
in: query
description: SAT Item key code
schema:
type: string
- name: unitkey_code
in: query
description: SAT Unit code
schema:
type: string
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Items
summary: Update an item using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update an item by providing its API name in the X-Unique-Identifier-Key header and
its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding item will be retrieved and
updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the custom field's
unique value is not found in any of the existing items, a new item will be created if the necessary payload details
are available
operationId: updateAnItemUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
rate:
type: integer
description:
type: string
tax_id:
type: integer
purchase_tax_rule_id:
type: integer
sales_tax_rule_id:
type: integer
tax_percentage:
type: string
hsn_or_sac:
type: string
sat_item_key_code:
type: string
unitkey_code:
type: string
sku:
type: string
product_type:
type: string
is_taxable:
type: boolean
tax_exemption_id:
type: string
purchase_tax_exemption_id:
type: string
account_id:
type: string
avatax_tax_code:
type: integer
avatax_use_code:
type: integer
item_type:
type: string
purchase_description:
type: string
purchase_rate:
type: string
purchase_account_id:
type: string
inventory_account_id:
type: string
vendor_id:
type: string
reorder_level:
type: string
locations:
type: array
items:
type: object
properties:
location_id:
type: string
initial_stock:
type: string
initial_stock_rate:
type: string
item_tax_preferences:
type: array
items:
type: object
properties:
tax_id:
type: integer
tax_specification:
type: object
properties: {}
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
example:
name: Hard Drive
rate: 120
description: 500GB
tax_id: 982000000037049
purchase_tax_rule_id: 127919000000106780
sales_tax_rule_id: 127919000000106780
tax_percentage: 70%
hsn_or_sac: ''
sat_item_key_code: ''
unitkey_code: ''
sku: s12345
product_type: goods
is_taxable: false
tax_exemption_id: ''
purchase_tax_exemption_id: ''
account_id: ' '
avatax_tax_code: 982000000037049
avatax_use_code: 982000000037049
item_type: ' '
purchase_description: ' '
purchase_rate: ' '
purchase_account_id: ' '
inventory_account_id: ' '
vendor_id: ' '
reorder_level: ' '
locations:
- location_id: '460000000038080'
initial_stock: ' '
initial_stock_rate: ' '
item_tax_preferences:
- tax_id: 982000000037049
tax_specification: {}
custom_fields:
- customfield_id: {}
value: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/itemdetails:
get:
tags:
- Items
summary: Bulk fetch item details
description: Fetch item details for the mentioned item IDs
operationId: bulkFetchItemDetails
parameters:
- name: item_ids
in: query
description: '`List of item ids separated by comma`'
required: true
schema:
type: string
example: 4815000000044208,4815000000044274,4815000000044340
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/items/{item_id}:
delete:
tags:
- Items
summary: Delete an item
description: Delete the item created.items that are part of transaction cannot be deleted.
operationId: deleteAnItem
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: '45667789900'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Items
summary: Get an item
description: Details of an existing item.
operationId: getAnItem
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: '45667789900'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Items
summary: Update an item
description: Update the details of an item.
operationId: updateAnItem
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: '45667789900'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
rate:
type: integer
description:
type: string
tax_id:
type: integer
purchase_tax_rule_id:
type: integer
sales_tax_rule_id:
type: integer
tax_percentage:
type: string
hsn_or_sac:
type: string
sat_item_key_code:
type: string
unitkey_code:
type: string
sku:
type: string
product_type:
type: string
is_taxable:
type: boolean
tax_exemption_id:
type: string
purchase_tax_exemption_id:
type: string
account_id:
type: string
avatax_tax_code:
type: integer
avatax_use_code:
type: integer
item_type:
type: string
purchase_description:
type: string
purchase_rate:
type: string
purchase_account_id:
type: string
inventory_account_id:
type: string
vendor_id:
type: string
reorder_level:
type: string
locations:
type: array
items:
type: object
properties:
location_id:
type: string
initial_stock:
type: string
initial_stock_rate:
type: string
item_tax_preferences:
type: array
items:
type: object
properties:
tax_id:
type: integer
tax_specification:
type: object
properties: {}
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
example:
name: Hard Drive
rate: 120
description: 500GB
tax_id: 982000000037049
purchase_tax_rule_id: 127919000000106780
sales_tax_rule_id: 127919000000106780
tax_percentage: 70%
hsn_or_sac: ''
sat_item_key_code: ''
unitkey_code: ''
sku: s12345
product_type: goods
is_taxable: false
tax_exemption_id: ''
purchase_tax_exemption_id: ''
account_id: ' '
avatax_tax_code: 982000000037049
avatax_use_code: 982000000037049
item_type: ' '
purchase_description: ' '
purchase_rate: ' '
purchase_account_id: ' '
inventory_account_id: ' '
vendor_id: ' '
reorder_level: ' '
locations:
- location_id: '460000000038080'
initial_stock: ' '
initial_stock_rate: ' '
item_tax_preferences:
- tax_id: 982000000037049
tax_specification: {}
custom_fields:
- customfield_id: {}
value: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/item/{item_id}/customfields:
put:
tags:
- Items
summary: Update custom field in existing items
description: Update the value of the custom field in existing items.
operationId: updateCustomFieldInExistingItems
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: '45667789900'
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
type: object
properties:
customfield_id:
type: string
value:
type: string
example:
- customfield_id: '46000000012845'
value: Normal
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/items/{item_id}/active:
post:
tags:
- Items
summary: Mark as active
description: Mark an inactive item as active.
operationId: markAsActive2
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: '45667789900'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/items/{item_id}/inactive:
post:
tags:
- Items
summary: Mark as inactive
description: Mark an active item as inactive.
operationId: markAsInactive2
parameters:
- name: item_id
in: path
required: true
description: Unique identifier of the item.
schema:
type: string
example: '45667789900'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/journals:
post:
tags:
- Journals
summary: Create a journal
description: Create a journal.
operationId: createAJournal
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
journal_date:
type: string
reference_number:
type: string
notes:
type: string
journal_type:
type: string
vat_treatment:
type: string
include_in_vat_return:
type: boolean
product_type:
type: string
is_bas_adjustment:
type: boolean
currency_id:
type: string
exchange_rate:
type: integer
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
account_id:
type: string
customer_id:
type: string
line_id:
type: string
description:
type: string
tax_exemption_id:
type: string
tax_authority_id:
type: string
tax_exemption_type:
type: string
tax_exemption_code:
type: string
tax_authority_name:
type: string
tax_id:
type: string
amount:
type: integer
debit_or_credit:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
location_id:
type: string
tags:
type: array
items:
type: object
properties: {}
project_id:
type: string
tax_exemption_code:
type: string
tax_exemption_type:
type: string
status:
type: string
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
journal_date: '2013-09-04'
reference_number: '7355'
notes: Loan repayment
journal_type: both
vat_treatment: ''
include_in_vat_return: false
product_type: ''
is_bas_adjustment: false
currency_id: '460000000000097'
exchange_rate: 1
location_id: '460000000038080'
line_items:
- account_id: '460000000000361'
customer_id: ''
line_id: '460000000038005'
description: ''
tax_exemption_id: ''
tax_authority_id: ''
tax_exemption_type: ''
tax_exemption_code: ''
tax_authority_name: ''
tax_id: ''
amount: 5000
debit_or_credit: credit
acquisition_vat_id: ''
reverse_charge_vat_id: ''
location_id: '460000000038080'
tags:
- {}
project_id: '460000000898001'
tax_exemption_code: ''
tax_exemption_type: ''
status: draft
custom_fields:
- customfield_id: {}
value: {}
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Journals
summary: Get journal list
description: Get journal list.
operationId: getJournalList
parameters:
- name: entry_number
in: query
description: 'Search journals by journal entry number. Variants: `entry_number_startswith` and `entry_number_contains`'
schema:
type: string
example: '1'
- name: reference_number
in: query
description: 'Search journals by journal reference number. Variants: `reference_number_startswith` and `reference_number_contains`'
schema:
type: string
example: '7355'
- name: date
in: query
description: 'Search journals by journal date. Variants: `date_start`, `date_end`, `date_before and` `date_after`'
schema:
type: string
- name: notes
in: query
description: 'Search journals by journal notes. Variants: `notes_startswith` and `notes_contains`'
schema:
type: string
example: Loan repayment
- name: last_modified_time
in: query
description: Search the journals using Last Modified Time
schema:
type: string
example: 2013-09-05T17:13:31+0530
- name: total
in: query
description: 'Search journals by journal total. Variants: `total_less_than`, `total_less_equals`, `total_greater_than`
and `total_greater_equals`'
schema:
type: string
example: '5000'
- name: customer_id
in: query
description: Search Journals using Customer ID
schema:
type: string
- name: vendor_id
in: query
description: Search the journals using Vendor ID
schema:
type: string
- name: filter_by
in: query
description: 'Filter journals by journal date. Allowed Values: `JournalDate.All`, `JournalDate.Today`, `JournalDate.ThisWeek`,
`JournalDate.ThisMonth`, `JournalDate.ThisQuarter` and `JournalDate.ThisYear`'
schema:
type: string
- name: sort_column
in: query
description: 'Sort journal list. Allowed Values: `journal_date`, `entry_number`, `reference_number` and `total`'
schema:
type: string
example: journal_date
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/journals/{journal_id}:
delete:
tags:
- Journals
summary: Delete a journal
description: Deletes the given journal.
operationId: deleteAJournal
parameters:
- name: journal_id
in: path
required: true
description: Unique identifier of the journal.
schema:
type: string
example: '460000000038001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Journals
summary: Get journal
description: Get the details of the journal.
operationId: getJournal
parameters:
- name: journal_id
in: path
required: true
description: Unique identifier of the journal.
schema:
type: string
example: '460000000038001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Journals
summary: Update a journal
description: Updates the journal with given information.
operationId: updateAJournal
parameters:
- name: journal_id
in: path
required: true
description: Unique identifier of the journal.
schema:
type: string
example: '460000000038001'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
journal_date:
type: string
reference_number:
type: string
notes:
type: string
journal_type:
type: string
vat_treatment:
type: string
include_in_vat_return:
type: boolean
product_type:
type: string
is_bas_adjustment:
type: boolean
currency_id:
type: string
exchange_rate:
type: integer
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
account_id:
type: string
customer_id:
type: string
line_id:
type: string
description:
type: string
tax_exemption_id:
type: string
tax_authority_id:
type: string
tax_exemption_type:
type: string
tax_exemption_code:
type: string
tax_authority_name:
type: string
tax_id:
type: string
amount:
type: integer
debit_or_credit:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
tags:
type: array
items:
type: object
properties: {}
location_id:
type: string
project_id:
type: string
tax_exemption_code:
type: string
tax_exemption_type:
type: string
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
journal_date: '2013-09-04'
reference_number: '7355'
notes: Loan repayment
journal_type: both
vat_treatment: ''
include_in_vat_return: false
product_type: ''
is_bas_adjustment: false
currency_id: '460000000000097'
exchange_rate: 1
location_id: '460000000038080'
line_items:
- account_id: '460000000000361'
customer_id: ''
line_id: '460000000038005'
description: ''
tax_exemption_id: ''
tax_authority_id: ''
tax_exemption_type: ''
tax_exemption_code: ''
tax_authority_name: ''
tax_id: ''
amount: 5000
debit_or_credit: credit
acquisition_vat_id: ''
reverse_charge_vat_id: ''
tags:
- {}
location_id: '460000000038080'
project_id: '460000000898001'
tax_exemption_code: ''
tax_exemption_type: ''
custom_fields:
- customfield_id: {}
value: {}
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/journals/{journal_id}/status/publish:
post:
tags:
- Journals
summary: Mark a journal as published
description: Mark a draft journal as published.
operationId: markAJournalAsPublished
parameters:
- name: journal_id
in: path
required: true
description: Unique identifier of the journal.
schema:
type: string
example: '460000000038001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/journals/{journal_id}/attachment:
post:
tags:
- Journals
summary: Add attachment to a journal
description: Attach a file to a journal.
operationId: addAttachmentToAJournal
parameters:
- name: journal_id
in: path
required: true
description: Unique identifier of the journal.
schema:
type: string
example: '460000000038001'
- name: attachment
in: query
description: The file that is to be added as an Attachment in the Journal
schema:
type: string
- name: doc
in: query
description: Document that is to be attached
schema:
type: string
- name: totalFiles
in: query
description: Total number of files.
schema:
type: string
example: '0'
- name: document_ids
in: query
description: ID's of the document
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/journals/{journal_id}/comments:
post:
tags:
- Journals
summary: Add comment
description: Add a comment for a journal.
operationId: addComment3
parameters:
- name: journal_id
in: path
required: true
description: Unique identifier of the journal.
schema:
type: string
example: '460000000038001'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
example:
description: Journal Created
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/journals/{journal_id}/comments/{comment_id}:
delete:
tags:
- Journals
summary: Delete a comment
description: Delete a jounral comment.
operationId: deleteAComment6
parameters:
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '460000000048023'
- name: journal_id
in: path
required: true
description: Unique identifier of the journal.
schema:
type: string
example: '460000000038001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/settings/locations/enable:
post:
tags:
- Locations
summary: Enable Locations
description: Enable Locations for an organisation.
operationId: enableLocations
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/locations:
post:
tags:
- Locations
summary: Create a location
description: Create a location.
operationId: createALocation
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
email:
type: string
phone:
type: string
address:
type: object
properties:
city:
type: string
state:
type: string
country:
type: string
attention:
type: string
state_code:
type: string
street_address1:
type: string
street_address2:
type: string
location_name:
type: string
tax_settings_id:
type: string
parent_location_id:
type: string
associated_series_ids:
type: array
items:
type: string
auto_number_generation_id:
type: string
is_all_users_selected:
type: boolean
user_ids:
type: string
example:
type: general / line_item_only
email: willsmith@bowmanfurniture.com
phone: +1-925-921-9201
address:
city: New York City
state: New York
country: U.S.A
attention: ''
state_code: NY
street_address1: No:234,90 Church Street
street_address2: McMillan Avenue
location_name: Head Office
tax_settings_id: '460000000038080'
parent_location_id: '460000000041010'
associated_series_ids:
- '982000000870911'
- '982000000870915'
auto_number_generation_id: '982000000870911'
is_all_users_selected: false
user_ids: 460000000036868,460000000036869
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Locations
summary: List all locations
description: List all the available locations in your zoho inventory.
operationId: listAllLocations
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/locations/{location_id}:
delete:
tags:
- Locations
summary: Delete a location
description: Delete a location.
operationId: deleteALocation
parameters:
- name: location_id
in: path
required: true
description: Unique identifier of the location.
schema:
type: string
example: '130426000000664020'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Locations
summary: Update location
description: Update location
operationId: updateLocation
parameters:
- name: location_id
in: path
required: true
description: Unique identifier of the location.
schema:
type: string
example: '130426000000664020'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
email:
type: string
phone:
type: string
address:
type: object
properties:
city:
type: string
state:
type: string
country:
type: string
attention:
type: string
state_code:
type: string
street_address1:
type: string
street_address2:
type: string
location_name:
type: string
tax_settings_id:
type: string
parent_location_id:
type: string
associated_series_ids:
type: array
items:
type: string
auto_number_generation_id:
type: string
is_all_users_selected:
type: boolean
user_ids:
type: string
example:
type: general / line_item_only
email: willsmith@bowmanfurniture.com
phone: +1-925-921-9201
address:
city: New York City
state: New York
country: U.S.A
attention: ''
state_code: NY
street_address1: No:234,90 Church Street
street_address2: McMillan Avenue
location_name: Head Office
tax_settings_id: '460000000038080'
parent_location_id: '460000000041010'
associated_series_ids:
- '982000000870911'
- '982000000870915'
auto_number_generation_id: '982000000870911'
is_all_users_selected: false
user_ids: 460000000036868,460000000036869
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/locations/{location_id}/active:
post:
tags:
- Locations
summary: Mark as Active
description: Mark location as Active.
operationId: markAsActive3
parameters:
- name: location_id
in: path
required: true
description: Unique identifier of the location.
schema:
type: string
example: '130426000000664020'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/locations/{location_id}/inactive:
post:
tags:
- Locations
summary: Mark as Inactive
description: Mark location as Inactive.
operationId: markAsInactive3
parameters:
- name: location_id
in: path
required: true
description: Unique identifier of the location.
schema:
type: string
example: '130426000000664020'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/locations/{location_id}/markasprimary:
post:
tags:
- Locations
summary: Mark as Primary
description: Mark location as primary.
operationId: markAsPrimary
parameters:
- name: location_id
in: path
required: true
description: Unique identifier of the location.
schema:
type: string
example: '130426000000664020'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/settings/openingbalances:
post:
tags:
- Opening Balance
summary: Create opening balance
description: Creates opening balance with the given information.
operationId: createOpeningBalance
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
date:
type: string
accounts:
type: array
items:
type: object
properties:
account_id:
type: string
debit_or_credit:
type: string
exchange_rate:
type: integer
currency_id:
type: string
amount:
type: integer
location_id:
type: string
example:
date: '2013-10-01'
accounts:
- account_id: '460000000000358'
debit_or_credit: debit
exchange_rate: 1
currency_id: '460000000000097'
amount: 2000
location_id: '460000000038080'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
delete:
tags:
- Opening Balance
summary: Delete opening balance
description: Delete the entered opening balance.
operationId: deleteOpeningBalance
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Opening Balance
summary: Get opening balance
description: Get opening balance.
operationId: getOpeningBalance
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Opening Balance
summary: Update opening balance
description: Updates the existing opening balance information.
operationId: updateOpeningBalance
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
date:
type: string
accounts:
type: array
items:
type: object
properties:
acount_split_id:
type: object
properties: {}
account_id:
type: object
properties: {}
account_name:
type: object
properties: {}
debit_or_credit:
type: object
properties: {}
exchange_rate:
type: object
properties: {}
currency_id:
type: object
properties: {}
currency_code:
type: object
properties: {}
bcy_amount:
type: object
properties: {}
amount:
type: object
properties: {}
location_id:
type: object
properties: {}
location_name:
type: object
properties: {}
opening_balance_id:
type: string
example:
date: '2013-10-01'
accounts:
- acount_split_id: {}
account_id: {}
account_name: {}
debit_or_credit: {}
exchange_rate: {}
currency_id: {}
currency_code: {}
bcy_amount: {}
amount: {}
location_id: {}
location_name: {}
opening_balance_id: '460000000050041'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/organizations:
post:
tags:
- Organizations
summary: Create an organization
description: Create an organization.
operationId: createAnOrganization
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
fiscal_year_start_month:
type: string
currency_code:
type: string
time_zone:
type: string
date_format:
type: string
field_separator:
type: string
language_code:
type: string
industry_type:
type: string
industry_size:
type: string
portal_name:
type: string
org_address:
type: string
remit_to_address:
type: string
address:
type: object
properties:
street_address1:
type: string
street_address2:
type: string
city:
type: string
state:
type: string
country:
type: string
zip:
type: string
example:
name: Zillium Inc
fiscal_year_start_month: january
currency_code: USD
time_zone: PST
date_format: dd MMM yyyy
field_separator: ' '
language_code: en
industry_type: Services
industry_size: ' '
portal_name: zilluminc
org_address: ' '
remit_to_address: ' '
address:
street_address1: ' '
street_address2: ' '
city: ' '
state: ' '
country: U.S.A
zip: U.S.A
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Organizations
summary: List organizations
description: Get the list of organizations.
operationId: listOrganizations
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/organizations/{organization_id}:
get:
tags:
- Organizations
summary: Get an organization
description: Get the details of an organization.
operationId: getAnOrganization
parameters:
- name: organization_id
in: path
required: true
description: Unique identifier of the organization.
schema:
type: string
example: '10229182'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Organizations
summary: Update an organization
description: Update the details of an organization.
operationId: updateAnOrganization
parameters:
- name: organization_id
in: path
required: true
description: Unique identifier of the organization.
schema:
type: string
example: '10229182'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
fiscal_year_start_month:
type: string
is_logo_uploaded:
type: boolean
time_zone:
type: string
date_format:
type: string
field_separator:
type: string
language_code:
type: string
org_address:
type: string
remit_to_address:
type: string
address:
type: object
properties:
street_address1:
type: string
street_address2:
type: string
city:
type: string
state:
type: string
country:
type: string
zip:
type: string
contact_name:
type: string
phone:
type: string
fax:
type: string
website:
type: string
email:
type: string
currency_id:
type: string
companyid_label:
type: string
companyid_value:
type: string
taxid_label:
type: string
taxid_value:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: object
properties: {}
value:
type: object
properties: {}
label:
type: object
properties: {}
example:
name: Zillium Inc
fiscal_year_start_month: january
is_logo_uploaded: true
time_zone: PST
date_format: dd MMM yyyy
field_separator: ' '
language_code: en
org_address: ' '
remit_to_address: ' '
address:
street_address1: ' '
street_address2: ' '
city: ' '
state: ' '
country: U.S.A
zip: U.S.A
contact_name: John Smith
phone: ' '
fax: ' '
website: ' '
email: johndavid@zilliuminc.com
currency_id: '982000000000190'
companyid_label: ' '
companyid_value: ' '
taxid_label: ' '
taxid_value: ' '
custom_fields:
- index: {}
value: {}
label: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/projects:
post:
tags:
- Projects
summary: Create a project
description: Create a project.
operationId: createAProject
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
project_name:
type: string
customer_id:
type: string
currency_id:
type: string
description:
type: string
billing_type:
type: string
rate:
type: string
budget_type:
type: string
budget_hours:
type: string
budget_amount:
type: string
cost_budget_amount:
type: string
user_id:
type: string
tasks:
type: array
items:
type: object
properties:
task_name:
type: string
description:
type: string
rate:
type: string
budget_hours:
type: string
users:
type: array
items:
type: object
properties:
user_id:
type: string
is_current_user:
type: boolean
user_name:
type: string
email:
type: string
user_role:
type: string
status:
type: string
rate:
type: string
budget_hours:
type: string
total_hours:
type: string
billed_hours:
type: string
un_billed_hours:
type: string
cost_rate:
type: string
example:
project_name: Network Distribution
customer_id: '460000000044001'
currency_id: '460000000098001'
description: Distribution for the system of intermediaries between the producer of goods and/or services and
the final user
billing_type: based_on_task_hours
rate: ' '
budget_type: ' '
budget_hours: ' '
budget_amount: ' '
cost_budget_amount: '1000.00'
user_id: INV-00003
tasks:
- task_name: INV-00003
description: INV-00003
rate: INV-00003
budget_hours: INV-00003
users:
- user_id: INV-00003
is_current_user: true
user_name: John David
email: johndavid@zilliuminc.com
user_role: admin
status: active
rate: ' '
budget_hours: ' '
total_hours: '12:26'
billed_hours: '12:27'
un_billed_hours: 00:00
cost_rate: '10.00'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Projects
summary: List projects
description: List all projects with pagination.
operationId: listProjects
parameters:
- name: filter_by
in: query
description: 'Filter projects by any status. Allowed Values: `Status.All`, `Status.Active` and `Status.Inactive`'
schema:
type: string
example: Status.All
- name: customer_id
in: query
description: Search projects by customer id.
schema:
type: string
example: '460000000044001'
- name: sort_column
in: query
description: 'Sort projects. Allowed Values: `project_name`, `customer_name`, `rate` and `created_time`'
schema:
type: string
example: created_time
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Projects
summary: Update a project using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update a project by providing its API name in the X-Unique-Identifier-Key header
and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding project will be retrieved
and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the custom field's
unique value is not found in any of the existing projects, a new project will be created if the necessary payload
details are available
operationId: updateAProjectUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
project_name:
type: string
customer_id:
type: string
currency_id:
type: string
description:
type: string
billing_type:
type: string
rate:
type: string
budget_type:
type: string
budget_hours:
type: string
budget_amount:
type: string
cost_budget_amount:
type: string
user_id:
type: string
tasks:
type: array
items:
type: object
properties:
task_name:
type: string
description:
type: string
rate:
type: string
budget_hours:
type: string
users:
type: array
items:
type: object
properties:
user_id:
type: string
is_current_user:
type: boolean
user_name:
type: string
email:
type: string
user_role:
type: string
status:
type: string
rate:
type: string
budget_hours:
type: string
total_hours:
type: string
billed_hours:
type: string
un_billed_hours:
type: string
cost_rate:
type: string
example:
project_name: Network Distribution
customer_id: '460000000044001'
currency_id: '460000000098001'
description: Distribution for the system of intermediaries between the producer of goods and/or services and
the final user
billing_type: based_on_task_hours
rate: ' '
budget_type: ' '
budget_hours: ' '
budget_amount: ' '
cost_budget_amount: '1000.00'
user_id: INV-00003
tasks:
- task_name: INV-00003
description: INV-00003
rate: INV-00003
budget_hours: INV-00003
users:
- user_id: INV-00003
is_current_user: true
user_name: John David
email: johndavid@zilliuminc.com
user_role: admin
status: active
rate: ' '
budget_hours: ' '
total_hours: '12:26'
billed_hours: '12:27'
un_billed_hours: 00:00
cost_rate: '10.00'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/projects/{project_id}:
delete:
tags:
- Projects
summary: Delete project
description: Deleting a existing project.
operationId: deleteProject
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Projects
summary: Get a project
description: Get the details of a project.
operationId: getAProject
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Projects
summary: Update project
description: Update details of a project.
operationId: updateProject
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
project_name:
type: string
customer_id:
type: string
currency_id:
type: string
description:
type: string
billing_type:
type: string
rate:
type: string
budget_type:
type: string
budget_hours:
type: string
budget_amount:
type: string
cost_budget_amount:
type: string
user_id:
type: string
tasks:
type: array
items:
type: object
properties:
task_name:
type: string
description:
type: string
rate:
type: string
budget_hours:
type: string
users:
type: array
items:
type: object
properties:
user_id:
type: string
is_current_user:
type: boolean
user_name:
type: string
email:
type: string
user_role:
type: string
status:
type: string
rate:
type: string
budget_hours:
type: string
total_hours:
type: string
billed_hours:
type: string
un_billed_hours:
type: string
cost_rate:
type: string
example:
project_name: Network Distribution
customer_id: '460000000044001'
currency_id: '460000000098001'
description: Distribution for the system of intermediaries between the producer of goods and/or services and
the final user
billing_type: based_on_task_hours
rate: ' '
budget_type: ' '
budget_hours: ' '
budget_amount: ' '
cost_budget_amount: '1000.00'
user_id: INV-00003
tasks:
- task_name: INV-00003
description: INV-00003
rate: INV-00003
budget_hours: INV-00003
users:
- user_id: INV-00003
is_current_user: true
user_name: John David
email: johndavid@zilliuminc.com
user_role: admin
status: active
rate: ' '
budget_hours: ' '
total_hours: '12:26'
billed_hours: '12:27'
un_billed_hours: 00:00
cost_rate: '10.00'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/projects/{project_id}/active:
post:
tags:
- Projects
summary: Activate project
description: Mark project as active.
operationId: activateProject
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/projects/{project_id}/inactive:
post:
tags:
- Projects
summary: Inactivate a project
description: Marking a project as inactive.
operationId: inactivateAProject
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/projects/{project_id}/clone:
post:
tags:
- Projects
summary: Clone project
description: Cloning a project.
operationId: cloneProject
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
project_name:
type: string
description:
type: string
example:
project_name: Network Distribution
description: Distribution for the system of intermediaries between the producer of goods and/or services and
the final user
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/projects/{project_id}/users:
post:
tags:
- Projects
summary: Assign users
description: Assign a users to a project.
operationId: assignUsers
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
users:
type: array
items:
type: object
properties:
user_id:
type: object
properties: {}
cost_rate:
type: string
example:
users:
- user_id: {}
cost_rate: '10.00'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Projects
summary: List Users
description: Get list of users associated with a project.
operationId: listUsers
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/projects/{project_id}/users/invite:
post:
tags:
- Projects
summary: Invite user
description: Invite and user to the project.
operationId: inviteUser
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user_name:
type: string
email:
type: string
user_role:
type: string
rate:
type: string
budget_hours:
type: string
cost_rate:
type: string
example:
user_name: John David
email: johndavid@zilliuminc.com
user_role: admin
rate: ' '
budget_hours: '0'
cost_rate: '10.00'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/projects/{project_id}/users/{user_id}:
delete:
tags:
- Projects
summary: Delete user
description: Remove user from a project.
operationId: deleteUser
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
- name: user_id
in: path
required: true
description: Unique identifier of the user.
schema:
type: string
example: '460000000024003'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Projects
summary: Get a Project User
description: Get details of a user in project.
operationId: getAProjectUser
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
- name: user_id
in: path
required: true
description: Unique identifier of the user.
schema:
type: string
example: '460000000024003'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Projects
summary: Update user
description: Update details of a user.
operationId: updateUser
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
- name: user_id
in: path
required: true
description: Unique identifier of the user.
schema:
type: string
example: '460000000024003'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user_name:
type: string
user_role:
type: string
rate:
type: integer
budget_hours:
type: string
cost_rate:
type: string
example:
user_name: John David
user_role: admin
rate: 5000
budget_hours: '0'
cost_rate: '10.00'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/projects/{project_id}/comments:
post:
tags:
- Projects
summary: Post comment
description: Post comment to a project.
operationId: postComment
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
example:
description: Billing based on task hours
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Projects
summary: List comments
description: Get comments for a project.
operationId: listComments2
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/projects/{project_id}/comments/{comment_id}:
delete:
tags:
- Projects
summary: Delete comment
description: Deleting a comment.
operationId: deleteComment
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '460000000044027'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/projects/{project_id}/invoices:
get:
tags:
- Projects
summary: List invoices
description: Lists invoices created for this project.
operationId: listInvoices2
parameters:
- name: project_id
in: path
required: true
description: Unique identifier of the project.
schema:
type: string
example: '460000000044019'
- name: sort_column
in: query
description: 'Sort invoices raised. Allowed Values: `invoice_number`, `date`, `total`, `balance` and `created_time`'
schema:
type: string
example: created_time
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders:
post:
tags:
- Purchase Order
summary: Create a purchase order
description: Create a purchase order for your vendor.
operationId: createAPurchaseOrder
parameters:
- name: attachment
in: query
description: 'Allowed Extensions: `gif`, `png`, `jpeg`, `jpg`, `bmp`, `pdf`, `xls`, `xlsx`, `doc` and `docx`.'
schema:
type: string
- name: ignore_auto_number_generation
in: query
description: Ignore auto purchase order number generation for this purchase order. This mandates the purchase order
number.
schema:
type: string
example: 'False'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
vendor_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
purchaseorder_number:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
gst_no:
type: string
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
pricebook_id:
type: integer
reference_number:
type: string
billing_address_id:
type: string
crm_owner_id:
type: string
crm_custom_reference_id:
type: integer
template_id:
type: string
date:
type: string
delivery_date:
type: string
due_date:
type: string
exchange_rate:
type: integer
discount:
type: string
discount_account_id:
type: string
is_discount_before_tax:
type: boolean
is_inclusive_tax:
type: boolean
notes:
type: string
notes_default:
type: string
terms:
type: string
terms_default:
type: string
ship_via:
type: string
delivery_org_address_id:
type: string
delivery_customer_id:
type: string
attention:
type: string
vat_treatment:
type: string
is_update_customer:
type: string
salesorder_id:
type: string
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
item_id:
type: string
account_id:
type: string
name:
type: string
description:
type: string
unit:
type: string
location_id:
type: string
hsn_or_sac:
type: string
reverse_charge_tax_id:
type: integer
rate:
type: integer
quantity:
type: integer
item_order:
type: integer
tax_id:
type: string
tds_tax_id:
type: integer
tax_treatment_code:
type: string
tax_exemption_code:
type: string
tax_exemption_id:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
item_custom_fields:
type: array
items:
type: object
properties:
index:
type: object
properties: {}
value:
type: object
properties: {}
tags:
type: array
items:
type: object
properties: {}
project_id:
type: integer
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
documents:
type: array
items:
type: object
properties:
document_id:
type: object
properties: {}
file_name:
type: object
properties: {}
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
vendor_id: '460000000026049'
currency_id: '460000000000099'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
purchaseorder_number: PO-00001
gst_treatment: business_gst
tax_treatment: vat_registered
gst_no: 22AAAAA0000A1Z5
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
pricebook_id: 460000000026089
reference_number: ER/0034
billing_address_id: '460000000017491'
crm_owner_id: ''
crm_custom_reference_id: 0
template_id: '460000000011003'
date: '2014-02-10'
delivery_date: '2014-02-10'
due_date: ''
exchange_rate: 1
discount: '10'
discount_account_id: '460000000011105'
is_discount_before_tax: true
is_inclusive_tax: false
notes: Please deliver as soon as possible.
notes_default: ''
terms: Thanks for your business.
terms_default: ''
ship_via: ''
delivery_org_address_id: ''
delivery_customer_id: ''
attention: ''
vat_treatment: ''
is_update_customer: ''
salesorder_id: '460000124728314'
location_id: '460000000038080'
line_items:
- item_id: '460000000027009'
account_id: '460000000074003'
name: Hard Drive
description: ''
unit: Nos
location_id: '460000000038080'
hsn_or_sac: ''
reverse_charge_tax_id: 460000000026068
rate: 112
quantity: 1
item_order: 0
tax_id: ''
tds_tax_id: 90300000087370
tax_treatment_code: uae_others
tax_exemption_code: ''
tax_exemption_id: ''
acquisition_vat_id: ''
reverse_charge_vat_id: ''
item_custom_fields:
- index: {}
value: {}
tags:
- {}
project_id: 90300000087378
custom_fields:
- customfield_id: {}
value: {}
documents:
- document_id: {}
file_name: {}
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Purchase Order
summary: List purchase orders
description: List all purchase orders.
operationId: listPurchaseOrders
parameters:
- name: purchaseorder_number
in: query
description: 'Search purchase order by purchase order number. Variants: `purchaseorder_number_startswith` and `purchaseorder_number_contains`.
Example: Locate specific PO by number or partial match.'
schema:
type: string
example: PO-00001
- name: reference_number
in: query
description: 'Search purchase order by reference number. Variants: `reference_number_startswith` and `reference_number_contains`.
Example: Monitor external vendor order numbers.'
schema:
type: string
example: ER/0034
- name: date
in: query
description: 'Search purchase order by creation date. Use YYYY-MM-DD format for exact date matching. Example: Retrieve
POs created on specific date.'
schema:
type: string
example: '2014-02-10'
- name: status
in: query
description: 'Search purchase order by status. Allowed values: `draft`, `open`, `billed`, `cancelled`. Example: Filter
POs by current workflow state.'
schema:
type: string
example: draft
- name: item_description
in: query
description: 'Search purchase order by item description. Variants: `item_description_startswith` and `item_description_contains`.
Example: Discover POs containing specific items.'
schema:
type: string
- name: vendor_name
in: query
description: 'Search purchase order by vendor name. Variants: `vendor_name_startswith` and `vendor_name_contains`'
schema:
type: string
- name: total
in: query
description: 'Search purchase order by total amount. Variants: `total_start`, `total_end`, `total_less_than`, `total_less_equals`,
`total_greater_than`, `total_greater_equals`. Example: Identify POs within price range.'
schema:
type: string
example: '40'
- name: vendor_id
in: query
description: 'Search purchase order by vendor ID. Use the unique identifier of the vendor to filter purchase orders.
Example: Group POs by specific vendor.'
schema:
type: string
example: '460000000026049'
- name: last_modified_time
in: query
description: 'Search purchase order by last modified time. Use ISO 8601 format (YYYY-MM-DDTHH:MM:SS+/-HH:MM). Example:
Identify recently updated POs.'
schema:
type: string
example: 2014-02-10T15:26:26+0530
- name: item_id
in: query
description: 'Search purchase order by item ID. Use the unique identifier of the specific item. Example: Locate all
POs containing particular item.'
schema:
type: string
example: '460000000027009'
- name: filter_by
in: query
description: 'Filter purchase order by status. Allowed values: `Status.All`, `Status.Draft`, `Status.Open`, `Status.Billed`,
`Status.Cancelled`. Example: Bulk status filtering for reporting.'
schema:
type: string
example: Status.All
- name: search_text
in: query
description: 'Search purchase order by number, reference, or vendor name. General search across multiple fields. Example:
Quick PO lookup without specific field.'
schema:
type: string
- name: sort_column
in: query
description: 'Sort purchase orders by column. Allowed values: `vendor_name`, `purchaseorder_number`, `date`, `delivery_date`,
`total`, `created_time`. Example: Organize results for analysis.'
schema:
type: string
example: created_time
- name: custom_field
in: query
description: 'Search purchase order by purchase order''s custom field. Variants: `custom_field_startswith`, `custom_field_contains`'
schema:
type: string
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Purchase Order
summary: Update a purchase order using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update a purchase order by providing its API name in the X-Unique-Identifier-Key
header and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding purchase order
will be retrieved and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true
and the custom field's unique value is not found in any of the existing purchase orders, a new purchase order will
be created if the necessary payload details are available
operationId: updateAPurchaseOrderUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
vendor_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
purchaseorder_number:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
gst_no:
type: string
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
pricebook_id:
type: integer
reference_number:
type: string
discount:
type: string
discount_account_id:
type: string
is_discount_before_tax:
type: boolean
billing_address_id:
type: string
crm_owner_id:
type: string
crm_custom_reference_id:
type: integer
template_id:
type: string
date:
type: string
delivery_date:
type: string
due_date:
type: string
exchange_rate:
type: integer
is_inclusive_tax:
type: boolean
notes:
type: string
notes_default:
type: string
terms:
type: string
terms_default:
type: string
ship_via:
type: string
delivery_org_address_id:
type: string
delivery_customer_id:
type: string
attention:
type: string
vat_treatment:
type: string
is_update_customer:
type: string
salesorder_id:
type: string
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: string
item_id:
type: string
account_id:
type: string
name:
type: string
description:
type: string
unit:
type: string
location_id:
type: string
hsn_or_sac:
type: string
reverse_charge_tax_id:
type: integer
rate:
type: integer
quantity:
type: integer
item_order:
type: integer
tax_id:
type: string
tds_tax_id:
type: integer
tax_treatment_code:
type: string
tax_exemption_code:
type: string
tax_exemption_id:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
item_custom_fields:
type: array
items:
type: object
properties:
index:
type: object
properties: {}
value:
type: object
properties: {}
tags:
type: array
items:
type: object
properties: {}
project_id:
type: integer
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
documents:
type: array
items:
type: object
properties:
document_id:
type: object
properties: {}
file_name:
type: object
properties: {}
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
vendor_id: '460000000026049'
currency_id: '460000000000099'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
purchaseorder_number: PO-00001
gst_treatment: business_gst
tax_treatment: vat_registered
gst_no: 22AAAAA0000A1Z5
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
pricebook_id: 460000000026089
reference_number: ER/0034
discount: '10'
discount_account_id: '460000000011105'
is_discount_before_tax: true
billing_address_id: '460000000017491'
crm_owner_id: ''
crm_custom_reference_id: 0
template_id: '460000000011003'
date: '2014-02-10'
delivery_date: '2014-02-10'
due_date: ''
exchange_rate: 1
is_inclusive_tax: false
notes: Please deliver as soon as possible.
notes_default: ''
terms: Thanks for your business.
terms_default: ''
ship_via: ''
delivery_org_address_id: ''
delivery_customer_id: ''
attention: ''
vat_treatment: ''
is_update_customer: ''
salesorder_id: '460000124728314'
location_id: '460000000038080'
line_items:
- line_item_id: '460000000074009'
item_id: '460000000027009'
account_id: '460000000074003'
name: Hard Drive
description: ''
unit: Nos
location_id: '460000000038080'
hsn_or_sac: ''
reverse_charge_tax_id: 460000000026068
rate: 112
quantity: 1
item_order: 0
tax_id: ''
tds_tax_id: 90300000087370
tax_treatment_code: uae_others
tax_exemption_code: ''
tax_exemption_id: ''
acquisition_vat_id: ''
reverse_charge_vat_id: ''
item_custom_fields:
- index: {}
value: {}
tags:
- {}
project_id: 90300000087378
custom_fields:
- customfield_id: {}
value: {}
documents:
- document_id: {}
file_name: {}
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchase_order_id}:
delete:
tags:
- Purchase Order
summary: Delete purchase order
description: Delete an existing purchase order.
operationId: deletePurchaseOrder
parameters:
- name: purchase_order_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Purchase Order
summary: Get a purchase order
description: Get the details of a purchase order.
operationId: getAPurchaseOrder
parameters:
- name: purchase_order_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
- name: print
in: query
description: Print the exported pdf.
schema:
type: string
example: 'False'
- name: accept
in: query
description: 'Get the details of a particular purchase order in formats such as json/ pdf/ html. Default format is
json. Allowed Values: `json`, `pdf` and `html`.'
schema:
type: string
example: json
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Purchase Order
summary: Update a purchase order
description: Update an existing purchase order.
operationId: updateAPurchaseOrder
parameters:
- name: purchase_order_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
- name: attachment
in: query
description: 'Allowed Extensions: `gif`, `png`, `jpeg`, `jpg`, `bmp`, `pdf`, `xls`, `xlsx`, `doc` and `docx`.'
schema:
type: string
- name: ignore_auto_number_generation
in: query
description: Ignore auto purchase order number generation for this purchase order. This mandates the purchase order
number.
schema:
type: string
example: 'False'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
vendor_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
purchaseorder_number:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
gst_no:
type: string
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
pricebook_id:
type: integer
reference_number:
type: string
discount:
type: string
discount_account_id:
type: string
is_discount_before_tax:
type: boolean
billing_address_id:
type: string
crm_owner_id:
type: string
crm_custom_reference_id:
type: integer
template_id:
type: string
date:
type: string
delivery_date:
type: string
due_date:
type: string
exchange_rate:
type: integer
is_inclusive_tax:
type: boolean
notes:
type: string
notes_default:
type: string
terms:
type: string
terms_default:
type: string
ship_via:
type: string
delivery_org_address_id:
type: string
delivery_customer_id:
type: string
attention:
type: string
vat_treatment:
type: string
is_update_customer:
type: string
salesorder_id:
type: string
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: string
item_id:
type: string
account_id:
type: string
name:
type: string
description:
type: string
unit:
type: string
location_id:
type: string
hsn_or_sac:
type: string
reverse_charge_tax_id:
type: integer
rate:
type: integer
quantity:
type: integer
item_order:
type: integer
tax_id:
type: string
tds_tax_id:
type: integer
tax_treatment_code:
type: string
tax_exemption_code:
type: string
tax_exemption_id:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
item_custom_fields:
type: array
items:
type: object
properties:
index:
type: object
properties: {}
value:
type: object
properties: {}
tags:
type: array
items:
type: object
properties: {}
project_id:
type: integer
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
documents:
type: array
items:
type: object
properties:
document_id:
type: object
properties: {}
file_name:
type: object
properties: {}
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
vendor_id: '460000000026049'
currency_id: '460000000000099'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
purchaseorder_number: PO-00001
gst_treatment: business_gst
tax_treatment: vat_registered
gst_no: 22AAAAA0000A1Z5
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
pricebook_id: 460000000026089
reference_number: ER/0034
discount: '10'
discount_account_id: '460000000011105'
is_discount_before_tax: true
billing_address_id: '460000000017491'
crm_owner_id: ''
crm_custom_reference_id: 0
template_id: '460000000011003'
date: '2014-02-10'
delivery_date: '2014-02-10'
due_date: ''
exchange_rate: 1
is_inclusive_tax: false
notes: Please deliver as soon as possible.
notes_default: ''
terms: Thanks for your business.
terms_default: ''
ship_via: ''
delivery_org_address_id: ''
delivery_customer_id: ''
attention: ''
vat_treatment: ''
is_update_customer: ''
salesorder_id: '460000124728314'
location_id: '460000000038080'
line_items:
- line_item_id: '460000000074009'
item_id: '460000000027009'
account_id: '460000000074003'
name: Hard Drive
description: ''
unit: Nos
location_id: '460000000038080'
hsn_or_sac: ''
reverse_charge_tax_id: 460000000026068
rate: 112
quantity: 1
item_order: 0
tax_id: ''
tds_tax_id: 90300000087370
tax_treatment_code: uae_others
tax_exemption_code: ''
tax_exemption_id: ''
acquisition_vat_id: ''
reverse_charge_vat_id: ''
item_custom_fields:
- index: {}
value: {}
tags:
- {}
project_id: 90300000087378
custom_fields:
- customfield_id: {}
value: {}
documents:
- document_id: {}
file_name: {}
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorder/{purchaseorder_id}/customfields:
put:
tags:
- Purchase Order
summary: Update custom field in existing purchaseorders
description: Update the value of the custom field in existing purchaseorders.
operationId: updateCustomFieldInExistingPurchaseorders
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
type: object
properties:
customfield_id:
type: string
value:
type: string
example:
- customfield_id: '46000000012845'
value: Normal
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/status/open:
post:
tags:
- Purchase Order
summary: Mark a purchase order as open
description: Mark a draft purchase order as open.
operationId: markAPurchaseOrderAsOpen
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/status/billed:
post:
tags:
- Purchase Order
summary: Mark as billed
description: Mark a purchase order as billed.
operationId: markAsBilled
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/status/cancelled:
post:
tags:
- Purchase Order
summary: Cancel a purchase order
description: Mark a purchase order as cancelled.
operationId: cancelAPurchaseOrder
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/submit:
post:
tags:
- Purchase Order
summary: Submit a purchase order for approval
description: Submit a purchase order for approval.
operationId: submitAPurchaseOrderForApproval
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/approve:
post:
tags:
- Purchase Order
summary: Approve a purchase order
description: Approve a purchase order.
operationId: approveAPurchaseOrder
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/email:
post:
tags:
- Purchase Order
summary: Email a purchase order
description: Email a purchase order to the vendor. Input json string is not mandatory. If input json string is empty,
mail will be send with default mail content.
operationId: emailAPurchaseOrder
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
- name: attachments
in: query
description: The files to be attached with the email.
schema:
type: string
- name: send_attachment
in: query
description: Send the purchase order attachment a with the email.
schema:
type: string
example: 'False'
- name: file_name
in: query
description: Name of the file
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
send_from_org_email_id:
type: boolean
from_address_id:
type: string
to_mail_ids:
type: array
items:
type: string
cc_mail_ids:
type: array
items:
type: string
bcc_mail_ids:
type: array
items:
type: string
subject:
type: string
body:
type: string
mail_documents:
type: array
items:
type: object
properties:
document_id:
type: object
properties: {}
file_name:
type: object
properties: {}
example:
send_from_org_email_id: true
from_address_id: '460000008392548'
to_mail_ids:
- willsmith@bowmanfurniture.com
cc_mail_ids:
- peterparker@bowmanfurniture.com
bcc_mail_ids:
- mark@safInstruments.com
subject: 'Purchase Order from Zillium Inc (PO #: PO-00001)'
body: 'Dear Bowman and Co, <br><br>The purchase order (PO-00001) is attached with this email. <br><br>An overview
of the purchase order is available below: <br>Purchase Order # : PO-00001 <br>Date : 10 Feb 2014 <br>Amount
: $112.00(in USD) <br><br>Please go through it and confirm the order. We look forward to working with you
again<br><br><br><br>Regards<br><br>Zillium Inc<br><br>'
mail_documents:
- document_id: {}
file_name: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Purchase Order
summary: Get purchase order email content
description: Get the email content of a purchase order.
operationId: getPurchaseOrderEmailContent
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
- 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.
schema:
type: string
example: '460000000011023'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/address/billing:
put:
tags:
- Purchase Order
summary: Update billing address
description: Updates the billing address for this purchase order alone.
operationId: updateBillingAddress5
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip:
type: string
country:
type: string
fax:
type: string
attention:
type: string
is_update_customer:
type: string
example:
address: ''
city: ''
state: ''
zip: ''
country: ''
fax: ''
attention: ''
is_update_customer: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/templates:
get:
tags:
- Purchase Order
summary: List purchase order templates
description: Get all purchase order pdf templates.
operationId: listPurchaseOrderTemplates
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/templates/{template_id}:
put:
tags:
- Purchase Order
summary: Update purchase order template
description: Update the pdf template associated with the purchase order.
operationId: updatePurchaseOrderTemplate
parameters:
- name: template_id
in: path
required: true
description: Unique identifier of the purchase order template.
schema:
type: string
example: '460000000011003'
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
- name: templates
in: query
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/attachment:
post:
tags:
- Purchase Order
summary: Add attachment to a purchase order
description: Attach a file to a purchase order.
operationId: addAttachmentToAPurchaseOrder
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
- name: attachment
in: query
description: 'Allowed Extensions: `gif`, `png`, `jpeg`, `jpg`, `bmp`, `pdf`, `xls`, `xlsx`, `doc` and `docx`.'
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
delete:
tags:
- Purchase Order
summary: Delete an attachment
description: Delete the file attached to the purchase order.
operationId: deleteAnAttachment2
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Purchase Order
summary: Get a purchase order attachment
description: Returns the file attached to the purchase order.
operationId: getAPurchaseOrderAttachment
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
- name: preview
in: query
description: Get the thumbnail of the attachment.
schema:
type: string
example: 'False'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Purchase Order
summary: Update attachment preference
description: Set whether you want to send the attached file while emailing the purchase order.
operationId: updateAttachmentPreference2
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
- name: can_send_in_mail
in: query
description: Boolean to send the attachment with the purchase order when emailed.
required: true
schema:
type: string
example: 'False'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/comments:
post:
tags:
- Purchase Order
summary: Add comment
description: Add a comment for a purchase order.
operationId: addComment4
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
expected_delivery_date:
type: string
example:
description: This is a comment.
expected_delivery_date: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Purchase Order
summary: List purchase order comments & history
description: Get the complete history and comments of purchase order.
operationId: listPurchaseOrderCommentsHistory
parameters:
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/comments/{comment_id}:
delete:
tags:
- Purchase Order
summary: Delete a comment
description: Delete a purchase order comment.
operationId: deleteAComment7
parameters:
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '460000000012345'
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Purchase Order
summary: Update comment
description: Update an existing comment of a purchase order.
operationId: updateComment3
parameters:
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '460000000012345'
- name: purchaseorder_id
in: path
required: true
description: Unique identifier of the purchase order.
schema:
type: string
example: '460000000062001'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
expected_delivery_date:
type: string
example:
description: This is a comment.
expected_delivery_date: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/purchaseorders/{purchaseorder_id}/reject:
post:
tags:
- Purchase Order
summary: Reject Purchase Order
description: Reject a purchase order.
operationId: rejectPurchaseOrder
parameters:
- name: purchaseorder_id
in: path
required: true
schema:
type: string
example: '460000000012345'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringbills:
post:
tags:
- Recurring Bills
summary: Create a recurring bill
description: Create a recurring bill.
operationId: createARecurringBill
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
vendor_id:
type: string
currency_id:
type: string
recurrence_name:
type: string
start_date:
type: string
end_date:
type: string
source_of_supply:
type: string
place_of_supply:
type: string
destination_of_supply:
type: string
gst_treatment:
type: string
gst_no:
type: string
tax_treatment:
type: string
vat_treatment:
type: string
vat_reg_no:
type: string
is_abn_quoted:
type: string
abn:
type: string
is_reverse_charge_applied:
type: boolean
pricebook_id:
type: integer
is_inclusive_tax:
type: boolean
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: string
item_id:
type: string
name:
type: string
account_id:
type: string
description:
type: string
rate:
type: integer
hsn_or_sac:
type: integer
reverse_charge_tax_id:
type: integer
location_id:
type: string
quantity:
type: integer
tax_id:
type: string
tds_tax_id:
type: string
tax_treatment_code:
type: string
tax_exemption_id:
type: string
tax_exemption_code:
type: string
item_order:
type: integer
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
unit:
type: string
tags:
type: array
items:
type: object
properties: {}
is_billable:
type: boolean
project_id:
type: string
customer_id:
type: string
item_custom_fields:
type: array
items:
type: object
properties: {}
serial_numbers:
type: array
items:
type: object
properties: {}
is_tds_applied:
type: boolean
notes:
type: string
terms:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
discount:
type: string
discount_account_id:
type: string
is_discount_before_tax:
type: boolean
repeat_every:
type: string
recurrence_frequency:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
vendor_id: '460000000038029'
currency_id: '460000000000099'
recurrence_name: Monthly Rental
start_date: '2013-11-18'
end_date: '2013-12-18'
source_of_supply: AP
place_of_supply: DU
destination_of_supply: TN
gst_treatment: business_gst
gst_no: 22AAAAA0000A1Z5
tax_treatment: vat_registered
vat_treatment: ''
vat_reg_no: ''
is_abn_quoted: ''
abn: ''
is_reverse_charge_applied: true
pricebook_id: 460000000038090
is_inclusive_tax: false
location_id: '460000000038080'
line_items:
- line_item_id: '460000000067009'
item_id: '460000000054135'
name: ''
account_id: '460000000000403'
description: ''
rate: 10
hsn_or_sac: 80540
reverse_charge_tax_id: 460000000038056
location_id: '460000000038080'
quantity: 1
tax_id: '460000000027005'
tds_tax_id: '460000000027001'
tax_treatment_code: uae_others
tax_exemption_id: ''
tax_exemption_code: ''
item_order: 1
product_type: ''
acquisition_vat_id: ''
reverse_charge_vat_id: ''
unit: kgs
tags:
- {}
is_billable: false
project_id: ''
customer_id: ''
item_custom_fields:
- {}
serial_numbers:
- {}
is_tds_applied: false
notes: Thanks for your business.
terms: Terms and conditions apply.
payment_terms: 0
payment_terms_label: Due on Receipt
custom_fields:
- index: 0
value: ''
discount: 30%
discount_account_id: '460000000000403'
is_discount_before_tax: true
repeat_every: ''
recurrence_frequency: ''
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Recurring Bills
summary: List recurring bills
description: List all recurring bills with pagination.
operationId: listRecurringBills
parameters:
- name: recurring_bill_id
in: query
schema:
type: string
example: '982000000567240'
- name: vendor_id
in: query
description: Search recurring bills by Vendor ID
schema:
type: string
example: '460000000038029'
- name: vendor_name
in: query
description: 'Search recurring bills by vendor name. Variants: `vendor_name_startswith` and `vendor_name_contains`'
schema:
type: string
- name: status
in: query
description: 'Search recurring bills by recurring bill status. Allowed Values: `active`, `stopped`, `expired`'
schema:
type: string
example: active
- name: recurrence_name
in: query
description: 'Search recurring bills by recurrence number. Variants: `recurrence_name_startswith` and `recurrence_name_contains`'
schema:
type: string
example: Monthly Rental
- name: currency_id
in: query
description: ID of the Currency
schema:
type: string
example: '460000000000099'
- name: currency_code
in: query
description: Code of the Currency
schema:
type: string
example: INR
- name: currency_symbol
in: query
description: Symbol of the Currency
schema:
type: string
- name: start_date
in: query
description: 'Search recurring bills by recurring bill start date. Variants: `start_date_start`, `start_date_end`,
`start_date_before` and `start_date_after`'
schema:
type: string
example: '2013-11-18'
- name: end_date
in: query
description: Date on which recurring bill has to expire. Can be left as empty to run forever. Format [yyyy-mm-dd].
schema:
type: string
example: '2013-12-18'
- name: source_of_supply
in: query
description: Place from where the goods/services are supplied. (If not given, `place of contact` given for the contact
will be taken)
schema:
type: string
example: AP
- name: place_of_supply
in: query
description: |-
The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, `place of contact` given for the contact will be taken)
Supported codes for UAE emirates are : Abu Dhabi - `AB`,Ajman - `AJ`,Dubai - `DU`,Fujairah - `FU`,Ras al-Khaimah - `RA`,Sharjah - `SH`,Umm al-Quwain - `UM`.
Supported codes for the GCC countries are : United Arab Emirates - `AE`,Saudi Arabia - `SA`,Bahrain - `BH`,Kuwait - `KW`,Oman - `OM`,Qatar - `QA`.
schema:
type: string
example: DU
- name: destination_of_supply
in: query
description: Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
schema:
type: string
example: TN
- name: gst_treatment
in: query
description: Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are ` business_gst
` , ` business_none ` , ` overseas ` , ` consumer `.
schema:
type: string
example: business_gst
- name: gst_no
in: query
description: 15 digit GST identification number of the vendor.
schema:
type: string
example: 22AAAAA0000A1Z5
- name: tax_treatment
in: query
description: 'VAT treatment for the bill. Choose whether the vendor falls under: `vat_registered`,`vat_not_registered`,`gcc_vat_not_registered`,`gcc_vat_registered`,`non_gcc`.`dz_vat_registered`
and `dz_vat_not_registered` are supported only for UAE.'
schema:
type: string
example: vat_registered
- name: vat_treatment
in: query
description: (Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor
resides in UK then the VAT treatment is `uk`. If the vendor is in an EU country & VAT registered, you are resides
in Northen Ireland and purchasing Goods then his VAT treatment is `eu_vat_registered` and if he resides outside
the UK then his VAT treatment is `overseas`(For Pre Brexit, this can be split as `eu_vat_registered`, `eu_vat_not_registered`
and `non_eu`).
schema:
type: string
- name: vat_reg_no
in: query
description: |-
For UK Edition: VAT Registration number of a contact with length should be between 2 and 12 characters.
For Avalara: If you are doing sales in the European Union (EU) then provide VAT Registration Number of your customers here. This is used to calculate VAT for B2B sales, from Avalara.
schema:
type: string
- name: is_abn_quoted
in: query
schema:
type: string
- name: abn
in: query
schema:
type: string
- name: is_reverse_charge_applied
in: query
description: Applicable for transactions where you pay reverse charge
schema:
type: string
example: 'True'
- name: pricebook_id
in: query
description: Enter ID of the price book.
schema:
type: string
example: '460000000038090'
- name: pricebook_name
in: query
description: Name of the price book
schema:
type: string
- name: is_inclusive_tax
in: query
description: Used to specify whether the line item rates are inclusive or exclusive of tax.
schema:
type: string
example: 'False'
- name: line_items
in: query
description: Line items of a recurrence bill.
schema:
type: string
- name: is_tds_applied
in: query
description: Check if TDS is applied
schema:
type: string
- name: notes
in: query
description: Notes for the Bill
schema:
type: string
example: Thanks for your business.
- name: terms
in: query
description: Terms and Conditions for the Bill
schema:
type: string
example: Terms and conditions apply.
- name: payment_terms
in: query
description: Number Referring to Payment Terms
schema:
type: string
example: '0'
- name: payment_terms_label
in: query
description: Label of the Payment Terms
schema:
type: string
example: Due on Receipt
- name: custom_fields
in: query
schema:
type: string
- name: acquisition_vat_summary
in: query
description: Summary of the VAT Acquistion
schema:
type: string
- name: reverse_charge_vat_summary
in: query
description: Summary of the Reverse Charge
schema:
type: string
- name: acquisition_vat_total
in: query
description: Total of the VAT Acquistion
schema:
type: string
- name: reverse_charge_vat_total
in: query
description: Total of the Reverse Charge
schema:
type: string
- name: created_time
in: query
description: Created time of the bill
schema:
type: string
example: 2013-09-11T17:18:32+0530
- name: created_by_id
in: query
description: Name of User who created the Bill
schema:
type: string
example: '4600000053001'
- name: last_modified_time
in: query
description: Last Modified Time of the Bill
schema:
type: string
example: 2013-09-11T17:18:32+0530
- name: discount
in: query
description: 'Discount applied to the recurrence. It can be either in % or in amount. E.g: 12.5% or 190.'
schema:
type: string
example: 30%
- name: discount_account_id
in: query
description: ID of the account associated with the discount account.
schema:
type: string
example: '460000000000403'
- name: is_discount_before_tax
in: query
description: To specify discount applied in before /after tax.
schema:
type: string
example: 'True'
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Recurring Bills
summary: Update a recurring bill using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update a recurring bill by providing its API name in the X-Unique-Identifier-Key
header and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding recurring bill
will be retrieved and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true
and the custom field's unique value is not found in any of the existing recurring bills, a new recurring bill will
be created if the necessary payload details are available
operationId: updateARecurringBillUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
recurring_bill_id:
type: integer
vendor_id:
type: string
currency_id:
type: string
status:
type: string
recurrence_name:
type: string
start_date:
type: string
end_date:
type: string
source_of_supply:
type: string
place_of_supply:
type: string
destination_of_supply:
type: string
gst_treatment:
type: string
gst_no:
type: string
tax_treatment:
type: string
vat_treatment:
type: string
vat_reg_no:
type: string
is_abn_quoted:
type: string
abn:
type: string
is_reverse_charge_applied:
type: boolean
pricebook_id:
type: integer
pricebook_name:
type: string
is_inclusive_tax:
type: boolean
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: string
item_id:
type: string
name:
type: string
account_id:
type: string
description:
type: string
rate:
type: integer
hsn_or_sac:
type: integer
reverse_charge_tax_id:
type: integer
location_id:
type: string
quantity:
type: integer
tax_id:
type: string
tds_tax_id:
type: string
tax_treatment_code:
type: string
tax_exemption_id:
type: string
tax_exemption_code:
type: string
item_order:
type: integer
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
unit:
type: string
tags:
type: array
items:
type: object
properties: {}
is_billable:
type: boolean
project_id:
type: string
customer_id:
type: string
item_custom_fields:
type: array
items:
type: object
properties: {}
serial_numbers:
type: array
items:
type: object
properties: {}
is_tds_applied:
type: boolean
notes:
type: string
terms:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
discount:
type: string
discount_account_id:
type: string
is_discount_before_tax:
type: boolean
repeat_every:
type: string
recurrence_frequency:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
recurring_bill_id: 982000000567240
vendor_id: '460000000038029'
currency_id: '460000000000099'
status: active
recurrence_name: Monthly Rental
start_date: '2013-11-18'
end_date: '2013-12-18'
source_of_supply: AP
place_of_supply: DU
destination_of_supply: TN
gst_treatment: business_gst
gst_no: 22AAAAA0000A1Z5
tax_treatment: vat_registered
vat_treatment: ''
vat_reg_no: ''
is_abn_quoted: ''
abn: ''
is_reverse_charge_applied: true
pricebook_id: 460000000038090
pricebook_name: ''
is_inclusive_tax: false
location_id: '460000000038080'
line_items:
- line_item_id: '460000000067009'
item_id: '460000000054135'
name: ''
account_id: '460000000000403'
description: ''
rate: 10
hsn_or_sac: 80540
reverse_charge_tax_id: 460000000038056
location_id: '460000000038080'
quantity: 1
tax_id: '460000000027005'
tds_tax_id: '460000000027001'
tax_treatment_code: uae_others
tax_exemption_id: ''
tax_exemption_code: ''
item_order: 1
product_type: ''
acquisition_vat_id: ''
reverse_charge_vat_id: ''
unit: kgs
tags:
- {}
is_billable: false
project_id: ''
customer_id: ''
item_custom_fields:
- {}
serial_numbers:
- {}
is_tds_applied: false
notes: Thanks for your business.
terms: Terms and conditions apply.
payment_terms: 0
payment_terms_label: Due on Receipt
custom_fields:
- index: 0
value: ''
discount: 30%
discount_account_id: '460000000000403'
is_discount_before_tax: true
repeat_every: ''
recurrence_frequency: ''
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringbills/{recurring_bill_id}:
put:
tags:
- Recurring Bills
summary: Update a recurring bill
description: Update a recurring bill. To delete a line item just remove it from the line_items list.
operationId: updateARecurringBill
parameters:
- name: recurring_bill_id
in: path
required: true
description: Unique identifier of the recurring bill.
schema:
type: string
example: '982000000567240'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
recurring_bill_id:
type: integer
vendor_id:
type: string
currency_id:
type: string
status:
type: string
recurrence_name:
type: string
start_date:
type: string
end_date:
type: string
source_of_supply:
type: string
place_of_supply:
type: string
destination_of_supply:
type: string
gst_treatment:
type: string
gst_no:
type: string
tax_treatment:
type: string
vat_treatment:
type: string
vat_reg_no:
type: string
is_abn_quoted:
type: string
abn:
type: string
is_reverse_charge_applied:
type: boolean
pricebook_id:
type: integer
pricebook_name:
type: string
is_inclusive_tax:
type: boolean
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: string
item_id:
type: string
name:
type: string
account_id:
type: string
description:
type: string
rate:
type: integer
hsn_or_sac:
type: integer
reverse_charge_tax_id:
type: integer
location_id:
type: string
quantity:
type: integer
tax_id:
type: string
tds_tax_id:
type: string
tax_treatment_code:
type: string
tax_exemption_id:
type: string
tax_exemption_code:
type: string
item_order:
type: integer
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
unit:
type: string
tags:
type: array
items:
type: object
properties: {}
is_billable:
type: boolean
project_id:
type: string
customer_id:
type: string
item_custom_fields:
type: array
items:
type: object
properties: {}
serial_numbers:
type: array
items:
type: object
properties: {}
is_tds_applied:
type: boolean
notes:
type: string
terms:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
custom_fields:
type: array
items:
type: object
properties:
index:
type: integer
value:
type: string
discount:
type: string
discount_account_id:
type: string
is_discount_before_tax:
type: boolean
repeat_every:
type: string
recurrence_frequency:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
recurring_bill_id: 982000000567240
vendor_id: '460000000038029'
currency_id: '460000000000099'
status: active
recurrence_name: Monthly Rental
start_date: '2013-11-18'
end_date: '2013-12-18'
source_of_supply: AP
place_of_supply: DU
destination_of_supply: TN
gst_treatment: business_gst
gst_no: 22AAAAA0000A1Z5
tax_treatment: vat_registered
vat_treatment: ''
vat_reg_no: ''
is_abn_quoted: ''
abn: ''
is_reverse_charge_applied: true
pricebook_id: 460000000038090
pricebook_name: ''
is_inclusive_tax: false
location_id: '460000000038080'
line_items:
- line_item_id: '460000000067009'
item_id: '460000000054135'
name: ''
account_id: '460000000000403'
description: ''
rate: 10
hsn_or_sac: 80540
reverse_charge_tax_id: 460000000038056
location_id: '460000000038080'
quantity: 1
tax_id: '460000000027005'
tds_tax_id: '460000000027001'
tax_treatment_code: uae_others
tax_exemption_id: ''
tax_exemption_code: ''
item_order: 1
product_type: ''
acquisition_vat_id: ''
reverse_charge_vat_id: ''
unit: kgs
tags:
- {}
is_billable: false
project_id: ''
customer_id: ''
item_custom_fields:
- {}
serial_numbers:
- {}
is_tds_applied: false
notes: Thanks for your business.
terms: Terms and conditions apply.
payment_terms: 0
payment_terms_label: Due on Receipt
custom_fields:
- index: 0
value: ''
discount: 30%
discount_account_id: '460000000000403'
is_discount_before_tax: true
repeat_every: ''
recurrence_frequency: ''
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurring_bills/{recurring_bill_id}:
delete:
tags:
- Recurring Bills
summary: Delete a recurring bill
description: Delete an existing recurring bill.
operationId: deleteARecurringBill
parameters:
- name: recurring_bill_id
in: path
required: true
description: Unique identifier of the recurring bill.
schema:
type: string
example: '982000000567240'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Recurring Bills
summary: Get a recurring bill
description: Get the details of a recurring bill.
operationId: getARecurringBill
parameters:
- name: recurring_bill_id
in: path
required: true
description: Unique identifier of the recurring bill.
schema:
type: string
example: '982000000567240'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringbills/{recurring_bill_id}/status/stop:
post:
tags:
- Recurring Bills
summary: Stop a recurring bill
description: Stop an active recurring bill.
operationId: stopARecurringBill
parameters:
- name: recurring_bill_id
in: path
required: true
description: Unique identifier of the recurring bill.
schema:
type: string
example: '982000000567240'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringbills/{recurring_bill_id}/status/resume:
post:
tags:
- Recurring Bills
summary: Resume a recurring Bill
description: Resume a stopped recurring bill.
operationId: resumeARecurringBill
parameters:
- name: recurring_bill_id
in: path
required: true
description: Unique identifier of the recurring bill.
schema:
type: string
example: '982000000567240'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringbills/{recurring_bill_id}/comments:
get:
tags:
- Recurring Bills
summary: List recurring bill history
description: Get history and comments of a recurring bill.
operationId: listRecurringBillHistory
parameters:
- name: recurring_bill_id
in: path
required: true
description: Unique identifier of the recurring bill.
schema:
type: string
example: '982000000567240'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringexpenses:
post:
tags:
- Recurring Expenses
summary: Create a recurring expense
description: Create a recurring expense.
operationId: createARecurringExpense
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
recurrence_name:
type: string
start_date:
type: string
end_date:
type: string
recurrence_frequency:
type: string
repeat_every:
type: integer
gst_no:
type: string
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
reverse_charge_tax_id:
type: integer
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: object
properties: {}
account_id:
type: object
properties: {}
description:
type: object
properties: {}
amount:
type: object
properties: {}
tax_id:
type: object
properties: {}
item_order:
type: object
properties: {}
product_type:
type: object
properties: {}
acquisition_vat_id:
type: object
properties: {}
reverse_charge_vat_id:
type: object
properties: {}
reverse_charge_tax_id:
type: object
properties: {}
tax_exemption_code:
type: object
properties: {}
tax_exemption_id:
type: object
properties: {}
tags:
type: object
properties: {}
amount:
type: number
vat_treatment:
type: string
tax_treatment:
type: string
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
tax_id:
type: integer
is_inclusive_tax:
type: boolean
is_billable:
type: boolean
customer_id:
type: integer
project_id:
type: string
currency_id:
type: integer
exchange_rate:
type: integer
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
account_id: 982000000561057
recurrence_name: Monthly Rental
start_date: '2016-11-19T00:00:00+00:00'
end_date: ' '
recurrence_frequency: months
repeat_every: 1
gst_no: 22AAAAA0000A1Z5
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
reverse_charge_tax_id: 982000000567254
location_id: '460000000038080'
line_items:
- line_item_id: {}
account_id: {}
description: {}
amount: {}
tax_id: {}
item_order: {}
product_type: {}
acquisition_vat_id: {}
reverse_charge_vat_id: {}
reverse_charge_tax_id: {}
tax_exemption_code: {}
tax_exemption_id: {}
tags: {}
amount: 112.5
vat_treatment: eu_vat_not_registered
tax_treatment: vat_registered
product_type: goods
acquisition_vat_id: ' '
reverse_charge_vat_id: ' '
tax_id: 982000000566007
is_inclusive_tax: false
is_billable: true
customer_id: 982000000567001
project_id: ' '
currency_id: 982000000567001
exchange_rate: 1
custom_fields:
- customfield_id: {}
value: {}
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Recurring Expenses
summary: List recurring expenses
description: List all the Expenses with pagination.
operationId: listRecurringExpenses
parameters:
- name: recurrence_name
in: query
description: 'Search recurring expenses by recurring expense name. Variants: `recurrence_name_startswith` and `recurrence_name_contains`.
Max-length [100]'
schema:
type: string
example: Monthly Rental
- name: last_created_date
in: query
description: 'Search recurring expenses by date on when last expense was generated. Variants: `last_created_date_start`,
`last_created_date_end`, `last_created_date_before` and `last_created_date_after` . Format [yyyy-mm-dd]'
schema:
type: string
example: '2013-11-18T00:00:00+00:00'
- name: next_expense_date
in: query
description: 'Search recurring expenses by date on which next expense will be generated. Variants: `next_expense_date_start`,
`next_expense_date_end`, `next_expense_date_before` and `next_expense_date_after` . Format [yyyy-mm-dd]'
schema:
type: string
example: '2013-12-18T00:00:00+00:00'
- name: status
in: query
description: Search expenses by expense status. Allowed Values `active`, `stopped` and `expired`
schema:
type: string
example: active
- name: account_id
in: query
schema:
type: string
example: '982000000561057'
- name: account_name
in: query
description: Search expenses by expense account name. Variants `account_name_startswith` and `account_name_contains`
. Max-length [100]
schema:
type: string
example: Rent
- name: amount
in: query
description: 'Search expenses by amount. Variants: `amount_less_than`, `amount_less_equals`, `amount_greater_than`
and `amount_greater_than`'
schema:
type: string
example: '112.5'
- name: customer_name
in: query
description: 'Search expenses by customer name. Variants: `customer_name_startswith` and `customer_name_contains`
. Max-length [100]'
schema:
type: string
example: Bowman & Co
- name: customer_id
in: query
description: Search expenses by customer id.
schema:
type: string
example: '982000000567001'
- name: paid_through_account_id
in: query
description: Search expenses by paid through account id.
schema:
type: string
example: '982000000567250'
- name: filter_by
in: query
description: Filter expenses by expense status. Allowed Values `Status.All`, `Status.Active`, `Status.Expired` and
`Status.Stopped`
schema:
type: string
example: Status.Billable
- name: search_text
in: query
description: Search expenses by account name or description or `customer name` or `vendor name`. Max-length [100]
.
schema:
type: string
example: Rent
- name: sort_column
in: query
description: Sort expenses.Allowed Values `next_expense_date`, `account_name`, `total`, `last_created_date`, `recurrence_name`,
`customer_name` and `created_time`
schema:
type: string
example: account_name
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Recurring Expenses
summary: Update an recurring expense using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update a recurring expense by providing its API name in the X-Unique-Identifier-Key
header and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding recurring expense
will be retrieved and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true
and the custom field's unique value is not found in any of the existing recurring expenses, a new recurring expense
will be created if the necessary payload details are available
operationId: updateAnRecurringExpenseUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
recurrence_name:
type: string
start_date:
type: string
end_date:
type: string
recurrence_frequency:
type: string
repeat_every:
type: integer
gst_no:
type: string
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
reverse_charge_tax_id:
type: integer
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: object
properties: {}
account_id:
type: object
properties: {}
description:
type: object
properties: {}
amount:
type: object
properties: {}
tax_id:
type: object
properties: {}
item_order:
type: object
properties: {}
product_type:
type: object
properties: {}
acquisition_vat_id:
type: object
properties: {}
reverse_charge_vat_id:
type: object
properties: {}
reverse_charge_tax_id:
type: object
properties: {}
tax_exemption_code:
type: object
properties: {}
tax_exemption_id:
type: object
properties: {}
tags:
type: object
properties: {}
amount:
type: number
vat_treatment:
type: string
tax_treatment:
type: string
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
tax_id:
type: integer
is_inclusive_tax:
type: boolean
is_billable:
type: boolean
customer_id:
type: integer
project_id:
type: string
currency_id:
type: integer
exchange_rate:
type: integer
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
account_id: 982000000561057
recurrence_name: Monthly Rental
start_date: '2016-11-19T00:00:00+00:00'
end_date: ' '
recurrence_frequency: months
repeat_every: 1
gst_no: 22AAAAA0000A1Z5
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
reverse_charge_tax_id: 982000000567254
location_id: '460000000038080'
line_items:
- line_item_id: {}
account_id: {}
description: {}
amount: {}
tax_id: {}
item_order: {}
product_type: {}
acquisition_vat_id: {}
reverse_charge_vat_id: {}
reverse_charge_tax_id: {}
tax_exemption_code: {}
tax_exemption_id: {}
tags: {}
amount: 112.5
vat_treatment: eu_vat_not_registered
tax_treatment: vat_registered
product_type: goods
acquisition_vat_id: ' '
reverse_charge_vat_id: ' '
tax_id: 982000000566007
is_inclusive_tax: false
is_billable: true
customer_id: 982000000567001
project_id: ' '
currency_id: 982000000567001
exchange_rate: 1
custom_fields:
- customfield_id: {}
value: {}
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringexpenses/{recurring_expense_id}:
delete:
tags:
- Recurring Expenses
summary: Delete a recurring expense
description: Deleting an existing recurring expense.
operationId: deleteARecurringExpense
parameters:
- name: recurring_expense_id
in: path
required: true
description: Unique identifier of the recurring expense.
schema:
type: string
example: '982000000567240'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Recurring Expenses
summary: Get a recurring expense
description: Get the details of the recurring expense.
operationId: getARecurringExpense
parameters:
- name: recurring_expense_id
in: path
required: true
description: Unique identifier of the recurring expense.
schema:
type: string
example: '982000000567240'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Recurring Expenses
summary: Update a recurring expense
description: Update a recurring expense.
operationId: updateARecurringExpense
parameters:
- name: recurring_expense_id
in: path
required: true
description: Unique identifier of the recurring expense.
schema:
type: string
example: '982000000567240'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account_id:
type: integer
recurrence_name:
type: string
start_date:
type: string
end_date:
type: string
recurrence_frequency:
type: string
repeat_every:
type: integer
gst_no:
type: string
source_of_supply:
type: string
destination_of_supply:
type: string
place_of_supply:
type: string
reverse_charge_tax_id:
type: integer
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: object
properties: {}
account_id:
type: object
properties: {}
description:
type: object
properties: {}
amount:
type: object
properties: {}
tax_id:
type: object
properties: {}
item_order:
type: object
properties: {}
product_type:
type: object
properties: {}
acquisition_vat_id:
type: object
properties: {}
reverse_charge_vat_id:
type: object
properties: {}
reverse_charge_tax_id:
type: object
properties: {}
tax_exemption_code:
type: object
properties: {}
tax_exemption_id:
type: object
properties: {}
tags:
type: object
properties: {}
amount:
type: number
vat_treatment:
type: string
tax_treatment:
type: string
product_type:
type: string
acquisition_vat_id:
type: string
reverse_charge_vat_id:
type: string
tax_id:
type: integer
is_inclusive_tax:
type: boolean
is_billable:
type: boolean
customer_id:
type: integer
project_id:
type: string
currency_id:
type: integer
exchange_rate:
type: integer
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
account_id: 982000000561057
recurrence_name: Monthly Rental
start_date: '2016-11-19T00:00:00+00:00'
end_date: ' '
recurrence_frequency: months
repeat_every: 1
gst_no: 22AAAAA0000A1Z5
source_of_supply: AP
destination_of_supply: TN
place_of_supply: DU
reverse_charge_tax_id: 982000000567254
location_id: '460000000038080'
line_items:
- line_item_id: {}
account_id: {}
description: {}
amount: {}
tax_id: {}
item_order: {}
product_type: {}
acquisition_vat_id: {}
reverse_charge_vat_id: {}
reverse_charge_tax_id: {}
tax_exemption_code: {}
tax_exemption_id: {}
tags: {}
amount: 112.5
vat_treatment: eu_vat_not_registered
tax_treatment: vat_registered
product_type: goods
acquisition_vat_id: ' '
reverse_charge_vat_id: ' '
tax_id: 982000000566007
is_inclusive_tax: false
is_billable: true
customer_id: 982000000567001
project_id: ' '
currency_id: 982000000567001
exchange_rate: 1
custom_fields:
- customfield_id: {}
value: {}
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringexpenses/{recurring_expense_id}/status/stop:
post:
tags:
- Recurring Expenses
summary: Stop a recurring expense
description: Stop an active recurring expense.
operationId: stopARecurringExpense
parameters:
- name: recurring_expense_id
in: path
required: true
description: Unique identifier of the recurring expense.
schema:
type: string
example: '982000000567240'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringexpenses/{recurring_expense_id}/status/resume:
post:
tags:
- Recurring Expenses
summary: Resume a recurring Expense
description: Resume a stopped recurring expense.
operationId: resumeARecurringExpense
parameters:
- name: recurring_expense_id
in: path
required: true
description: Unique identifier of the recurring expense.
schema:
type: string
example: '982000000567240'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringexpenses/{recurring_expense_id}/expenses:
get:
tags:
- Recurring Expenses
summary: List child expenses created
description: List child expenses created from recurring expense.
operationId: listChildExpensesCreated
parameters:
- name: recurring_expense_id
in: path
required: true
description: Unique identifier of the recurring expense.
schema:
type: string
example: '982000000567240'
- name: sort_column
in: query
description: Sort expenses.Allowed Values `next_expense_date`, `account_name`, `total`, `last_created_date`, `recurrence_name`,
`customer_name` and `created_time`
schema:
type: string
example: account_name
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringexpenses/{recurring_expense_id}/comments:
get:
tags:
- Recurring Expenses
summary: List recurring expense history
description: Get history and comments of a recurring expense.
operationId: listRecurringExpenseHistory
parameters:
- name: recurring_expense_id
in: path
required: true
description: Unique identifier of the recurring expense.
schema:
type: string
example: '982000000567240'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringinvoices:
post:
tags:
- Recurring Invoices
summary: Create a Recurring Invoice
description: Creating a new recurring invoice.
operationId: createARecurringInvoice
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
recurrence_name:
type: string
reference_number:
type: string
customer_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
place_of_supply:
type: string
vat_treatment:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
cfdi_usage:
type: string
allow_partial_payments:
type: boolean
gst_no:
type: string
start_date:
type: string
end_date:
type: string
recurrence_frequency:
type: string
repeat_every:
type: integer
location_id:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
line_items:
type: array
items:
type: object
properties:
line_item_id:
type: string
quantity:
type: integer
name:
type: string
item_total:
type: integer
product_type:
type: string
hsn_or_sac:
type: integer
sat_item_key_code:
type: integer
unitkey_code:
type: string
tags:
type: array
items:
type: object
properties: {}
location_id:
type: string
tax_id:
type: string
tds_tax_id:
type: string
tax_treatment_code:
type: string
project_id:
type: integer
header_name:
type: string
tax_id:
type: string
custom_fields:
type: array
items:
type: object
properties:
value:
type: object
properties: {}
label:
type: object
properties: {}
data_type:
type: object
properties: {}
email:
type: string
billing_address:
type: object
properties:
address:
type: string
street2:
type: string
city:
type: string
state:
type: string
zip:
type: string
country:
type: string
fax:
type: string
shipping_address:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip:
type: string
country:
type: string
fax:
type: string
avatax_use_code:
type: string
avatax_exempt_no:
type: string
template_id:
type: string
payment_terms:
type: integer
payment_terms_label:
type: string
tax_authority_id:
type: string
tax_exemption_id:
type: string
exchange_rate:
type: string
payment_options:
type: object
properties:
payment_gateways:
type: array
items:
type: object
properties: {}
discount:
type: string
is_discount_before_tax:
type: boolean
discount_type:
type: string
is_inclusive_tax:
type: boolean
item_id:
type: string
name:
type: string
description:
type: string
rate:
type: integer
quantity:
type: integer
unit:
type: string
avatax_tax_code:
type: string
salesperson_name:
type: string
shipping_charge:
type: integer
adjustment:
type: integer
adjustment_description:
type: string
example:
recurrence_name: MonthlyInvoice
reference_number: '12314'
customer_id: '903000000000099'
currency_id: '982000000000190'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
place_of_supply: TN
vat_treatment: overseas
gst_treatment: business_gst
tax_treatment: vat_registered
is_reverse_charge_applied: true
cfdi_usage: acquisition_of_merchandise
allow_partial_payments: true
gst_no: 22AAAAA0000A1Z5
start_date: '2016-06-12'
end_date: '2017-06-12'
recurrence_frequency: weeks
repeat_every: 2
location_id: '460000000038080'
tags:
- tag_id: {}
tag_option_id: {}
line_items:
- line_item_id: '982000000567021'
quantity: 1
name: Hard Drive
item_total: 100
product_type: goods
hsn_or_sac: 80540
sat_item_key_code: 71121206
unitkey_code: box
tags:
- {}
location_id: '460000000038080'
tax_id: '903000000000356'
tds_tax_id: '903000000000357'
tax_treatment_code: uae_others
project_id: 90300000087378
header_name: Electronic devices
tax_id: '903000000000356'
custom_fields:
- value: {}
label: {}
data_type: {}
email: benjamin.george@bowmanfurniture.com
billing_address:
address: 4900 Hopyard Rd, Suite 310
street2: McMillan Avenue
city: Pleasanton
state: CA
zip: '94588'
country: U.S.A
fax: +1-925-924-9600
shipping_address:
address: 4900 Hopyard Rd, Suite 310
city: Pleasanton
state: CA
zip: '94588'
country: U.S.A
fax: +1-925-924-9600
avatax_use_code: ''
avatax_exempt_no: ''
template_id: '90300000001336'
payment_terms: 0
payment_terms_label: Next 15 days
tax_authority_id: '903000006345'
tax_exemption_id: '903000006345'
exchange_rate: '5.5'
payment_options:
payment_gateways:
- {}
discount: 30%
is_discount_before_tax: true
discount_type: entity level
is_inclusive_tax: false
item_id: '90300000081501'
name: Hard Drive
description: prorated amount for items
rate: 0
quantity: 1
unit: kgs
avatax_tax_code: ' '
salesperson_name: ' '
shipping_charge: 0
adjustment: 0
adjustment_description: Rounding off
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Recurring Invoices
summary: List all Recurring Invoice
description: List the details of all recurring invoice.
operationId: listAllRecurringInvoice
parameters:
- name: recurrence_name
in: query
description: Unique name for the recurring profile given by the user. Max-length [100]
schema:
type: string
example: MonthlyInvoice
- name: item_name
in: query
description: 'Search recurring invoices by item name. Variants: `item_name_startswith` and `profileitemname_contains`.'
schema:
type: string
- name: item_description
in: query
description: 'Search recurring invoices by item description. Variants: `item_description_startswith` and `item_description_contains`.'
schema:
type: string
- name: customer_name
in: query
description: Name of the customer to whom the recurring invoice is raised.
schema:
type: string
example: Sujin Kumar
- name: line_item_id
in: query
description: The line item id
schema:
type: string
example: '982000000567021'
- name: item_id
in: query
description: Unique string generated for the item for which invoice is to be sent.
schema:
type: string
example: '90300000081501'
- name: tax_id
in: query
description: ID of the tax or tax group associated to the recurring invoice.
schema:
type: string
example: '903000000000356'
- name: notes
in: query
description: A short note for the recurring invoice.
schema:
type: string
example: Offer for the referral
- name: start_date
in: query
description: The date on which the recurring invoice starts.
schema:
type: string
example: '2016-06-12'
- name: end_date
in: query
description: The date on which the recurring invoice expires.
schema:
type: string
example: '2017-06-12'
- name: customer_id
in: query
description: Customer ID of the customer for whom the recurring invoice is raised.
schema:
type: string
example: '903000000000099'
- name: status
in: query
description: Status of the recurring invoice. This can be `active`, `stopped` or `expired`.
schema:
type: string
example: active
- name: filter_by
in: query
description: 'Filter Recurring invoices by any status or payment expected date.Allowed Values: ` Status.All`, `Status.Active`,
` Status.Stopped`, `Status.Expired`'
schema:
type: string
- name: search_text
in: query
description: Search invoices by invoice number or purchase order or customer name. Max-length [100]
schema:
type: string
- name: sort_column
in: query
schema:
type: string
example: created_time
- name: page
in: query
description: Page number to be fetched. Default value is 1.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Recurring Invoices
summary: Update a recurring invoice using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update a recurring invoice by providing its API name in the X-Unique-Identifier-Key
header and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding recurring invoice
will be retrieved and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true
and the custom field's unique value is not found in any of the existing recurring invoices, a new recurring invoice
will be created if the necessary payload details are available
operationId: updateARecurringInvoiceUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
recurrence_name:
type: string
reference_number:
type: string
customer_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
start_date:
type: string
end_date:
type: string
recurrence_frequency:
type: string
repeat_every:
type: integer
place_of_supply:
type: string
vat_treatment:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
cfdi_usage:
type: string
allow_partial_payments:
type: boolean
gst_no:
type: string
location_id:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
line_items:
type: array
items:
type: object
properties:
item_id:
type: string
name:
type: string
description:
type: string
rate:
type: integer
quantity:
type: integer
discount:
type: string
tags:
type: array
items:
type: object
properties: {}
tax_id:
type: string
tds_tax_id:
type: string
tax_exemption_id:
type: string
tax_treatment_code:
type: string
avatax_tax_code:
type: string
avatax_use_code:
type: string
item_total:
type: integer
product_type:
type: string
hsn_or_sac:
type: integer
sat_item_key_code:
type: integer
unitkey_code:
type: string
location_id:
type: string
project_id:
type: integer
header_name:
type: string
header_id:
type: integer
email:
type: string
custom_fields:
type: array
items:
type: object
properties:
value:
type: object
properties: {}
label:
type: object
properties: {}
data_type:
type: object
properties: {}
tax_id:
type: string
tax_authority_id:
type: string
payment_options:
type: object
properties:
payment_gateways:
type: array
items:
type: object
properties: {}
tax_exemption_id:
type: string
avatax_use_code:
type: string
avatax_exempt_no:
type: string
example:
recurrence_name: MonthlyInvoice
reference_number: '12314'
customer_id: '903000000000099'
currency_id: '982000000000190'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
start_date: '2016-06-12'
end_date: '2017-06-12'
recurrence_frequency: weeks
repeat_every: 2
place_of_supply: TN
vat_treatment: overseas
gst_treatment: business_gst
tax_treatment: vat_registered
is_reverse_charge_applied: true
cfdi_usage: acquisition_of_merchandise
allow_partial_payments: true
gst_no: 22AAAAA0000A1Z5
location_id: '460000000038080'
tags:
- tag_id: {}
tag_option_id: {}
line_items:
- item_id: '90300000081501'
name: Hard Drive
description: prorated amount for items
rate: 0
quantity: 1
discount: 30%
tags:
- {}
tax_id: '903000000000356'
tds_tax_id: '903000000000357'
tax_exemption_id: '903000006345'
tax_treatment_code: uae_others
avatax_tax_code: ' '
avatax_use_code: ''
item_total: 100
product_type: goods
hsn_or_sac: 80540
sat_item_key_code: 71121206
unitkey_code: box
location_id: '460000000038080'
project_id: 90300000087378
header_name: Electronic devices
header_id: 982000000000670
email: benjamin.george@bowmanfurniture.com
custom_fields:
- value: {}
label: {}
data_type: {}
tax_id: '903000000000356'
tax_authority_id: '903000006345'
payment_options:
payment_gateways:
- {}
tax_exemption_id: '903000006345'
avatax_use_code: ''
avatax_exempt_no: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringinvoices/{recurring_invoice_id}:
delete:
tags:
- Recurring Invoices
summary: Delete a Recurring Invoice
description: Delete an existing recurring invoice.
operationId: deleteARecurringInvoice
parameters:
- name: recurring_invoice_id
in: path
required: true
description: Unique identifier of the recurring invoice.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Recurring Invoices
summary: Get a Recurring Invoice
description: Get the details of a recurring invoice.
operationId: getARecurringInvoice
parameters:
- name: recurring_invoice_id
in: path
required: true
description: Unique identifier of the recurring invoice.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Recurring Invoices
summary: Update Recurring Invoice
description: Update the recurring invoice.
operationId: updateRecurringInvoice
parameters:
- name: recurring_invoice_id
in: path
required: true
description: Unique identifier of the recurring invoice.
schema:
type: string
example: '90300000072369'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
recurrence_name:
type: string
reference_number:
type: string
customer_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
start_date:
type: string
end_date:
type: string
recurrence_frequency:
type: string
repeat_every:
type: integer
place_of_supply:
type: string
vat_treatment:
type: string
gst_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
cfdi_usage:
type: string
allow_partial_payments:
type: boolean
gst_no:
type: string
location_id:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
line_items:
type: array
items:
type: object
properties:
item_id:
type: string
name:
type: string
description:
type: string
rate:
type: integer
quantity:
type: integer
discount:
type: string
tags:
type: array
items:
type: object
properties: {}
tax_id:
type: string
tds_tax_id:
type: string
tax_exemption_id:
type: string
tax_treatment_code:
type: string
avatax_tax_code:
type: string
avatax_use_code:
type: string
item_total:
type: integer
product_type:
type: string
hsn_or_sac:
type: integer
sat_item_key_code:
type: integer
unitkey_code:
type: string
location_id:
type: string
project_id:
type: integer
header_name:
type: string
header_id:
type: integer
email:
type: string
custom_fields:
type: array
items:
type: object
properties:
value:
type: object
properties: {}
label:
type: object
properties: {}
data_type:
type: object
properties: {}
tax_id:
type: string
tax_authority_id:
type: string
payment_options:
type: object
properties:
payment_gateways:
type: array
items:
type: object
properties: {}
tax_exemption_id:
type: string
avatax_use_code:
type: string
avatax_exempt_no:
type: string
example:
recurrence_name: MonthlyInvoice
reference_number: '12314'
customer_id: '903000000000099'
currency_id: '982000000000190'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
start_date: '2016-06-12'
end_date: '2017-06-12'
recurrence_frequency: weeks
repeat_every: 2
place_of_supply: TN
vat_treatment: overseas
gst_treatment: business_gst
tax_treatment: vat_registered
is_reverse_charge_applied: true
cfdi_usage: acquisition_of_merchandise
allow_partial_payments: true
gst_no: 22AAAAA0000A1Z5
location_id: '460000000038080'
tags:
- tag_id: {}
tag_option_id: {}
line_items:
- item_id: '90300000081501'
name: Hard Drive
description: prorated amount for items
rate: 0
quantity: 1
discount: 30%
tags:
- {}
tax_id: '903000000000356'
tds_tax_id: '903000000000357'
tax_exemption_id: '903000006345'
tax_treatment_code: uae_others
avatax_tax_code: ' '
avatax_use_code: ''
item_total: 100
product_type: goods
hsn_or_sac: 80540
sat_item_key_code: 71121206
unitkey_code: box
location_id: '460000000038080'
project_id: 90300000087378
header_name: Electronic devices
header_id: 982000000000670
email: benjamin.george@bowmanfurniture.com
custom_fields:
- value: {}
label: {}
data_type: {}
tax_id: '903000000000356'
tax_authority_id: '903000006345'
payment_options:
payment_gateways:
- {}
tax_exemption_id: '903000006345'
avatax_use_code: ''
avatax_exempt_no: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringinvoices/{recurring_invoice_id}/status/stop:
post:
tags:
- Recurring Invoices
summary: Stop a Recurring Invoice
description: Stop an active recurring invoice.
operationId: stopARecurringInvoice
parameters:
- name: recurring_invoice_id
in: path
required: true
description: Unique identifier of the recurring invoice.
schema:
type: string
example: '90300000072369'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
recurring_invoice_id:
type: string
example:
recurring_invoice_id: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringinvoices/{recurring_invoice_id}/status/resume:
post:
tags:
- Recurring Invoices
summary: Resume a Recurring Invoice
description: Resume a stopped recurring invoice.
operationId: resumeARecurringInvoice
parameters:
- name: recurring_invoice_id
in: path
required: true
description: Unique identifier of the recurring invoice.
schema:
type: string
example: '90300000072369'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
recurring_invoice_id:
type: string
example:
recurring_invoice_id: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringinvoices/{recurring_invoice_id}/templates/{template_id}:
put:
tags:
- Recurring Invoices
summary: Update Recurring Invoice template
description: Update the pdf template associated with the recurring invoice.
operationId: updateRecurringInvoiceTemplate
parameters:
- name: recurring_invoice_id
in: path
required: true
description: Unique identifier of the recurring invoice.
schema:
type: string
example: '90300000072369'
- name: template_id
in: path
required: true
description: Unique identifier of the recurring invoice template.
schema:
type: string
example: '90300000001336'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
recurring_invoice_id:
type: string
template_id:
type: string
example:
recurring_invoice_id: '90300000072369'
template_id: '90300043563547'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/recurringinvoices/{recurring_invoice_id}/comments:
get:
tags:
- Recurring Invoices
summary: List Recurring Invoice History
description: Get the complete history and comments of a recurring invoice.
operationId: listRecurringInvoiceHistory
parameters:
- name: recurring_invoice_id
in: path
required: true
description: Unique identifier of the recurring invoice.
schema:
type: string
example: '90300000072369'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/reportingtags:
post:
tags:
- Reporting Tags
summary: Create Reporting Tag
description: Create a reporting tag
operationId: createReportingTag
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
tag_name:
type: string
description:
type: string
is_mandatory:
type: boolean
entities:
type: array
items:
type: object
properties:
entity_name:
type: string
is_enabled:
type: boolean
multi_preference_entities:
type: object
properties:
preference:
type: string
entities:
type: array
items:
type: object
properties:
entity_name:
type: string
is_enabled:
type: boolean
example:
tag_name: Business Unit
description: Description of the reporting tag
is_mandatory: false
entities:
- entity_name: customers
is_enabled: true
- entity_name: vendors
is_enabled: true
- entity_name: items
is_enabled: true
- entity_name: fixed_asset
is_enabled: true
- entity_name: banking
is_enabled: true
multi_preference_entities:
preference: line_item
entities:
- entity_name: sales
is_enabled: true
- entity_name: purchases
is_enabled: true
- entity_name: journals
is_enabled: false
- entity_name: inventory_adjustment
is_enabled: false
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Reporting Tags
summary: List of all Reporting Tags
description: Get a list of all reporting tags in the preferred order that you can set.
operationId: listOfAllReportingTags
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/reportingtags/{tag_id}:
post:
tags:
- Reporting Tags
summary: Mark an option as default for a reporting tag
description: Mark an option as the default option or clear default option for a reporting tag.
operationId: markAnOptionAsDefaultForAReportingTag
parameters:
- name: tag_id
in: path
required: true
description: ID of the reporting tag
schema:
type: string
example: '460000000038080'
- name: default_option_id
in: query
description: ID of the option to be marked as default. If this parameter is not sent or sent empty, the current default
option of the tag will be removed.
required: true
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
delete:
tags:
- Reporting Tags
summary: Delete a reporting tag
description: Delete a reporting tag. If there are any usages of the reporting tag in transactions, custom views or
workflows, you will not be able to delete the tag.
operationId: deleteAReportingTag
parameters:
- name: tag_id
in: path
required: true
description: ID of the reporting tag
schema:
type: string
example: '460000000038080'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Reporting Tags
summary: Update Reporting Tag
description: Update a reporting tag
operationId: updateReportingTag
parameters:
- name: tag_id
in: path
required: true
description: ID of the reporting tag
schema:
type: string
example: '460000000038080'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
tag_name:
type: string
description:
type: string
is_mandatory:
type: boolean
entities:
type: array
items:
type: object
properties:
entity_name:
type: string
is_enabled:
type: boolean
multi_preference_entities:
type: object
properties:
preference:
type: string
entities:
type: array
items:
type: object
properties:
entity_name:
type: string
is_enabled:
type: boolean
example:
tag_name: Business Unit
description: Description of the reporting tag
is_mandatory: false
entities:
- entity_name: customers
is_enabled: true
- entity_name: vendors
is_enabled: true
- entity_name: items
is_enabled: true
- entity_name: fixed_asset
is_enabled: true
- entity_name: banking
is_enabled: true
multi_preference_entities:
preference: line_item
entities:
- entity_name: sales
is_enabled: true
- entity_name: purchases
is_enabled: true
- entity_name: journals
is_enabled: false
- entity_name: inventory_adjustment
is_enabled: false
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/reportingtags/{tag_id}/options:
put:
tags:
- Reporting Tags
summary: Update Reporting Tag Options
description: "Create, update or delete the options of a reporting tag. Reorder and arrange them in an hierarchical structure\
\ as per your organization requirements. \nNOTE: \n An option cannot be a child option beyond five hierarchical level.\
\ The overall children of an option cannot exceed 500 options."
operationId: updateReportingTagOptions
parameters:
- name: tag_id
in: path
required: true
description: ID of the reporting tag
schema:
type: string
example: '460000000038080'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
options:
type: array
items:
type: object
properties:
option_id:
type: string
option_name:
type: string
is_active:
type: boolean
is_default:
type: boolean
children:
type: array
items:
type: object
properties:
option_id:
type: string
children:
type: array
items:
type: string
option_name:
type: string
is_active:
type: boolean
example:
options:
- option_id: '460000000038082'
option_name: ES-2003
is_active: true
is_default: true
children:
- option_id: '460000000038088'
children: []
option_name: ES-2003 Sec - B
is_active: true
- option_name: ES-2003 Sec - C
is_active: true
children:
- children: []
option_name: EES-2003
is_active: true
- option_id: '460000000038084'
option_name: ES-N-2016
is_active: true
is_default: false
children: []
- option_id: '460000000038086'
option_name: HS & ES-N
is_active: true
is_default: false
children: []
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/reportingtags/{tag_id}/criteria:
put:
tags:
- Reporting Tags
summary: Update Reporting Tag - Visibility Conditions
description: Update the visibility conditions (or filter in some places) of a reporting tag. You can set other tags
or location as filters for a tag. Check our help document to know about the requirements of a tag to be associated
as a filter to another tag.
operationId: updateReportingTagVisibilityConditions
parameters:
- name: tag_id
in: path
required: true
description: ID of the reporting tag
schema:
type: string
example: '460000000038080'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
criteria_tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
type:
type: object
properties: {}
options:
type: array
items:
type: object
properties:
option_id:
type: object
properties: {}
criteria_options:
type: array
items:
type: object
properties: {}
example:
criteria_tags:
- tag_id: {}
type: {}
options:
- option_id: {}
criteria_options:
- {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/reportingtags/{tag_id}/active:
post:
tags:
- Reporting Tags
summary: Mark Reporting Tag as active
description: Mark a reporting tag as active so that you can use it on entities which you allowed. A newly created tag
will be in draft state. Use this to mark that tag as ready.
operationId: markReportingTagAsActive
parameters:
- name: tag_id
in: path
required: true
description: ID of the reporting tag
schema:
type: string
example: '460000000038080'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/reportingtags/{tag_id}/inactive:
post:
tags:
- Reporting Tags
summary: Mark Reporting Tag as inactive
description: Mark a reporting tag as inactive.
operationId: markReportingTagAsInactive
parameters:
- name: tag_id
in: path
required: true
description: ID of the reporting tag
schema:
type: string
example: '460000000038080'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/reportingtags/{tag_id}/option/(\d+)/active:
post:
tags:
- Reporting Tags
summary: Mark an option as active
description: Mark a reporting tag's option as active.
operationId: markAnOptionAsActive
parameters:
- name: tag_id
in: path
required: true
description: ID of the reporting tag
schema:
type: string
example: '460000000038080'
- name: option_id
in: path
required: true
description: ID of a reporting tag's option
schema:
type: string
example: '460000000038081'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/reportingtags/{tag_id}/option/(\d+)/inactive:
post:
tags:
- Reporting Tags
summary: Mark an option as inactive
description: Mark a reporting tag's option as inactive.
operationId: markAnOptionAsInactive
parameters:
- name: tag_id
in: path
required: true
description: ID of the reporting tag
schema:
type: string
example: '460000000038080'
- name: option_id
in: path
required: true
description: ID of a reporting tag's option
schema:
type: string
example: '460000000038081'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/reportingtags/options:
get:
tags:
- Reporting Tags
summary: Get Reporting Tags Options Detail Page
description: Get the options and its criteria details of a reporting tag. For each page, you can retrieve only 200 options.
operationId: getReportingTagsOptionsDetailPage
parameters:
- name: tag_id
in: query
description: ID of the reporting tag
required: true
schema:
type: string
example: '460000000038080'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/reportingtags/(\d+)/options/all:
get:
tags:
- Reporting Tags
summary: Get all Options
description: Get all options for a reporting tag.
operationId: getAllOptions
parameters:
- name: show_untagged
in: query
description: '''untagged'' will be included in the response if this parameter is set to true.'
schema:
type: string
- name: tag_id
in: query
description: ID of the reporting tag
required: true
schema:
type: string
example: '460000000038080'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/reportingtags/reorder:
put:
tags:
- Reporting Tags
summary: Reorder Reporting Tags
description: Reorder the reporting tags in your organization. The order of tags will be followed in transactions and
reports.
operationId: reorderReportingTags
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
tag_ids:
type: array
items:
type: string
example:
tag_ids:
- '460000000038080'
- '460000000038081'
- '460000000038082'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices:
post:
tags:
- Retainer Invoices
summary: Create a retainerinvoice
description: Create a retainer invoice for your customer.
operationId: createARetainerinvoice
parameters:
- name: ignore_auto_number_generation
in: query
description: Ignore auto invoice number generation for this invoice. This mandates the invoice number. Allowed values
`true` and `false`
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: integer
reference_number:
type: string
date:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
custom_fields:
type: array
items:
type: object
properties:
index:
type: object
properties: {}
show_on_pdf:
type: object
properties: {}
value:
type: object
properties: {}
label:
type: object
properties: {}
notes:
type: string
terms:
type: string
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
description:
type: string
item_order:
type: integer
rate:
type: integer
payment_options:
type: object
properties:
payment_gateways:
type: array
items:
type: object
properties: {}
template_id:
type: integer
place_of_supply:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
customer_id: 982000000567001
reference_number: ' '
date: '2013-11-17'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
custom_fields:
- index: {}
show_on_pdf: {}
value: {}
label: {}
notes: Looking forward for your business.
terms: Terms & Conditions apply
location_id: '460000000038080'
line_items:
- description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
item_order: 1
rate: 120
payment_options:
payment_gateways:
- {}
template_id: 982000000000143
place_of_supply: TN
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Retainer Invoices
summary: List a retainer invoices
description: List all retainer invoices with pagination.
operationId: listARetainerInvoices
parameters:
- name: print
in: query
description: Print the exported pdf.
schema:
type: string
- name: sort_column
in: query
description: 'Sort retainer invoices.Allowed Values: `customer_name`, `retainer invoice_number`, `date`, ` due_date`,
`total`, `balance` and `created_time`'
schema:
type: string
example: created_time
- name: filter_by
in: query
description: 'Filter invoices by any status or payment expected date.Allowed Values: ` Status.All`, `Status.Sent`,
` Status.Draft`, `Status.OverDue`, `Status.Paid`, `Status.Void`, `Status.Unpaid`, `Status.PartiallyPaid`,` Status.Viewed`
and `Date.PaymentExpectedDate`'
schema:
type: string
- name: sort_order
in: query
description: The order for sorting
schema:
type: string
example: D
- name: page
in: query
description: Number of pages
schema:
type: string
example: '1'
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{retainerinvoice_id}:
delete:
tags:
- Retainer Invoices
summary: Delete a retainer invoice
description: Delete an existing retainer invoice. Invoices which have payment or credits note applied cannot be deleted.
operationId: deleteARetainerInvoice
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Retainer Invoices
summary: Get a retainer invoice
description: Get the details of a retainer invoice.
operationId: getARetainerInvoice
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Retainer Invoices
summary: update a retainerinvoice
description: Update an existing invoice.
operationId: updateARetainerinvoice
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: integer
reference_number:
type: string
date:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
custom_fields:
type: array
items:
type: object
properties:
index:
type: object
properties: {}
show_on_pdf:
type: object
properties: {}
value:
type: object
properties: {}
label:
type: object
properties: {}
notes:
type: string
terms:
type: string
location_id:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
line_items:
type: array
items:
type: object
properties:
description:
type: string
item_order:
type: integer
rate:
type: integer
payment_options:
type: object
properties:
payment_gateways:
type: array
items:
type: object
properties: {}
template_id:
type: integer
place_of_supply:
type: string
project_id:
type: integer
example:
customer_id: 982000000567001
reference_number: ' '
date: '2013-11-17'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
custom_fields:
- index: {}
show_on_pdf: {}
value: {}
label: {}
notes: Looking forward for your business.
terms: Terms & Conditions apply
location_id: '460000000038080'
tags:
- tag_id: {}
tag_option_id: {}
line_items:
- description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
item_order: 1
rate: 120
payment_options:
payment_gateways:
- {}
template_id: 982000000000143
place_of_supply: TN
project_id: 982000000567154
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{retainerinvoice_id}/status/sent:
post:
tags:
- Retainer Invoices
summary: Mark a retainer invoice as sent
description: Mark a draft retainer invoice as sent.
operationId: markARetainerInvoiceAsSent
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{retainerinvoice_id}/templates/{template_id}:
put:
tags:
- Retainer Invoices
summary: Update retainer invoice template
description: Update the pdf template associated with the retainer invoice.
operationId: updateRetainerInvoiceTemplate
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
- name: template_id
in: path
required: true
description: Unique identifier of the retainer invoice template.
schema:
type: string
example: '982000000000143'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{retainerinvoice_id}/status/void:
post:
tags:
- Retainer Invoices
summary: Void a retainer invoice
description: Mark an invoice status as void. Upon voiding, the payments and credits associated with the retainer invoices
will be unassociated and will be under customer credits.
operationId: voidARetainerInvoice
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{reatinerinvoice_id}/status/draft:
post:
tags:
- Retainer Invoices
summary: Mark as draft
description: Mark a voided retainer invoice as draft.
operationId: markAsDraft2
parameters:
- name: reatinerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{reatinerinvoice_id}/submit:
post:
tags:
- Retainer Invoices
summary: Submit a retainer invoice for approval
description: Submit a retainer invoice for approval.
operationId: submitARetainerInvoiceForApproval
parameters:
- name: reatinerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{reatinerinvoice_id}/approve:
post:
tags:
- Retainer Invoices
summary: Approve a retainer invoice.
description: Approve a retainer invoice.
operationId: approveARetainerInvoice
parameters:
- name: reatinerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{retainerinvoice_id}/email:
post:
tags:
- Retainer Invoices
summary: Email a retainer invoice
description: Email a retainer invoice to the customer. Input json string is not mandatory. If input json string is empty,
mail will be send with default mail content.
operationId: emailARetainerInvoice
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
- name: send_customer_statement
in: query
description: Send customer statement pdf a with email.
schema:
type: string
example: ' '
- name: send_attachment
in: query
description: Send the retainer invoice attachment a with the email.
schema:
type: string
example: ' '
- name: attachments
in: query
description: Files to be attached to the email
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
send_from_org_email_id:
type: boolean
to_mail_ids:
type: array
items:
type: string
cc_mail_ids:
type: array
items:
type: string
subject:
type: string
body:
type: string
example:
send_from_org_email_id: false
to_mail_ids:
- willsmith@bowmanfurniture.com
cc_mail_ids:
- peterparker@bowmanfurniture.com
subject: 'Retainer Invoice from Zillium Inc (Retainer Invoice#: RET-00001)'
body: 'Dear Customer, <br><br><br><br>Thanks for your business. <br><br><br><br>The retainer
invoice RET-00001 is attached with this email. You can choose the easy way out and <a href= https://invoice.zoho.com/SecurePayment?CInvoiceID=b9800228e011ae86abe71227bdacb3c68e1af685f647dcaed747812e0b9314635e55ac6223925675b371fcbd2d5ae3dc >pay
online for this invoice.</a> <br><br>Here''s an overview of the invoice for your reference. <br><br><br><br>Invoice
Overview: <br><br>Invoice : INV-00001 <br><br>Date : 05 Aug 2013 <br><br>Amount :
$541.82 <br><br><br><br>It was great working with you. Looking forward to working with you again.<br><br><br>\nRegards<br>\nZillium
Inc<br>\n",'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Retainer Invoices
summary: Get retainer invoice email content
description: Get the email content of a retainer invoice.
operationId: getRetainerInvoiceEmailContent
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{retainerinvoice_id}/address/billing:
put:
tags:
- Retainer Invoices
summary: Update billing address
description: Updates the billing address for this retainer invoice alone.
operationId: updateBillingAddress6
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip:
type: integer
country:
type: string
fax:
type: string
example:
address: "B-1104, 11F, \nHorizon International Tower, \nNo. 6, ZhiChun Road, HaiDian District"
city: Beijing
state: Beijing
zip: 1000881
country: ''
fax: +86-10-82637827
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/templates:
get:
tags:
- Retainer Invoices
summary: List retainer invoice templates
description: Get all retainer invoice pdf templates.
operationId: listRetainerInvoiceTemplates
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{retainerinvoice_id}/attachment:
post:
tags:
- Retainer Invoices
summary: Add attachment to a retainer invoice
description: Attach a file to an invoice.
operationId: addAttachmentToARetainerInvoice
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
can_send_in_mail:
type: boolean
attachment:
type: string
example:
can_send_in_mail: true
attachment: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Retainer Invoices
summary: Get a retainer invoice attachment
description: Returns the file attached to the retainer invoice.
operationId: getARetainerInvoiceAttachment
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{retainerinvoice_id}/documents/{document_id}:
delete:
tags:
- Retainer Invoices
summary: Delete an attachment
description: Delete the file attached to the retainer invoice.
operationId: deleteAnAttachment3
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
- name: document_id
in: path
required: true
description: Unique identifier of the retainer invoice document.
schema:
type: string
example: '982000000567115'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{retainerinvoice_id}/comments:
post:
tags:
- Retainer Invoices
summary: Add comment
description: Add a comment for a retainer invoice.
operationId: addComment5
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
payment_expected_date:
type: string
show_comment_to_clients:
type: boolean
example:
description: comment added
payment_expected_date: ' '
show_comment_to_clients: true
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Retainer Invoices
summary: List retainer invoice comments & history
description: Get the complete history and comments of a retainer invoice.
operationId: listRetainerInvoiceCommentsHistory
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/retainerinvoices/{retainerinvoice_id}/comments/{comment_id}:
delete:
tags:
- Retainer Invoices
summary: Delete a comment
description: Delete a retainer invoice comment.
operationId: deleteAComment8
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '982000000567019'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Retainer Invoices
summary: Update comment
description: Update an existing comment of a retainer invoice.
operationId: updateComment4
parameters:
- name: retainerinvoice_id
in: path
required: true
description: Unique identifier of the retainer invoice.
schema:
type: string
example: '982000000567114'
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '982000000567019'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
show_comment_to_clients:
type: boolean
example:
description: ''
show_comment_to_clients: true
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders:
post:
tags:
- Sales Order
summary: Create a sales order
description: Create a sales order for your customer.
operationId: createASalesOrder
parameters:
- name: ignore_auto_number_generation
in: query
description: Ignore auto sales order number generation for this sales order. This mandates the sales order number.
schema:
type: string
example: 'False'
- name: can_send_in_mail
in: query
description: Can the file be sent in mail.
schema:
type: string
example: 'True'
- name: totalFiles
in: query
description: Total number of files.
schema:
type: string
example: '0'
- name: doc
in: query
description: Document that is to be attached
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
date:
type: string
shipment_date:
type: string
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: string
value:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
place_of_supply:
type: string
salesperson_id:
type: string
merchant_id:
type: string
gst_treatment:
type: string
gst_no:
type: string
is_inclusive_tax:
type: boolean
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
item_order:
type: integer
item_id:
type: string
rate:
type: integer
name:
type: string
description:
type: string
quantity:
type: integer
product_type:
type: string
hsn_or_sac:
type: integer
sat_item_key_code:
type: integer
unitkey_code:
type: string
location_id:
type: string
discount:
type: string
tax_id:
type: string
tds_tax_id:
type: string
tags:
type: array
items:
type: object
properties: {}
unit:
type: string
item_custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
tax_exemption_id:
type: string
tax_exemption_code:
type: string
tax_treatment_code:
type: string
avatax_exempt_no:
type: string
avatax_use_code:
type: string
project_id:
type: integer
notes:
type: string
terms:
type: string
billing_address_id:
type: integer
shipping_address_id:
type: string
crm_owner_id:
type: string
crm_custom_reference_id:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
salesorder_number:
type: string
reference_number:
type: string
is_update_customer:
type: boolean
discount:
type: string
exchange_rate:
type: number
salesperson_name:
type: string
notes_default:
type: string
terms_default:
type: string
tax_id:
type: string
tax_authority_id:
type: string
tax_exemption_id:
type: string
tax_authority_name:
type: string
tax_exemption_code:
type: string
avatax_exempt_no:
type: string
avatax_use_code:
type: string
shipping_charge:
type: integer
adjustment:
type: number
delivery_method:
type: string
estimate_id:
type: string
is_discount_before_tax:
type: boolean
discount_type:
type: string
adjustment_description:
type: string
pricebook_id:
type: string
template_id:
type: string
documents:
type: array
items:
type: string
zcrm_potential_id:
type: string
zcrm_potential_name:
type: string
example:
customer_id: '460000000017138'
currency_id: '460000000000097'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
date: '2014-07-28'
shipment_date: ''
custom_fields:
- customfield_id: '460000000639129'
value: Normal
tags:
- tag_id: {}
tag_option_id: {}
place_of_supply: TN
salesperson_id: '460000000000097'
merchant_id: '460000000000597'
gst_treatment: business_gst
gst_no: 22AAAAA0000A1Z5
is_inclusive_tax: false
location_id: '460000000038080'
line_items:
- item_order: 0
item_id: '460000000017088'
rate: 120
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
quantity: 40
product_type: goods
hsn_or_sac: 80540
sat_item_key_code: 71121206
unitkey_code: E48
location_id: '460000000038080'
discount: ''
tax_id: '460000000017094'
tds_tax_id: '460000000017098'
tags:
- {}
unit: Nos
item_custom_fields:
- customfield_id: {}
value: {}
tax_exemption_id: ''
tax_exemption_code: ''
tax_treatment_code: uae_others
avatax_exempt_no: ''
avatax_use_code: ''
project_id: 90300000087378
notes: ''
terms: ''
billing_address_id: 460000000032174
shipping_address_id: ''
crm_owner_id: ''
crm_custom_reference_id: ''
vat_treatment: ''
tax_treatment: vat_registered
is_reverse_charge_applied: true
salesorder_number: SO-00001
reference_number: REF-001
is_update_customer: false
discount: ''
exchange_rate: 1.233
salesperson_name: John Roberts
notes_default: ''
terms_default: ''
tax_id: '460000000017094'
tax_authority_id: ''
tax_exemption_id: ''
tax_authority_name: ''
tax_exemption_code: ''
avatax_exempt_no: ''
avatax_use_code: ''
shipping_charge: 2
adjustment: 0.2
delivery_method: Air
estimate_id: ''
is_discount_before_tax: true
discount_type: entity_level
adjustment_description: Adjustment
pricebook_id: ''
template_id: '460000000021001'
documents:
- document_id
- file_name
zcrm_potential_id: '460000000033001'
zcrm_potential_name: ''
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Sales Order
summary: List sales orders
description: List all sales orders.
operationId: listSalesOrders
parameters:
- name: sort_column
in: query
description: Specify the column field for sorting sales order results. Available options include `customer_name`,
`salesorder_number`, `shipment_date`, `last_modified_time`, `reference_number`, `total`, `date`, and `created_time`.
schema:
type: string
example: created_time
- name: search_text
in: query
description: General search parameter for cross-field text matching across sales order number, reference number, and
customer name fields. Enables unified search functionality for quick order identification and customer order lookup
operations.
schema:
type: string
- name: filter_by
in: query
description: 'Filter sales order by status. Allowed Values: `Status.All`, `Status.Open`, `Status.Draft`, `Status.OverDue`,
`Status.PartiallyInvoiced`, `Status.Invoiced`, `Status.Void` and `Status.Closed`'
schema:
type: string
- name: salesorder_number
in: query
description: 'Filter sales orders by sales order number using various matching operators. Available variants include
`salesorder_number_startswith`, `salesorder_number_not_in`, `salesorder_number_in`, and `salesorder_number_contains`.
Maximum search length: 100 characters.'
schema:
type: string
example: SO-001
- name: item_name
in: query
description: 'Filter sales orders by line item name using various matching operators. Available variants include `item_name_startswith`,
`item_name_not_in`, `item_name_in`, and `item_name_contains`. Maximum search length: 100 characters.'
schema:
type: string
- name: item_id
in: query
description: Filter sales orders by specific line item identifier. Retrieves all sales orders containing a particular
product or service item based on its unique identifier for inventory tracking and item-based reporting purposes.
schema:
type: string
example: '460000000017088'
- name: item_description
in: query
description: 'Filter sales orders by line item description text using various matching operators. Available variants
include `item_description_startswith`, `item_description_not_in`, `item_description_in`, and `item_description_contains`.
Maximum search length: 100 characters.'
schema:
type: string
- name: reference_number
in: query
description: Filter sales orders by external reference number using various matching operators. Available variants
include `reference_number_startswith`, `reference_number_not_in`, `reference_number_in`, and `reference_number_contains`.
schema:
type: string
example: REF-001
- name: customer_name
in: query
description: 'Filter sales orders by customer name using various matching operators. Available variants include `customer_name_startswith`,
`customer_name_not_in`, `customer_name_in`, and `customer_name_contains`. Maximum search length: 100 characters.'
schema:
type: string
example: SAF Instruments Inc
- name: total
in: query
description: Filter sales orders by total amount using various range operators. Available variants include `total_start`,
`total_end`, `total_less_than`, `total_less_equals`, `total_greater_than`, and `total_greater_equals`.
schema:
type: string
example: '12400'
- name: date
in: query
description: 'Filter sales orders by creation date using various date range operators. Available variants include
`date_start`, `date_end`, `date_before`, and `date_after`. Default date format: `yyyy-mm-dd`.'
schema:
type: string
example: '2014-07-28'
- name: shipment_date
in: query
description: 'Search sales order by sales order shipment date. Variants: `shipment_date_start`, `shipment_date_end`,
`shipment_date_before` and `shipment_date_after`. Default date format : `yyyy-mm-dd`'
schema:
type: string
- name: status
in: query
description: 'Search sales order by sales order status. Allowed Values: `draft`, `open`, `invoiced`, `partially_invoiced`,
`void` and `overdue`.'
schema:
type: string
example: open
- name: customer_id
in: query
description: Filter sales orders by specific customer identifier. Retrieves all sales orders associated with a particular
customer account for customer relationship management, order history tracking, and customer-specific reporting and
analysis purposes.
schema:
type: string
example: '460000000017138'
- name: salesperson_id
in: query
description: Filter sales orders by specific sales representative identifier. Retrieves all sales orders assigned
to a particular salesperson for performance tracking, commission calculations, sales territory management, and individual
sales reporting purposes.
schema:
type: string
example: '460000000000097'
- name: salesorder_ids
in: query
description: 'ID''s of the salesorder [Comma seperated values] . `Maximum Length : 200`'
schema:
type: string
example: '460108000000072000'
- name: zcrm_potential_id
in: query
schema:
type: string
example: '460000000033001'
- name: last_modified_time
in: query
description: Last Modified time of the Sales Order
schema:
type: string
example: 2014-08-25T11:23:26+0530
- name: accept
in: query
description: 'Get the details of a particular sales order in formats such as json/ pdf/ html. Default format is json.
Allowed Values: `json`, `csv` , `xml`, `xls`, `xlsx`, `pdf`, `jhtml` and `html`.'
schema:
type: string
- name: print
in: query
description: Print the exported pdf. ` It will be used when accept = pdf and atleast one value in salesorder_ids `
schema:
type: string
example: 'False'
- name: customview_id
in: query
description: ID of the customview
schema:
type: string
example: '460000004000597'
- name: zcrm_potential_id
in: query
description: Potential ID of a Deal in CRM.
schema:
type: string
example: '460000000026049'
- name: page
in: query
description: Specify the page number for paginated results retrieval. Controls which subset of sales order records
to return, enabling efficient data handling for large result sets. Default value is 1 for the first page.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Specify the maximum number of sales order records to return per page. Controls result set size for optimal
performance, memory usage, and user experience. Default value is 200 records per page.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Sales Order
summary: Update a sales order using a custom field's unique value
description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can
use that custom field's value to update a sales order by providing its API name in the X-Unique-Identifier-Key header
and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding sales order will be
retrieved and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the
custom field's unique value is not found in any of the existing sales orders, a new sales order will be created if
the necessary payload details are available
operationId: updateASalesOrderUsingACustomFieldsUniqueValue
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
date:
type: string
shipment_date:
type: string
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: string
value:
type: string
place_of_supply:
type: string
salesperson_id:
type: string
merchant_id:
type: string
gst_treatment:
type: string
gst_no:
type: string
is_inclusive_tax:
type: boolean
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
item_order:
type: integer
line_item_id:
type: string
item_id:
type: string
rate:
type: integer
name:
type: string
description:
type: string
quantity:
type: integer
discount:
type: string
tax_id:
type: string
tds_tax_id:
type: string
tags:
type: array
items:
type: object
properties: {}
unit:
type: string
item_custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
tax_exemption_id:
type: string
tax_exemption_code:
type: string
tax_treatment_code:
type: string
avatax_exempt_no:
type: string
avatax_use_code:
type: string
project_id:
type: integer
location_id:
type: string
notes:
type: string
terms:
type: string
billing_address_id:
type: integer
shipping_address_id:
type: string
crm_owner_id:
type: string
crm_custom_reference_id:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
salesorder_number:
type: string
reference_number:
type: string
is_update_customer:
type: boolean
discount:
type: string
exchange_rate:
type: number
salesperson_name:
type: string
notes_default:
type: string
terms_default:
type: string
tax_id:
type: string
tax_authority_id:
type: string
tax_exemption_id:
type: string
tax_authority_name:
type: string
tax_exemption_code:
type: string
avatax_exempt_no:
type: string
avatax_use_code:
type: string
shipping_charge:
type: integer
adjustment:
type: number
delivery_method:
type: string
is_discount_before_tax:
type: boolean
discount_type:
type: string
adjustment_description:
type: string
pricebook_id:
type: string
template_id:
type: string
documents:
type: array
items:
type: string
zcrm_potential_id:
type: string
zcrm_potential_name:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
customer_id: '460000000017138'
currency_id: '460000000000097'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
date: '2014-07-28'
shipment_date: ''
custom_fields:
- customfield_id: '460000000639129'
value: Normal
place_of_supply: TN
salesperson_id: '460000000000097'
merchant_id: '460000000000597'
gst_treatment: business_gst
gst_no: 22AAAAA0000A1Z5
is_inclusive_tax: false
location_id: '460000000038080'
line_items:
- item_order: 0
line_item_id: '460000000039131'
item_id: '460000000017088'
rate: 120
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
quantity: 40
discount: ''
tax_id: '460000000017094'
tds_tax_id: '460000000017098'
tags:
- {}
unit: Nos
item_custom_fields:
- customfield_id: {}
value: {}
tax_exemption_id: ''
tax_exemption_code: ''
tax_treatment_code: uae_others
avatax_exempt_no: ''
avatax_use_code: ''
project_id: 90300000087378
location_id: '460000000038080'
notes: ''
terms: ''
billing_address_id: 460000000032174
shipping_address_id: ''
crm_owner_id: ''
crm_custom_reference_id: ''
vat_treatment: ''
tax_treatment: vat_registered
is_reverse_charge_applied: true
salesorder_number: SO-00001
reference_number: REF-001
is_update_customer: false
discount: ''
exchange_rate: 1.233
salesperson_name: John Roberts
notes_default: ''
terms_default: ''
tax_id: '460000000017094'
tax_authority_id: ''
tax_exemption_id: ''
tax_authority_name: ''
tax_exemption_code: ''
avatax_exempt_no: ''
avatax_use_code: ''
shipping_charge: 2
adjustment: 0.2
delivery_method: Air
is_discount_before_tax: true
discount_type: entity_level
adjustment_description: Adjustment
pricebook_id: ''
template_id: '460000000021001'
documents:
- document_id
- file_name
zcrm_potential_id: '460000000033001'
zcrm_potential_name: ''
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}:
delete:
tags:
- Sales Order
summary: Delete a sales order
description: Delete an existing sales order. Invoiced sales order cannot be deleted.
operationId: deleteASalesOrder
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Sales Order
summary: Get a sales order
description: Get the details of a sales order.
operationId: getASalesOrder
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
- name: print
in: query
description: Print the exported pdf.
schema:
type: string
example: 'False'
- name: accept
in: query
description: 'Get the details of a particular sales order in formats such as json/ pdf/ html. Default format is json.
Allowed Values: `json`, `csv` , `xml`, `xls`, `xlsx`, `pdf`, `jhtml` and `html`.'
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Sales Order
summary: Update a sales order
description: Update an existing sales order. To delete a line item just remove it from the line_items list.
operationId: updateASalesOrder
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
- name: ignore_auto_number_generation
in: query
description: Ignore auto sales order number generation for this sales order. This mandates the sales order number.
schema:
type: string
example: 'False'
- name: can_send_in_mail
in: query
description: Can the file be sent in mail.
schema:
type: string
example: 'True'
- name: totalFiles
in: query
description: Total number of files.
schema:
type: string
example: '0'
- name: doc
in: query
description: Document that is to be attached
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
currency_id:
type: string
contact_persons_associated:
type: array
items:
type: object
properties:
contact_person_id:
type: object
properties: {}
communication_preference:
type: object
properties: {}
date:
type: string
shipment_date:
type: string
custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: string
value:
type: string
place_of_supply:
type: string
salesperson_id:
type: string
merchant_id:
type: string
gst_treatment:
type: string
gst_no:
type: string
is_inclusive_tax:
type: boolean
location_id:
type: string
line_items:
type: array
items:
type: object
properties:
item_order:
type: integer
line_item_id:
type: string
item_id:
type: string
rate:
type: integer
name:
type: string
description:
type: string
quantity:
type: integer
discount:
type: string
tax_id:
type: string
tds_tax_id:
type: string
tags:
type: array
items:
type: object
properties: {}
unit:
type: string
item_custom_fields:
type: array
items:
type: object
properties:
customfield_id:
type: object
properties: {}
value:
type: object
properties: {}
tax_exemption_id:
type: string
tax_exemption_code:
type: string
tax_treatment_code:
type: string
avatax_exempt_no:
type: string
avatax_use_code:
type: string
project_id:
type: integer
location_id:
type: string
notes:
type: string
terms:
type: string
billing_address_id:
type: integer
shipping_address_id:
type: string
crm_owner_id:
type: string
crm_custom_reference_id:
type: string
vat_treatment:
type: string
tax_treatment:
type: string
is_reverse_charge_applied:
type: boolean
salesorder_number:
type: string
reference_number:
type: string
is_update_customer:
type: boolean
discount:
type: string
exchange_rate:
type: number
salesperson_name:
type: string
notes_default:
type: string
terms_default:
type: string
tax_id:
type: string
tax_authority_id:
type: string
tax_exemption_id:
type: string
tax_authority_name:
type: string
tax_exemption_code:
type: string
avatax_exempt_no:
type: string
avatax_use_code:
type: string
shipping_charge:
type: integer
adjustment:
type: number
delivery_method:
type: string
is_discount_before_tax:
type: boolean
discount_type:
type: string
adjustment_description:
type: string
pricebook_id:
type: string
template_id:
type: string
documents:
type: array
items:
type: string
zcrm_potential_id:
type: string
zcrm_potential_name:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
customer_id: '460000000017138'
currency_id: '460000000000097'
contact_persons_associated:
- contact_person_id: {}
communication_preference: {}
date: '2014-07-28'
shipment_date: ''
custom_fields:
- customfield_id: '460000000639129'
value: Normal
place_of_supply: TN
salesperson_id: '460000000000097'
merchant_id: '460000000000597'
gst_treatment: business_gst
gst_no: 22AAAAA0000A1Z5
is_inclusive_tax: false
location_id: '460000000038080'
line_items:
- item_order: 0
line_item_id: '460000000039131'
item_id: '460000000017088'
rate: 120
name: Hard Drive
description: 500GB, USB 2.0 interface 1400 rpm, protective hard case.
quantity: 40
discount: ''
tax_id: '460000000017094'
tds_tax_id: '460000000017098'
tags:
- {}
unit: Nos
item_custom_fields:
- customfield_id: {}
value: {}
tax_exemption_id: ''
tax_exemption_code: ''
tax_treatment_code: uae_others
avatax_exempt_no: ''
avatax_use_code: ''
project_id: 90300000087378
location_id: '460000000038080'
notes: ''
terms: ''
billing_address_id: 460000000032174
shipping_address_id: ''
crm_owner_id: ''
crm_custom_reference_id: ''
vat_treatment: ''
tax_treatment: vat_registered
is_reverse_charge_applied: true
salesorder_number: SO-00001
reference_number: REF-001
is_update_customer: false
discount: ''
exchange_rate: 1.233
salesperson_name: John Roberts
notes_default: ''
terms_default: ''
tax_id: '460000000017094'
tax_authority_id: ''
tax_exemption_id: ''
tax_authority_name: ''
tax_exemption_code: ''
avatax_exempt_no: ''
avatax_use_code: ''
shipping_charge: 2
adjustment: 0.2
delivery_method: Air
is_discount_before_tax: true
discount_type: entity_level
adjustment_description: Adjustment
pricebook_id: ''
template_id: '460000000021001'
documents:
- document_id
- file_name
zcrm_potential_id: '460000000033001'
zcrm_potential_name: ''
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorder/{salesorder_id}/customfields:
put:
tags:
- Sales Order
summary: Update custom field in existing salesorders
description: Update the value of the custom field in existing salesorders.
operationId: updateCustomFieldInExistingSalesorders
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
type: object
properties:
customfield_id:
type: string
index:
type: integer
value:
type: string
label:
type: string
example:
- customfield_id: '460000000639129'
index: 1
value: Normal
label: Priority
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/status/open:
post:
tags:
- Sales Order
summary: Mark a sales order as open
description: Mark a draft sales order as open.
operationId: markASalesOrderAsOpen
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/status/void:
post:
tags:
- Sales Order
summary: Mark a sales order as void
description: Mark a sales order as void.
operationId: markASalesOrderAsVoid
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
reason:
type: string
example:
reason: ' '
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/substatus/{status_code}:
post:
tags:
- Sales Order
summary: Update a sales order sub status
description: Update a sales order sub status.
operationId: updateASalesOrderSubStatus
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
- name: status_code
in: path
required: true
description: Unique code of the status of a sales order.
schema:
type: string
example: cs_openshi
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/email:
post:
tags:
- Sales Order
summary: Email a sales order
description: Email a sales order to the customer. Input json string is not mandatory. If input json string is empty,
mail will be send with default mail content.
operationId: emailASalesOrder
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
- name: salesorder_id
in: query
description: ID of the Sales Order
schema:
type: string
example: '460000000039129'
- name: attachments
in: query
description: Attachments of the Sales Order
schema:
type: string
- name: send_attachment
in: query
description: Send the sales order attachment a with the email.
schema:
type: string
example: 'False'
- name: file_name
in: query
description: Name of the file.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
from_address_id:
type: string
send_from_org_email_id:
type: boolean
to_mail_ids:
type: array
items:
type: string
cc_mail_ids:
type: array
items:
type: string
bcc_mail_ids:
type: array
items:
type: string
subject:
type: string
documents:
type: string
invoice_id:
type: integer
body:
type: string
example:
from_address_id: johnRoberts@safInstrument.com
send_from_org_email_id: true
to_mail_ids:
- john@safInstruments.com
cc_mail_ids:
- smith@safInstruments.com
bcc_mail_ids:
- mark@safInstruments.com
subject: 'Sales Order from Zillium Inc (Sales Order #: SO-00001)'
documents: ''
invoice_id: 460000000028192
body: '<br>Dear SAF Instruments Inc,&nbsp;<br><br>Thanks for your interest in our services. Please find our
sales order attached with this mail.<br><br> An overview of the sales order is available below for your reference:
&nbsp;<br><br> ----------------------------------------------------------------------------------------<br>
<h2>Sales Order&nbsp;# :&nbsp;SO-00001</h2><br> ----------------------------------------------------------------------------------------<br>
<b>&nbsp;Order Date &nbsp; &nbsp;&nbsp;&nbsp;: &nbsp;28 Jul 2014</b><br><b>&nbsp;Amount &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; : &nbsp;&nbsp;$12,400.00</b><br>----------------------------------------------------------------------------------------<br><br><span>Assuring
you of our best services at all times.</span><br><br><br>Regards,<br><br>John<br>Zillium Inc<br><br><br>'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Sales Order
summary: Get sales order email content
description: Get the email content of a sales order.
operationId: getSalesOrderEmailContent
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
- 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.
schema:
type: string
example: '460000000001287'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/submit:
post:
tags:
- Sales Order
summary: Submit a sales order for approval
description: Submit a sales order for approval.
operationId: submitASalesOrderForApproval
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/approve:
post:
tags:
- Sales Order
summary: Approve a sales order.
description: Approve a sales order.
operationId: approveASalesOrder
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/pdf:
get:
tags:
- Sales Order
summary: Bulk export sales orders
description: Maximum of 25 sales orders can be exported in a single pdf.
operationId: bulkExportSalesOrders
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/print:
get:
tags:
- Sales Order
summary: Bulk print sales orders
description: Export sales orders as pdf and print them. Maximum of 25 sales orders can be printed.
operationId: bulkPrintSalesOrders
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/address/billing:
put:
tags:
- Sales Order
summary: Update billing address
description: Updates the billing address for this sales order alone.
operationId: updateBillingAddress7
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip:
type: string
country:
type: string
phone:
type: string
fax:
type: string
attention:
type: string
is_one_off_address:
type: boolean
is_update_customer:
type: boolean
is_verified:
type: boolean
example:
address: "B-1104, 11F, \nHorizon International Tower, \nNo. 6, ZhiChun Road, HaiDian District"
city: Beijing
state: Beijing
zip: '1000881'
country: China
phone: +1-925-921-9201
fax: +86-10-82637827
attention: ''
is_one_off_address: true
is_update_customer: false
is_verified: false
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/address/shipping:
put:
tags:
- Sales Order
summary: Update shipping address
description: Updates the shipping address for this sales order alone.
operationId: updateShippingAddress4
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip:
type: string
country:
type: string
fax:
type: string
attention:
type: string
is_one_off_address:
type: boolean
is_update_customer:
type: boolean
is_verified:
type: boolean
example:
address: "B-1104, 11F, \nHorizon International Tower, \nNo. 6, ZhiChun Road, HaiDian District"
city: Beijing
state: Beijing
zip: '1000881'
country: China
fax: +86-10-82637827
attention: ''
is_one_off_address: true
is_update_customer: false
is_verified: false
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/templates:
get:
tags:
- Sales Order
summary: List sales order templates
description: Get all sales order pdf templates.
operationId: listSalesOrderTemplates
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/templates/{template_id}:
put:
tags:
- Sales Order
summary: Update sales order template
description: Update the pdf template associated with the sales order.
operationId: updateSalesOrderTemplate
parameters:
- name: template_id
in: path
required: true
description: Unique identifier of the sales order template.
schema:
type: string
example: '460000000021001'
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/attachment:
post:
tags:
- Sales Order
summary: Add attachment to a sales order
description: Attach a file to a sales order.
operationId: addAttachmentToASalesOrder
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
- name: attachment
in: query
description: The file that is to be added as an Attachment in the Sales Order
schema:
type: string
- name: can_send_in_mail
in: query
description: Can the file be sent in mail.
schema:
type: string
example: 'True'
- name: doc
in: query
description: Document that is to be attached
schema:
type: string
- name: totalFiles
in: query
description: Total number of files.
schema:
type: string
example: '0'
- name: document_ids
in: query
description: ID's of the document
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
delete:
tags:
- Sales Order
summary: Delete an attachment
description: Delete the file attached to the sales order.
operationId: deleteAnAttachment4
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Sales Order
summary: Get a sales order attachment
description: Returns the file attached to the sales order.
operationId: getASalesOrderAttachment
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
- name: preview
in: query
description: Check if preview of the Sales Order is required
schema:
type: string
example: 'False'
- name: inline
in: query
description: Check if inline response is required
schema:
type: string
example: 'False'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Sales Order
summary: Update attachment preference
description: Set whether you want to send the attached file while emailing the sales order.
operationId: updateAttachmentPreference3
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
- name: can_send_in_mail
in: query
description: Can the file be sent in mail.
required: true
schema:
type: string
example: 'True'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/comments:
post:
tags:
- Sales Order
summary: Add comment
description: Add a comment for a sales order.
operationId: addComment6
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
example:
description: This is a comment.
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Sales Order
summary: List sales order comments & history
description: Get the complete history and comments of sales order.
operationId: listSalesOrderCommentsHistory
parameters:
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesorders/{salesorder_id}/comments/{comment_id}:
delete:
tags:
- Sales Order
summary: Delete a comment
description: Delete a sales order comment.
operationId: deleteAComment9
parameters:
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '460000000048023'
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Sales Order
summary: Update comment
description: Update existing comment of a sales order.
operationId: updateComment5
parameters:
- name: comment_id
in: path
required: true
description: Unique identifier of the comment.
schema:
type: string
example: '460000000048023'
- name: salesorder_id
in: path
required: true
description: Unique identifier of the sales order.
schema:
type: string
example: '460000000039129'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
example:
description: This is a comment.
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesreceipts:
post:
tags:
- Sales Receipt
summary: Create a sales receipt
description: Create a sales receipt for immediate payment transactions.
operationId: createASalesReceipt
parameters:
- name: ignore_auto_number_generation
in: query
description: Ignore auto sales receipt number generation for this sales receipt. This mandates the sales receipt number.
schema:
type: string
example: 'False'
- name: can_send_in_mail
in: query
description: Send the sales receipt to customer via email.
schema:
type: string
example: 'True'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
receipt_number:
type: string
date:
type: string
payment_mode:
type: string
line_items:
type: array
items:
type: object
properties:
item_id:
type: string
rate:
type: integer
quantity:
type: integer
tax_id:
type: string
tags:
type: array
items:
type: object
properties: {}
notes:
type: string
terms:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
customer_id: '460000000017138'
receipt_number: SR-00001
date: '2014-07-28'
payment_mode: cash
line_items:
- item_id: '460000000017088'
rate: 120
quantity: 2
tax_id: '460000000017094'
tags:
- {}
notes: Thank you for your business
terms: Payment received in full
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Sales Receipt
summary: List sales receipts
description: List all sales receipts.
operationId: listSalesReceipts
parameters:
- name: receipt_number
in: query
description: Search receipt by receipt number. Filters receipts based on their unique identifier. Supports `receipt_number_startswith`
and `receipt_number_contains` variants. Maximum length is 100 characters. Useful for finding specific receipts or
receipts with similar numbering patterns.
schema:
type: string
example: INV-00003
- name: item_name
in: query
description: Search receipt by item name. Supports `item_name_startswith` and `item_name_contains` variants. Maximum
length is 100 characters.
schema:
type: string
example: Hard Drive
- name: sort_column
in: query
description: Specify the column field for sorting sales receipt results. Available options include `customer_name`,
`receipt_number`, `date`, `total`, and `created_time`.
schema:
type: string
example: created_time
- name: filter_by
in: query
description: 'Filter sales receipts by status. Allowed Values: `ThisWeek`, `ThisMonth`, `ThisQuarter`, `ThisYear`,`PreviousDay`,
`PreviousWeek`, `PreviousMonth`, `PreviousQuarter`, `PreviousYear`, `Status.All`, `Status.Draft`, `Status.Sent`'
schema:
type: string
- name: customer_id
in: query
description: Filter sales receipts by specific customer identifier.
schema:
type: string
example: '460000000017138'
- name: date
in: query
description: 'Filter sales receipts by date. Available variants include `date_start`, `date_end`, `date_before`, and
`date_after`. Default date format: `yyyy-mm-dd`.'
schema:
type: string
example: '2014-07-28'
- name: total
in: query
description: Filter sales receipts by total amount using various range operators. Available variants include `total_start`,
`total_end`, `total_less_than`, `total_greater_than`.
schema:
type: string
example: '1000'
- name: page
in: query
description: Specify the page number for paginated results retrieval. Default value is 1 for the first page.
schema:
type: string
example: '1'
- name: per_page
in: query
description: Specify the maximum number of sales receipt records to return per page. Default value is 200 records
per page.
schema:
type: string
example: '200'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesreceipts/{sales_receipt_id}:
delete:
tags:
- Sales Receipt
summary: Delete a sales receipt
description: Delete an existing sales receipt.
operationId: deleteASalesReceipt
parameters:
- name: sales_receipt_id
in: path
required: true
schema:
type: string
example: '460000000039129'
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
get:
tags:
- Sales Receipt
summary: Get a sales receipt
description: Get the details of a sales receipt.
operationId: getASalesReceipt
parameters:
- name: sales_receipt_id
in: path
required: true
schema:
type: string
example: '460000000039129'
- name: accept
in: query
description: 'Get the details of a particular sales receipt in formats such as json/ pdf/ html. Default format is
json. Allowed Values: `json`, `pdf`, `html`.'
schema:
type: string
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
put:
tags:
- Sales Receipt
summary: Update a sales receipt
description: Update an existing sales receipt.
operationId: updateASalesReceipt
parameters:
- name: sales_receipt_id
in: path
required: true
schema:
type: string
example: '460000000039129'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
receipt_number:
type: string
date:
type: string
payment_mode:
type: string
line_items:
type: array
items:
type: object
properties:
item_id:
type: string
rate:
type: integer
quantity:
type: integer
tags:
type: array
items:
type: object
properties: {}
notes:
type: string
tags:
type: array
items:
type: object
properties:
tag_id:
type: object
properties: {}
tag_option_id:
type: object
properties: {}
example:
customer_id: '460000000017138'
receipt_number: SR-00001
date: '2014-07-28'
payment_mode: cash
line_items:
- item_id: '460000000017088'
rate: 120
quantity: 2
tags:
- {}
notes: Thank you for your business
tags:
- tag_id: {}
tag_option_id: {}
responses:
'200':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
'500':
description: Internal Server Error
/salesreceipts/{sales_receipt_id}/email:
post:
tags:
- Sales Receipt
summary: Email a sales receipt
description: Email a sales receipt to the customer.
operationId: emailASalesReceipt
parameters:
- name: attach_pdf
in: query
description: Send the sales receipt pdf with the email.
schema:
type: string
example: 'False'
- name: sales_receipt_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
to_mail_ids:
type: array
items:
type: string
subject:
type: string
body:
type: string
example:
to_mail_ids:
- john@safinstruments.com
subject: Sales Receipt from Zillium Inc
body: Please find the sales receipt attached.
responses:
'200':
description: Success
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment