Account data: list, fetch, update, and delete accounts; manual account creation; account balances.
Accounts represent a single product at a financial institution (current account, savings, card, loan, mortgage, investment, pension, or property) connected via open banking, screen-scraping, or entered manually. See Accounts and Bank Connection Response for the full field reference.
Reading account identifiers (sort code, account number, IBAN, PAN)
requires the accounts_details:read scope in addition to
accounts:read - see
Sensitive Information.
Summary
Functions
Adds a new balance entry for a manual account (one created via
create/3). Not applicable to accounts backed by a live bank
connection, whose balances are populated automatically by sync.
Lists historical balance snapshots for an account.
Creates a manual account (one not backed by a live bank connection) -
for example a properties:residential valuation entry or an
off-platform cash account. attrs is the account payload.
Deletes an account.
Fetches a single account by id.
Lists accounts for the user identified by token.
Lists the standing orders the bank itself reports for an account (AIS
read), as distinct from standing orders created via
MoneyHub.StandingOrders (PIS write). Requires accounts:read plus
either standing_orders:read or standing_orders_detail:read.
Retrieves sync status/metadata for every account belonging to the user
identified by token.
Updates a manual account's attributes.
Types
@type account() :: map()
Functions
@spec add_balance(MoneyHub.Config.t(), String.t(), String.t(), map()) :: {:ok, map()} | {:error, MoneyHub.Error.t()}
Adds a new balance entry for a manual account (one created via
create/3). Not applicable to accounts backed by a live bank
connection, whose balances are populated automatically by sync.
@spec balances(MoneyHub.Config.t(), String.t(), String.t(), keyword()) :: {:ok, [map()]} | {:error, MoneyHub.Error.t()}
Lists historical balance snapshots for an account.
See Historical Balances.
@spec create(MoneyHub.Config.t(), String.t(), map()) :: {:ok, account()} | {:error, MoneyHub.Error.t()}
Creates a manual account (one not backed by a live bank connection) -
for example a properties:residential valuation entry or an
off-platform cash account. attrs is the account payload.
@spec delete(MoneyHub.Config.t(), String.t(), String.t()) :: :ok | {:error, MoneyHub.Error.t()}
Deletes an account.
@spec get(MoneyHub.Config.t(), String.t(), String.t()) :: {:ok, account()} | {:error, MoneyHub.Error.t()}
Fetches a single account by id.
@spec list(MoneyHub.Config.t(), String.t(), keyword()) :: {:ok, [account()]} | {:error, MoneyHub.Error.t()}
Lists accounts for the user identified by token.
Options
:connection_id- filter to accounts from a single connection.:account_type- filter by account type ("cash","savings","card","investment","loan","mortgage","pension","properties").
@spec standing_orders(MoneyHub.Config.t(), String.t(), String.t()) :: {:ok, [map()]} | {:error, MoneyHub.Error.t()}
Lists the standing orders the bank itself reports for an account (AIS
read), as distinct from standing orders created via
MoneyHub.StandingOrders (PIS write). Requires accounts:read plus
either standing_orders:read or standing_orders_detail:read.
@spec syncs(MoneyHub.Config.t(), String.t()) :: {:ok, [map()]} | {:error, MoneyHub.Error.t()}
Retrieves sync status/metadata for every account belonging to the user
identified by token.
@spec update(MoneyHub.Config.t(), String.t(), String.t(), map()) :: {:ok, account()} | {:error, MoneyHub.Error.t()}
Updates a manual account's attributes.