Bank of Scotland International Payment Consents API
The International Payment Consents API from Bank of Scotland — 3 operation(s) for international payment consents.
The International Payment Consents API from Bank of Scotland — 3 operation(s) for international payment consents.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/bank-of-scotland-international-payment-consents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: Payment Initiation International Payment Consents API
description: 'Swagger for Payment Initiation 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/pisp
tags:
- name: International Payment Consents
paths:
/international-payment-consents:
post:
tags:
- International Payment Consents
summary: Create an International Payment Consent
description: Enables a PISP to register an intent to initiate an International Payment.
operationId: CreateInternationalPaymentConsents
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-idempotency-key'
- $ref: '#/components/parameters/x-jws-signature'
- $ref: '#/components/parameters/x-customer-user-agent'
- $ref: '#/components/parameters/x-client-id'
requestBody:
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/OBWriteInternationalConsent5'
application/json:
schema:
$ref: '#/components/schemas/OBWriteInternationalConsent5'
application/jose+jwe:
schema:
$ref: '#/components/schemas/OBWriteInternationalConsent5'
description: Default
required: true
responses:
'201':
$ref: '#/components/responses/201InternationalPaymentConsentsCreated'
'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'
'409':
$ref: '#/components/responses/409Error'
'415':
$ref: '#/components/responses/415Error'
'422':
$ref: '#/components/responses/422Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- TPPOAuth2Security:
- payments
/international-payment-consents/{ConsentId}:
get:
tags:
- International Payment Consents
summary: Get an International Payment Consent
description: Enables a PISP to retrieve the status of an intent to initiate an International Payment.
operationId: GetInternationalPaymentConsentsConsentId
parameters:
- $ref: '#/components/parameters/ConsentId'
- $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/200InternationalPaymentConsentsConsentIdRead'
'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:
- TPPOAuth2Security:
- payments
/international-payment-consents/{ConsentId}/funds-confirmation:
get:
tags:
- International Payment Consents
summary: Confirm Funds Availability for an International Payment
description: Enables a PISP to check whether a PSU has sufficient available funds for an International Payment.
operationId: GetInternationalPaymentConsentsConsentIdFundsConfirmation
parameters:
- $ref: '#/components/parameters/ConsentId'
- $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/200InternationalPaymentConsentsConsentIdFundsConfirmationRead'
'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:
- payments
components:
schemas:
OBCashAccountDebtor4:
type: object
description: ^ Only included in the response if `Data. ReadRefundAccount` is set to `Yes` in the consent.
properties:
SchemeName:
type: string
description: ^ Name of the identification scheme, in a coded form as published in an external list. | Namespaced Enumeration OBInternalAccountIdentification4Code
Identification:
type: string
description: ^ Identification assigned by an institution to identify an account. This identification is known by the account owner. | Max256Text
Name:
type: string
description: ^ Name of the account, as assigned by the account servicing institution. Usage The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.
SecondaryIdentification:
type: string
description: ^ This is secondary identification of the account, as assigned by the account servicing institution. This can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination) | Max34Text
LEI:
$ref: '#/components/schemas/LEI'
OBErrorResponse1:
description: An array of detail error codes, and messages, and URLs to documentation to help remediation.
type: object
additionalProperties: false
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
OBInternalAccountIdentification4Code:
description: Name of the identification scheme, in a coded form as published in an external list. For a full list of values refer to `OBInternalAccountIdentification4Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
type: string
x-namespaced-enum:
- UK.OBIE.BBAN
- UK.OBIE.IBAN
- UK.OBIE.PAN
- UK.OBIE.Paym
- UK.OBIE.SortCodeAccountNumber
- UK.OBIE.Wallet
Identification_4:
description: Identification of the party to whom an invoice is issued, when it is different from the debtor or ultimate debtor.
type: string
example: '80200112344562'
minLength: 1
maxLength: 256
OBStatusReason:
type: object
properties:
StatusReasonCode:
type: string
description: "Specifies the status reason in a code form. \nFor a full list of values refer to `OBExternalStatusReason1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)"
minLength: 1
maxLength: 4
example: ERIN
StatusReasonDescription:
description: Description supporting the StatusReasonCode.
type: string
minLength: 1
maxLength: 500
Path:
type: string
description: Path is optional but relevant when the status reason refers to an object/field and hence conditional to provide JSON path.
minLength: 1
maxLength: 500
OBInternalFinancialInstitutionIdentification4Code:
description: Name of the identification scheme, in a coded form as published in an external list.
type: string
x-namespaced-enum:
- UK.OBIE.BICFI
CareOf:
description: The 'care of' address is used whenever sending mail to a person or organisation who does not actually live or work at the address. They will receive the mail for the individual.
type: string
minLength: 1
maxLength: 140
OBWriteInternationalConsentResponse6:
type: object
additionalProperties: false
required:
- Data
- Risk
properties:
Data:
type: object
additionalProperties: false
required:
- ConsentId
- CreationDateTime
- Status
- StatusUpdateDateTime
- Initiation
properties:
ConsentId:
description: 'OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.'
type: string
minLength: 1
maxLength: 128
CreationDateTime:
description: "Date and time at which the resource was created. 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
Status:
$ref: '#/components/schemas/OBInternalConsentStatus2Code'
StatusReason:
type: array
items:
$ref: '#/components/schemas/OBStatusReason'
StatusUpdateDateTime:
description: "Date and time at which the resource status was updated. 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
ReadRefundAccount:
description: Specifies to share the refund account details with PISP
type: string
enum:
- 'No'
- 'Yes'
CutOffDateTime:
description: "Specified cut-off date and time for the payment consent. 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
ExpectedExecutionDateTime:
description: "Expected execution date and time for the payment resource. 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
ExpectedSettlementDateTime:
description: "Expected settlement date and time for the payment resource. 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
Charges:
type: array
items:
type: object
additionalProperties: false
description: Set of elements used to provide details of a charge for the payment initiation.
required:
- ChargeBearer
- Type
- Amount
properties:
ChargeBearer:
$ref: '#/components/schemas/OBInternalChargeBearerType1Code'
Type:
$ref: '#/components/schemas/OBInternalPaymentChargeType1Code'
Amount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
ExchangeRateInformation:
type: object
additionalProperties: false
required:
- UnitCurrency
- ExchangeRate
- RateType
description: Further detailed information on the exchange rate that has been used in the payment transaction.
properties:
UnitCurrency:
description: Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.
type: string
pattern: ^[A-Z]{3,3}$
ExchangeRate:
description: The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.
type: number
RateType:
description: Specifies the type used to complete the currency exchange.
type: string
enum:
- Actual
- Agreed
- Indicative
ContractIdentification:
description: Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.
type: string
minLength: 1
maxLength: 256
ExpirationDateTime:
description: "Specified date and time the exchange rate agreement will expire. 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
Initiation:
type: object
additionalProperties: false
required:
- InstructionIdentification
- EndToEndIdentification
- CurrencyOfTransfer
- InstructedAmount
- CreditorAccount
description: The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.
properties:
InstructionIdentification:
description: 'Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.
Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.'
type: string
minLength: 1
maxLength: 35
EndToEndIdentification:
description: 'Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.
Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.
OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.'
type: string
minLength: 1
maxLength: 35
LocalInstrument:
$ref: '#/components/schemas/OBInternalLocalInstrument1Code'
InstructionPriority:
description: Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.
type: string
enum:
- Normal
- Urgent
ExtendedPurpose:
description: Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.
type: string
minLength: 1
maxLength: 140
ChargeBearer:
$ref: '#/components/schemas/OBInternalChargeBearerType1Code'
CurrencyOfTransfer:
description: Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.
type: string
pattern: ^[A-Z]{3,3}$
DestinationCountryCode:
description: Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).
type: string
pattern: ^[A-Z]{2,2}$
InstructedAmount:
type: object
additionalProperties: false
required:
- Amount
- Currency
description: 'Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
Usage: This amount has to be transported unchanged through the transaction chain.'
properties:
Amount:
$ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
ExchangeRateInformation:
type: object
additionalProperties: false
required:
- UnitCurrency
- RateType
description: Provides details on the currency exchange rate and contract.
properties:
UnitCurrency:
description: Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.
type: string
pattern: ^[A-Z]{3,3}$
ExchangeRate:
description: The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.
type: number
RateType:
description: Specifies the type used to complete the currency exchange.
type: string
enum:
- Actual
- Agreed
- Indicative
ContractIdentification:
description: Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.
type: string
minLength: 1
maxLength: 256
DebtorAccount:
type: object
additionalProperties: false
required:
- SchemeName
- Identification
description: Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification_0'
Name:
description: 'The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP''s online channels.
Note, the account name is not the product name or the nickname of the account.'
type: string
minLength: 1
maxLength: 350
SecondaryIdentification:
$ref: '#/components/schemas/SecondaryIdentification'
Proxy:
$ref: '#/components/schemas/OBProxy1'
Creditor:
type: object
additionalProperties: false
description: Party to which an amount of money is due.
properties:
Name:
description: Name by which a party is known and which is usually used to identify that party.
type: string
minLength: 1
maxLength: 350
LEI:
$ref: '#/components/schemas/LEI'
PostalAddress:
$ref: '#/components/schemas/OBPostalAddress7'
CreditorAgent:
type: object
additionalProperties: false
description: Financial institution servicing an account for the creditor.
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalFinancialInstitutionIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification_1'
Name:
$ref: '#/components/schemas/Name'
LEI:
$ref: '#/components/schemas/LEI'
PostalAddress:
$ref: '#/components/schemas/OBPostalAddress7'
CreditorAccount:
type: object
additionalProperties: false
required:
- SchemeName
- Identification
- Name
description: Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification_0'
Name:
description: 'The account name is the name or names of the account owner(s) represented at an account level.
Note, the account name is not the product name or the nickname of the account.
OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.'
type: string
minLength: 1
maxLength: 350
SecondaryIdentification:
$ref: '#/components/schemas/SecondaryIdentification'
Proxy:
$ref: '#/components/schemas/OBProxy1'
UltimateCreditor:
$ref: '#/components/schemas/OBUltimateCreditor1'
UltimateDebtor:
$ref: '#/components/schemas/OBUltimateDebtor1'
RegulatoryReporting:
type: array
items:
$ref: '#/components/schemas/OBRegulatoryReporting1'
maxItems: 10
RemittanceInformation:
$ref: '#/components/schemas/OBRemittanceInformation2'
SupplementaryData:
$ref: '#/components/schemas/OBSupplementaryData1'
Authorisation:
type: object
additionalProperties: false
required:
- AuthorisationType
description: The authorisation type request from the TPP.
properties:
AuthorisationType:
description: Type of authorisation flow requested.
type: string
enum:
- Any
- Single
CompletionDateTime:
description: "Date and time at which the requested authorisation flow must be completed. 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
SCASupportData:
$ref: '#/components/schemas/OBSCASupportData1'
Debtor:
$ref: '#/components/schemas/OBCashAccountDebtor4'
Risk:
$ref: '#/components/schemas/OBRisk1'
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/Meta'
PostBox:
description: Information that locates and identifies a box in a post office assigned to a person or organization, where letters for them are kept until called for.
type: string
minLength: 1
maxLength: 16
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
SubDepartment:
description: Identification of a sub-division of a large organisation or building.
type: string
minLength: 1
maxLength: 70
OBActiveCurrencyAndAmount_SimpleType:
description: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
type: string
pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$
OBWriteInternationalConsent5:
type: object
additionalProperties: false
required:
- Data
- Risk
properties:
Data:
type: object
additionalProperties: false
required:
- Initiation
properties:
ReadRefundAccount:
description: Specifies to share the refund account details with PISP
type: string
enum:
- 'No'
- 'Yes'
Initiation:
type: object
additionalProperties: false
required:
- InstructionIdentification
- EndToEndIdentification
- CurrencyOfTransfer
- InstructedAmount
- CreditorAccount
description: The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.
properties:
InstructionIdentification:
description: 'Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.
Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.'
type: string
minLength: 1
maxLength: 35
EndToEndIdentification:
description: 'Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.
Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.
OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.'
type: string
minLength: 1
maxLength: 35
LocalInstrument:
$ref: '#/components/schemas/OBInternalLocalInstrument1Code'
InstructionPriority:
description: Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.
type: string
enum:
- Normal
- Urgent
ExtendedPurpose:
description: Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.
type: string
minLength: 1
maxLength: 140
ChargeBearer:
$ref: '#/components/schemas/OBInternalChargeBearerType1Code'
CurrencyOfTransfer:
description: Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.
type: string
pattern: ^[A-Z]{3,3}$
DestinationCountryCode:
description: Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).
type: string
pattern: ^[A-Z]{2,2}$
InstructedAmount:
type: object
additionalProperties: false
required:
- Amount
- Currency
description: 'Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
Usage: This amount has to be transported unchanged through the transaction chain.'
properties:
Amount:
$ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
ExchangeRateInformation:
type: object
additionalProperties: false
required:
- UnitCurrency
- RateType
description: Provides details on the currency exchange rate and contract.
properties:
UnitCurrency:
description: Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.
type: string
# --- truncated at 32 KB (80 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bank-of-scotland/refs/heads/main/openapi/bank-of-scotland-international-payment-consents-api-openapi.yml