EDistribution API

Credit and ledger#

Your account has one running balance with us. Every booking charges it, every cancellation credits it, every payment reduces it.

Two endpoints read it, both scoped to your own account:

GET /v1/statementWhere you stand right now
GET /v1/ledgerEvery individual movement

The statement #

GET /v1/statement is the one to watch. It answers "can I book?" before you try, rather than discovering the answer as a 402.

availableCredit is the number that decides a booking. It already accounts for bookings authorized but not yet posted, so it is the live figure — not a stale limit minus a stale balance.

from and to scope the activity summary; the credit position is always current.

Poll it on a schedule, or read it when your available credit is getting close to the value of a booking you are about to make.

cURL
curl -G "$BASE/v1/statement" -u "$ELIVAAS_API_KEY:" \
  --data-urlencode 'from=2026-07-01' \
  --data-urlencode 'to=2026-07-31'
200 (trimmed)
{
  "creditLimit": 500000.00,
  "availableCredit": 18400.00,
  "outstanding": 481600.00,
  "overdueAmount": 0.00,
  "onHold": false,
  "currency": "INR"
}

The ledger#

GET /v1/ledger lists individual movements. Filter by date window, type, status, or by booking — with either our ids or yours (externalBookingIds), which is usually what a reconciliation job has to hand.

Entry types#

TypeDirectionRaised by
CHARGEIncreases what you oweA booking
CREDITReduces itA cancellation, within policy
PAYMENTReduces itMoney received
ADJUSTMENT_DEBITIncreases itA manual correction
ADJUSTMENT_CREDITReduces itA manual correction
WRITE_OFFReduces itA written-off balance

An amendment moves the charge; it does not add one#

This is the part that surprises reconciliation code.

A booking has exactly one CHARGE for its whole life. Amending the stay moves that entry's amount it does not post a second charge for the difference, and it does not post a credit for a reduction.

So a booking amended from ₹22,050 to ₹28,000 shows one CHARGE of ₹28,000, not two entries summing to it. Do not diff charges to detect amendments; read the booking or listen for booking.amended.

One booking's movements
curl -G "$BASE/v1/ledger" -u "$ELIVAAS_API_KEY:" \
  --data-urlencode 'externalBookingIds=your-ref-000123'

Statuses#

AUTHORIZED is a booking in flight — credit is reserved but the charge is not final. POSTED is settled into your balance and is what gets invoiced. RELEASED is a reservation that was given back. VOID never counted.

Only POSTED charges are invoiced. An AUTHORIZED entry affects your available credit but will not appear on a document.

Reconciling#

  1. Pull the window#

    GET /v1/ledger?from=…&to=…, paged to the end.

  2. Match on your own id#

    externalBookingId is on the entries. Match on it rather than ours — it is the id your system already stores.

  3. Apply direction from `type`#

    Never from the sign, which is always positive.

  4. Expect one CHARGE per booking#

    Amendments move it. A second charge for one booking is not something this API produces.

  5. Reconcile invoices separately#

    The ledger is what you owe; invoices are the documents demanding it. One booking can appear on two invoices when its properties span two states.

Next#

Invoices and paying — how these charges become documents, and how you settle them.