Skip to main content
GET
/
balances
/
{balance_id}
Balance from source
curl --request GET \
  --url http://localhost:5001/balances/{balance_id} \
  --header 'X-blnk-key: <api-key>'
import requests

url = "http://localhost:5001/balances/{balance_id}"

headers = {"X-blnk-key": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'X-blnk-key': '<api-key>'}};

fetch('http://localhost:5001/balances/{balance_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_PORT => "5001",
CURLOPT_URL => "http://localhost:5001/balances/{balance_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-blnk-key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "http://localhost:5001/balances/{balance_id}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("X-blnk-key", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("http://localhost:5001/balances/{balance_id}")
.header("X-blnk-key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("http://localhost:5001/balances/{balance_id}")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["X-blnk-key"] = '<api-key>'

response = http.request(request)
puts response.read_body
Use blnk.LedgerBalances.get with from_source set to true to reconstruct a balance from its transactions.
1

Call the method

blnk.LedgerBalances.get
const response = await blnk.LedgerBalances.get(
  'bln_5ce86029-3c2e-4e2a-aae2-7fb931ca4c4f',
  {
    from_source: true,
  },
);
FieldTypeDescription
idstringBalance ID to compute from source.
from_sourcebooleanMust be true to reconstruct from transactions.
2

Compare with stored balance

Use the computed amounts to audit or reconcile against the stored balance. Differences may indicate pending transactions or snapshot lag.
3

Response

200 OK
{
  "balance": {
    "balance": 9620000,
    "balance_id": "bln_5ce86029-3c2e-4e2a-aae2-7fb931ca4c4f",
    "credit_balance": 9620000,
    "currency": "USD",
    "debit_balance": 0,
    "ledger_id": "ldg_049495c6-356e-4ebc-a45e-60d1e1e16afb",
    "identity_id": "",
    "created_at": "2024-11-26T08:36:36.238244338Z",
    "meta_data": null
  }
}
FieldTypeDescription
balance.balancenumberNet amount computed from all transactions.
balance.balance_idstringUnique ID for the balance.
balance.credit_balancenumberTotal computed from credit transactions.
balance.debit_balancenumberTotal computed from debit transactions.
balance.currencystringCurrency of the balance.
balance.ledger_idstringLedger this balance belongs to.
balance.identity_idstringLinked identity, if any.
balance.created_atstringDate and time the balance was created.
balance.meta_dataRecord<string, unknown>Optional metadata on the balance.

Balance from source guide

Transaction-based balance computation.

Balance from source

HTTP request and response schema.

Need help?

We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool. To ask questions or discuss issues, please contact us or join our Discord community.