Skip to main content
Sep 4, 2026
com.blnkfinance:blnk-java:1.4.0 targets Blnk Core 0.15.3.

Transactions

Preview a create, bulk, refund, or inflight update without writing anything. Call dryRun(true) on the request. Core returns whether it would apply and how balances would change. The reference is still free to use on a real post. See Dry-run transactions.Refunds can take a description and metadata. An empty description inherits the original. Metadata is merged onto the inherited copy.

Balances

Create a General Ledger balance yourself by passing an @ indicator with ledgerId set to general_ledger_id. See Internal balances.

Hooks

Listing hooks without a type now returns PRE and POST hooks.

Error handling

Named codes for invalid amounts and General Ledger conflicts are on BlnkErrorCodes. Branch on response.error().code().

Before you upgrade

  • You need Core 0.15.3 for these features.
  • Keep using com.blnkfinance:blnk-java. Change only the version to 1.4.0.
Jul 8, 2026
com.blnkfinance:blnk-java:1.3.0 covers Blnk Core 0.15.0.
Initial public release of the Java SDK with full parity against the TypeScript SDK.

Coverage

Ledgers, ledger balances (including monitors, snapshots, historical balances, and lineage), transactions (bulk, inflight, refunds, queue recovery), reconciliation, identities and PII tokenization, search and reindex, metadata, hooks, API keys, and system health.

Client

Sync client built on the JDK java.net.http.HttpClient and Jackson, with Blnk.init / BlnkClientOptions.builder(), configurable timeouts, GET-only retries, structured ApiResponse envelopes, and redacted logging. Services use camelCase accessors such as transactions().create() and fluent request builders in com.blnkfinance.blnk.types.

Core 0.15.0

Structured error codes on response.error().code(). Inflight commit and void run through the queue by default; pass skipQueue for synchronous results.

Before you upgrade Core

Note the following breaking changes in Core 0.15.0:
  • Transaction and balance responses no longer include rate or currency_multiplier.
  • Branch on response.error().code() for Core failures. Do not parse error message text.