API Reference StarlingBank v#1.0.0

Copy Markdown View Source

Modules

A complete, production-grade Elixir client for the Starling Bank Public API.

Account holder identity — type, name, individual/joint/business details, and registered address.

Accounts — list the account holder's bank accounts, fetch account identifiers (sort code / account number, IBAN), and confirmation of funds.

Account balance — cleared, effective, available and pending balances.

Cards — list cards on an account and manage their controls (freeze, spending limits, geographic/channel restrictions).

A reusable, explicit client struct.

Runtime configuration resolution for StarlingBank.

Customer onboarding — used by registered Third-Party Providers (TPPs) with the customer-onboarding:write scope to onboard new customers on Starling's behalf via the Onboarding API.

Direct Debit mandates — list and cancel Direct Debit instructions set up against an account.

A normalized error struct returned by every StarlingBank function on failure.

Thin, instrumented HTTP wrapper used by every resource module.

Behaviour for the low-level HTTP transport used by StarlingBank.HTTP.Client.

Default StarlingBank.HTTP.Transport implementation, built entirely on Erlang/OTP's :httpc and :ssl (:inets, :ssl, :public_key) — no third-party HTTP client dependency required.

Merchant enrichment data — merchant details and merchant location/branch details associated with card transactions.

OAuth2 authorization code flow helpers — exchanging an authorization code for an access/refresh token, and refreshing an expired access token.

Payees — saved recipients for payments, including their bank account details and optional profile images.

Outbound payments — one-off local (Faster Payments) payments, international payments, and management of standing orders.

Receipts — attach itemized receipts (with optional photo attachments) to feed item transactions.

Shared behaviour implemented by every resource struct in StarlingBank.Resources.*.

Savings Goals — create, fund, withdraw from, and delete savings pots attached to an account.

Transaction feed ("feed items") — the unified view of money movements on an account: card payments, transfers, direct debits, etc.

Webhook management — register, list, and delete feed-item webhook subscriptions to receive real-time push notifications instead of polling, plus signature verification for incoming webhook payloads.