Bank of London API

The Bank of London's public REST banking API (v2/v3 path-versioned), published as OpenAPI 3.0.3 from the Developer Studio. 58 operations across ten tags — Accounts, Customer Management, Virtual Account Management, Confirmation of Payee, Payments V2 (internal, Faster Payments, Bacs, CHAPS, agency and FX/cross-border), Standing Orders, Transactions, Mandates (Direct Debits), Statements and Webhook Management. Requests are authenticated with a per-request detached JWS (PS256) in the `x-jws-signature` header, signed with an API key created in the Developer Studio; payments and standing orders carry a client-supplied `idempotencyId`.

Operations 58

POST /v2/accounts Create Account #
GET /v2/accounts Get Accounts #
GET /v2/accounts/{id} Get Account #
PATCH /v2/accounts/{id} Update Account #
POST /v2/accounts/{id}/close Close Account #
POST /v2/individuals Create Individual #
GET /v2/individuals Get Individuals #
GET /v2/individuals/{id} Get Individual #
PATCH /v2/individuals/{id} Update Individual #
POST /v3/organisations Create Organisation v3 #
GET /v3/organisations Get Organisations v3 #
GET /v3/organisations/{id} Get Organisation v3 #
PATCH /v3/organisations/{id} Update Organisation v3 #
GET /v2/virtual/accounts Get Virtual Accounts #
POST /v2/virtual/accounts Create a Virtual Account #
GET /v2/virtual/accounts/{id} Get a Virtual Account #
PATCH /v2/virtual/accounts/{id} Update a Virtual Account #
POST /v2/virtual/accounts/{id}/close Close Virtual Account #
GET /v3/virtual/transactions Get Virtual Account Transactions V3 #
GET /v2/virtual/aggregator-nodes Get Virtual Aggregator Nodes #
POST /v2/virtual/aggregator-nodes Create a Virtual Aggregator Node #
GET /v2/virtual/aggregator-nodes/{id} Get a Virtual Aggregator Node #
PATCH /v2/virtual/aggregator-nodes/{id} Update a Virtual Aggregator Node #
GET /v2/virtual/hierarchy Get a Hierarchy #
POST /v2/virtual/hierarchy Create a Virtual Account Hierarchy #
POST /v2/confirmation-of-payee Confirm Payee #
POST /v2/fx-quotes Create an FX Quote #
GET /v2/fx-quotes/{quoteId} Get an FX Quote #
POST /v2/payments/internal Create an Internal Payment #
POST /v2/payments/faster-payment Create a Faster Payment #
POST /v2/payments/bacs Create a Bacs Payment #
POST /v2/payments/chaps Create a CHAPS Payment #
POST /v2/payments/agency Create an Agency Payment #
POST /v2/payments Create a Cross-border Payment #
GET /v2/payments Get Payments #
GET /v2/payments/{paymentId} Get Payment #
POST /v2/standing-orders/faster-payment Create a Faster Payment Standing Order #
POST /v2/standing-orders/internal Create an Internal Standing Order #
GET /v2/standing-orders Get Standing Orders #
GET /v2/standing-orders/{standingOrderId} Get Standing Order #
PATCH /v2/standing-orders/{standingOrderId} Update a Standing Order #
POST /v2/standing-orders/{standingOrderId}/cancel Cancel a Standing Order #
GET /v3/transactions Get Transactions V3 #
GET /v3/transactions/{transactionId} Get Transaction V3 #
GET /v3/transaction-export/{transactionExportId} Get Transaction Export V3 #
GET /v3/transaction-export Get Transaction Exports V3 #
POST /v3/transaction-export Initiate Transaction Export V3 #
GET /v2/mandates Get Mandates #
GET /v2/mandates/{mandateId} Get Mandate #
POST /v2/mandates/{mandateId}/cancel Cancel Mandate #
GET /v2/statements Get Statements #
GET /v2/statements/{statementId}/download Download Statements #
POST /v2/webhooks Create Webhook #
GET /v2/webhooks Get Webhooks #
PATCH /v2/webhooks/{id} Update Webhook #
DELETE /v2/webhooks/{id} Delete Webhook #
POST /v2/webhooks/{id}/create-test-event Create Webhook Test Event #
POST /v2/webhooks/{id}/regenerate-key Regenerate Webhook Key #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bank-of-london-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

