Bank of Scotland Products API

The Products API from Bank of Scotland — 2 operation(s) for products.

Operations 2

GET /accounts/{AccountId}/product Get Product for an AccountId #
GET /products Get Products #

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-scotland-products-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

bank-of-scotland-products-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Account and Transaction API Specification Products 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: Products
paths:
  /accounts/{AccountId}/product:
    get:
      tags:
      - Products
      summary: Get Product for an AccountId
      description: Enables an AISP to retrieve the account product information for a specific PSU account.
      operationId: GetAccountsAccountIdProduct
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/x-fapi-auth-date'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address'
      - $ref: '#/components/parameters/x-fapi-interaction-id'
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/x-customer-user-agent'
      - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdProductRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
      - PSUOAuth2Security:
        - accounts
  /products:
    get:
      tags:
      - Products
      summary: Get Products
      description: Enables an AISP to retrieve the account product information for account(s) that the PSU has consented to.
      operationId: GetProducts
      parameters:
      - $ref: '#/components/parameters/x-fapi-auth-date'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address'
      - $ref: '#/components/parameters/x-fapi-interaction-id'
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/x-customer-user-agent'
      - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/200ProductsRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
      - PSUOAuth2Security:
        - accounts
components:
  schemas:
    OB_MinMaxType1Code:
      description: Min Max type
      type: string
      enum:
      - FMMN
      - FMMX
    OB_Amount1_1:
      description: Every additional tranche of an overdraft balance to which an overdraft fee is applied
      type: string
      pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$
    OB_FeeFrequency1Code_4:
      description: Period e.g. day, week, month etc. for which the fee/charge is capped
      type: string
      enum:
      - FEAC
      - FEAO
      - FECP
      - FEDA
      - FEHO
      - FEI
      - FEMO
      - FEOA
      - FEOT
      - FEPC
      - FEPH
      - FEPO
      - FEPS
      - FEPT
      - FEPTA
      - FEPTP
      - FEQU
      - FESM
      - FEST
      - FEWE
      - FEYE
    OB_InterestRateType1Code_0:
      description: Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)
      type: string
      enum:
      - INBB
      - INFR
      - INGR
      - INLR
      - INNE
      - INOT
    OB_OtherCodeType1_1:
      type: object
      required:
      - Name
      - Description
      description: Other application frequencies that are not available in the standard code list
      properties:
        Code:
          $ref: '#/components/schemas/OB_CodeMnemonic'
        Name:
          $ref: '#/components/schemas/Name_4'
        Description:
          $ref: '#/components/schemas/Description_3'
      additionalProperties: false
    OBErrorResponse1:
      description: An array of detail error codes, and messages, and URLs to documentation to help remediation.
      type: object
      properties:
        Id:
          description: A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.
          type: string
          minLength: 1
          maxLength: 40
        Code:
          description: Deprecated <br />High level textual error code, to help categorise the errors.
          type: string
          minLength: 1
          example: 400 BadRequest
          maxLength: 40
        Message:
          description: Deprecated <br />Brief Error message
          type: string
          minLength: 1
          example: There is something wrong with the request parameters provided
          maxLength: 500
        Errors:
          items:
            $ref: '#/components/schemas/OBError1'
          type: array
          minItems: 1
      required:
      - Errors
      additionalProperties: false
    OB_OtherCodeType1_0:
      type: object
      required:
      - Name
      - Description
      properties:
        Code:
          $ref: '#/components/schemas/OB_CodeMnemonic'
        Name:
          $ref: '#/components/schemas/Name_4'
        Description:
          $ref: '#/components/schemas/Description_3'
      additionalProperties: false
    AccountId:
      description: A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.
      type: string
      example: '22289'
      minLength: 1
      maxLength: 40
    OB_FeeFrequency1Code_1:
      description: How often is the overdraft fee/charge calculated for the account.
      type: string
      enum:
      - FEAC
      - FEAO
      - FECP
      - FEDA
      - FEHO
      - FEI
      - FEMO
      - FEOA
      - FEOT
      - FEPC
      - FEPH
      - FEPO
      - FEPS
      - FEPT
      - FEPTA
      - FEPTP
      - FEQU
      - FESM
      - FEST
      - FEWE
      - FEYE
    Name_4:
      description: Long name associated with the code
      type: string
      minLength: 1
      maxLength: 70
    OB_Period1Code:
      description: Period e.g. day, week, month etc. for which the fee/charge is capped
      type: string
      enum:
      - PACT
      - PDAY
      - PHYR
      - PMTH
      - PQTR
      - PWEK
      - PYER
    OB_FeeCategory1Code:
      description: Categorisation of fees and charges into standard categories.
      type: string
      enum:
      - FCOT
      - FCRE
      - FCSV
    OB_FeeFrequency1Code_0:
      description: Frequency at which the overdraft charge is applied to the account
      type: string
      enum:
      - FEAC
      - FEAO
      - FECP
      - FEDA
      - FEHO
      - FEI
      - FEMO
      - FEOA
      - FEOT
      - FEPC
      - FEPH
      - FEPO
      - FEPS
      - FEPT
      - FEPTA
      - FEPTP
      - FEQU
      - FESM
      - FEST
      - FEWE
      - FEYE
    OB_OtherCodeType1_4:
      type: object
      required:
      - Name
      - Description
      description: Other fee rate type code which is not available in the standard code set
      properties:
        Code:
          $ref: '#/components/schemas/OB_CodeMnemonic'
        Name:
          $ref: '#/components/schemas/Name_4'
        Description:
          $ref: '#/components/schemas/Description_3'
      additionalProperties: false
    OBExternalStatusReason1Code:
      description: Low level textual error code, for all enum values see `OBExternalStatusReason1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      minLength: 4
      maxLength: 4
      example: U001
    OB_Rate1_0:
      description: Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)
      type: string
      pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$
    OB_OtherCodeType1_5:
      type: object
      required:
      - Name
      - Description
      description: Other fee rate type which is not in the standard rate type list
      properties:
        Code:
          $ref: '#/components/schemas/OB_CodeMnemonic'
        Name:
          $ref: '#/components/schemas/Name_4'
        Description:
          $ref: '#/components/schemas/Description_3'
      additionalProperties: false
    Meta:
      title: MetaData
      type: object
      description: Meta Data relevant to the payload
      properties:
        TotalPages:
          type: integer
          format: int32
        FirstAvailableDateTime:
          $ref: '#/components/schemas/ISODateTime'
        LastAvailableDateTime:
          $ref: '#/components/schemas/ISODateTime'
      additionalProperties: false
    OBPCAData1:
      type: object
      title: PCA
      properties:
        ProductDetails:
          type: object
          title: ProductDetails
          properties:
            Segment:
              description: "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. "
              title: Segment
              type: array
              items:
                description: "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. "
                type: string
                enum:
                - Basic
                - BenefitAndReward
                - CreditInterest
                - Cashback
                - General
                - Graduate
                - Other
                - Overdraft
                - Packaged
                - Premium
                - Reward
                - Student
                - YoungAdult
                - Youth
            MonthlyMaximumCharge:
              description: The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order
              title: MonthlyMaximumCharge
              type: string
              pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$
            Notes:
              description: Optional additional notes to supplement the Core product details
              title: Notes
              type: array
              items:
                description: maxLength 2000 text
                type: string
                minLength: 1
                maxLength: 2000
          additionalProperties: false
        CreditInterest:
          description: Details about the interest that may be payable to the PCA account holders
          type: object
          title: CreditInterest
          properties:
            TierBandSet:
              description: The group of tiers or bands for which credit interest can be applied.
              type: array
              title: TierBandSet
              items:
                description: The group of tiers or bands for which credit interest can be applied.
                type: object
                properties:
                  TierBandMethod:
                    description: 'The methodology of how credit interest is charged. It can be:-


                      1. Banded

                      Interest rates are banded. i.e. Increasing rate on whole balance as balance increases.


                      2. Tiered

                      Interest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.


                      3. Whole

                      The same interest rate is applied irrespective of the PCA balance'
                    title: TierBandMethod
                    type: string
                    enum:
                    - Tiered
                    - Whole
                  CalculationMethod:
                    description: Methods of calculating interest
                    title: CalculationMethod
                    type: string
                    enum:
                    - Compound
                    - SimpleInterest
                  Destination:
                    description: Describes whether accrued interest is payable only to the PCA or to another bank account
                    title: Destination
                    type: string
                    enum:
                    - PayAway
                    - SelfCredit
                  Notes:
                    description: Optional additional notes to supplement the Tier Band Set details
                    title: Notes
                    type: array
                    items:
                      description: maxLength 2000 text
                      type: string
                      minLength: 1
                      maxLength: 2000
                  TierBand:
                    description: Tier Band Details
                    type: array
                    title: TierBand
                    items:
                      description: Tier Band Details
                      type: object
                      properties:
                        Identification:
                          description: Unique and unambiguous identification of a  Tier Band for a PCA.
                          title: Identification
                          type: string
                          minLength: 1
                          maxLength: 35
                        TierValueMinimum:
                          description: Minimum deposit value for which the credit interest tier applies.
                          title: TierValueMinimum
                          type: string
                          pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$
                        TierValueMaximum:
                          description: Maximum deposit value for which the credit interest tier applies.
                          title: TierValueMaximum
                          type: string
                          pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$
                        CalculationFrequency:
                          description: How often is credit interest calculated for the account.
                          title: CalculationFrequency
                          type: string
                          enum:
                          - PerAcademicTerm
                          - Daily
                          - HalfYearly
                          - Monthly
                          - Other
                          - Quarterly
                          - PerStatementDate
                          - Weekly
                          - Yearly
                        ApplicationFrequency:
                          description: How often is interest applied to the PCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's PCA.
                          title: ApplicationFrequency
                          type: string
                          enum:
                          - PerAcademicTerm
                          - Daily
                          - HalfYearly
                          - Monthly
                          - Other
                          - Quarterly
                          - PerStatementDate
                          - Weekly
                          - Yearly
                        DepositInterestAppliedCoverage:
                          description: Amount on which Interest applied.
                          title: DepositInterestAppliedCoverage
                          type: string
                          enum:
                          - Tiered
                          - Whole
                        FixedVariableInterestRateType:
                          description: Type of interest rate, Fixed or Variable
                          title: FixedVariableInterestRateType
                          type: string
                          enum:
                          - Fixed
                          - Variable
                        AER:
                          description: "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A"
                          title: AER
                          type: string
                          pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$
                        BankInterestRateType:
                          description: Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the PCA.
                          title: BankInterestRateType
                          type: string
                          enum:
                          - LinkedBaseRate
                          - Gross
                          - Net
                          - Other
                        BankInterestRate:
                          description: Bank Interest for the PCA product
                          title: BankInterestRate
                          type: string
                          pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$
                        Notes:
                          description: Optional additional notes to supplement the Tier Band details
                          title: Notes
                          type: array
                          items:
                            description: maxLength 2000 text
                            type: string
                            minLength: 1
                            maxLength: 2000
                        OtherBankInterestType:
                          description: Other interest rate types which are not available in the standard code list
                          type: object
                          title: OtherBankInterestType
                          properties:
                            Code:
                              description: The four letter Mnemonic used within an XML file to identify a code
                              title: Code
                              type: string
                              pattern: ^\w{0,4}$
                              minLength: 0
                              maxLength: 4
                            Name:
                              description: Long name associated with the code
                              title: Name
                              type: string
                              minLength: 1
                              maxLength: 70
                            Description:
                              description: Description to describe the purpose of the code
                              title: Description
                              type: string
                              minLength: 1
                              maxLength: 350
                          additionalProperties: false
                          required:
                          - Name
                          - Description
                        OtherApplicationFrequency:
                          description: Other application frequencies that are not available in the standard code list
                          type: object
                          title: OtherApplicationFrequency
                          properties:
                            Code:
                              description: The four letter Mnemonic used within an XML file to identify a code
                              title: Code
                              type: string
                              pattern: ^\w{0,4}$
                              minLength: 0
                              maxLength: 4
                            Name:
                              description: Long name associated with the code
                              title: Name
                              type: string
                              minLength: 1
                              maxLength: 70
                            Description:
                              description: Description to describe the purpose of the code
                              title: Description
                              type: string
                              minLength: 1
                              maxLength: 350
                          additionalProperties: false
                          required:
                          - Name
                          - Description
                        OtherCalculationFrequency:
                          description: Other calculation frequency which is not available in the standard code set.
                          type: object
                          title: OtherCalculationFrequency
                          properties:
                            Code:
                              description: The four letter Mnemonic used within an XML file to identify a code
                              title: Code
                              type: string
                              pattern: ^\w{0,4}$
                              minLength: 0
                              maxLength: 4
                            Name:
                              description: Long name associated with the code
                              title: Name
                              type: string
                              minLength: 1
                              maxLength: 70
                            Description:
                              description: Description to describe the purpose of the code
                              title: Description
                              type: string
                              minLength: 1
                              maxLength: 350
                          additionalProperties: false
                          required:
                          - Name
                          - Description
                      required:
                      - TierValueMinimum
                      - ApplicationFrequency
                      - FixedVariableInterestRateType
                      - AER
                    minItems: 1
                required:
                - TierBandMethod
                - TierBand
              minItems: 1
          additionalProperties: false
          required:
          - TierBandSet
        Overdraft:
          description: Details about Overdraft rates, fees & charges
          type: object
          title: Overdraft
          properties:
            Notes:
              description: Associated Notes about the overdraft rates
              title: Notes
              type: array
              items:
                description: maxLength 2000 text
                type: string
                minLength: 1
                maxLength: 2000
            OverdraftTierBandSet:
              description: Tier band set details
              type: array
              title: OverdraftTierBandSet
              items:
                description: Tier band set details
                type: object
                properties:
                  TierBandMethod:
                    description: "The methodology of how overdraft is charged. It can be:\n'Whole'  Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation."
                    title: TierBandMethod
                    type: string
                    enum:
                    - Tiered
                    - Whole
                    - Banded
                  OverdraftType:
                    description: An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.
                    title: OverdraftType
                    type: string
                    enum:
                    - Committed
                    - OnDemand
                    - Other
                  Identification:
                    description: Unique and unambiguous identification of a  Tier Band for a overdraft product.
                    title: Identification
                    type: string
                    minLength: 1
                    maxLength: 35
                  AuthorisedIndicator:
                    description: Indicates if the Overdraft is authorised (Y) or unauthorised (N)
                    title: AuthorisedIndicator
                    type: boolean
                  BufferAmount:
                    description: 'When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply.'
                    title: BufferAmount
                    type: string
                    pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$
                  Notes:
                    description: Optional additional notes to supplement the overdraft Tier Band Set details
                    title: Notes
                    type: array
                    items:
                      description: maxLength 2000 text
                      type: string
                      minLength: 1
                      maxLength: 2000
                  OverdraftTierBand:
                    description: Provides overdraft details for a specific tier or band
                    type: array
                    title: OverdraftTierBand
                    items:
                      description: Provides overdraft details for a specific tier or band
                      type: object
                      properties:
                        Identification:
                          description: Unique and unambiguous identification of a  Tier Band for a overdraft.
                          title: Identification
                          type: string
                          minLength: 1
                          maxLength: 35
                        TierValueMin:
                          description: Minimum value of Overdraft Tier/Band
                          title: TierValueMin
                          type: string
                          pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$
                        TierValueMax:
                          description: Maximum value of Overdraft Tier/Band
                          title: TierValueMax
                          type: string
                          pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$
                        OverdraftInterestChargingCoverage:
                          description: Interest charged on whole amount or tiered/banded
                          title: OverdraftInterestChargingCoverage
                          type: string
                          enum:
                          - Tiered
                          - Whole
                        BankGuaranteedIndicator:
                          description: Indicates that a bank provides the overdraft limit up to TierValueMIn to all customers automatically
                          title: BankGuaranteedIndicator
                          type: boolean
                        EAR:
                          description: 'EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently

                            used interchangeably), being the actual annual interest rate of an Overdraft.'
                          title: EAR
                          type: string
                          pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$
                        RepresentativeAPR:
                          description: An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account.
                          title: RepresentativeAPR
                          type: string
                          pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$
                        Notes:
                          description: Optional additional notes to supplement the Tier/band details
                          title: Notes
                          type: array
                          items:
                            description: maxLength 2000 text
                            type: string
                            minLength: 1
                            maxLength: 2000
                        OverdraftFeesCharges:
                          description: Overdraft fees and charges
                          type: array
                          title: OverdraftFeesCharges
                          items:
                            description: Overdraft fees and charges
                            type: object
                            properties:
                              OverdraftFeeChargeCap:
                                description: Details about any caps (maximum charges) that apply to a particular fee/charge
                                type: array
                                title: OverdraftFeeChargeCap
                                items:
                                  description: Details about any caps (maximum charges) that apply to a particular fee/charge
                                  type: object
                                  properties:
                                    FeeType:
                                      description: Fee/charge type which is being capped
                                      title: FeeType
                                      type: array
                                      items:
                                        description: Overdraft fee type
                                        type: string
                                        enum:
                                        - ArrangedOverdraft
                                        - EmergencyBorrowing
                                        - BorrowingItem
                                        - OverdraftRenewal
                                        - AnnualReview
                                        - OverdraftSetup
                                        - Surcharge
                                        - TempOverdraft
                                        - UnauthorisedBorrowing
                                        - UnauthorisedPaidTrans
                                        - Other
                                        - UnauthorisedUnpaidTrans
                              

# --- truncated at 32 KB (312 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bank-of-scotland/refs/heads/main/openapi/bank-of-scotland-products-api-openapi.yml