openapi: 3.2.0 info: description: Documentation for the Moneyhub data API.
Authentication is via bearer token.
title: Moneyhub Data Accounts API version: 2.0.0 x-build-sha: 5d5191d servers: - url: https://api.moneyhub.co.uk/v2.0 security: - Bearer: [] tags: - name: accounts paths: /accounts: get: summary: Retrieve all accounts for a user description: 'Requires **accounts:read** scope. Optional scope **accounts_details:read** is needed for some extra fields such as account number and sort code. Please note: field **additionalBalances** is currently in **beta**' parameters: - description: The total number of records to retrieve in: query name: limit schema: type: integer maximum: 1000 minimum: 0 - description: The offset at which to start retrieving records in: query name: offset schema: type: integer maximum: 1000000000 minimum: 0 - description: Return transaction data for the account when available in: query name: showTransactionData schema: type: boolean default: true - description: Return performance score for the account when available in: query name: showPerformanceScore schema: type: boolean default: true - description: Filter accounts by their connectionId in: query name: connectionId x-example: 1ffe704d39629a929c8e293880fb449a:c1ef4ce6-c1d6-4900-9288-228fb21f5dc4 schema: type: string responses: '200': description: Successful Accounts Response content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Account' type: array example: - id: d372d09b-f50a-4114-9c83-687828fa8ac2 dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: Joint Account accountOpeningDate: '2014-08-10T00:00:00.000Z' type: cash:current providerAccountId: '12345678' providerName: Lloyds providerId: DEMO providerReference: demo connectionId: 1ffe704d39629a929c8e293880fb449a:c1ef4ce6-c1d6-4900-9288-228fb21f5dc4 accountHolderName: Robert Cantu balance: date: '2020-07-27' amount: value: 802323 currency: GBP currency: GBP details: AER: 0 overdraftLimit: 0 sortCodeAccountNumber: '30949301273345' transactionData: count: 218 earliestDate: '2019-08-02' lastDate: '2020-07-27' additionalBalances: - date: '2020-07-27' amount: value: 1000 currency: GBP type: InterimAvailable - id: 3cc555e4-d954-4eb1-a1df-90df15b132a9 dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: Current Account type: cash:current providerAccountId: C4735247524 providerName: Lloyds providerId: DEMO providerReference: demo connectionId: 1ffe704d39629a929c8e293880fb449a:c1ef4ce6-c1d6-4900-9288-228fb21f5dc4 accountHolderName: Robert Cantu balance: date: '2020-07-11' amount: value: 216258 currency: GBP currency: GBP details: AER: 0 overdraftLimit: 0 sortCodeAccountNumber: '30949301273801' providerAccountIdentifications: - identification: ACCOUNT12345678 type: AccountNumber transactionData: count: 133 earliestDate: '2019-08-03' lastDate: '2020-07-11' additionalBalances: - date: '2020-07-27' amount: value: 1000 currency: GBP type: ClosingBooked - id: 7abc948a-416d-44ab-8a23-69d3ea13bcf1 dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: Credit Card type: card providerAccountId: '23534724573' providerName: Virgin providerId: DEMO providerReference: demo connectionId: DEMO:888 balance: date: '2020-07-27' amount: value: -196700 currency: GBP currency: GBP details: creditLimit: 250000 APR: 0 pan: '5498572687746087' transactionData: count: 163 earliestDate: '2019-07-28' lastDate: '2020-07-27' additionalBalances: [] - id: 344f69f8-0172-4d68-ac38-ea11be1f7373 dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: Starling Current Account productName: Personal Current Account accountOpeningDate: '2013-09-13T00:00:00.000Z' type: cash:current providerAccountId: S13123513D providerName: Starling providerId: DEMO providerReference: demo connectionId: DEMO:999 balance: date: '2020-07-12' amount: value: 124885 currency: GBP currency: GBP details: AER: 0 overdraftLimit: 0 sortCodeAccountNumber: '30949301273045' transactionData: count: 108 earliestDate: '2019-07-28' lastDate: '2020-07-12' additionalBalances: [] - id: 478a84cc-296f-4388-af24-cf15f81a2fd4 dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: Natwest savings a/c accountOpeningDate: '2014-08-10T00:00:00.000Z' type: savings providerAccountId: NW2352135 providerName: Natwest providerId: DEMO providerReference: demo connectionId: DEMO:222 balance: date: '2020-07-05' amount: value: 1500000 currency: GBP currency: GBP details: AER: 0 iban: GB24BKEN10000031510604 transactionData: count: 12 earliestDate: '2019-08-05' lastDate: '2020-07-05' additionalBalances: [] - id: 2e30e166-70f8-4b46-b0e3-8afe4acda964 dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: 15 Hardys Rd type: properties:residential balance: amount: value: 27600000 currency: GBP date: '2016-01-01' currency: GBP details: {} additionalBalances: [] - id: 54841fea-7eb6-4523-9a20-2722d19d7766 dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: HL Sipp type: pension providerName: Hargreaves Lansdown balance: amount: value: 3525134 currency: GBP date: '2020-07-01' currency: GBP details: {} providerAccountIdentifications: - identification: XXXX5168 type: AccountNumber performanceScore: months: - date: 2020-04 openingBalance: 3465134 nonContributionGrowth: 24000 aer: 8.64 - date: 2020-05 openingBalance: 3489134 nonContributionGrowth: 12000 aer: 4.21 - date: 2020-06 openingBalance: 3501134 nonContributionGrowth: 24000 aer: 8.54 totals: openingBalance: amount: value: 3325134 currency: GBP date: '2019-08-01' currentBalance: amount: value: 3525134 currency: GBP date: '2020-07-01' contributions: 0 withdrawals: 0 nonContributionGrowth: 200000 growthRate: 6.01 annualisedGrowthRate: 6.57 additionalBalances: [] - id: fa447159-13d2-4089-bbbc-28be41d5febd dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: Wealthify ISA (Stocks and Shares) type: investment providerName: Wealthify balance: amount: value: 253214 currency: GBP date: '2020-07-16' currency: GBP details: {} providerAccountIdentifications: - identification: XXXX5168 type: AccountNumber performanceScore: months: - date: 2020-05 openingBalance: 237023 nonContributionGrowth: 5140 aer: 29.36 - date: 2020-06 openingBalance: 242163 nonContributionGrowth: 11051 aer: 70.83 totals: openingBalance: amount: value: 200000 currency: GBP date: '2020-01-16' currentBalance: amount: value: 253214 currency: GBP date: '2020-07-16' contributions: 0 withdrawals: 0 nonContributionGrowth: 53214 growthRate: 26.61 annualisedGrowthRate: 60.5 additionalBalances: [] - id: fe9e0391-960e-4251-b3b6-f7f9d144db36 dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: Nationwide Repayment Mortgage type: mortgage:repayment providerName: Nationwide balance: amount: value: -16900000 currency: GBP date: '2020-07-01' currency: GBP details: linkedProperty: 2e30e166-70f8-4b46-b0e3-8afe4acda964 monthlyRepayment: 1000 term: 300 APR: 1.94 interestType: fixed fixedDate: '2023-07-27' providerAccountIdentifications: - identification: XXXX5168 type: AccountNumber additionalBalances: [] - id: 1e30e166-70f8-4b46-b0e3-8afe4acda478 dateAdded: '2020-07-29T15:33:44+00:00' dateModified: '2020-07-29T15:33:44+00:00' accountName: Santander Mortgage type: mortgage:interestOnly providerName: Santander balance: amount: value: -1500000 currency: GBP date: '2020-06-01' currency: GBP details: monthlyRepayment: 1200 term: 270 APR: 3.94 interestType: fixed fixedDate: '2025-06-25' providerAccountIdentifications: - identification: XXXX5168 type: AccountNumber additionalBalances: [] - id: 5cbf59cf-c112-4864-b4e3-11b3ca794000 accountName: Audi Finance type: loan providerName: Audi Financial Services balance: amount: value: -1095000 currency: GBP date: '2020-07-05' currency: GBP details: monthlyRepayment: 35000 endDate: '2020-07-27' APR: 4.1 interestFreePeriod: 24 providerAccountIdentifications: - identification: XXXX5168 type: AccountNumber additionalBalances: [] - id: 8e5320c9-a285-47f6-bac0-e2f78f5db9cd dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: Work Pension type: pension providerName: Aviva balance: amount: value: 20524578 currency: GBP date: '2020-06-28' currency: GBP details: {} providerAccountIdentifications: - identification: XXXX5168 type: AccountNumber performanceScore: months: - date: 2020-04 openingBalance: 20180078 nonContributionGrowth: 160000 aer: 9.94 - date: 2020-05 openingBalance: 20340078 nonContributionGrowth: 184500 aer: 11.44 totals: openingBalance: amount: value: 18456778 currency: GBP date: '2019-07-28' currentBalance: amount: value: 20524578 currency: GBP date: '2020-06-28' contributions: 0 withdrawals: 0 nonContributionGrowth: 2067800 growthRate: 11.2 annualisedGrowthRate: 12.23 additionalBalances: [] links: $ref: '#/components/schemas/Links' meta: type: object type: object '401': description: Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Unsuccessful Response - Forbidden - Invalid scopes content: application/json: schema: $ref: '#/components/schemas/Error' tags: - accounts post: summary: Create a single account for a user description: Requires **accounts:read** and **accounts:write:all** scopes. responses: '200': description: Successful Account Response content: application/json: schema: properties: data: $ref: '#/components/schemas/Account' links: $ref: '#/components/schemas/Links' meta: type: object type: object '400': description: Unsuccessful Response - Bad request - Missing query parameters - Missing body properties content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Unsuccessful Response - Forbidden - Invalid scopes content: application/json: schema: $ref: '#/components/schemas/Error' tags: - accounts requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountPost' /accounts-list: get: summary: Retrieve all accounts for a user without additional data description: 'Requires **accounts:read** scope. Optional scope **accounts_details:read** is needed for some extra fields such as account number and sort code. By default this endpoint does not return transaction data (when this isn''t returned response times are quicker than the GET /accounts endpoint). Please note: field **additionalBalances** is currently in **beta**' parameters: - description: The total number of records to retrieve in: query name: limit schema: type: integer maximum: 1000 minimum: 0 - description: The offset at which to start retrieving records in: query name: offset schema: type: integer maximum: 1000000000 minimum: 0 - description: Return transaction data for the account when available in: query name: showTransactionData schema: type: boolean default: false - description: Return performance score for the account when available in: query name: showPerformanceScore schema: type: boolean default: false - description: Filter accounts by their connectionId in: query name: connectionId x-example: 1ffe704d39629a929c8e293880fb449a:c1ef4ce6-c1d6-4900-9288-228fb21f5dc4 schema: type: string responses: '200': description: Successful Accounts Response content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Account' type: array example: - id: d372d09b-f50a-4114-9c83-687828fa8ac2 dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: Joint Account type: cash:current providerName: Lloyds providerId: DEMO providerReference: demo connectionId: 1ffe704d39629a929c8e293880fb449a:c1ef4ce6-c1d6-4900-9288-228fb21f5dc4 accountHolderName: Robert Cantu balance: date: '2020-07-27' amount: value: 802323 currency: GBP currency: GBP details: AER: 0 overdraftLimit: 0 sortCodeAccountNumber: '30949301273345' additionalBalances: - date: '2020-07-27' amount: value: 1000 currency: GBP type: InterimAvailable - id: 3cc555e4-d954-4eb1-a1df-90df15b132a9 dateAdded: '2020-07-27T14:33:44+00:00' dateModified: '2020-07-27T14:33:44+00:00' accountName: Current Account type: cash:current providerName: Lloyds providerId: DEMO providerReference: demo connectionId: 1ffe704d39629a929c8e293880fb449a:c1ef4ce6-c1d6-4900-9288-228fb21f5dc4 accountHolderName: Robert Cantu balance: date: '2020-07-11' amount: value: 216258 currency: GBP currency: GBP details: AER: 0 overdraftLimit: 0 sortCodeAccountNumber: '30949301273801' additionalBalances: - date: '2020-07-27' amount: value: 1000 currency: GBP type: InterimAvailable links: $ref: '#/components/schemas/Links' meta: type: object type: object '401': description: Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Unsuccessful Response - Forbidden - Invalid scopes content: application/json: schema: $ref: '#/components/schemas/Error' tags: - accounts /accounts/{accountId}: get: summary: Retrieve a single account description: 'Requires **accounts:read** scope. Optional scope **accounts_details:read** is needed for some extra fields such as account number and sort code. Please note: field **additionalBalances** is currently in **beta**' parameters: - description: The Account Id in: path name: accountId required: true x-example: 0b4e6488-6de0-420c-8f56-fee665707d57 schema: type: string format: uuid responses: '200': description: Successful Account Response content: application/json: schema: properties: data: $ref: '#/components/schemas/Account' links: $ref: '#/components/schemas/Links' meta: type: object type: object '401': description: Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Unsuccessful Response - Forbidden - Invalid scopes content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Unsuccessful Response - Resource Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - accounts patch: summary: Update a single account description: Requires **accounts:read** and **accounts:write:all** scopes. parameters: - description: The Account Id in: path name: accountId required: true x-example: 0b4e6488-6de0-420c-8f56-fee665707d57 schema: type: string format: uuid responses: '200': description: Successful Account Response content: application/json: schema: properties: data: $ref: '#/components/schemas/Account' links: $ref: '#/components/schemas/Links' meta: type: object type: object '401': description: Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Unsuccessful Response - Forbidden - Invalid scopes content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Unsuccessful Response - Resource Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - accounts requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountPatch' delete: summary: Delete a single account description: This endpoint can only be used to delete accounts created using the POST /accounts endpoint. Accounts created when connecting to a financial institution can only be deleted by removing the connection they belong to. Requires **accounts:write:all** scope. parameters: - description: The Account Id in: path name: accountId required: true x-example: 0b4e6488-6de0-420c-8f56-fee665707d57 schema: type: string format: uuid responses: '204': description: Successful Response '401': description: Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Unsuccessful Response - Forbidden - Invalid scopes content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Unsuccessful Response - Resource Not Found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - accounts /accounts/{accountId}/balances: get: summary: Retrieve the historical balances for an account description: Requires **accounts:read** scope. parameters: - description: The Account Id in: path name: accountId required: true x-example: 0b4e6488-6de0-420c-8f56-fee665707d57 schema: type: string format: uuid responses: '200': description: Successful Balances Response content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Balance' type: array links: $ref: '#/components/schemas/Links' meta: type: object type: object '401': description: Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Unsuccessful Response - Forbidden - Invalid scopes content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Unsuccessful Response - Resource Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - accounts post: summary: Add a new balance for an account description: Requires **accounts:read** and either of **accounts:write** or **accounts:write:all** scopes. parameters: - description: The Account Id in: path name: accountId required: true x-example: 0b4e6488-6de0-420c-8f56-fee665707d57 schema: type: string format: uuid responses: '200': description: Successful Balance Response content: application/json: schema: properties: data: $ref: '#/components/schemas/Balance' links: $ref: '#/components/schemas/Links' meta: type: object type: object '400': description: Unsuccessful Response - Bad request - Missing query parameters - Missing body properties content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unsuccessful Balance Response content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Unsuccessful Response - Forbidden - Invalid scopes content: application/json: schema: $ref: '#/components/schemas/Error' tags: - accounts requestBody: content: application/json: schema: $ref: '#/components/schemas/BalancePost' /accounts/{accountId}/recurring-transactions: post: summary: Create an estimate of the recurring transactions for an account description: '**THIS ENDPOINT IS DEPRECATED.** Estimation of recurring transactions has ben superseded by the regular transactions endpoint. Requires **accounts:read** and **transactions:read:all** scope.' parameters: - description: The Account Id in: path name: accountId required: true x-example: 0b4e6488-6de0-420c-8f56-fee665707d57 schema: type: string format: uuid responses: '200': description: Successful Recurring Transactions Response content: application/json: schema: properties: data: items: $ref: '#/components/schemas/RecurringTransactionEstimate' type: array links: $ref: '#/components/schemas/Links' meta: type: object type: object '401': description: Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Unsuccessful Response - Forbidden - Invalid scopes content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Unsuccessful Response - Resource Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - accounts /accounts/syncs: get: summary: Retrieve sync information for all of a user's accounts description: Requires **accounts:read** scope. responses: '200': description: Successful Accounts Syncs Response content: application/json: schema: properties: data: items: $ref: '#/components/schemas/AccountSync' type: array example: - accountId: d372d09b-f50a-4114-9c83-687828fa8ac2 lastSuccessfulSync: '2020-07-27T14:33:44+00:00' - accountId: 3cc555e4-d954-4eb1-a1df-90df15b132a9 lastSuccessfulSync: null links: $ref: '#/components/schemas/Links' meta: type: object type: object '401': description: Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Unsuccessful Response - Forbidden - Invalid scopes content: application/json: schema: $ref: '#/components/schemas/Error' tags: - accounts components: schemas: Links: additionalProperties: false properties: next: description: The url to retrieve the next page of results from format: uri type: string prev: description: The url to retrieve the previous page of results from format: uri type: string self: description: The url of the current resource(s) format: uri type: string required: - self type: object RecurringTransactionEstimate: additionalProperties: false type: object properties: counterpartyId: description: The id of the counterparty that the estimate is for example: 4bac27393bdd9777ce02453256c5577cd02275510b2227f473d03f533924f877 type: string amount: properties: value: description: The average predicted amount of the recurring transaction in minor units of the currency, eg. pennies for GBP. example: 300023 type: integer majorUnits: description: The major units of the value, based on the values currency, eg. pounds for GBP. example: 3000 type: integer minorUnits: description: The minor units of the value, based on the values currency, eg. pennies for GBP. example: 23 type: integer currency: description: The currency of the predicted amount taken from the account example: GBP type: string required: - value - currency type: object amountRange: properties: value: description: The predicted range of the recurring transaction in minor units of the currency, eg. pennies for GBP. example: 5000 type: integer majorUnits: description: The major units of the value, based on the values currency, eg. pounds for GBP. example: 50 type: integer minorUnits: description: The minor units of the value, based on the values currency, eg. pennies for GBP. example: 0 type: integer currency: description: The currency of the predicted range taken from the account example: GBP type: string required: - value - currency type: object monthlyAmount: properties: value: description: The predicted monthly amount for this counterparty, regardless of how many transactions in minor units of the currency, eg. pennies for GBP. example: 5000 type: integer majorUnits: description: The major units of the value, based on the values currency, eg. pounds for GBP. example: 50 type: integer minorUnits: description: The minor units of the value, based on the values currency, eg. pennies for GBP. example: 0 type: integer currency: description: The currency of the monthly amount taken from the account example: GBP type: string required: - value - currency type: object predictionSource: description: The source of the prediction enum: - moneyhub example: moneyhub type: string monthlyAverageOnly: description: A flag indicating whether the predictions are based only on a monthly average or not. If the predictions are based solely on monthly averages then the dates array will be defaulted to the end of the month for the next 3 motnhs. type: boolean example: false dates: type: array items: type: string example: '2018-07-10' format: date example: - '2019-03-07' - '2019-04-07' - '2019-05-07' Account: additionalProperties: false type: object properties: accountName: description: The name of the account example: Cash ISA type: string currency: description: The currency of the account. It uses the ISO 4217 currency codes. example: GBP type: string balance: additionalProperties: false type: object properties: amount: properties: value: description: The value of the balance in minor units of the currency, eg. pennies for GBP. example: 300023 type: integer majorUnits: description: The major units of the value, based on the values currency, eg. pounds for GBP. example: 3000 type: integer minorUnits: description: The minor units of the value, based on the values currency, eg. pennies for GBP. example: 23 type: integer currency: description: The currency of the balance taken from the account example: GBP type: string required: - value - currency type: object date: description: The date of the balance example: '2018-08-12' format: date type: string type: description: The type of balance as returned by the banking provider. This field is only available for open banking connections. More information can be found [here](https://docs.moneyhubenterprise.com/docs/balance-types) example: InterimAvailable type: string enum: - ClosingAvailable - ClosingBooked - ClosingCleared - Expected - ForwardAvailable - Information - InterimAvailable - InterimBooked - InterimCleared - OpeningAvailable - OpeningBooked - OpeningCleared - PreviouslyClosedBooked example: date: '2018-08-12' amount: value: 300023 majorUnits: 3000 minorUnits: 23 currency: GBP type: InterimAvailable required: - amount - date details: type: object additionalProperties: false properties: AER: description: For cash and savings accounts. Interest rate expressed as a percentage 'Annual Equivalent Rate'. example: 1.3 type: number minimum: 0 maximum: 100 APR: description: For credit cards, mortgages and loans. Interest rate expressed as a percentage 'Annual Percentage Rate'. example: 13.1 type: number minimum: 0 maximum: 100 sortCodeAccountNumber: description: For cash and saving accounts. Populated with the 6 digit Sort Code and 8 digit Account Number. It requires the `accounts_details:read` scope. type: string maxLength: 20 minLength: 14 example: '60161331926819' iban: description: For cash and savings accounts. Populated with the full IBAN number. It requires the `accounts_details:read` scope. type: string maxLength: 34 minLength: 18 example: GB2960161331926819 pan: description: For card accounts. Populated with the full Primary Account Number of the credit card. It requires the `accounts_details:read` scope. type: string maxLength: 16 minLength: 16 example: '5498572687746087' creditLimit: description: For credit cards. The agreed overdraft limit of the account in minor units of the currency. example: 150000 minimum: 0 type: integer endDate: description: For Mortgages and loans. The date at which the loan/mortgage will finish. format: date example: '2020-01-01' type: string fixedDate: description: For Mortgages. The date at which the current fixed rate ends format: date example: '2019-01-01' type: string interestFreePeriod: type: integer description: For loans. The length in months of the interest free period example: 12 minimum: 0 interestType: description: For mortgages. The interest type enum: - fixed - variable example: fixed type: string linkedProperty: type: string description: For Mortgages. The id of an associated property account example: ac9bd177-d01e-449c-9f29-d3656d2edc2e monthlyRepayment: type: integer description: For mortgages and loans. The monthly amount due to the mortgage provider in minor units of the currency. example: 60000 minimum: 0 overdraftLimit: description: For cash accounts. The agreed overdraft limit of the account in minor units of the currency. example: 150000 type: integer minimum: 0 postcode: description: For properties. The postcode of the property example: bs1 1aa type: string runningCost: description: For assets. The running cost in minor units of the currency. example: 20000 type: integer minimum: 0 runningCostPeriod: type: string description: For assets. The running cost period enum: - month - year example: month term: type: integer description: For mortgages. The term of the mortgage in months. example: 13 minimum: 0 yearlyAppreciation: type: number description: For assets. The rate of appreciation as a percentage, negative values indicate that the asset will depreciate example: -10 transactionData: additionalProperties: false type: object required: - count - earliestDate - lastDate properties: count: type: integer example: 6 earliestDate: type: string format: date-time example: '2017-11-28T00:00:00.000Z' lastDate: type: string format: date-time example: '2018-05-28T00:00:00.000Z' dateAdded: description: The date at which the account was added. example: '2018-07-10T11:39:44.000Z' format: date-time type: string dateModified: description: The date at which the account was last modified example: '2018-07-10T11:39:44.000Z' format: date-time type: string id: description: The unique identity of the account. example: ac9bd177-d01e-449c-9f29-d3656d2edc2e type: string providerName: description: The name of the provider of the account. example: HSBC type: string providerReference: description: 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. example: hsbc type: string connectionId: description: The id of the connection of the account. This value is not present for accounts created manually by the user. example: 049c10ab871e8d60aa891c0ae368322d:639cf079-a585-4852-8b4d-1ebd17f4d2cb pattern: (API|DEMO|.{32}):(.{32}|.{36}) type: string providerId: description: The id of the provider of the account. Accounts created using the api have a value of 'API'. Accounts crated for a Test user have a value of 'DEMO'. This value is not present for accounts created manually by the user. example: 049c10ab871e8d60aa891c0ae368322d pattern: API|DEMO|.{32} type: string providerAccountId: description: The id of the account given by the provider. This can be used to uniquely identify accounts across different connections. example: '3572357243' type: string providerParentAccountId: description: The id of the parent account given by the provider. This can be used to uniquely identify accounts across different connections. Only supports Monzo pots currently example: '3572357243' type: string providerAccountName: description: The name of the account given by the provider. Allows to keep track of the provider's name if the account name has been manually updated example: Account Name type: string accountReference: description: A reference number for the account which consists of the last 4 digits of the account identification number (Account Number, IBAN or PAN). It requires the `accounts_details:read` scope example: '3201' type: string accountHolderName: description: Account Holder name. It requires the `accounts_details:read` scope. example: Mr Rob Ike type: string accountOpeningDate: description: The date the account was opened as reported by the account provider. example: '2002-03-07T00:00:00.000Z' format: date-time type: string accountType: description: The type of account (personal/business) enum: - personal - business type: string example: personal default: personal productName: description: The name of the product sold / provided from the account provider. example: Personal Supercharged Savings Account type: string providerAccountIdentifications: type: array description: List of specific account identifications when there is no sort code/account number, iban or pan available. items: type: object additionalProperties: false properties: identification: description: The account identification example: SAVINGR12345678 type: string type: description: The type of account identification example: UK.Santander.SavingsRollNumber type: string required: - identification - type type: description: The type of account - this will determine the data available in the details field enum: - cash:current - savings - card - investment - loan - mortgage:repayment - mortgage:interestOnly - pension - pension:definedBenefit - pension:definedContribution - asset - properties:residential - properties:buyToLet - crypto type: string example: cash:current performanceScore: type: object description: Performance score of investment and pension accounts. Once that an account has at least 3 balances the score will be provided. Please note that this is an experimental feature. additionalProperties: false properties: totals: type: object additionalProperties: false properties: openingBalance: type: object additionalProperties: false properties: date: example: '2018-08-12' format: date type: string amount: additionalProperties: false type: object properties: value: description: The opening balance in minor units of the currency, eg. pennies for GBP type: integer example: 300023 majorUnits: description: The major units of the value, based on the values currency, eg. pounds for GBP. example: 3000 type: integer minorUnits: description: The minor units of the value, based on the values currency, eg. pennies for GBP. example: 23 type: integer currency: type: string example: GBP required: - value - currency currentBalance: type: object additionalProperties: false properties: date: example: '2018-08-12' format: date type: string amount: additionalProperties: false type: object properties: value: description: The current balance in minor units of the currency, eg. pennies for GBP type: integer example: 300023 majorUnits: description: The major units of the value, based on the values currency, eg. pounds for GBP. example: 3000 type: integer minorUnits: description: The minor units of the value, based on the values currency, eg. pennies for GBP. example: 23 type: integer currency: type: string example: GBP required: - value - currency contributions: description: The contributions in minor units of the currency, eg. pennies for GBP type: integer example: 240098 withdrawals: description: The withdrawals in minor units of the currency, eg. pennies for GBP type: integer example: 20067 nonContributionGrowth: description: The non contribution growth in minor units of the currency, eg. pennies for GBP type: integer example: 340054 growthRate: description: The growth rate expressed in percentage type: number example: 35.98 annualisedGrowthRate: description: The annualised growth rate expressed in percentage type: number example: 60.98 months: items: type: object additionalProperties: false properties: date: description: Date in the format YYYY-MM example: 2018-08 pattern: ^(\d{4})(-(0[1-9]|1[012]))?$ type: string openingBalance: description: The opening balance in minor units of the currency, eg. pennies for GBP type: integer example: 300023 nonContributionGrowth: description: The non contribution growth in minor units of the currency, eg. pennies for GBP type: integer example: 1567 aer: description: The aer expressed in percentage type: number example: 35.98 type: array required: - totals - months additionalBalances: description: (BETA) Additional balance types for the account. The balances will be the latest for each type retrieved from the bank. Will only appear for cash:current, card and savings account types. Please note not all banking providers will return additional balance types, and the types returned will vary. It is recommended to fall back to the main account balance in this case. type: array items: additionalProperties: false type: object properties: amount: properties: value: description: The value of the balance in minor units of the currency, eg. pennies for GBP. example: 300023 type: integer majorUnits: description: The major units of the value, based on the values currency, eg. pounds for GBP. example: 3000 type: integer minorUnits: description: The minor units of the value, based on the values currency, eg. pennies for GBP. example: 23 type: integer currency: description: The currency of the balance taken from the account example: GBP type: string required: - value - currency type: object date: description: The date of the balance example: '2018-08-12' format: date type: string type: description: The type of balance as returned by the banking provider. This field is only available for open banking connections. More information can be found [here](https://docs.moneyhubenterprise.com/docs/balance-types) example: InterimAvailable type: string enum: - ClosingAvailable - ClosingBooked - ClosingCleared - Expected - ForwardAvailable - Information - InterimAvailable - InterimBooked - InterimCleared - OpeningAvailable - OpeningBooked - OpeningCleared - PreviouslyClosedBooked example: date: '2018-08-12' amount: value: 300023 majorUnits: 3000 minorUnits: 23 currency: GBP type: InterimAvailable required: - amount - date required: - id - dateAdded - dateModified - accountName - type - balance - details AccountPost: properties: accountName: description: The name of the account example: Account name type: string providerName: description: The name of the provider of the account. example: Provider name type: string currency: description: The currency of the account. Defaults to GBP. example: GBP type: string type: description: The type of account - this will determine the data available in the details field enum: - cash:current - savings - card - investment - loan - mortgage:repayment - mortgage:interestOnly - pension - pension:definedBenefit - pension:definedContribution - asset - properties:residential - properties:buyToLet - crypto type: string example: cash:current accountType: description: The type of account (personal/business) enum: - personal - business type: string example: personal default: personal balance: additionalProperties: false type: object properties: amount: properties: value: description: The value of the balance in minor units of the currency, eg. pennies for GBP. example: 300023 type: integer required: - value type: object date: description: The date of the balance example: '2018-08-12' format: date type: string example: date: '2018-08-12' amount: value: 300023 required: - amount - date details: additionalProperties: false type: object properties: AER: description: For cash and savings accounts. Interest rate expressed as a percentage 'Annual Equivalent Rate'. example: 1.3 type: number minimum: 0 maximum: 100 APR: description: For credit cards, mortgages and loans. Interest rate expressed as a percentage 'Annual Percentage Rate'. example: 13.1 type: number minimum: 0 maximum: 100 creditLimit: description: For credit cards. The agreed overdraft limit of the account in minor units of the currency. example: 150000 minimum: 0 type: integer endDate: description: For Mortgages and loans. The date at which the loan/mortgage will finish. format: date example: '2020-01-01' type: string fixedDate: description: For Mortgages. The date at which the current fixed rate ends format: date example: '2019-01-01' type: string interestFreePeriod: type: integer description: For loans. The length in months of the interest free period example: 12 minimum: 0 interestType: description: For mortgages. The interest type enum: - fixed - variable example: fixed type: string linkedProperty: type: string description: For Mortgages. The id of an associated property account example: ac9bd177-d01e-449c-9f29-d3656d2edc2e monthlyRepayment: type: integer description: For mortgages and loans. The monthly amount due to the mortgage provider in minor units of the currency. example: 60000 minimum: 0 overdraftLimit: description: For cash accounts. The agreed overdraft limit of the account in minor units of the currency. example: 150000 type: integer minimum: 0 postcode: description: For properties. The postcode of the property example: bs1 1aa type: string runningCost: description: For assets. The running cost in minor units of the currency. example: 20000 type: integer minimum: 0 runningCostPeriod: type: string description: For assets. The running cost period enum: - month - year example: month term: type: integer description: For mortgages. The term of the mortgage in months. example: 13 minimum: 0 yearlyAppreciation: type: number description: For assets. The rate of appreciation as a percentage, negative values indicate that the asset will depreciate example: -10 providerAccountIdentifications: type: array description: List of provider specific account identifications items: type: object additionalProperties: false properties: identification: description: The account identification example: SAVINGR12345678 type: string type: description: The type of account identification example: savingsRollNumber type: string enum: - accountNumber - savingsRollNumber - policyNumber required: - identification - type required: - accountName - providerName - type - balance type: object Balance: additionalProperties: false type: object properties: amount: properties: value: description: The value of the balance in minor units of the currency, eg. pennies for GBP. example: 300023 type: integer majorUnits: description: The major units of the value, based on the values currency, eg. pounds for GBP. example: 3000 type: integer minorUnits: description: The minor units of the value, based on the values currency, eg. pennies for GBP. example: 23 type: integer currency: description: The currency of the balance taken from the account example: GBP type: string required: - value - currency type: object date: description: The date of the balance example: '2018-08-12' format: date type: string type: description: The type of balance as returned by the banking provider. This field is only available for open banking connections. More information can be found [here](https://docs.moneyhubenterprise.com/docs/balance-types) example: InterimAvailable type: string enum: - ClosingAvailable - ClosingBooked - ClosingCleared - Expected - ForwardAvailable - Information - InterimAvailable - InterimBooked - InterimCleared - OpeningAvailable - OpeningBooked - OpeningCleared - PreviouslyClosedBooked example: date: '2018-08-12' amount: value: 300023 majorUnits: 3000 minorUnits: 23 currency: GBP type: InterimAvailable required: - amount - date AccountSync: additionalProperties: false type: object properties: accountId: description: The unique identity of the account. example: ac9bd177-d01e-449c-9f29-d3656d2edc2e type: string lastSuccessfulSync: description: The date at which the account was last synchronised successfully with the provider example: '2018-07-10T11:39:44.000Z' format: date-time type: - string - 'null' required: - accountId - lastSuccessfulSync BalancePost: additionalProperties: false type: object properties: amount: properties: value: description: The value of the balance in minor units of the currency, eg. pennies for GBP. example: 300023 type: integer required: - value type: object date: description: The date of the balance example: '2018-08-12' format: date type: string example: date: '2018-08-12' amount: value: 300023 required: - amount - date Error: additionalProperties: false properties: code: description: The error code type: string message: description: The error message type: string correlationId: description: Id that identifies the request and can be used to ask for more details related to the error type: string id: description: Id of the resource type: string userId: description: UserId of the resource type: string required: - code type: object AccountPatch: properties: accountName: description: The name of the account example: Account name type: string providerName: description: The name of the provider of the account. example: Provider name type: string details: additionalProperties: false type: object properties: AER: description: For cash and savings accounts. Interest rate expressed as a percentage 'Annual Equivalent Rate'. example: 1.3 type: number minimum: 0 maximum: 100 APR: description: For credit cards, mortgages and loans. Interest rate expressed as a percentage 'Annual Percentage Rate'. example: 13.1 type: number minimum: 0 maximum: 100 creditLimit: description: For credit cards. The agreed overdraft limit of the account in minor units of the currency. example: 150000 minimum: 0 type: integer endDate: description: For Mortgages and loans. The date at which the loan/mortgage will finish. format: date example: '2020-01-01' type: string fixedDate: description: For Mortgages. The date at which the current fixed rate ends format: date example: '2019-01-01' type: string interestFreePeriod: type: integer description: For loans. The length in months of the interest free period example: 12 minimum: 0 interestType: description: For mortgages. The interest type enum: - fixed - variable example: fixed type: string linkedProperty: type: string description: For Mortgages. The id of an associated property account example: ac9bd177-d01e-449c-9f29-d3656d2edc2e monthlyRepayment: type: integer description: For mortgages and loans. The monthly amount due to the mortgage provider in minor units of the currency. example: 60000 minimum: 0 overdraftLimit: description: For cash accounts. The agreed overdraft limit of the account in minor units of the currency. example: 150000 type: integer minimum: 0 postcode: description: For properties. The postcode of the property example: bs1 1aa type: string runningCost: description: For assets. The running cost in minor units of the currency. example: 20000 type: integer minimum: 0 runningCostPeriod: type: string description: For assets. The running cost period enum: - month - year example: month term: type: integer description: For mortgages. The term of the mortgage in months. example: 13 minimum: 0 yearlyAppreciation: type: number description: For assets. The rate of appreciation as a percentage, negative values indicate that the asset will depreciate example: -10 required: - accountName - providerName type: object securitySchemes: Bearer: type: apiKey name: Authorization in: header