AntaraPayAPI v1

Part 8

Balances and journals

The three balance types (Active, On Hold, Pending) and the debit/credit journal.

Balances

GET/api/v1/balancesbalances:readResponse 200

Returns the balances for the single merchant identified by the API key; the v1 currency is IDR.

Response 200
{
  "data": {
    "currency": "IDR",
    "pending": "0",
    "available": "58500",
    "reserved": "40000",
    "total": "98500",
    "as_of": "2026-10-15T05:10:00Z",
    "version": 4
  },
  "request_id": "req_example_006"
}
Dashboard labelAPI fieldMeaning
Active BalanceavailableFunds ready to use.
On Hold BalancereservedFunds held for payouts.
Pending BalancependingVerified funds that are not yet ready to be paid out.
TotaltotalThe sum of the three, not a fourth balance type.

The API field names are kept for contract consistency; show the three labels above on your dashboard. Reading a balance is not a reservation; a payout POST still validates the current balance.

Read the journal

GET/api/v1/journalsjournals:readResponse 200

Filters: direction=CREDIT|DEBIT, bucket=PENDING|AVAILABLE|RESERVED, reference, from, to, cursor, limit. from/to filter on posted_at. Ascending sequence order preserves chronology; use the cursor that is returned and never build your own.

Response 200
{
  "data": [
    {
      "id": "jn_example_003",
      "group_id": "jg_example_hold",
      "sequence": 3,
      "reference": "WD-0001",
      "resource_type": "PAYOUT",
      "resource_id": "pout_example_001",
      "event_type": "PAYOUT_HOLD",
      "bucket": "AVAILABLE",
      "direction": "DEBIT",
      "amount": "40000",
      "currency": "IDR",
      "balance_before": "98500",
      "balance_after": "58500",
      "posted_at": "2026-10-15T05:10:00Z",
      "reversal_of": null
    }
  ],
  "pagination": { "next_cursor": "opaque_cursor", "has_more": true },
  "request_id": "req_example_007"
}

Journal entry examples

ActivityJournal entries
A Rp100,000 payin succeeds and becomes availableCREDIT available 100,000; DEBIT available 1,500 for the fee.
A Rp40,000 payout is submittedDEBIT available 40,000; CREDIT reserved 40,000, in one group.
Payout succeedsDEBIT reserved 40,000; available is not reduced again.
Payout rejected or definitively failedDEBIT reserved 40,000; CREDIT available 40,000.
Pending funds ready to withdrawDEBIT pending net; CREDIT available net.

Journal rules

CREDIT always increases a bucket and DEBIT decreases it. amount always stays positive. balance_before/balance_after are the bucket balance, not the total. Internal movements are not counted as new income or expense. An approval with no balance change produces no journal entry. Correction entries are appended as new entries.