Skip to main content
POST
/
balances
Create new balance
curl --request POST \
  --url http://localhost:5001/balances \
  --header 'X-blnk-key: <api-key>'
import requests

url = "http://localhost:5001/balances"

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

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

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

fetch('http://localhost:5001/balances', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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"

req, _ := http.NewRequest("POST", 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.post("http://localhost:5001/balances")
.header("X-blnk-key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

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

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

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

response = http.request(request)
puts response.read_body
Use blnk.ledger_balances.create to create a balance on an existing ledger.
1

Call the method

blnk.ledger_balances.create
response = blnk.ledger_balances.create({
  "ledger_id": "ldg_049495c6-356e-4ebc-a45e-60d1e1e16afb",
  "currency": "USD",
})
FieldTypeDescription
ledger_idstrLedger the balance belongs to.
currencystrCurrency or asset class for the balance.
identity_idstrIdentity to link to the balance. Required when track_fund_lineage is True.
track_fund_lineageboolEnable fund lineage tracking on this balance.
allocation_strategystrHow tagged provider funds are allocated on spend: FIFO, LIFO, or PROPORTIONAL.
meta_datadictOptional metadata for extra context.
2

Save the balance ID

Use response.data["balance_id"] as the source or destination on transactions, or when creating balance monitors.
3

Response

201 Created
{
  "balance": 0,
  "inflight_balance": 0,
  "credit_balance": 0,
  "inflight_credit_balance": 0,
  "debit_balance": 0,
  "inflight_debit_balance": 0,
  "ledger_id": "ldg_049495c6-356e-4ebc-a45e-60d1e1e16afb",
  "identity_id": "",
  "balance_id": "bln_5ce86029-3c2e-4e2a-aae2-7fb931ca4c4f",
  "currency": "USD",
  "created_at": "2024-11-26T08:36:36.238244338Z",
  "meta_data": null
}
FieldTypeDescription
balance_idstrUnique ID for the balance. Use as source or destination on transactions.
ledger_idstrLedger ID you passed in the request.
currencystrCurrency you passed in the request.
balancenumberCurrent net amount in the balance.
created_atstrDate and time the balance was created.

View balance docs

Balance concepts and setup.

Create new balance

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.