openapi: 3.0.0 info: title: BCB Group Payments Accounts Virtual Accounts API description: This is the api documentation for the BCB Group Payments API version: 1.0.0 contact: {} servers: - url: https://api.bcb.group description: Production - url: https://api.uat.bcb.group description: Sandbox tags: - name: Virtual Accounts paths: /v1/accounts/{accountId}/virtual/all-account-data: get: summary: List Accounts description: List all virtual accounts for the given segregated account operationId: VirtualAccounts_ListAccountsV1 parameters: - name: accountId required: true in: path description: The account id for the segregated account schema: example: 123 type: number - name: pageIndex required: false in: query description: The page offset of results to return schema: minimum: 0 maximum: 1.7976931348623157e+308 default: 0 type: number - name: pageSize required: false in: query description: The limit of number of results to return schema: minimum: 1 maximum: 1000 default: 1000 type: number responses: '200': description: The virtual accounts were retrieved successfully content: application/json: schema: $ref: '#/components/schemas/PagedVirtualAccountDataResponse' '404': description: The accountId is unknown content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Virtual Accounts security: - bearer: [] /v1/accounts/{accountId}/virtual/{iban}/payment: post: summary: Make a Payment description: Sends a payment from the virtual account with the given IBAN operationId: VirtualAccounts_AuthorisePaymentV1 parameters: - name: accountId required: true in: path description: The account id for the segregated account schema: example: 123 type: number - name: iban required: true in: path description: The IBAN of the virtual account schema: example: GB33BUKB20201555555555 type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VirtualAccountPaymentBody' responses: '201': description: The payment was successfully created content: application/json: schema: $ref: '#/components/schemas/VirtualAccountPaymentResponse' '404': description: The accountId or IBAN is unknown content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Virtual Accounts security: - bearer: [] /v1/accounts/{accountId}/virtual/{iban}/close: post: summary: Close Virtual Account description: Closes the virtual account with the given IBAN operationId: VirtualAccounts_CloseVirtualAccountV1 parameters: - name: accountId required: true in: path description: The account id for the segregated account schema: example: 123 type: number - name: iban required: true in: path description: The IBAN of the virtual account schema: example: GB33BUKB20201555555555 type: string responses: '202': description: The virtual account closure request was received successfully '404': description: The accountId or IBAN is unknown content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Virtual Accounts security: - bearer: [] /v2/accounts/{accountId}/virtual: post: summary: Create Virtual Account description: "Creates new virtual accounts for the given owners (max 1000 owners). \n\t\tRequest body differs for individual vs company owners, and GBP vs EUR virtual accounts.\n\t\tIt is possible to create virtual accounts without owner bank details - see CreateNoBankDetailsVirtualAccount schemas.\n\t\tIt is not possible to make payments out of virtual accounts without owner bank details." operationId: VirtualAccounts_CreateVirtualAccountV2 parameters: - name: accountId required: true in: path description: The account id for the segregated account schema: example: 123 type: number requestBody: required: true content: application/json: schema: type: array items: anyOf: - $ref: '#/components/schemas/CreateEURLocalVirtualAccountForCompany' - $ref: '#/components/schemas/CreateEURLocalVirtualAccountForIndividual' - $ref: '#/components/schemas/CreateGBPLocalVirtualAccountForCompany' - $ref: '#/components/schemas/CreateGBPLocalVirtualAccountForIndividual' - $ref: '#/components/schemas/CreateInternationalVirtualAccountForCompany' - $ref: '#/components/schemas/CreateInternationalVirtualAccountForIndividual' - $ref: '#/components/schemas/CreateNoBankDetailsVirtualAccountForCompany' - $ref: '#/components/schemas/CreateNoBankDetailsVirtualAccountForIndividual' responses: '202': description: The virtual account creation request was received successfully '404': description: The accountId is unknown content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Virtual Accounts security: - bearer: [] /v1/accounts/{accountId}/virtual/{iban}/owner-address: put: summary: Update Owner Address description: Updates the owner address for the virtual account with the given IBAN operationId: VirtualAccounts_UpdateOwnerAddressV1 parameters: - name: accountId required: true in: path description: The account id for the segregated account schema: example: 123 type: number - name: iban required: true in: path description: The IBAN of the virtual account schema: example: GB33BUKB20201555555555 type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateOwnerAddressRequest' responses: '200': description: The owner address was updated successfully '400': description: The request is invalid content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: The accountId or iban is unknown content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Virtual Accounts security: - bearer: [] /v1/accounts/{accountId}/virtual/{iban}/owner-bank-details: put: summary: Update Owner Bank Details description: Updates the owner bank details for the virtual account with the given IBAN operationId: VirtualAccounts_UpdateOwnerBankDetailsV1 parameters: - name: accountId required: true in: path description: The account id for the segregated account schema: example: 123 type: number - name: iban required: true in: path description: The IBAN of the virtual account schema: example: GB33BUKB20201555555555 type: string requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/UpdateEUROwnerBankDetailsRequest' - $ref: '#/components/schemas/UpdateGBPOwnerBankDetailsRequest' responses: '200': description: The owner bank details were updated successfully '400': description: The request is invalid content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: The accountId or iban is unknown content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Virtual Accounts security: - bearer: [] components: schemas: PendingVirtualAccountDetails: type: object properties: id: type: string description: The ID of the virtual account example: 71c33ef0-4af9-4814-b81e-d5f4dfa96dec status: type: string description: The status of the virtual account example: PENDING required: - id - status UpdateGBPOwnerBankDetailsRequest: type: object properties: iban: type: string description: The IBAN of the virtual account owner's bank account - optional for GBP accounts example: GB33BUKB20201555555555 accountNumber: type: string description: The 8-digit account number of the virtual account owner's bank account - mandatory for GBP accounts example: '12345678' sortCode: type: string description: The 6-digit sort code of the virtual account owner's bank account - mandatory for GBP accounts example: '000000' bicSwift: type: string description: The BIC of the virtual account owner's bank account - optional for GBP accounts example: BARCGB22XXX required: - accountNumber - sortCode CreateNoBankDetailsVirtualAccountForIndividual: type: object properties: correlationId: type: string description: The correlation ID provided on the account creation request. If you did not provide correlation ID, it will be generated maxLength: 255 name: type: string description: The name of the virtual account owner. Must contain at least two words separated by a space. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: GBP Test Individual maxLength: 255 addressLine1: type: string description: The first line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: One London Wall maxLength: 1023 addressLine2: type: string description: The second line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: 6th Floor maxLength: 1023 addressLine3: type: string description: The third line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ maxLength: 1023 city: type: string description: The postal city or town of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: London maxLength: 255 region: type: string description: The region (e.g. county, state, province, etc.) of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Greater London maxLength: 255 postcode: type: string description: The postal code (e.g. postcode, zip code, etc.) of the virtual account owner. Postcode is required for CHAPS payments. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: EC2Y 5EB maxLength: 255 country: type: string description: The 2-letter country code of the virtual account owner's bank account example: GB minLength: 2 maxLength: 2 nationality: type: string description: The 2-letter country code for the virtual account owner's nationality example: GB minLength: 2 maxLength: 2 dateOfBirth: type: string description: The date of birth of the virtual account owner - only applicable to an individual example: '2000-12-31' pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' isIndividual: type: boolean description: Whether the virtual account owner is an individual as opposed to a corporation example: true required: - name - addressLine1 - city - country - nationality - dateOfBirth - isIndividual CreateEURLocalVirtualAccountForCompany: type: object properties: correlationId: type: string description: The correlation ID provided on the account creation request. If you did not provide correlation ID, it will be generated maxLength: 255 name: type: string description: The name of the virtual account owner. Must contain at least two words separated by a space. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: EUR Test Company maxLength: 255 addressLine1: type: string description: The first line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: Friedrichstrasse maxLength: 1023 addressLine2: type: string description: The second line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: '100' maxLength: 1023 addressLine3: type: string description: The third line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ maxLength: 1023 city: type: string description: The postal city or town of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Berlin maxLength: 255 region: type: string description: The region (e.g. county, state, province, etc.) of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Berlin maxLength: 255 postcode: type: string description: The postal code (e.g. postcode, zip code, etc.) of the virtual account owner. Postcode is required for CHAPS payments. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: '10115' maxLength: 255 country: type: string description: The 2-letter country code of the virtual account owner's EUR bank account example: DE minLength: 2 maxLength: 2 nationality: type: string description: The 2-letter country code for the virtual account owner's nationality example: DE minLength: 2 maxLength: 2 registrationNumber: type: string description: The registration number of the virtual account owner - only applicable to a corporation. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: AB123456 maxLength: 100 isIndividual: type: boolean description: Whether the virtual account owner is an individual as opposed to a corporation example: false iban: type: string description: The IBAN of the virtual account owner's EUR bank account example: DE53202208000099106929 bicSwift: type: string description: The BIC of the virtual account owner's EUR bank account example: MHSBDEHBXXX required: - name - addressLine1 - city - country - nationality - isIndividual - iban - bicSwift CreateEURLocalVirtualAccountForIndividual: type: object properties: correlationId: type: string description: The correlation ID provided on the account creation request. If you did not provide correlation ID, it will be generated maxLength: 255 name: type: string description: The name of the virtual account owner. Must contain at least two words separated by a space. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: EUR Test Individual maxLength: 255 addressLine1: type: string description: The first line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: Friedrichstrasse maxLength: 1023 addressLine2: type: string description: The second line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: '100' maxLength: 1023 addressLine3: type: string description: The third line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ maxLength: 1023 city: type: string description: The postal city or town of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Berlin maxLength: 255 region: type: string description: The region (e.g. county, state, province, etc.) of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Berlin maxLength: 255 postcode: type: string description: The postal code (e.g. postcode, zip code, etc.) of the virtual account owner. Postcode is required for CHAPS payments. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: '10115' maxLength: 255 country: type: string description: The 2-letter country code of the virtual account owner's EUR bank account example: DE minLength: 2 maxLength: 2 nationality: type: string description: The 2-letter country code for the virtual account owner's nationality example: DE minLength: 2 maxLength: 2 dateOfBirth: type: string description: The date of birth of the virtual account owner example: '2000-12-31' pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' isIndividual: type: boolean description: Whether the virtual account owner is an individual as opposed to a corporation example: true iban: type: string description: The IBAN of the virtual account owner's EUR bank account example: DE53202208000099106929 bicSwift: type: string description: The BIC of the virtual account owner's EUR bank account example: MHSBDEHBXXX required: - name - addressLine1 - city - country - nationality - dateOfBirth - isIndividual - iban - bicSwift IbanVirtualAccountOwnerDetails: type: object properties: name: type: string description: The name of the virtual account owner iban: type: string description: The IBAN of the virtual account owner example: DK5000400440116243 bic: type: string description: The bic of the virtual account owner example: SXPYDKKK required: - name - iban CreateGBPLocalVirtualAccountForCompany: type: object properties: correlationId: type: string description: The correlation ID provided on the account creation request. If you did not provide correlation ID, it will be generated maxLength: 255 name: type: string description: The name of the virtual account owner. Must contain at least two words separated by a space. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: GBP Test Company maxLength: 255 addressLine1: type: string description: The first line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: One London Wall maxLength: 1023 addressLine2: type: string description: The second line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: 6th Floor maxLength: 1023 addressLine3: type: string description: The third line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ maxLength: 1023 city: type: string description: The postal city or town of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: London maxLength: 255 region: type: string description: The region (e.g. county, state, province, etc.) of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Greater London maxLength: 255 postcode: type: string description: The postal code (e.g. postcode, zip code, etc.) of the virtual account owner. Postcode is required for CHAPS payments. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: EC2Y 5EB maxLength: 255 country: type: string description: The 2-letter country code of the virtual account owner's bank account example: GB minLength: 2 maxLength: 2 nationality: type: string description: The 2-letter country code for the virtual account owner's nationality example: GB minLength: 2 maxLength: 2 registrationNumber: type: string description: The registration number of the virtual account owner - only applicable to a corporation. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: AB123456 maxLength: 100 isIndividual: type: boolean description: Whether the virtual account owner is an individual as opposed to a corporation example: false iban: type: string description: The IBAN of the virtual account owner's bank account example: GB33BUKB20201555555555 bicSwift: type: string description: The BIC of the virtual account owner's bank account example: BARCGB22XXX accountNumber: type: string description: The 8-digit account number of the virtual account owner's bank account - mandatory for GBP accounts example: '55555555' sortCode: type: string description: The 6-digit sort code of the virtual account owner's bank account - mandatory for GBP accounts example: '202015' required: - name - addressLine1 - city - country - nationality - isIndividual - accountNumber - sortCode NoBankDetailsVirtualAccountOwnerDetails: type: object properties: name: type: string description: The name of the virtual account owner required: - name VirtualAccountPaymentBody: type: object properties: currency: type: string description: The currency code for the payment minLength: 3 maxLength: 4 example: GBP amount: type: string description: The amount of the payment example: '1.12' reference: type: string description: The reference for the payment minLength: 1 maxLength: 255 example: payment-ref nonce: type: string description: A unique nonce to guard against duplicate payments minimum: 1 example: '1234567890123456' reason: type: string description: The reason for the payment minLength: 1 maxLength: 255 example: Internal transfer required: - currency - amount - reference - nonce - reason VirtualAccountPaymentResponse: type: object properties: transactionId: type: string end2EndId: type: string required: - transactionId - end2EndId CreateNoBankDetailsVirtualAccountForCompany: type: object properties: correlationId: type: string description: The correlation ID provided on the account creation request. If you did not provide correlation ID, it will be generated maxLength: 255 name: type: string description: The name of the virtual account owner. Must contain at least two words separated by a space. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: GBP Test Company maxLength: 255 addressLine1: type: string description: The first line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: One London Wall maxLength: 1023 addressLine2: type: string description: The second line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: 6th Floor maxLength: 1023 addressLine3: type: string description: The third line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ maxLength: 1023 city: type: string description: The postal city or town of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: London maxLength: 255 region: type: string description: The region (e.g. county, state, province, etc.) of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Greater London maxLength: 255 postcode: type: string description: The postal code (e.g. postcode, zip code, etc.) of the virtual account owner. Postcode is required for CHAPS payments. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: EC2Y 5EB maxLength: 255 country: type: string description: The 2-letter country code of the virtual account owner's bank account example: GB minLength: 2 maxLength: 2 nationality: type: string description: The 2-letter country code for the virtual account owner's nationality example: GB minLength: 2 maxLength: 2 registrationNumber: type: string description: The registration number of the virtual account owner - only applicable to a corporation. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: AB123456 maxLength: 100 isIndividual: type: boolean description: Whether the virtual account owner is an individual as opposed to a corporation example: false required: - name - addressLine1 - city - country - nationality - isIndividual IbanRequestVirtualAccountDataResponse: type: object properties: correlationId: type: string description: The correlation ID provided on the account creation request. If you did not provide correlation ID, it will be generated virtualAccountDetails: description: The details of the virtual account oneOf: - $ref: '#/components/schemas/IbanVirtualAccountDetails' - $ref: '#/components/schemas/PendingVirtualAccountDetails' ownerDetails: description: The details of the virtual account owner oneOf: - $ref: '#/components/schemas/IbanVirtualAccountOwnerDetails' - $ref: '#/components/schemas/NoBankDetailsVirtualAccountOwnerDetails' required: - correlationId - virtualAccountDetails - ownerDetails CreateInternationalVirtualAccountForCompany: type: object properties: correlationId: type: string description: The correlation ID provided on the account creation request. If you did not provide correlation ID, it will be generated maxLength: 255 name: type: string description: The name of the virtual account owner. Must contain at least two words separated by a space. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: EUR Test Company maxLength: 255 addressLine1: type: string description: The first line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: Friedrichstrasse maxLength: 1023 addressLine2: type: string description: The second line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: '100' maxLength: 1023 addressLine3: type: string description: The third line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ maxLength: 1023 city: type: string description: The postal city or town of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Berlin maxLength: 255 region: type: string description: The region (e.g. county, state, province, etc.) of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Berlin maxLength: 255 postcode: type: string description: The postal code (e.g. postcode, zip code, etc.) of the virtual account owner. Postcode is required for CHAPS payments. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: '10115' maxLength: 255 country: type: string description: The 2-letter country code of the virtual account owner's EUR bank account example: DE minLength: 2 maxLength: 2 nationality: type: string description: The 2-letter country code for the virtual account owner's nationality example: DE minLength: 2 maxLength: 2 registrationNumber: type: string description: The registration number of the virtual account owner - only applicable to a corporation. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: AB123456 maxLength: 100 isIndividual: type: boolean description: Whether the virtual account owner is an individual as opposed to a corporation example: false iban: type: string description: The IBAN of the virtual account owner's bank account example: DE53202208000099106929 bicSwift: type: string description: The BIC of the virtual account owner's bank account example: MHSBDEHBXXX required: - name - addressLine1 - city - postcode - country - nationality - isIndividual - iban - bicSwift UpdateEUROwnerBankDetailsRequest: type: object properties: iban: type: string description: The IBAN of the virtual account owner's bank account - mandatory for EUR accounts example: GB33BUKB20201555555555 bicSwift: type: string description: The BIC of the virtual account owner's bank account - mandatory for EUR accounts example: BARCGB22XXX required: - iban - bicSwift CreateGBPLocalVirtualAccountForIndividual: type: object properties: correlationId: type: string description: The correlation ID provided on the account creation request. If you did not provide correlation ID, it will be generated maxLength: 255 name: type: string description: The name of the virtual account owner. Must contain at least two words separated by a space. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: GBP Test Individual maxLength: 255 addressLine1: type: string description: The first line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: One London Wall maxLength: 1023 addressLine2: type: string description: The second line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: 6th Floor maxLength: 1023 addressLine3: type: string description: The third line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ maxLength: 1023 city: type: string description: The postal city or town of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: London maxLength: 255 region: type: string description: The region (e.g. county, state, province, etc.) of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Greater London maxLength: 255 postcode: type: string description: The postal code (e.g. postcode, zip code, etc.) of the virtual account owner. Postcode is required for CHAPS payments. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: EC2Y 5EB maxLength: 255 country: type: string description: The 2-letter country code of the virtual account owner's bank account example: GB minLength: 2 maxLength: 2 nationality: type: string description: The 2-letter country code for the virtual account owner's nationality example: GB minLength: 2 maxLength: 2 dateOfBirth: type: string description: The date of birth of the virtual account owner - only applicable to an individual example: '2000-12-31' pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' isIndividual: type: boolean description: Whether the virtual account owner is an individual as opposed to a corporation example: true iban: type: string description: The IBAN of the virtual account owner's bank account example: GB33BUKB20201555555555 bicSwift: type: string description: The BIC of the virtual account owner's bank account example: BARCGB22XXX accountNumber: type: string description: The 8-digit account number of the virtual account owner's bank account - mandatory for GBP accounts example: '55555555' sortCode: type: string description: The 6-digit sort code of the virtual account owner's bank account - mandatory for GBP accounts example: '202015' required: - name - addressLine1 - city - country - nationality - dateOfBirth - isIndividual - accountNumber - sortCode ErrorResponse: type: object properties: message: type: string description: The description of the error. statusCode: type: integer description: HTTP Status code representing the error. required: - message - statusCode GBPRequestVirtualAccountDataResponse: type: object properties: correlationId: type: string description: The correlation ID provided on the account creation request. If you did not provide correlation ID, it will be generated virtualAccountDetails: description: The details of the virtual account oneOf: - $ref: '#/components/schemas/GBPVirtualAccountDetails' - $ref: '#/components/schemas/PendingVirtualAccountDetails' ownerDetails: description: The details of the virtual account owner oneOf: - $ref: '#/components/schemas/GBPVirtualAccountOwnerDetails' - $ref: '#/components/schemas/NoBankDetailsVirtualAccountOwnerDetails' required: - correlationId - virtualAccountDetails - ownerDetails IbanVirtualAccountDetails: type: object properties: id: type: string description: The ID of the virtual account example: 71c33ef0-4af9-4814-b81e-d5f4dfa96dec status: type: string description: The status of the virtual account example: ACTIVE iban: type: string description: The IBAN of the virtual account example: DK5000400440116243 accountNumber: type: string description: The account number of the virtual account example: '0440116243' bic: type: string description: The bic of the virtual account example: SXPYDKKK required: - id - status - iban GBPVirtualAccountOwnerDetails: type: object properties: name: type: string description: The name of the virtual account owner iban: type: string description: The IBAN of the virtual account owner example: GB33BUKB20201555555555 accountNumber: type: string description: The account number of the virtual account owner example: '55555555' sortCode: type: string description: The sort code of the virtual account owner example: '202015' bic: type: string description: The bic of the virtual account owner example: MONZGB2LXXX required: - name - iban CreateInternationalVirtualAccountForIndividual: type: object properties: correlationId: type: string description: The correlation ID provided on the account creation request. If you did not provide correlation ID, it will be generated maxLength: 255 name: type: string description: The name of the virtual account owner. Must contain at least two words separated by a space. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: EUR Test Individual maxLength: 255 addressLine1: type: string description: The first line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: Friedrichstrasse maxLength: 1023 addressLine2: type: string description: The second line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ example: '100' maxLength: 1023 addressLine3: type: string description: The third line of the address of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' ',' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+, ]+$ maxLength: 1023 city: type: string description: The postal city or town of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Berlin maxLength: 255 region: type: string description: The region (e.g. county, state, province, etc.) of the virtual account owner. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: Berlin maxLength: 255 postcode: type: string description: The postal code (e.g. postcode, zip code, etc.) of the virtual account owner. Postcode is required for CHAPS payments. Only English alphabet letters, numbers, '/-?:().'+' and spaces are allowed (no leading spaces). pattern: ^(?! )[a-zA-Z0-9\/\-\?:().'\+ ]+$ example: '10115' maxLength: 255 country: type: string description: The 2-letter country code of the virtual account owner's EUR bank account example: DE minLength: 2 maxLength: 2 nationality: type: string description: The 2-letter country code for the virtual account owner's nationality example: DE minLength: 2 maxLength: 2 dateOfBirth: type: string description: The date of birth of the virtual account owner example: '2000-12-31' pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}' isIndividual: type: boolean description: Whether the virtual account owner is an individual as opposed to a corporation example: true iban: type: string description: The IBAN of the virtual account owner's bank account example: DE53202208000099106929 bicSwift: type: string description: The BIC of the virtual account owner's bank account example: MHSBDEHBXXX required: - name - addressLine1 - city - postcode - country - nationality - dateOfBirth - isIndividual - iban - bicSwift UpdateOwnerAddressRequest: type: object properties: addressLine1: type: string description: The first line of the address of the virtual account owner example: One London Wall maxLength: 1023 addressLine2: type: string description: The second line of the address of the virtual account owner example: 6th Floor maxLength: 1023 addressLine3: type: string description: The third line of the address of the virtual account owner maxLength: 1023 city: type: string description: The postal city or town of the virtual account owner example: London maxLength: 255 region: type: string description: The region (e.g. county, state, province, etc.) of the virtual account owner example: Greater London maxLength: 255 postcode: type: string description: The postal code (e.g. postcode, zip code, etc.) of the virtual account owner. Postcode is required for CHAPS payments example: EC2Y 5EB maxLength: 255 country: type: string description: The 2-letter country code of the virtual account owner's bank account example: GB minLength: 2 maxLength: 2 required: - addressLine1 - city - country GBPVirtualAccountDetails: type: object properties: id: type: string description: The ID of the virtual account example: 71c33ef0-4af9-4814-b81e-d5f4dfa96dec status: type: string description: The status of the virtual account example: ACTIVE iban: type: string description: The IBAN of the virtual account example: GB33BUKB20201555555555 accountNumber: type: string description: The account number of the virtual account example: '55555555' sortCode: type: string description: The sort code of the virtual account example: '202015' bic: type: string description: The bic of the virtual account owner example: MONZGB2LXXX required: - id - status - iban - sortCode - bic PagedVirtualAccountDataResponse: type: object properties: count: type: number description: Count of virtual accounts example: 2 results: type: array description: Virtual account data items: oneOf: - $ref: '#/components/schemas/GBPRequestVirtualAccountDataResponse' - $ref: '#/components/schemas/IbanRequestVirtualAccountDataResponse' required: - count - results