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.ledger_balances.get with from_source set to True to reconstruct a balance from its transactions.
1

Call the method

blnk.ledger_balances.get
response = blnk.ledger_balances.get(
  "bln_5ce86029-3c2e-4e2a-aae2-7fb931ca4c4f",
  {
    "from_source": True,
  },
)
FieldTypeDescription
idstrBalance ID to compute from source.
from_sourceboolMust 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_idstrUnique ID for the balance.
balance.credit_balancenumberTotal computed from credit transactions.
balance.debit_balancenumberTotal computed from debit transactions.
balance.currencystrCurrency of the balance.
balance.ledger_idstrLedger this balance belongs to.
balance.identity_idstrLinked identity, if any.
balance.created_atstrDate and time the balance was created.
balance.meta_datadictOptional 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.