Ledger balances

Create balance monitor

Create a balance monitor with the Java SDK.

POST/balance-monitors

Use blnk.balanceMonitor().create for this operation.

Call the method

MonitorCondition condition = MonitorCondition.create()
    .field("credit_balance")
    .operator(">=")
    .precision(100)
    .value(1000);

ApiResponse<JsonNode> response = blnk.balanceMonitor().create(
    MonitorData.create()
        .balanceId("bln_5ce86029-3c2e-4e2a-aae2-7fb931ca4c4f")
        .description("Tier 1 account")
        .condition(condition));
FieldTypeDescription
balance_idStringBalance to monitor.
conditionMonitorConditionThreshold rule built with MonitorCondition.
create().
condition.fieldStringBalance field to watch (for example credit_balance, debit_balance, balance).
condition.operatorStringComparison operator: >, <, =, !=, >=, <=.
condition.valueNumberThreshold amount.
condition.precisionNumberCurrency precision (for example 100 for cents).
call_back_urlStringWebhook URL when the condition is met.
descriptionStringOptional description for the monitor.

Save the monitor ID

Use response.data().get("monitor_id").asText() to retrieve or update the monitor later.

Response

{
  "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"
}
FieldTypeDescription
monitor_idStringUnique ID for the monitor.
balance_idStringBalance being monitored.
conditionJsonNodeThreshold rule object from the response.
call_back_urlStringWebhook URL for notifications.
descriptionStringDescription for the monitor.
created_atStringDate and time when the monitor was created.