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/paragon-bank-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: '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:
parameters:
Authorization:
in: header
name: Authorization
required: true
description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750
schema:
type: string
x-customer-user-agent:
in: header
name: x-customer-user-agent
description: Indicates the user-agent that the PSU is using.
required: false
schema:
type: string
x-client-id:
in: header
name: x-client-id
required: false
description: "Only used if an ASPSP requires the client ID in order to return rate limit headers. \n\nTPPs __must__ refer to ASPSP developer portals for further information on any rate limit policies, if the headers are supported and any additional requirements.\n\nThis header __must not__ be used for client authentication\n"
schema:
type: string
x-fapi-customer-ip-address:
in: header
name: x-fapi-customer-ip-address
required: false
description: The PSU's IP address if the PSU is currently logged in with the TPP.
schema:
type: string
x-fapi-interaction-id:
in: header
name: x-fapi-interaction-id
required: false
description: An RFC4122 UID used as a correlation id.
schema:
type: string
AccountId:
name: AccountId
in: path
description: AccountId
required: true
schema:
type: string
x-fapi-auth-date:
in: header
name: x-fapi-auth-date
required: false
description: "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC"
schema:
type: string
pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
headers:
RateLimit:
required: false
description: 'TPPs __must__ refer to ASPSP developer portals for further information on any rate limit policies, if the headers are supported and any additional requirements.
A server uses the "RateLimit" response header field to communicate the current service limit for a quota policy for a particular partition key.
Example:
`RateLimit: "default";r=50;t=30`
The **REQUIRED** "r" parameter value conveys the remaining quota units for the identified policy.
The **OPTIONAL** "t" parameter value conveys the time window reset time for the identified policy.
'
schema:
type: string
RateLimit-Policy:
required: false
description: 'TPPs __must__ refer to ASPSP developer portals for further information on any rate limit policies, if the headers are supported and any additional requirements.
A non-empty list of Quota Policy Items. The Item value __MUST__ be a String.
Example:
`RateLimit-Policy: "default";q=100;w=10`
The **REQUIRED** "q" parameter indicates the quota allocated by this policy measured in quota units.
The **OPTIONAL** "w" parameter value conveys a time window.
'
schema:
type: string
schemas:
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
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
minItems: 1
OverdraftControlIndicator:
description: Specifies for the overdraft control feature/benefit
title: OverdraftControlIndicator
type: boolean
MinMaxType:
description: Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution
title: MinMaxType
type: string
enum:
- Minimum
- Maximum
FeeCapOccurrence:
description: fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount
title: FeeCapOccurrence
type: number
format: float
FeeCapAmount:
description: Cap amount charged for a fee/charge
title: FeeCapAmount
type: string
pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$
CappingPeriod:
description: Period e.g. day, week, month etc. for which the fee/charge is capped
title: CappingPeriod
type: string
enum:
- AcademicTerm
- Day
- Half Year
- Month
- Quarter
- Week
- Year
Notes:
description: Notes related to Overdraft fee charge cap
title: Notes
type: array
items:
description: maxLength 2000 text
typ
# --- truncated at 32 KB (312 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/paragon-bank/refs/heads/main/openapi/paragon-bank-products-api-openapi.yml