Ledger balances
Create balance monitor
Create a balance monitor with the Go SDK.
POST
/
balance-monitors
Create balance monitor
curl --request POST \
--url http://localhost:5001/balance-monitors \
--header 'X-blnk-key: <api-key>'import requests
url = "http://localhost:5001/balance-monitors"
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/balance-monitors', 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/balance-monitors",
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/balance-monitors"
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/balance-monitors")
.header("X-blnk-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:5001/balance-monitors")
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_bodyUse
Go response (
client.BalanceMonitor.Create to set up balance monitoring on an existing balance.
1
Call the method
client.BalanceMonitor.Create
monitor, resp, err := client.BalanceMonitor.Create(blnkgo.MonitorData{
BalanceID: "bln_5ce86029-3c2e-4e2a-aae2-7fb931ca4c4f",
Condition: blnkgo.MonitorCondition{
Field: "credit_balance",
Operator: blnkgo.OperatorGreaterThan,
Value: 1000,
Precision: 100,
},
CallBackURL: "https://api.example.com/balance-monitor",
Description: "Low balance alert",
})
| Field | Type | Description |
|---|---|---|
BalanceID | string | Balance to monitor. |
Condition | MonitorCondition | Threshold rule with Field, Operator, Value, and Precision. |
Condition.Field | string | Balance field to watch (for example credit_balance, debit_balance, balance). |
Condition.Operator | MonitorConditionOperators | Comparison operator: >, <, =, !=, >=, <=. |
Condition.Value | int64 | Threshold amount. |
Condition.Precision | int64 | Currency precision (for example 100 for cents). |
CallBackURL | string | Webhook URL when the condition is met. |
Description | string | Optional description for the monitor. |
2
Response
201 Created
{
"monitor_id": "mon_e0e77b0c-4985-472a-9bf5-76a48b0259b0",
"balance_id": "bln_5ce86029-3c2e-4e2a-aae2-7fb931ca4c4f",
"condition": {
"field": "credit_balance",
"operator": ">",
"value": 1000,
"precision": 100
},
"call_back_url": "https://api.example.com/balance-monitor",
"description": "Low balance alert",
"created_at": "2024-02-20T05:56:58.257315054Z"
}
Go response (*blnkgo.MonitorDataResp)
| Field | Type | Description |
|---|---|---|
MonitorID | string | Unique ID for the monitor. |
BalanceID | string | Balance being monitored. |
Condition | MonitorCondition | Threshold rule you passed in the request. |
CallBackURL | string | Webhook URL for notifications. |
Description | string | Description for the monitor. |
CreatedAt | string | Date and time when the monitor was created. |
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.Was this page helpful?
⌘I