Bank Connections

We have the following lists of available bank connections:

Every client you create will have access to the test connections by default. Access to the real connections via the API will need to be requested.

Every connection will have the following properties:

  • id - bank connection id (used to request an authorization url for a specific bank)
  • name
  • type - the type of bank connection (api, legacy or test)
  • bankRef - reference that uniquely identifies a set of connections as being part of the same institution (e.g. HSBC Open banking and HSBC credit cards). It is used to group a set of connections by the banking institution they refer to. It can also be used to retrieve the bank icon.
  • parentRef - this property is now deprecated. Please use bankRef instead
  • iconUrl - the url of the bank icon SVG. Please be aware we don’t have icons for all the connections we provide. For the missing icons you can either use your own set or use our generic bank icon found at this url:
  • accountTypes - an array containing the types of accounts supported by the connection (cash, card, pension, mortgage, investment, loan) and a beta boolean value flagging which accounts types for that connection are currently being developed and may not have a 100% success rate
  • userTypes - an array of user account types supported by the bank connection (personal and business)
  • payments - an array of payments capabilities for thebank (domestic)
  • status - an object that represents the status for the provider for synchronisations and authorisations. The possible values are: AVAILABLE, PARTIALLY_AVAILABLE, TEMPORARILY_UNAVAILABLE, PERMANENTLY_UNAVAILABLE

Connection types

Different connection types are updated on different schedules - see Connection lifecycle.

Connection typeDescription
apiUses the bank's own API (such as Open Banking) to authenticate and get financial data. Can use native bank apps for authentication, and therefore biometrics.
legacyUses screen-scraping or similar technologies to authenticate and get financial data. This may be via a 3rd party provider API (screen-scraping is handed off, data retrieved via API). User may need to enter their own credentials (no biometrics). Uses web forms for authentication.
testVarious mock/fake banks for use when testing. See Test Banks

Personal vs. Business Accounts (userTypes)

When integrating bank connections, many providers have separate connections for personal and business accounts.


The accountType field on the account object returned from the API will indicate if it is a personal or business account. See GET /accounts reference for more information.

Here's a breakdown of the key aspects:

Single Provider ID Supporting Both Account Types

Some financial institutions use a single provider ID for both personal and business accounts. In such cases:

  • Consent and Account Selection: The consent process itself does not distinguish between personal or business accounts upfront. Instead, the differentiation happens during the login or account selection phase within the bank's authorization interface. For example, "Bank A" uses one configuration and authorisation URL which supports both business and personal accounts.
  • Handling Mixed Accounts: Since the selection is controlled by the bank's interface, it is possible to receive a mixture of both personal and business accounts under the same connection. This approach does not allow preemptive differentiation in the type of accounts that will be authorized until the user selects them during the consent process.

Separate Provider IDs for Personal and Business

Other financial institutions provide separate configurations for personal and business accounts:

  • Distinct OAuth Configurations: Institutions like "Bank B" use different OAuth configurations and authorisation URLs for their personal and business accounts. This setup allows for a clearer initial understanding of whether the consent is for business or personal accounts.
  • Account Type Predictability: Although separate configurations improve predictability regarding the type of accounts, it is still not guaranteed. The final account types accessible post-consent depend on the accounts the user chooses to authorize during the bank's consent process.

Connection Statuses

For a connection status, we give information on the authorisation (auth) and synchronisation (sync) element of the connection.

Sync status will determine the health of existing connections pulling up to date data from the provider. Auth status will explain the health of a user attempting to create a new connection with that provider. The below table explains what each status enumeration means

AVAILABLEThe connection is fully healthy and users should expect an uninterrupted journey using the provider.
PARTIALLY_AVAILABLEThe connection is not fully healthy, users may be able to carry out their tasks against that provider, but some users may report issues while interacting with that provider.
TEMPORARILY_UNAVAILABLEThe connection would normally be healthy, but is currently experiencing downtime so users will not be able to carry out any task against the provider.
PERMANENTLY_UNAVAILABLEThe provider used to be supported by Moneyhub, but is no longer supported.

Bank Icons

Our API provides the functionality to retrieve bank icons, enhancing the visual representation of banking integrations on your platform.

Endpoint Usage

  • SVG Icons: Bank icons are primarily available in SVG format. To retrieve an SVG icon, provide a valid bank reference from our list of available connections.
  • PNG/JPG Icons: If you require icons in PNG or JPG formats, simply append the .png or .jpg file extension to your request. For example, requesting with .png or .jpg will return the icon in the respective format.
    For example:

Endpoint Details

Retrieve the bank icon as SVG when providing a valid bank reference listed under our available connections.
Can also return PNG or JPG images when .png or .jpg file extension is added.

Route ParametersTypeDescription
bankrefbankrefUnique bank reference of the provider. When using default as the bank reference we return a generic bank icon

Handling Unavailable Icons:

  • Not all connections may have associated icons. If an icon for a specific bank is unavailable, the API will return a 404 Not Found response.
  • To handle cases where an icon is unavailable, you can utilize the defaultIcon parameter. When provided, this parameter will return a default icon in case of missing specific bank icons.
Query ParametersTypeDescription
defaultIconBooleanWhen value is true the route will return the default icon instead of 404 if bank icon is not available

This feature allows you to seamlessly integrate and display bank icons, ensuring a visually cohesive experience for your users. Please ensure that you refer to the correct bank reference to successfully retrieve the desired icon.

All Available Connections:
To view all banks for which icons are available, visit: All Connections. This endpoint lists all connections along with the banks that have corresponding icons. You can see here the bankRef field which can be used on the icons endpoint