Get one invoice#
/v1/invoices/{id}One of the agent group's own invoices, with every line on it and its credit-note relationships. An invoice that has been credit-noted lists those notes; a credit note names the invoice it corrects.
This is a read. An issued invoice is never edited — no field on it can be changed once it is numbered, because the number is part of a filed statutory series. A correction is a credit note referencing this invoice, and it appears here under creditNotes while this invoice's own figures stay exactly as issued.
An invoice belonging to another agent group returns the same 404, with the same message, as an id that never existed. The scoping is in the SQL, not in a check after the fetch, so this endpoint cannot be used to discover whether an id exists.
Request
curl -X GET 'https://partner-api.elivaas.com/v1/invoices/{id}' \
-u "$ELIVAAS_API_KEY:" \
-H 'Content-Type: application/json'const res = await fetch('https://partner-api.elivaas.com/v1/invoices/{id}', {
method: 'GET',
headers: {
Authorization: 'Basic ' + Buffer.from(process.env.ELIVAAS_API_KEY + ':').toString('base64'),
'Content-Type': 'application/json',
},
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();import os, requests
res = requests.get(
"https://partner-api.elivaas.com/v1/invoices/{id}",
auth=(os.environ["ELIVAAS_API_KEY"], ""),
timeout=30,
)
res.raise_for_status()
data = res.json(){
"invoice": {
"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"
},
"lines": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"lineKind": "STAY",
"description": "Pine Cottage — night of 2026-07-10",
"propertyName": "Pine Cottage",
"bookingId": "BK-1001",
"itemRef": "breakfast-continental",
"nightDate": "2026-07-10",
"checkIn": "2026-07-10",
"checkOut": "2026-07-11",
"quantity": 2,
"unitBase": 6800,
"taxableValue": 13600,
"gstRate": 5,
"cgst": 900,
"sgst": 900,
"igst": 0,
"lineTotal": 11800,
"creditNoteForLine": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
],
"creditNotes": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"invoiceNumber": "EV-HP/2026-27/000124",
"issueDate": "2026-08-20",
"total": 11800
}
],
"creditNoteForNumber": "EV-HP/2026-27/000123"
}Path parameters#
idstring<uuid>requiredThe invoice id.
Responses#
| Status | Meaning |
|---|---|
200 | The invoice, its lines and its credit notes. |
400 | Validation 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. |
401 | Missing, 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. |
404 | No such invoice for this agent group — identical for an unknown id and for another group's invoice. |
429 | Rate 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.