UK Open Banking BCA API

Endpoint for getting Business Current Account data

OpenAPI Specification

open-banking-uk-bca-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Account and Transaction API Specification Account Access Consents BCA API
  description: 'Swagger for Account and Transaction API Specification.


    **Please Note**: There are no optional fields, if a field is not marked as “Required” it is a Conditional field.

    '
  termsOfService: https://www.openbanking.org.uk/terms
  contact:
    name: Service Desk
    email: ServiceDesk@openbanking.org.uk
  license:
    name: open-licence
    url: https://www.openbanking.org.uk/open-licence
  version: 4.0.1
servers:
- url: /open-banking/v4.0/aisp
tags:
- name: BCA
  description: Endpoint for getting Business Current Account data
paths:
  /business-current-accounts:
    get:
      tags:
      - BCA
      description: Gets a list of all `Branch Current Account` objects.
      parameters:
      - name: If-Modified-Since
        type: string
        description: Used for conditional request, to retrieve data only if modified since a given date
        in: header
        required: false
      - name: If-None-Match
        type: string
        description: Used for conditional request, to retrieve data only if the given Etag value does not match
        in: header
        required: false
      responses:
        '200':
          description: Successful response with a list of `Branch Current Account` data
          headers:
            Strict-Transport-Security:
              type: string
              description: HTTPS strict transport security header
              default: max-age=31536000
            Etag:
              type: string
              description: A unique ID identifying whether this resource has changed
            Cache-Control:
              type: string
              description: Describes how long this response can be cached
              default: max-age=28800
            X-Frame-Options:
              type: string
              description: Prevent this request from being loaded in any iframes
              default: DENY
            X-Content-Type-Options:
              type: string
              description: Ensures each page has a content type and prevents browsers from doing MIME type sniffing
              default: nosniff
          schema:
            type: object
            properties:
              meta:
                title: Meta data
                type: object
                properties:
                  LastUpdated:
                    type: string
                    format: date-time
                  TotalResults:
                    type: integer
                  Agreement:
                    type: string
                    enum:
                    - Use of the APIs and any related data will be subject to the terms of the Open Licence and subject to terms and conditions
                  License:
                    description: Open Banking License
                    type: string
                    format: uri
                    enum:
                    - https://www.openbanking.org.uk/open-licence
                  TermsOfUse:
                    description: Open Banking Terms of Use
                    type: string
                    format: uri
                    enum:
                    - https://www.openbanking.org.uk/terms
                required:
                - LastUpdated
                - TotalResults
                - Agreement
                - License
                - TermsOfUse
                additionalProperties: false
              data:
                type: array
                items:
                  title: Business current account
                  description: Business current account
                  type: object
                  properties:
                    Organisation:
                      description: Organisation
                      type: object
                      properties:
                        ParentOrganisation:
                          description: Parent organisation
                          type: object
                          properties:
                            LEI:
                              description: The LEI ID of the organisation
                              type: string
                              pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
                            BIC:
                              description: The BIC from the organisation
                              type: string
                              pattern: '[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?'
                            OrganisationName:
                              description: Organisation Name
                              type: object
                              properties:
                                LegalName:
                                  description: Legal Name of the organisation
                                  type: string
                                  minLength: 1
                                  maxLength: 35
                              required:
                              - LegalName
                              additionalProperties: false
                          required:
                          - OrganisationName
                          additionalProperties: false
                        Brand:
                          description: Brand
                          type: object
                          properties:
                            TrademarkIPOCode:
                              description: 'The Intellectual Property Office (IPO) is the official body responsible for intellectual property (IP) rights including patents, designs, trademarks and copyright. (Code: UK or EU only)'
                              type: string
                              enum:
                              - UK
                              - EU
                            TrademarkID:
                              description: 'The trademark number that has been registered with the Intellectual Property Office. Note: The 2 letter IPO prefix should be omitted'
                              type: string
                              minLength: 1
                              maxLength: 35
                          required:
                          - TrademarkIPOCode
                          - TrademarkID
                          additionalProperties: false
                      required:
                      - ParentOrganisation
                      - Brand
                      additionalProperties: false
                    ProductType:
                      description: Descriptive code for the product category
                      type: string
                      enum:
                      - BCA
                    ProductName:
                      description: The name of the product used for marketing purposes from a customer perspective. i.e. what the customer would recognise
                      type: string
                    ProductSegment:
                      type: array
                      items:
                        description: Marketing or industry segment that the product is designed for
                        type: string
                        enum:
                        - Basic
                        - Business
                        - General
                        - Graduate
                        - International
                        - Packaged
                        - Personal
                        - Premium
                        - Reward
                        - SME
                        - Student
                        - YoungAdult
                        - Youth
                      minItems: 1
                    InternationalPaymentsSupported:
                      description: Indicates that the account supports international payments
                      type: boolean
                    ProductIdentifier:
                      description: Identifier within the parent organisation for the product. Must be unique in the organisation
                      type: string
                    CardWithdrawalLimit:
                      description: The daily Limit that a customer can get via the ATM. This describes the default limit rather than the maximum
                      type: string
                      pattern: ^-?\d{1,10}\.\d{1,2}$
                    ProductDescription:
                      description: Description of the product provided by the parent organisation
                      type: string
                    TsandCs:
                      description: URL provided by the parent organisation which redirects to the current T&Cs
                      type: array
                      items:
                        type: string
                      minItems: 1
                    AccessChannels:
                      description: Ways to interact with the bank when managing account
                      type: array
                      items:
                        description: Channel
                        type: string
                        enum:
                        - ATM
                        - Branch
                        - BusinessCommercialCentre
                        - CallCentre
                        - MobileApps
                        - MobileBanking
                        - Online
                        - Phone
                        - Post
                        - PostOffice
                        - RelationshipManager
                        - Text
                      minItems: 1
                    CardType:
                      description: Card Type available
                      type: array
                      items:
                        description: Indicates the card scheme
                        type: string
                        enum:
                        - BasicCard
                        - BusinessQuickLodgeCard
                        - Cashcard
                        - ContactlessCashcard
                        - ContactlessDebitMastercard
                        - ContactlessDebitVisa
                        - DebitMastercard
                        - VisaDebit
                        - DepositCard
                        - OperatorCard
                        - POCACard
                      minItems: 1
                    Contactless:
                      description: Does the card issued have contactless facility
                      type: boolean
                    MobileWallet:
                      description: Mobile wallet supported by this product. A mobile wallet being any electronic device that allows an individual to make electronic commerce transactions
                      type: array
                      items:
                        description: Mobile wallet supported by this product. A mobile wallet being any electronic device that allows an individual to make electronic commerce transactions
                        type: string
                        enum:
                        - AndroidPay
                        - ApplePay
                        - IssuerMobileApp
                        - MobileBankingApp
                        - Other
                        - PayM
                        - SamsungPay
                        - VodafoneWallet
                    CardNotes:
                      description: Optional additional notes to supplement the card details
                      type: string
                    ChequeBookAvailable:
                      description: Can a chequebook be issued
                      type: boolean
                    CreditScoringPartOfAccountOpeningForGettingAnAccount:
                      description: Indicates whether a credit check performed on an inquiry to open an account is submitted
                      type: boolean
                    CreditScoringPartOfAccountOpeningIsAHardOrSoftCreditScore:
                      description: Describes the type of credit scoring
                      type: array
                      items:
                        description: Indicates the type of scoring
                        type: string
                        enum:
                        - Hard
                        - Soft
                    CreditScoringPartOfAccountOpeningText:
                      description: Details on the specific credit scoring
                      type: string
                    CreditScoringPartOfAccountOpeningForIDVerification:
                      description: Indicates whether a credit check is used to check the address of a potential new account holder
                      type: boolean
                    CreditScoringPartOfAccountOpeningIDVerificationIsAHardOrSoftCreditScore:
                      type: array
                      items:
                        description: Indicates the type of scoring
                        type: string
                        enum:
                        - Hard
                        - Soft
                    CreditScoringPartOfAccountOpeningIDVerificationText:
                      description: Details on the specific credit scoring
                      type: array
                      items:
                        type: string
                    MaximumMonthlyCharge:
                      description: The maximum Relevant Charges that could accrue
                      type: string
                      pattern: ^-?\d{1,10}\.\d{1,2}$
                    ProductURL:
                      description: URL provided by the organisation which redirects to the product (on live products only). There might be more than one product at a given URL
                      type: array
                      items:
                        type: string
                        format: uri
                      minItems: 1
                    Currency:
                      description: Currency of the Account. Default to GBP at present
                      type: array
                      items:
                        description: Active or Historic Currency Code
                        type: string
                        pattern: '[A-Z]{3}'
                      minItems: 1
                    OverdraftOffered:
                      description: Indicates whether an overdraft offered for this account
                      type: boolean
                    Feature:
                      type: array
                      items:
                        description: Account Features
                        type: object
                        properties:
                          ExistingFeature:
                            description: Indicates whether the account has any feature
                            type: boolean
                          ProductState:
                            description: Describes if the offering is promotional or a description of a future state.
                            type: string
                            enum:
                            - FutureMultipleTerms
                            - Promotional
                            - Regular
                          StartPromotionOrFutureTerms:
                            description: Describes the start date
                            type: string
                            pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
                          StopPromotionOrFutureTerms:
                            description: Describes the end date
                            type: string
                            pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
                          LengthPromotionalInDays:
                            description: Describes the length if only a duration is given instead of a date
                            type: integer
                          DateOfChange:
                            description: Date of the change if it refers to future terms
                            type: string
                            pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
                          FeatureDetails:
                            description: Feature details
                            type: array
                            items:
                              description: Feature Details
                              type: object
                              properties:
                                FeatureSubType:
                                  description: ''
                                  type: string
                                  enum:
                                  - FutureMultipleTerms
                                  - Promotional
                                  - Regular
                                StartPromotionOrFutureTerms:
                                  description: Describes the start date
                                  type: string
                                  pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
                                StopPromotionOrFutureTerms:
                                  description: Describes the end date
                                  type: string
                                  pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
                                LengthPromotionalInDays:
                                  description: Describes the length if only a duration is given instead of a date
                                  type: integer
                                DateOfChange:
                                  description: Date of the change if it refers to future terms
                                  type: string
                                  pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
                                FeatureType:
                                  description: Type that represents the nature of the feature
                                  type: string
                                FeatureName:
                                  description: The name of the feature
                                  type: string
                                FeatureDescription:
                                  description: A textual explanation of what the feature
                                  type: string
                                FeatureValue:
                                  description: The value or values permissible for a specific feature for an individual product representing a product characteristic
                                  type: string
                                CriteriaType:
                                  description: Criteria that is required in order to be eligible for the feature
                                  type: string
                        required:
                        - ExistingFeature
                    CAPricing:
                      type: array
                      items:
                        description: Card Price
                        type: object
                        properties:
                          ProductState:
                            description: Describes if the offering is promotional or a description of a future state.
                            type: string
                            enum:
                            - FutureMultipleTerms
                            - Promotional
                            - Regular
                          CAPricingItem:
                            description: Card Pricing
                            type: object
                            properties:
                              StartPromotionOrFutureTerms:
                                description: Describes the start date
                                type: string
                                pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
                              StopPromotionOrFutureTerms:
                                description: Describes the end date
                                type: string
                                pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
                              LengthPromotionalInDays:
                                description: Describes the length if only a duration is given instead of a date
                                type: integer
                              DateOfChange:
                                description: Date of the change if it refers to future terms
                                type: string
                                pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
                              ExchangeRateAdjustment:
                                description: The margin added, by certain card issuers, to the scheme rate in order to arrive at the exchange rate qouted as the reference exchange rate to the cardholder
                                type: string
                                pattern: ^-?\d{1,3}\.\d{1,4}$
                            additionalProperties: false
                        required:
                        - ProductState
                        - CAPricingItem
                        additionalProperties: false
                      minItems: 1
                    Eligibility:
                      description: Eligibility
                      type: object
                      properties:
                        AgeRestricted:
                          description: Indicates a customer's age is part of eligibility criteria
                          type: boolean
                        MinimumAge:
                          description: Minimum age, in years, required to hold an account
                          type: integer
                        MaximumAge:
                          description: Maximum age, in years, allowed to hold the account
                          type: integer
                        MaximumAgeToOpen:
                          description: Maximum age, in years, to open an account
                          type: integer
                        OtherFinancialHoldingRequired:
                          description: Indicates that it is necessary to hold another product with the bank in order to be eligible for this product or feature
                          type: boolean
                        Description:
                          description: One paragraph detailing the eligibility
                          type: string
                        IncomeTurnoverRelated:
                          description: Indicates if eligibility linked to income
                          type: boolean
                        SingleJointIncome:
                          description: Minimum Income Source. For certain products a minimum income is required. This can be mandated as to the single income or to a joint income. This field describes this
                          type: string
                          enum:
                          - Joint
                          - SoleIncome
                          - SoleOrJoint
                          - Turnover
                        MinimumIncomeTurnoverAmount:
                          description: Minimum income / Turnover required to hold the product
                          type: string
                          pattern: ^-?\d{1,10}\.\d{1,2}$
                        MinimumIncomeTurnoverCurrency:
                          description: Minimum income / Turnover Currency
                          type: string
                          pattern: '[A-Z]{3}'
                        IncomeCondition:
                          description: Stipulates any particular definition of income that applies to the income eligibility and/or method by which income must paid into the account (eg Salary DD)
                          type: string
                        MinIncomeTurnoverPaidIntoAccount:
                          description: Minimum Income Amount required to paid into the account
                          type: integer
                        MinimumIncomeFrequency:
                          description: The frequency that the minimum mentioned before is deposited in the account. Yearly is very important for premium accounts
                          type: string
                          enum:
                          - AcademicTerm
                          - HalfYearly
                          - Monthly
                          - Quarterly
                          - Weekly
                          - Yearly
                        AnnualBusinessTurnover:
                          description: Annual Business Turnover
                          type: string
                          pattern: ^-?\d{1,10}\.\d{1,2}$
                        AnnualBusinessTurnoverCurrency:
                          description: Annual Business Turnover Currency
                          type: string
                          pattern: '[A-Z]{3}'
                        ResidencyRestricted:
                          description: Indicates a customer's residency forms part of the eligibility criteria
                          type: boolean
                        ResidencyRestrictedRegion:
                          description: Indicates a customer must be current resident of a geographic area/country
                          type: string
                          enum:
                          - UK
                          - EEA
                          - EU
                          - EFTA
                          - GB - ENG
                          - GB - NIR
                          - GB - SCT
                          - GB - WLS
                          - IRL
                        MaxNumberOfAccounts:
                          description: Maximum number of the same prodcut the customer may hold
                          type: string
                        ThirdSectorOrganisations:
                          description: Is the product available to operate as a Clubs or Societies account?
                          type: boolean
                        MinimumDeposit:
                          description: A minimum deposit required to hold this account
                          type: boolean
                        OpeningDepositMinimum:
                          description: Minimum Amount to be held on account
                          type: string
                          pattern: ^-?\d{1,10}\.\d{1,2}$
                        OpeningDepositMinimumCurrency:
                          description: The currency of the Minimum Amount to be depositing at opening
                          type: string
                          pattern: '[A-Z]{3}'
                        MinimumOperatingBalanceExists:
                          description: Is there a Minimum Operating Balance?
                          type: boolean
                        MinimumOperatingBalance:
                          description: Minimum Operating Balance
                          type: string
                          pattern: ^-?\d{1,10}\.\d{1,2}$
                        MinimumOperatingBalanceCurrency:
                          description: Minimum Operating Balance currency
                          type: string
                          pattern: '[A-Z]{3}'
                        MaximumOpeningAmount:
                          description: A maximum amount to be deposited at opening
                          type: boolean
                        OpeningDepositMaximumAmount:
                          description: Maximum Amount to be depositing at opening
                          type: string
                          pattern: ^-?\d{1,10}\.\d{1,2}$
                        OpeningDepositMaximumCurrency:
                          description: The currency of the Minimum Amount to be depositing at opening
                          type: string
                          pattern: '[A-Z]{3}'
                        EligibilityName:
                          description: Free text description, denotes non standard eligibilities not included in the code list
                          type: string
                        EligibilityType:
                          description: Eligibility type
                          type: string
                          enum:
                          - AnyBusinessCustomer
                          - BusinessOnly
                          - CreditCard
                          - CreditScoring
                          - EmailAddress
                          - ExistingCustomers
                          - IdAndV
                          - Mortgage
                          - NoArrearsOnLoan
                          - NoCustomerInArrears
                          - NoOverOverdraftThirtyDays
                          - NoSoleUkAccountOrBankrupt
                          - NTB
                          - NTBBusiness
                          - SoleStudentAccount
                          - SoleUkAccount
                          - StudentsOnly
                          - TwoMonthsOfCourseStart
                          - UCASFulltimeTwoYears
                        EligibilityNotes:
                          description: Optional additional notes to supplement the eligibility conditions. Only used for very specific conditions
                          type: string
                        PreviousBankruptcy:
                          description: Describes if a previous bankruptcy / insolvency disqualfies for this account Details in ELI-280
                          type: boolean
                        MarketingEligibility:
                          type: array
                          items:
                            description: Specific eligibility for marketing
                            type: string
                            enum:
                            - ExistingCustomers
                            - NewCustomersOnly
                            - SwitchersOnly
                            - StartUp
                          uniqueItems: true
                      required:
                      - AgeRestricted
                      - OtherFinancialHoldingRequired
                      - Description
                      - IncomeTurnoverRelated
                      - ResidencyRestricted
                      - ThirdSectorOrganisations
                      - PreviousBankruptcy
                      additionalProperties: false
                    CreditInterest:
                      description: Credit Interest
                      type: object
                      properties:
                        CreditCharged:
                          description: Is credit paid to the account. The answer will be the condition of all other fields to be filled
                          type: boolean
                        CreditInterestGroup:
                          type: array
                          items:
                            description: Credit Interest Group
                            type: object
                            properties:
                              InterestTierSubType:
                                description: Describes if the offering is promotional, regular or a description of a future state
                                type: string
                                enum:
                                - FutureMultipleTerms
                                - Promotional
                                - Regular
                              CreditInterestItem:
                                description: Credit Interest item
                                type: object
                                properties:
                                  StartPromotionOrFutureTerms:
                                    description: Describes the start date
                                    type: string
                                    pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
                                  StopPromotionOrFutureTerms:
                                    description: Describes the end date
                                    type: string
                                    pattern: ^[0-9]{4}-(0[1-9]|(1[0|1|2]))-((0[1-9])|((1|2)[0-9])|(30|31))$
                                  LengthPromotionalInDays:
                                    description: Describes the length if only a duration is given instead of a date
                                    type: integer
                                  DateOfChange:
                                    description: Date of the change if it refers to future t

# --- truncated at 32 KB (120 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/open-banking-uk/refs/heads/main/openapi/open-banking-uk-bca-api-openapi.yml