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.