the-bank-of-london-api-openapi.json Raw ↑
{"openapi":"3.0.3","info":{"title":"Bank of London API","version":"2.0.0","description":""},"servers":[{"description":"Sandbox","url":"https://sandbox-api.bankoflondon.com/"},{"description":"Live","url":"https://api.bankoflondon.com/"},{"description":"Mock Server","url":"https://developer.bankoflondon.com/api/mock/the-bank-of-london-api"}],"tags":[{"name":"Accounts"},{"name":"Customer Management"},{"name":"Virtual Account Management"},{"name":"Confirmation of Payee"},{"name":"Payments V2"},{"name":"Standing Orders"},{"name":"Transactions"},{"name":"Mandates (Direct Debits)"},{"name":"Statements"},{"name":"Webhook Management"}],"paths":{"/v2/accounts":{"post":{"operationId":"CreateAccount","summary":"Create Account","description":"<span style=\"color:#f46d2a\">**Attention**</span> \\\n<b>This endpoint requires specific permissions and is restricted to clients who have been granted access.</b>\n\nCreates a Physical Account. Physical accounts can be created for Individuals and Organisations. It accepts accountOwner type, account type and id as required body parameters. Nickname and salesProductId are optional parameters.","parameters":[{"$ref":"#/components/parameters/JwsSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccountRequest"}}}},"responses":{"200":{"description":"Account created successfully","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccountResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"500":{"$ref":"#/components/responses/500"}},"tags":["Accounts"]},"get":{"operationId":"GetAccounts","summary":"Get Accounts","description":"Retrieves the list of bank accounts that are associated with the consumer application.","parameters":[{"$ref":"#/components/parameters/JwsSignature"},{"in":"query","name":"type","required":false,"schema":{"$ref":"#/components/schemas/AccountType"}},{"in":"query","name":"accountOwnership","required":false,"schema":{"$ref":"#/components/schemas/AccountOwnership"}},{"in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/AccountStatusFilter"}},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"type":"object","properties":{"accounts":{"items":{"$ref":"#/components/schemas/Account"},"type":"array"},"metadata":{"$ref":"#/components/schemas/MetaData"}},"required":["accounts","metadata"]}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"422":{"$ref":"#/components/responses/422"},"500":{"$ref":"#/components/responses/500"}},"tags":["Accounts"]}},"/v2/accounts/{id}":{"get":{"operationId":"GetAccount","summary":"Get Account","description":"Retrieves the details of a specific bank account. The consumer application needs permissions to read the requested account.","parameters":[{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/AccountId"}},{"$ref":"#/components/parameters/JwsSignature"}],"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSingleAccountResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"500":{"$ref":"#/components/responses/500"}},"tags":["Accounts"]},"patch":{"operationId":"UpdateAccount","summary":"Update Account","description":"This operation updates an account by its `id` in the context of\nan application registered with Bank of London Developer Studio.\n\nAt present, only the nickname and salesProductId can be updated.","parameters":[{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/AccountId"}},{"$ref":"#/components/parameters/JwsSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccountRequest"}}}},"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSingleAccountResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"500":{"$ref":"#/components/responses/500"}},"tags":["Accounts"]}},"/v2/accounts/{id}/close":{"post":{"operationId":"CloseAccount","summary":"Close Account","description":"Closes a Physical Account. This operation is only applicable to `BAAS_PHYSICAL_ACCOUNT` type accounts.","parameters":[{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/AccountId"}},{"$ref":"#/components/parameters/JwsSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseAccountRequest"}}}},"responses":{"200":{"description":"Account closed successfully","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseAccountResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"500":{"$ref":"#/components/responses/500"}},"tags":["Accounts"]}},"/v2/individuals":{"post":{"operationId":"CreateIndividual","summary":"Create Individual","description":"This operation allows you to setup your customer (individual) via our API.\n\nThe endpoint requires you to provide some of the details from your onboarding process \nfor us to be able to setup an account and process payment on behalf of your customer.\n\nThe endpoint's response includes an `id`, which is future reference for created customer.","parameters":[{"$ref":"#/components/parameters/JwsSignature"}],"requestBody":{"description":"The object containing data about the Individual.","required":true,"content":{"application/json":{"schema":{"properties":{"namePrefix":{"$ref":"#/components/schemas/PersonNamePrefix"},"firstName":{"$ref":"#/components/schemas/PersonFirstName"},"middleName":{"$ref":"#/components/schemas/PersonMiddleName"},"lastName":{"$ref":"#/components/schemas/PersonLastName"},"nationality":{"$ref":"#/components/schemas/Nationality"},"dateOfBirth":{"$ref":"#/components/schemas/DateOfBirth"},"placeOfBirth":{"$ref":"#/components/schemas/PlaceOfBirth"},"identification":{"$ref":"#/components/schemas/NullableIdentification"},"address":{"$ref":"#/components/schemas/PersonAddress"},"email":{"$ref":"#/components/schemas/NullableEmail"},"phoneNumber":{"$ref":"#/components/schemas/NullablePhoneNumber"},"organisationId":{"$ref":"#/components/schemas/OrganisationId"}},"required":["firstName","lastName","nationality","dateOfBirth","address"]}}}},"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Individual"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Customer Management"]},"get":{"operationId":"GetIndividuals","summary":"Get Individuals","description":"This operation allows you to retrieve all customers (individuals) that have been setup via our API. \nThe response provides you with the details on your customers.","parameters":[{"$ref":"#/components/parameters/JwsSignature"},{"in":"query","name":"organisationId","required":false,"schema":{"$ref":"#/components/schemas/OrganisationId"}},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"type":"object","properties":{"individuals":{"type":"array","items":{"$ref":"#/components/schemas/Individual"}},"metadata":{"$ref":"#/components/schemas/MetaData"}},"required":["individuals","metadata"]}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Customer Management"]}},"/v2/individuals/{id}":{"get":{"operationId":"GetIndividual","summary":"Get Individual","description":"This operation allows you to retrieve details of a specific individual.","parameters":[{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/PersonId"}},{"$ref":"#/components/parameters/JwsSignature"}],"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Individual"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Customer Management"]},"patch":{"operationId":"PatchIndividual","summary":"Update Individual","description":"This operation allows you to update information of an existing customer (individual) and can be used\nwhen any information on the customer you have setup in our system has changed (i.e. name, address).","parameters":[{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/PersonId"}},{"$ref":"#/components/parameters/JwsSignature"}],"requestBody":{"description":"The object containing data about the Individual.","required":true,"content":{"application/json":{"schema":{"properties":{"namePrefix":{"$ref":"#/components/schemas/PersonNamePrefix"},"firstName":{"$ref":"#/components/schemas/NullablePersonFirstName"},"middleName":{"$ref":"#/components/schemas/PersonMiddleName"},"lastName":{"$ref":"#/components/schemas/NullablePersonLastName"},"nationality":{"$ref":"#/components/schemas/NullableNationality"},"dateOfBirth":{"$ref":"#/components/schemas/NullableDateOfBirth"},"placeOfBirth":{"$ref":"#/components/schemas/NullablePlaceOfBirth"},"identification":{"$ref":"#/components/schemas/NullableIdentification"},"address":{"$ref":"#/components/schemas/NullablePersonAddress"},"email":{"$ref":"#/components/schemas/NullableEmail"},"phoneNumber":{"$ref":"#/components/schemas/NullablePhoneNumber"}}}}}},"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Individual"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Customer Management"]}},"/v3/organisations":{"post":{"operationId":"CreateOrganisationV3","summary":"Create Organisation v3","description":"This operation allows you to setup your organisation via our API.\n\nThe endpoint's response includes an `id`, which is future reference for created organisation.","parameters":[{"$ref":"#/components/parameters/JwsSignature"}],"requestBody":{"description":"The object containing data about the Organisation.","required":true,"content":{"application/json":{"schema":{"properties":{"name":{"$ref":"#/components/schemas/OrganisationName"},"companyNumber":{"$ref":"#/components/schemas/CompanyNumber"},"foundationDate":{"$ref":"#/components/schemas/NullableFoundationDate"},"address":{"$ref":"#/components/schemas/OrganisationAddress"},"clientType":{"$ref":"#/components/schemas/ClientType"},"regulatoryIdentifier":{"$ref":"#/components/schemas/NullableRegulatoryIdentifier"}},"required":["name","companyNumber","address","clientType"]}}}},"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationV3"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Customer Management"]},"get":{"operationId":"GetOrganisationsV3","summary":"Get Organisations v3","description":"This operation allows you to retrieve all organisations that have been setup via our API. \nThe response provides you with the details on your organisations.","parameters":[{"$ref":"#/components/parameters/JwsSignature"}],"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"type":"object","properties":{"organisations":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationV3"}},"metadata":{"$ref":"#/components/schemas/MetaData"}},"required":["organisations","metadata"]}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Customer Management"]}},"/v3/organisations/{id}":{"get":{"operationId":"GetOrganisationV3","summary":"Get Organisation v3","description":"This operation allows you to retrieve details of a specific organisation.","parameters":[{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/OrganisationId1"}},{"$ref":"#/components/parameters/JwsSignature"}],"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationV3"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Customer Management"]},"patch":{"operationId":"PatchOrganisationV3","summary":"Update Organisation v3","description":"This operation allows you to update information of an existing organisation and can be used\nwhen any information on the organisation you have setup in our system has changed (i.e. name, address).","parameters":[{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/OrganisationId1"}},{"$ref":"#/components/parameters/JwsSignature"}],"requestBody":{"description":"The object containing data about the Organisation.","required":true,"content":{"application/json":{"schema":{"properties":{"name":{"$ref":"#/components/schemas/NullableOrganisationName"},"companyNumber":{"$ref":"#/components/schemas/NullableCompanyNumber"},"foundationDate":{"$ref":"#/components/schemas/NullableFoundationDate"},"address":{"$ref":"#/components/schemas/NullableOrganisationAddress"},"clientType":{"$ref":"#/components/schemas/NullableClientType"},"regulatoryIdentifier":{"$ref":"#/components/schemas/NullableRegulatoryIdentifier"}}}}}},"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationV3"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Customer Management"]}},"/v2/virtual/accounts":{"get":{"operationId":"GetVirtualAccounts","summary":"Get Virtual Accounts","description":"Retrieves a list of virtual bank accounts. The consumer application must have already created the Virtual Accounts.\n\n[![Virtual Account Overview Diagram](https://cdn.prod.website-files.com/67ac63e504ea6d324d5e5a44/681b294d1ec87ba3bdf72b2c_Virtual%20Account%20Solution%20overview%20%E2%80%93%20Virtual%20Account.svg)](https://cdn.prod.website-files.com/67ac63e504ea6d324d5e5a44/681b294d1ec87ba3bdf72b2c_Virtual%20Account%20Solution%20overview%20%E2%80%93%20Virtual%20Account.svg)","parameters":[{"$ref":"#/components/parameters/JwsSignature"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"organisationId","required":false,"schema":{"type":"string","description":"Supplying the `organisationId` will return only the Virtual Accounts belonging to `Individuals` associated with that `Organisation`.\n"}},{"in":"query","name":"individualId","required":false,"schema":{"type":"string","description":"Supplying the `individualId` will return Virtual Accounts for specific individual.\n"}},{"in":"query","name":"accountOwnership","required":false,"schema":{"$ref":"#/components/schemas/AccountOwnership1"}},{"in":"query","name":"headerAccountId","required":false,"description":"Supplying the `headerAccountId` will return Virtual Accounts under specific header account id.","schema":{"$ref":"#/components/schemas/HeaderAccountId"}},{"in":"query","name":"virtualAggregatorNodeId","required":false,"description":"Supplying the `virtualAggregatorNodeId` will return Virtual Accounts under specific virtual aggregator node.","schema":{"$ref":"#/components/schemas/VirtualAccountAggregatorNodeId"}},{"in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/AccountStatusFilter"}}],"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"type":"object","properties":{"accounts":{"items":{"$ref":"#/components/schemas/VirtualAccountBase"},"type":"array"},"metadata":{"$ref":"#/components/schemas/MetaData"}},"required":["accounts","metadata"]}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"422":{"$ref":"#/components/responses/422"},"500":{"$ref":"#/components/responses/500"}},"tags":["Virtual Account Management"]},"post":{"operationId":"CreateVirtualAccount","summary":"Create a Virtual Account","description":"Creates a Virtual Account – the balance limit of the Virtual Account created will be dependent on the hierarchy configuration determined during onboarding (refer to `GET a Hierarchy` endpoint response to validate if required).\nVirtual Accounts can be created for Individuals and Organisations.\n\n <span style=\"color:#f46d2a\">**Attention**</span> \\\n If you would like to test against our Virtual Account Management (VAM) endpoints,\n please read our [Virtual Account Management](https://developer.bankoflondon.com/docs/overviews/virtual-account-management)\n overview for more information on how to get started. `virtualAggregatorNodeId` is an optional attribute in the request.\n\n <span style=\"color:#f46d2a\">**Limits**</span>\n - Production: There is a cap on the number of Virtual Accounts a client can create. Please discuss expected volumes with your Relationship Manager during onboarding.\n - Sandbox: Limited to 2,000 Virtual Accounts per client.","parameters":[{"$ref":"#/components/parameters/JwsSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVirtualAccountRequest"}}}},"responses":{"200":{"description":"Virtual account created successfully","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVirtualAccountResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"500":{"$ref":"#/components/responses/500"}},"tags":["Virtual Account Management"]}},"/v2/virtual/accounts/{id}":{"get":{"operationId":"GetAVirtualAccount","summary":"Get a Virtual Account","description":"Retrieves the details of a specific virtual bank account. The consumer application needs permissions to read the requested account.\n\n<span style=\"color:#f46d2a\">**Attention**</span> \\\n    If you would like to test against our Virtual Account Management (VAM) endpoints, please read our [Virtual Account Management](https://developer.bankoflondon.com/docs/overviews/virtual-account-management) overview for more information on how to get started.","parameters":[{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/AccountId"}},{"$ref":"#/components/parameters/JwsSignature"}],"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSingleVirtualAccountResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"500":{"$ref":"#/components/responses/500"}},"tags":["Virtual Account Management"]},"patch":{"operationId":"UpdateAVirtualAccount","summary":"Update a Virtual Account","description":"This operation updates a Virtual Account by its `id` in the context of\nan application registered with Bank of London Developer Studio.\n\n<span style=\"color:#f46d2a\">**Attention**</span> \\\n    If you would like to test against our Virtual Account Management (VAM) endpoints, please read our [Virtual Account Management](https://developer.bankoflondon.com/docs/overviews/virtual-account-management) overview for more information on how to get started.","parameters":[{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/AccountId"}},{"$ref":"#/components/parameters/JwsSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVirtualAccountRequest"}}}},"responses":{"200":{"description":"Success","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSingleVirtualAccountResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"500":{"$ref":"#/components/responses/500"}},"tags":["Virtual Account Management"]}},"/v2/virtual/accounts/{id}/close":{"post":{"operationId":"CloseVirtualAccount","summary":"Close Virtual Account","description":"Closes a Virtual Account. This operation is only applicable to `VIRTUAL_ACCOUNT` type accounts.","parameters":[{"in":"path","name":"id","required":true,"schema":{"$ref":"#/components/schemas/AccountId"}},{"$ref":"#/components/parameters/JwsSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseVirtualAccountRequest"}}}},"responses":{"200":{"description":"Account closed successfully","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseAccountResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"500":{"$ref":"#/components/responses/500"}},"tags":["Virtual Account Management"]}},"/v3/virtual/transactions":{"get":{"operationId":"GetVirtualAccountTransactionsV3","summary":"Get Virtual Account Transactions V3","description":"This operation allows to retrieve a list of transactions for a Virtual Account along with the transaction ID\n(`id`) to be able to retrieve a specific transaction later via `GET\n/transactions/{transactionId}`.\n\nIt must be filtered by either Bank of London Virtual Account ID (`accountId`) to\nretrieve only transactions for a specific Virtual Account or by the `headerAccountId` to\nretrieve all transactions for all Virtual Accounts under the header account.\n\nIt can also be filtered by the `fromDate`, `toDate`, `type`, `scheme`, `isCredit` fields to narrow down the result set.","parameters":[{"$ref":"#/components/parameters/JwsSignature"},{"in":"query","name":"accountId","required":false,"schema":{"$ref":"#/components/schemas/AccountId"}},{"in":"query","name":"fromDate","required":false,"schema":{"$ref":"#/components/schemas/TransactionFromDate"}},{"in":"query","name":"toDate","required":false,"schema":{"$ref":"#/components/schemas/TransactionToDate"}},{"in":"query","name":"isCredit","required":false,"schema":{"$ref":"#/components/schemas/TransactionIsCreditQueryParam"}},{"in":"query","name":"type","required":false,"schema":{"$ref":"#/components/schemas/TransactionTypeV3"}},{"in":"query","name":"scheme","required":false,"schema":{"$ref":"#/components/schemas/TransactionScheme"}},{"in":"query","name":"paymentOrderId","required":false,"schema":{"$ref":"#/components/schemas/TransactionPaymentOrderId"}},{"in":"query","name":"search","required":false,"schema":{"$ref":"#/components/schemas/TransactionSearch"}},{"in":"query","name":"orderBy","required":false,"schema":{"$ref":"#/components/schemas/TransactionOrderBy"}},{"in":"query","name":"headerAccountId","description":"If specified, the response will return the transactions of all Virtual Accounts which have headerAccountId set to the provided value.\n","required":false,"schema":{"$ref":"#/components/schemas/HeaderAccountId"}},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"description":"Success\n<span style=\"color:#f46d2a; font-size:14px; font-family:Inter;\">**Attention**</span> \\\n<span style=\"font-size:14px; font-family:Inter;\">Please note that the oneOf transactions in the **body** below, is extensible and new objects can be\nreturned with a new transaction **type**\nin the future without a major version change. Please ensure this is factored into your\napplication code.</span>\n","headers":{"x-correlation-id":{"description":"A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.","schema":{"type":"string"},"example":"2579248247516384065","required":true}},"content":{"application/json":{"schema":{"type":"object","properties":{"transactions":{"type":"array","items":{"oneOf":[{"$ref":"#/components/sch

# --- truncated at 32 KB (305 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/the-bank-of-london/refs/heads/main/openapi/the-bank-of-london-api-openapi.json