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/yorkshire-building-society-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: 3.2.0
info:
title: Account and Transaction API Specification Products API
description: OpenAPI for Account and Transaction API Specification
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: v3.1.2
servers:
- url: https://ob-ybs.api.ybs.co.uk/open-banking/v3.1/aisp
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Products
paths:
/accounts/{AccountId}/product:
get:
tags:
- Products
summary: Get Products
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'
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
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'
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_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_3'
Description:
$ref: '#/components/schemas/Description_3'
OB_OtherFeeChargeDetailType:
type: object
required:
- FeeCategory
- Name
- Description
description: Other Fee/charge type which is not available in the standard code set
properties:
Code:
$ref: '#/components/schemas/OB_CodeMnemonic'
FeeCategory:
$ref: '#/components/schemas/OB_FeeCategory1Code'
Name:
$ref: '#/components/schemas/Name_3'
Description:
$ref: '#/components/schemas/Description_3'
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_Amount1_0:
description: Cap amount charged for a fee/charge
type: string
pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$
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
OB_Amount1_4:
description: Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)
type: string
pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$
OB_FeeType1Code:
description: Fee/Charge Type
type: string
enum:
- FEPF
- FTOT
- FYAF
- FYAM
- FYAQ
- FYCP
- FYDB
- FYMI
- FYXX
OB_InterestCalculationMethod1Code:
description: Methods of calculating interest
type: string
enum:
- ITCO
- ITOT
- ITSI
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_Rate1_1:
description: Rate charged for 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_Amount1_2:
description: Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)
type: string
pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$
OB_OverdraftFeeType1Code:
description: Overdraft fee type
type: string
enum:
- FBAO
- FBAR
- FBEB
- FBIT
- FBOR
- FBOS
- FBSC
- FBTO
- FBUB
- FBUT
- FTOT
- FTUT
OB_OtherCodeType1_7:
type: object
required:
- Name
- Description
description: Other calculation frequency which is not available in standard code set.
properties:
Code:
$ref: '#/components/schemas/OB_CodeMnemonic'
Name:
$ref: '#/components/schemas/Name_3'
Description:
$ref: '#/components/schemas/Description_3'
OB_OtherCodeType1_3:
type: object
required:
- Name
- Description
description: Other Fee type which is not available in the standard code set
properties:
Code:
$ref: '#/components/schemas/OB_CodeMnemonic'
Name:
$ref: '#/components/schemas/Name_3'
Description:
$ref: '#/components/schemas/Description_3'
OB_Amount1_3:
description: Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)
type: string
pattern: ^(-?\\d{1,14}){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_3'
Description:
$ref: '#/components/schemas/Description_3'
ISODateTime:
description: "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
type: string
format: date-time
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}$
Links:
type: object
description: Links relevant to the payload
properties:
Self:
type: string
format: uri
First:
type: string
format: uri
Prev:
type: string
format: uri
Next:
type: string
format: uri
Last:
type: string
format: uri
additionalProperties: false
required:
- Self
OBErrorResponse1:
description: An array of detail error codes, and messages, and URLs to documentation to help remediation.
type: object
properties:
Code:
description: High level textual error code, to help categorize the errors.
type: string
minLength: 1
maxLength: 40
Id:
description: A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.
type: string
minLength: 1
maxLength: 40
Message:
description: Brief Error message, e.g., 'There is something wrong with the request parameters provided'
type: string
minLength: 1
maxLength: 500
Errors:
items:
$ref: '#/components/schemas/OBError1'
type: array
minItems: 1
required:
- Code
- Message
- Errors
additionalProperties: false
Name_3:
description: Long name associated with the code
type: string
minLength: 1
maxLength: 70
OB_OtherCodeType1_8:
type: object
required:
- Name
- Description
description: Other fee rate type which is not available in the standard code set
properties:
Code:
$ref: '#/components/schemas/OB_CodeMnemonic'
Name:
$ref: '#/components/schemas/Name_3'
Description:
$ref: '#/components/schemas/Description_3'
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_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_3'
Description:
$ref: '#/components/schemas/Description_3'
OB_MinMaxType1Code:
description: Min Max type
type: string
enum:
- FMMN
- FMMX
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}$
OBSupplementaryData1:
type: object
properties: {}
additionalProperties: true
description: Additional information that can not be captured in the structured fields and/or any other specific block.
OB_FeeCategory1Code:
description: Categorisation of fees and charges into standard categories.
type: string
enum:
- FCOT
- FCRE
- FCSV
OB_OtherCodeType1_6:
type: object
required:
- Name
- Description
description: Other application frequencies not covered in the standard code list
properties:
Code:
$ref: '#/components/schemas/OB_CodeMnemonic'
Name:
$ref: '#/components/schemas/Name_3'
Description:
$ref: '#/components/schemas/Description_3'
Number_1:
description: fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount
type: integer
OB_OtherCodeType1_0:
type: object
required:
- Name
- Description
properties:
Code:
$ref: '#/components/schemas/OB_CodeMnemonic'
Name:
$ref: '#/components/schemas/Name_3'
Description:
$ref: '#/components/schemas/Description_3'
OB_InterestRateType1Code_1:
description: Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)
type: string
enum:
- INBB
- INFR
- INGR
- INLR
- INNE
- INOT
OBError1:
type: object
properties:
ErrorCode:
description: Low level textual error code, e.g., UK.OBIE.Field.Missing
type: string
x-namespaced-enum:
- UK.OBIE.Field.Expected
- UK.OBIE.Field.Invalid
- UK.OBIE.Field.InvalidDate
- UK.OBIE.Field.Missing
- UK.OBIE.Field.Unexpected
- UK.OBIE.Header.Invalid
- UK.OBIE.Header.Missing
- UK.OBIE.Reauthenticate
- UK.OBIE.Resource.ConsentMismatch
- UK.OBIE.Resource.InvalidConsentStatus
- UK.OBIE.Resource.InvalidFormat
- UK.OBIE.Resource.NotFound
- UK.OBIE.Rules.AfterCutOffDateTime
- UK.OBIE.Rules.DuplicateReference
- UK.OBIE.Signature.Invalid
- UK.OBIE.Signature.InvalidClaim
- UK.OBIE.Signature.Malformed
- UK.OBIE.Signature.Missing
- UK.OBIE.Signature.MissingClaim
- UK.OBIE.Signature.Unexpected
- UK.OBIE.UnexpectedError
- UK.OBIE.Unsupported.AccountIdentifier
- UK.OBIE.Unsupported.AccountSecondaryIdentifier
- UK.OBIE.Unsupported.Currency
- UK.OBIE.Unsupported.Frequency
- UK.OBIE.Unsupported.LocalInstrument
- UK.OBIE.Unsupported.Scheme
Message:
description: 'A description of the error that occurred. e.g., ''A mandatory field isn''t supplied'' or ''RequestedExecutionDateTime must be in future''
OBIE doesn''t standardise this field'
type: string
minLength: 1
maxLength: 500
Path:
description: Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency
type: string
minLength: 1
maxLength: 500
Url:
description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc
type: string
required:
- ErrorCode
- Message
additionalProperties: false
minProperties: 1
Description_3:
description: Description to describe the purpose of the code
type: string
minLength: 1
maxLength: 350
OB_InterestFixedVariableType1Code:
description: Type of interest rate, Fixed or Variable
type: string
enum:
- INFI
- INVA
OB_CodeMnemonic:
description: The four letter Mnemonic used within an XML file to identify a code
type: string
pattern: ^\\w{0,4}$
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_OtherCodeType1_2:
type: object
required:
- Name
- Description
description: Other calculation frequency which is not available in the standard code set.
properties:
Code:
$ref: '#/components/schemas/OB_CodeMnemonic'
Name:
$ref: '#/components/schemas/Name_3'
Description:
$ref: '#/components/schemas/Description_3'
OBReadProduct2:
type: object
required:
- Data
description: Product details of Other Product which is not avaiable in the standard list
properties:
Data:
type: object
description: Aligning with the read write specs structure.
properties:
Product:
type: array
items:
type: object
description: Product details associated with the Account
required:
- AccountId
- ProductType
properties:
ProductName:
description: The name of the Product used for marketing purposes from a customer perspective. I.e. what the customer would recognise.
type: string
minLength: 1
maxLength: 350
ProductId:
description: The unique ID that has been internally assigned by the financial institution to each of the current account banking products they market to their retail and/or small to medium enterprise (SME) customers.
type: string
minLength: 1
maxLength: 40
AccountId:
description: Account Identification of the customer for Product Details
type: string
minLength: 1
maxLength: 40
SecondaryProductId:
description: Any secondary Identification which supports Product Identifier to uniquely identify the current account banking products.
type: string
minLength: 1
maxLength: 70
ProductType:
description: 'Product type : Personal Current Account, Business Current Account'
type: string
enum:
- BusinessCurrentAccount
- CommercialCreditCard
- Other
- PersonalCurrentAccount
- SMELoan
MarketingStateId:
description: Unique and unambiguous identification of a Product Marketing State.
type: string
minLength: 1
maxLength: 35
OtherProductType:
type: object
required:
- Name
- Description
description: Other product type details associated with the account.
properties:
Name:
description: Long name associated with the product
type: string
minLength: 1
maxLength: 350
Description:
description: Description of the Product associated with the account
type: string
minLength: 1
maxLength: 350
ProductDetails:
type: object
properties:
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.
Read more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd '
type: string
enum:
- GEAS
- GEBA
- GEBR
- GEBU
- GECI
- GECS
- GEFB
- GEFG
- GEG
- GEGR
- GEGS
- GEOT
- GEOV
- GEPA
- GEPR
- GERE
- GEST
- GEYA
- GEYO
- PSCA
- PSES
- PSNC
- PSNP
- PSRG
- PSSS
- PSST
- PSSW
FeeFreeLength:
description: The length/duration of the fee free period
type: integer
FeeFreeLengthPeriod:
description: The unit of period (days, weeks, months etc.) of the promotional length
type: string
enum:
- PACT
- PDAY
- PHYR
- PMTH
- PQTR
- PWEK
- PYER
MonthlyMaximumCharge:
description: The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order
type: string
pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$
Notes:
type: array
items:
description: Optional additional notes to supplement the Core product details
type: string
minLength: 1
maxLength: 2000
OtherSegment:
$ref: '#/components/schemas/OB_OtherCodeType1_0'
CreditInterest:
type: object
required:
- TierBandSet
description: Details about the interest that may be payable to the Account holders
properties:
TierBandSet:
type: array
items:
type: object
description: The group of tiers or bands for which credit interest can be applied.
required:
- TierBandMethod
- Destination
- TierBand
properties:
TierBandMethod:
description: 'The methodology of how credit interest is paid/applied. 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 product holder''s account balance'
type: string
enum:
- INBA
- INTI
- INWH
CalculationMethod:
$ref: '#/components/schemas/OB_InterestCalculationMethod1Code'
Destination:
description: Describes whether accrued interest is payable only to the BCA or to another bank account
type: string
enum:
- INOT
- INPA
- INSC
Notes:
type: array
items:
description: Optional additional notes to supplement the Tier Band Set details
type: string
minLength: 1
maxLength: 2000
OtherCalculationMethod:
$ref: '#/components/schemas/OB_OtherCodeType1_0'
OtherDestination:
$ref: '#/components/schemas/OB_OtherCodeType1_0'
TierBand:
type: array
items:
type: object
description: Tier Band Details
required:
- TierValueMinimum
- ApplicationFrequency
- FixedVariableInterestRateType
- AER
properties:
Identification:
description: Unique and unambiguous identification of a Tier Band for the Product.
type: string
minLength: 1
maxLength: 35
TierValueMinimum:
description: Minimum deposit value for which the credit interest tier applies.
type: string
pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$
TierValueMaximum:
description: Maximum deposit value for which the credit interest tier applies.
type: string
pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$
CalculationFrequency:
description: How often is credit interest calculated for the account.
type: string
enum:
- FQAT
- FQDY
- FQHY
- FQMY
- FQOT
- FQQY
- FQSD
- FQWY
- FQYY
ApplicationFrequency:
description: How often is interest applied to the Product for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's account.
type: string
enum:
- FQAT
- FQDY
- FQHY
- FQMY
- FQOT
- FQQY
- FQSD
- FQWY
- FQYY
DepositInterestAppliedCoverage:
description: Amount on which Interest applied.
type: string
enum:
- INBA
- INTI
- INWH
FixedVariableInterestRateType:
$ref: '#/components/schemas/OB_InterestFixedVariableType1Code'
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"
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 account holder's account.
type: string
enum:
- INBB
- INFR
- INGR
- INLR
- INNE
- INOT
BankInterestRate:
description: Bank Interest for the product
type: string
pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$
Notes:
type: array
items:
description: Optional additional notes to supplement the Tier Band details
type: string
minLength: 1
maxLength: 2000
OtherBankInterestType:
type: object
required:
- Name
- Description
description: Other interest rate types which are not available in the standard code list
properties:
Code:
$ref: '#/components/schemas/OB_CodeMnemonic'
Name:
$ref: '#/components/schemas/Name_3'
Description:
$ref: '#/components/schemas/Description_3'
OtherApplicationFrequency:
$ref: '#/components/schemas/OB_OtherCodeType1_1'
OtherCalculationFrequency:
$ref: '#/components/schemas/OB_OtherCodeType1_2'
minItems: 1
minItems: 1
Overdraft:
type: object
required:
- OverdraftTierBandSet
description: Borrowing details
properties:
Notes:
type: array
items:
description: Associated Notes about the overdraft rates
type: string
minLength: 1
maxLength: 2000
OverdraftTierBandSet:
type: array
items:
type: object
# --- truncated at 32 KB (358 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/yorkshire-building-society/refs/heads/main/openapi/yorkshire-building-society-products-api-openapi.yml