Get statement#
/v1/statementThe agent group's statement for [from, to] (both required, both inclusive; window capped as for any bulk read). Returns the opening balance (the group's net POSTED position immediately before from), every ledger entry in the period, the closing balance, and the current credit limit/available credit. openingBalance + the period's own POSTED movements == closingBalance, always — this is asserted, not assumed. AUTHORIZED entries appear in the period's entries for visibility but are excluded from both balance figures, since an authorization that never posts must never have been billed in the first place; availableCredit is a live, right-now figure (it DOES include authorized exposure) and is not itself a point-in-time value for to.
Request
curl -X GET 'https://partner-api.elivaas.com/v1/statement' \
-u "$ELIVAAS_API_KEY:" \
-H 'Content-Type: application/json'const res = await fetch('https://partner-api.elivaas.com/v1/statement', {
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/statement",
auth=(os.environ["ELIVAAS_API_KEY"], ""),
timeout=30,
)
res.raise_for_status()
data = res.json(){
"from": "2026-06-01T00:00:00Z",
"to": "2026-06-30T23:59:59Z",
"openingBalance": 12500,
"entries": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"type": "CHARGE",
"status": "AUTHORIZED",
"amount": 11800,
"currency": "INR",
"bookingId": "string",
"externalBookingId": "string",
"description": "string",
"occurredAt": "2026-05-21T11:09:03.024811Z"
}
],
"closingBalance": 15300,
"creditLimit": 50000,
"availableCredit": 34700
}Query parameters#
fromstring<date-time>requiredStart of the statement period (inclusive). Required.
tostring<date-time>requiredEnd of the statement period (inclusive). Required.
Responses#
| Status | Meaning |
|---|---|
200 | OK |
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. |
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.