v1

latestOpenAPI 3.0.0Proprietary2026-07-1313647393.0 KB
Invoices

Create an invoice

Create an invoice or payment page. Set type='invoice' for a formal invoice or type='link' for a simple payment page. The invoice is created in draft state; call POST /invoices/{id}/issue to send it to the customer. Cannot be used to create GST invoices (use the Dashboard for those). Maximum 50 line items per invoice.

post/invoices

Request body

type'invoice' | 'link' required

invoice: formal invoice; link: payment page.

descriptionstring
customer_idstring

Existing customer ID (cust_*). Provide this OR customer object, not both.

currencystring
receiptstring

Your internal reference number.

commentstring
termsstring

Payment terms shown on the invoice.

partial_paymentboolean

Allow customer to pay a partial amount initially.

first_payment_min_amountinteger

Minimum first payment amount in paise. Required when partial_payment=true.

expire_byinteger

Unix timestamp after which the invoice expires. Must be at least 15 minutes in the future.

notesNotes

Key-value pairs for storing custom metadata. Maximum 15 pairs. Each key and value must not exceed 256 characters.

Response

Invoice created in draft state.

idstring

Invoice ID. Prefix: inv_

entity'invoice'
type'invoice' | 'link'

invoice: a formal invoice document. link: a payment page / payment link.

status'draft' | 'issued' | 'partially_paid' | 'paid' | 'cancelled' | 'expired' | 'deleted'

Invoice lifecycle status. draft→issued→paid/partially_paid/cancelled/expired.

invoice_numberstring

Auto-generated invoice number (e.g. INV-001).

customer_idstring

Customer ID (cust_*).

customerobject

Inline customer details snapshot at time of invoice creation.

order_idstring

Associated order ID (order_*).

payment_idstring

Payment ID (pay_*) of the successful payment, if paid.

currencystring
gross_amountinteger

Sum of all line item amounts before tax (paise).

tax_amountinteger

Total tax amount (paise).

taxable_amountinteger

Taxable base amount (paise).

amountinteger

Total invoice amount including tax (paise).

amount_paidinteger

Amount received so far (paise). Relevant for partial_payment invoices.

amount_dueinteger

Remaining amount due (paise).

short_urlstring

Hosted payment page URL to send to the customer.

partial_paymentboolean

If true, customer can pay any amount ≥ first_payment_min_amount.

first_payment_min_amountinteger

Minimum amount for the first partial payment (paise). Required when partial_payment=true.

receiptstring

Your internal reference number.

descriptionstring
commentstring

Internal comment (not shown on invoice).

termsstring

Payment terms shown on the invoice.

notesNotes

Key-value pairs for storing custom metadata. Maximum 15 pairs. Each key and value must not exceed 256 characters.

expire_byinteger

Unix timestamp after which the invoice expires and cannot be paid.

issued_atinteger
paid_atinteger
cancelled_atinteger
expired_atinteger
created_atinteger