BalanceAnalytics
GET
https://test.api.neotek.sa/b2b-unified/v1/analytics/balanceSandbox URL · in Production call https://api.neotek.sa
Daily opening and closing balance snapshots. The balances come from the bank's MT940 rather than being derived from transaction amounts. No pagination.
Query parameters:
| Parameter | Required | Description |
|---|---|---|
bankCode | Required | which bank holds the account: RJHISARI or ARNBSARI |
accountIban | Required | the account to read |
fromDate | Required | start of the range, as YYYY-MM-DD |
toDate | Optional | end of the range. Defaults to yesterday, and is capped at T-1 |
Headers:
| Parameter | Required | Description |
|---|---|---|
authorization | Required | Bearer <ACCESS_TOKEN> |
cURL
curl -G 'https://test.api.neotek.sa/b2b-unified/v1/analytics/balance' \ --header 'authorization: Bearer <ACCESS_TOKEN>' \ -d 'bankCode=ARNBSARI' \ -d 'accountIban=SA1030000012345678901004' \ -d 'fromDate=2026-02-01' \ -d 'toDate=2026-02-07'Response — the top-level openingBalance is the first day's opening and closingBalance is the last day's closing, so the pair reads as a before-and-after for the whole period
JSON
{ "success": true, "code": "SUCCESS", "message": "Balance analytics retrieved successfully", "accountIban": "SA1030000012345678901004", "fromDate": "2026-02-01", "toDate": "2026-02-07", "openingBalance": "500000.00", "closingBalance": "485250.75", "currency": "SAR", "dailyBalances": [ { "date": "2026-02-01", "openingBalance": "500000.00", "closingBalance": "492500.00", "currency": "SAR" }, { "date": "2026-02-02", "openingBalance": "492500.00", "closingBalance": "485250.75", "currency": "SAR" } ]}Errors — both services share the same failure shape and codes; see Analytics → Errors.