openapi: 3.0.0
info:
title: Account and Transaction API Specification Account Access Consents International Standing Orders Consents 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: International Standing Orders Consents
paths:
/international-standing-order-consents:
post:
tags:
- International Standing Orders Consents
summary: Create an International Standing Order Consent
description: Enables a PISP to register an intent to initiate an International Standing Order arrangement.
operationId: CreateInternationalStandingOrderConsents
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/OBWriteInternationalStandingOrderConsent6'
application/json:
schema:
$ref: '#/components/schemas/OBWriteInternationalStandingOrderConsent6'
application/jose+jwe:
schema:
$ref: '#/components/schemas/OBWriteInternationalStandingOrderConsent6'
description: Default
required: true
responses:
'201':
$ref: '#/components/responses/201InternationalStandingOrderConsentsCreated'
'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-standing-order-consents/{ConsentId}:
get:
tags:
- International Standing Orders Consents
summary: Get an International Standing Order Consent
description: Enables a PISP to retrieve the status of an intent to initiate an International Standing Order arrangement.
operationId: GetInternationalStandingOrderConsentsConsentId
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/200InternationalStandingOrderConsentsConsentIdRead'
'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
components:
schemas:
OBWriteInternationalStandingOrderConsent6:
type: object
additionalProperties: false
required:
- Data
- Risk
properties:
Data:
type: object
additionalProperties: false
required:
- Permission
- Initiation
properties:
Permission:
description: Specifies the Open Banking service request types.
type: string
enum:
- Create
ReadRefundAccount:
description: Specifies to share the refund account details with PISP
type: string
enum:
- 'No'
- 'Yes'
Initiation:
type: object
additionalProperties: false
required:
- CurrencyOfTransfer
- InstructedAmount
- CreditorAccount
- MandateRelatedInformation
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 an international standing order.
properties:
RemittanceInformation:
$ref: '#/components/schemas/OBRemittanceInformation2'
NumberOfPayments:
$ref: '#/components/schemas/NumberOfPayments'
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'
DebtorAccount:
type: object
additionalProperties: false
required:
- SchemeName
- Identification
description: Provides the details to identify the debtor account.
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: 'Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.
This is the servicer of the beneficiary account.'
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalFinancialInstitutionIdentification4Code'
Identification:
description: Unique and unambiguous identification of the servicing institution.
type: string
minLength: 1
maxLength: 35
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: Provides the details to identify the beneficiary account.
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
MandateRelatedInformation:
$ref: '#/components/schemas/OBMandateRelatedInformation1'
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'
Risk:
$ref: '#/components/schemas/OBRisk1'
OBRemittanceInformation2:
type: object
description: Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system
properties:
Structured:
type: array
items:
$ref: '#/components/schemas/OBRemittanceInformationStructured'
Unstructured:
type: array
description: Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.
items:
type: string
maxLength: 140
minLength: 1
LEI:
description: Legal entity identification as an alternate identification for a party. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
type: string
example: IZ9Q00LZEVUKWCQY6X15
minLength: 1
maxLength: 20
pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
ExternalCategoryPurpose1Code:
description: "Enumeration of codes that outlines the type of purpose behind a transaction, payment or risk. \n For all enum values see `ExternalCategoryPurpose1Code` [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)"
type: string
enum:
- BONU
- CASH
- CBLK
- CCRD
- CGWV
- CIPC
- CONC
- CORT
- DCRD
- DIVI
- DVPM
- EPAY
- FCDT
- FCIN
- FCOL
- GOVT
- GP2P
- HEDG
- ICCP
- IDCP
- INTC
- INTE
- LBOX
- LOAN
- MP2B
- MP2P
- OTHR
- PENS
- RPRE
- RRCT
- RVPM
- SALA
- SECU
- SSBE
- SUPP
- SWEP
- TAXS
- TOPG
- TRAD
- TREA
- VATX
- VOST
- WHLD
- ZABA
NumberOfPayments:
description: Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.
type: string
minLength: 1
maxLength: 35
OBWriteInternationalStandingOrderConsentResponse7:
type: object
additionalProperties: false
required:
- Data
- Risk
properties:
Data:
type: object
additionalProperties: false
required:
- ConsentId
- CreationDateTime
- Status
- StatusUpdateDateTime
- Permission
- 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
Permission:
description: Specifies the Open Banking service request types.
type: string
enum:
- Create
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
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'
Initiation:
type: object
additionalProperties: false
required:
- CurrencyOfTransfer
- InstructedAmount
- CreditorAccount
- MandateRelatedInformation
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 an international standing order.
properties:
RemittanceInformation:
$ref: '#/components/schemas/OBRemittanceInformation2'
NumberOfPayments:
$ref: '#/components/schemas/NumberOfPayments'
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'
DebtorAccount:
type: object
additionalProperties: false
required:
- SchemeName
- Identification
description: Provides the details to identify the debtor account.
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: 'Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.
This is the servicer of the beneficiary account.'
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalFinancialInstitutionIdentification4Code'
Identification:
description: Unique and unambiguous identification of the servicing institution.
type: string
minLength: 1
maxLength: 35
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: Provides the details to identify the beneficiary account.
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
MandateRelatedInformation:
$ref: '#/components/schemas/OBMandateRelatedInformation1'
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'
StreetName:
description: Name of a street or thoroughfare.
type: string
minLength: 1
maxLength: 140
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'
OBUltimateCreditor1:
description: Ultimate party to which an amount of money is due.
type: object
properties:
Name:
description: Name by which a party is known and which is usually used to identify that party.
type: string
minLength: 1
maxLength: 140
Identification:
description: Identification assigned by an institution.
type: string
minLength: 1
maxLength: 256
LEI:
$ref: '#/components/schemas/LEI'
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
PostalAddress:
$ref: '#/components/schemas/OBPostalAddress7'
Links:
type: object
additionalProperties: false
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
required:
- Self
OBFrequency6Code:
description: For a full list of values see `OBFrequency6Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
type: string
enum:
- ADHO
- YEAR
- DAIL
- FRTN
- INDA
- MNTH
- QURT
- MIAN
- WEEK
- WODL
- FOWK
- TWMH
- FOMH
- FIMH
- ALMH
- NONE
- LWMH
- LXMH
- TWYR
OBExternalMandateClassification1Code:
type: string
enum:
- FIXE
- USGB
- VARI
ActiveOrHistoricCurrencyCode:
description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
type: string
pattern: ^[A-Z]{3,3}$
CountryCode:
description: Nation with its own government.
type: string
pattern: ^[A-Z]{2,2}$
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
TownName:
description: Name of a built-up area, with defined boundaries, and a local government.
type: string
minLength: 1
maxLength: 140
PostCode:
description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
type: string
minLength: 1
maxLength: 16
Department:
description: Identification of a 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}$
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
ExternalProxyAccountType1Code:
description: Specifies the external proxy account type code, as published in the proxy account type external code set.<br /> For a full list of values see `ExternalProxyAccountType1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
type: string
enum:
- TELE
- EMAL
- DNAM
- CINC
-
# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/open-banking-uk/refs/heads/main/openapi/open-banking-uk-international-standing-orders-consents-api-openapi.yml