EDistribution API

List invoices#

GET/v1/invoices

The agent group's own invoices, newest issueDate first, plus what the group currently owes across all of them. Filter by status, and by from/to (an ISSUE-DATE window, both inclusive). Page with cursor — the opaque nextCursor from the previous page; a malformed or tampered cursor is a 400, never a crash and never a silent restart at page 1.

DRAFT and CANCELLED invoices are never listed, and asking for either is a 400. Both are unissued: they carry no invoice number and no issue date, and the (issueDate, id) keyset this endpoint pages on cannot express a position after a run of NULL dates — they would appear on page one and silently vanish from page two onwards. A draft has never been sent to anybody and is not a document you hold; a CANCELLED invoice today is only ever an abandoned draft, since an issued invoice is corrected by a credit note and never cancelled.

Credit notes ARE listed, as ordinary rows with creditNoteFor set and an amountDue of zero. The outstanding figure subtracts them: it is issued invoices, less allocated payments, LESS credit notes, so a group whose invoice was fully credit-noted is shown as owing nothing.

Request

cURL
curl -X GET 'https://partner-api.elivaas.com/v1/invoices' \
  -u "$ELIVAAS_API_KEY:" \
  -H 'Content-Type: application/json'
Response 200
{
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "invoiceNumber": "EV-HP/2026-27/000123",
      "status": "ISSUED",
      "issueDate": "2026-08-01",
      "dueDate": "2026-08-15",
      "periodFrom": "2026-07-01",
      "periodTo": "2026-07-31",
      "subtotal": 10000,
      "cgst": 900,
      "sgst": 900,
      "igst": 0,
      "discount": 0,
      "total": 11800,
      "amountPaid": 5000,
      "creditedAmount": 1800,
      "amountDue": 5000,
      "overdueSince": "2026-08-16",
      "supplierGstin": "02AAGCI9865C1ZL",
      "supplierName": "Elivaas Ventures Pvt Ltd",
      "supplierAddress": "string",
      "billToGstin": "06AAGCI9865C1ZK",
      "billToName": "string",
      "billToAddress": "string",
      "placeOfSupply": "Himachal Pradesh",
      "razorpayOrderId": "order_QAbc123XyZ4567",
      "creditNoteFor": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    }
  ],
  "nextCursor": "string",
  "outstanding": 23600,
  "oldestDueDate": "2026-08-15",
  "outstandingInvoiceCount": 3
}

Query parameters#

Invoice statuses to filter by. Defaults to all four. DRAFT and CANCELLED are rejected (400), as is any unknown value — never silently ignored.

fromstring<date>

Only invoices issued on or after this date (inclusive).

tostring<date>

Only invoices issued on or before this date (inclusive).

cursorstring

Keyset cursor: the nextCursor from the previous page.

sizeinteger<int32>

Page size, max 100.

Responses#

StatusMeaning
200OK
400Validation failure. The message names the offending parameter. Limits are rejected, never silently clamped: an over-length id list, a page size above 100 or a date window longer than 365 days all land here rather than coming back quietly truncated.
401Missing, malformed, revoked or unknown API key, or an agent group whose distribution access is disabled. Pass the key as the HTTP Basic username with an empty password.
429Rate limit exhausted for this credential. Wait Retry-After seconds before retrying; the budget is per credential, not per IP.

See Errors for the error body shape and which statuses are worth retrying.