openapi: 3.2.0
info:
title: Payment Initiation International Standing Orders API
description: Initiate a single and immediate non-mandated funds transfer
version: v4.0
tags:
- name: International Standing Orders
description: International Standing Orders
paths:
/international-standing-orders:
summary: Create International Standing Orders
description: Create International Standing Orders
post:
tags:
- International Standing Orders
summary: Create International Standing Orders
operationId: CreateInternationalStandingOrders
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'
requestBody:
description: Default
content:
application/json:
schema:
$ref: '#/components/schemas/OBWriteInternationalStandingOrder4'
examples:
create-int-stand-order-request:
value:
Data:
ConsentId: BARCLAYS-P-12345678901234
Initiation:
ChargeBearer: Shared
DestinationCountryCode: GB
CurrencyOfTransfer: GBP
DebtorAccount:
SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: 08080021325698
Name: ACME Inc
SecondaryIdentification: '0002'
LEI: 8200007YHFDMEODY1965
Proxy:
Identification: 07700900000
Code: TELE
Type: Telephone
CreditorAccount:
SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: 08080021325698
Name: ACME Inc
SecondaryIdentification: '0002'
Proxy:
Identification: '+441632960540'
Code: TELE
Type: Telephone
InstructedAmount:
Amount: '20'
Currency: EUR
Creditor:
SchemeName: UK.OBIE.SortCodeAccountNumber
LEI: 8200007YHFDMEODY8412
PostalAddress:
AddressType: BIZZ
StreetName: Bank Street
BuildingNumber: '11'
Floor: '6'
PostCode: Z78 4TY
TownName: London
Country: UK
CreditorAgent:
LEI: 123400LZEVUKWCQY6X15
SchemeName: UK.OBIE.IBAN
Identification: '80200112344562'
Name: The Credit Agent
PostalAddress:
AddressType: BIZZ
StreetName: Bank Street
BuildingNumber: '11'
Floor: '6'
PostCode: Z78 4TY
TownName: London
Country: UK
CurrencyOfTansfer: EUR
UltimateDebtor:
SchemeName: UK.OBIE.IBAN
Identification: '2360549017905161589'
Name: Ultimate Debtor
LEI: 8200007YHFDMEODY1965
PostalAddress:
AddressType: BIZZ
StreetName: Bank Street
BuildingNumber: '11'
Floor: '6'
PostCode: Z78 4TY
TownName: London
Country: UK
UltimateCreditor:
SchemeName: UK.OBIE.IBAN
Identification: '2360549017905161589'
Name: Ultimate Creditor
LEI: 60450004FECVJV7YN339
PostalAddress:
AddressType: BIZZ
StreetName: Bank Street
BuildingNumber: '11'
Floor: '6'
PostCode: Z78 4TY
TownName: London
Country: UK
RegulatoryReporting:
- DebitCreditReportingIndicator: CRED
Authority:
Name: string
CountryCode: UG
Details:
- Date: '2024-04-25T13:26:41.911Z'
Country: QG
Amount:
Amount: '4.68702'
Currency: JGM
RemittanceInformation:
Structured:
- ReferredDocumentInformation:
- Code: CINV
Issuer: Issuer01
Number: Number_01
RelatedDate: '2024-04-25T13:26:41.911Z'
LineDetails:
- string
ReferredDocumentAmount: 1
CreditorReferenceInformation:
Code: DISP
Issuer: Issuer01
Reference: REF_26518
Invoicer: INVR51856
Invoicee: INVE5161856
TaxRemittance: Tax Remittance related information
AdditionalRemittanceInformation:
- Free text for additional information
Unstructured:
- Internal ops code 5120101
MandateRelatedInformation:
MandateIdentification: SO003538282
Classification: FIXE
CategoryPurposeCode: CASH
FirstPaymentDateTime: '2024-09-04T16:33:53.087Z'
FinalPaymentDateTime: '2025-09-04T16:33:53.087Z'
Frequency:
Type: DAIL
CountPerPeriod: 1
Reason: Pocket Money
Risk:
PaymentContextCode: TransferToThirdParty
PaymentPurposeCode: EPAY
CategoryPurposeCode: CASH
BeneficiaryAccountType: Business
MerchantCategoryCode: '7300'
MerchantCustomerIdentification: 053598653254
DeliveryAddress:
AddressLine:
- Flat 7
- Acacia Lodge
StreetName: Acacia Avenue
BuildingNumber: '27'
PostCode: GU31 2ZZ
TownName: Sparsholt
CountrySubDivision: Wessex
Country: UK
required: true
responses:
'422':
$ref: '#/components/responses/422Error'
'500':
$ref: '#/components/responses/500Error'
'405':
$ref: '#/components/responses/405Error'
deprecated: false
/international-standing-orders/{internationalStandingOrderPaymentId}:
summary: Get International Standing Orders
description: Get International Standing Orders
get:
tags:
- International Standing Orders
summary: Get International Standing Orders
operationId: GetInternationalStandingOrdersInternationalStandingOrderPaymentId
parameters:
- $ref: '#/components/parameters/InternationalStandingOrderPaymentId'
- $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'
responses:
'500':
$ref: '#/components/responses/500Error'
'405':
$ref: '#/components/responses/405Error'
deprecated: false
/international-standing-order-consents/{consentId}:
summary: Get International Standing Order Consents
description: Get International Standing Order Consents
get:
tags:
- International Standing Orders
summary: Get International Standing Order Consents
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'
responses:
'500':
$ref: '#/components/responses/500Error'
'405':
$ref: '#/components/responses/405Error'
deprecated: false
/international-standing-order-consents:
summary: Create International Standing Order Consents
description: Create International Standing Order Consents
post:
tags:
- International Standing Orders
summary: Create International Standing Order Consents
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'
requestBody:
description: Default
content:
application/json:
schema:
$ref: '#/components/schemas/OBWriteInternationalStandingOrderConsent6'
examples:
create-int-stand-order-con-request:
value:
Data:
Permission: Create
ReadRefundAccount: 'Yes'
Authorisation:
AuthorisationType: Any
CompletionDateTime: '2025-05-30T10:35:27Z'
Initiation:
ChargeBearer: Shared
CurrencyOfTransfer: USD
DestinationCountryCode: GB
Creditor:
Name: ACME Inc
LEI: 8200007YHFDMEODY1965
PostalAddress:
AddressType: BIZZ
StreetName: Bank Street
BuildingNumber: '11'
Floor: '6'
PostCode: Z78 4TY
TownName: London
Country: UK
CreditorAccount:
SchemeName: UK.OBIE.IBAN
Identification: DE89370400440532013000
SecondaryIdentification: '0002'
Name: Tom Kirkman
Proxy:
Identification: 07700900000
Code: TELE
Type: Telephone
DebtorAccount:
SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: '11280001234567'
Name: Andrea Frost
InstructedAmount:
Amount: '20'
Currency: EUR
MandateRelatedInformation:
MandateIdentification: Golfers
Classification: FIXE
CategoryPurposeCode: BONU
FirstPaymentDateTime: '2024-04-25T12:46:49.425Z'
RecurringPaymentDateTime: '2024-04-25T12:46:49.425Z'
FinalPaymentDateTime: '2024-04-25T12:46:49.425Z'
Reason: Membership fees
Frequency:
Type: MNTH
CountPerPeriod: 1
UltimateDebtor:
SchemeName: UK.OBIE.IBAN
Identification: '2360549017905161589'
Name: Ultimate Debtor
LEI: 8200007YHFDMEODY1965
PostalAddress:
AddressType: BIZZ
StreetName: Bank Street
BuildingNumber: '11'
Floor: '6'
PostCode: Z78 4TY
TownName: London
Country: UK
UltimateCreditor:
SchemeName: UK.OBIE.IBAN
Identification: '2360549017905161589'
Name: Ultimate Creditor
LEI: 60450004FECVJV7YN339
PostalAddress:
AddressType: BIZZ
StreetName: Bank Street
BuildingNumber: '11'
Floor: '6'
PostCode: Z78 4TY
TownName: London
Country: UK
RegulatoryReporting:
- DebitCreditReportingIndicator: CRED
Authority:
Name: string
CountryCode: UG
Details:
- Type: CRED
Date: '2024-04-25T13:26:41.911Z'
Information:
- Reg info1
- Reg info2
Country: QG
Amount:
Amount: '4.68702'
Currency: JGM
RemittanceInformation:
Structured:
- ReferredDocumentInformation:
- Code: CINV
Issuer: Issuer01
Number: Number_01
RelatedDate: '2024-04-25T13:26:41.911Z'
LineDetails:
- string
ReferredDocumentAmount: 1
CreditorReferenceInformation:
Code: DISP
Issuer: Issuer01
Reference: REF_26518
Invoicer: INVR51856
Invoicee: INVE5161856
TaxRemittance: Tax Remittance related information
AdditionalRemittanceInformation:
- Free text for additional information
Unstructured:
- Internal ops code 5120101
Risk:
PaymentContextCode: TransferToThirdParty
PaymentPurposeCode: EPAY
CategoryPurposeCode: CASH
BeneficiaryAccountType: Business
MerchantCategoryCode: '7300'
MerchantCustomerIdentification: 053598653254
DeliveryAddress:
AddressLine:
- Flat 7
- Acacia Lodge
StreetName: Acacia Avenue
BuildingNumber: '27'
PostCode: GU31 2ZZ
TownName: Sparsholt
CountrySubDivision: Wessex
Country: UK
required: true
responses:
'422':
$ref: '#/components/responses/422Error'
'500':
$ref: '#/components/responses/500Error'
'405':
$ref: '#/components/responses/405Error'
deprecated: false
components:
schemas:
ExternalProxyAccountType1Code:
type: string
description: Specifies the external proxy account type code, as published in the proxy account type external code set.
For a full list of values see `ExternalProxyAccountType1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- TELE
- EMAL
- DNAM
- CINC
- COTX
- COID
- CUST
- DRLC
- EIDN
- EWAL
- PVTX
- LEIC
- MBNO
- NIDN
- CCPT
- SHID
- SOSE
- TOKN
- UBIL
- VIPN
- BIID
UnitNumber:
type: string
description: Number that identifies the unit of a specific address .
example: string
maxLength: 16
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,16})$
OBInternalExtendedAccountType1Code:
type: string
description: Specifies the extended type of account.
enum:
- Business
- BusinessSavingsAccount
- Charity
- Collection
- Corporate
- Ewallet
- Government
- Investment
- ISA
- JointPersonal
- Pension
- Personal
- PersonalSavingsAccount
- Premier
- Wealth
example: ISA
OBUltimateCreditor1:
type: object
additionalProperties: false
description: Ultimate party to which an amount of money is due.
properties:
Name:
type: string
description: Name by which a party is known and which is usually used to identify that party.
example: Arthur Dent
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,140})$
Identification:
type: string
description: Identification assigned by an institution.
example: '1234567890'
maxLength: 256
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,256})$
LEI:
$ref: '#/components/schemas/LEI'
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
PostalAddress:
$ref: '#/components/schemas/OBPostalAddress7'
OBInternalErrorResponseError1Code:
type: string
description: Low level textual error code, for all enum values see `OBInternalErrorResponseError1Code` [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
example: U001
maxLength: 4
minLength: 4
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{4,4})$
Identification_0:
type: string
description: Identification assigned by an institution to identify an account. This identification is known by the account owner.
example: '10210393826475'
maxLength: 256
minLength: 1
pattern: ^[a-zA-Z0-9]{1,256}$
OBErrorResponse1:
type: object
additionalProperties: false
deprecated: false
description: An array of detail error codes, and messages, and URLs to documentation to help remediation.
properties:
Id:
type: string
description: A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.
maxLength: 40
minLength: 1
Code:
type: string
description: Deprecated
High level textual error code, to help categorise the errors.
example: 400 BadRequest
maxLength: 40
minLength: 1
Message:
type: string
description: Deprecated
Brief Error message
example: There is something wrong with the request parameters provided
maxLength: 500
minLength: 1
Errors:
type: array
items:
$ref: '#/components/schemas/OBError1'
maxItems: 99999
minItems: 1
required:
- Errors
nullable: false
OBInternalChargeBearerType1Code:
type: string
description: Specifies which party/parties will bear the charges associated with the processing of the payment transaction. For a full list of values refer to `OBInternalChargeBearerType1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- BorneByCreditor
- BorneByDebtor
- FollowingServiceLevel
- Shared
example: BorneByCreditor
OBPostalAddress7:
type: object
additionalProperties: false
deprecated: false
description: Information that locates and identifies a specific address, as defined by postal services.
properties:
AddressType:
$ref: '#/components/schemas/OBAddressType2Code'
Department:
$ref: '#/components/schemas/Department'
SubDepartment:
$ref: '#/components/schemas/SubDepartment'
StreetName:
$ref: '#/components/schemas/StreetName'
BuildingNumber:
$ref: '#/components/schemas/BuildingNumber'
BuildingName:
$ref: '#/components/schemas/BuildingName'
Floor:
$ref: '#/components/schemas/Floor'
UnitNumber:
$ref: '#/components/schemas/UnitNumber'
Room:
$ref: '#/components/schemas/Room'
PostBox:
$ref: '#/components/schemas/PostBox'
TownLocationName:
$ref: '#/components/schemas/TownName'
DistrictName:
$ref: '#/components/schemas/DistrictName'
CareOf:
$ref: '#/components/schemas/CareOf'
PostCode:
$ref: '#/components/schemas/PostCode'
TownName:
$ref: '#/components/schemas/TownName'
CountrySubDivision:
$ref: '#/components/schemas/CountrySubDivision'
Country:
$ref: '#/components/schemas/CountryCode'
AddressLine:
type: array
items:
type: string
description: Information that locates and identifies a specific address, as defined by postal services, presented in free format text.
example: Melbourne Cresent
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/]{1,70})$
maxItems: 7
minItems: 1
nullable: false
Name:
type: string
description: Name by which an agent is known and which is usually used to identify that agent.
example: name
maxLength: 140
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;+]{1,140})$
BuildingName:
type: string
description: Name of a referenced building.
example: St Stephens House
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,140})$
SecondaryIdentification:
type: string
description: "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)."
example: Secondary Identification
maxLength: 34
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;+]{1,34})$
OBFrequency6:
type: object
additionalProperties: false
description: Regularity with which credit transfer instructions are to be created and processed
properties:
Type:
$ref: '#/components/schemas/Frequency_1'
CountPerPeriod:
type: integer
format: int32
description: 'Number of instructions to be created and processed during the specified period .Specifies a frequency in terms of a count per period within a specified frequency type. Note: should not be used alongside `PointInTime`'
example: 1
maximum: 99999
minimum: 0
PointInTime:
$ref: '#/components/schemas/PointInTime'
required:
- Type
OBAddressType2Code:
type: string
description: Identifies the nature of the postal address. For a full set of codes see `OBAddressType2Code` [here](https://github.com/OpenBankingUK/External_Internal_CodeSets).
enum:
- BIZZ
- DLVY
- MLTO
- PBOX
- ADDR
- HOME
- CORR
- STAT
example: BIZZ
ExternalDocumentType1Code:
type: string
description: Specifies the document type as published in an external document type code list. For more information see `ExternalDocumentType1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- CINV
- CNFA
- CREN
- DEBN
- DISP
- DNFA
- HIRI
- MSIN
- PUOR
- SBIN
- AROI
- BOLD
- CMCN
- SOAC
- TSUT
- VCHR
example: CNFA
CountrySubDivision:
type: string
description: Identifies a subdivision of a country such as state, region, county.
example: Manchester, Lancaster
maxLength: 35
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9\- '.,]){1,35}$
BuildingNumber:
type: string
description: Number that identifies the position of a building on a street.
example: 21A
maxLength: 16
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9 \s]{1,16})$
PointInTime:
type: string
description: 'Exact2NumericText - Further information on the exact point in time the event should take place. Specifies a frequency in terms of an exact point in time or moment within a specified frequency type. Note: should not be used alongside `CountPerPeriod`'
example: '00'
maxLength: 2
minLength: 2
pattern: ^(0[1-9]|[12][0-9]|3[01]|-[1-4])$
ExternalCategoryPurpose1Code:
type: string
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)"
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
example: BONU
OBRisk1:
type: object
additionalProperties: false
deprecated: false
description: 'The Risk section is sent by the initiating party to the ASPSP.
It is used to specify additional details for risk scoring for Payments.'
properties:
PaymentContextCode:
type: string
description: 'Specifies the payment context, `OBInternalPaymentContext1Code`
The following values are deprecated and **must not** be used in a new consent or payment. They may optionally be returned for a hstorical payment/consent migrated to v4:
* BillPayment - @deprecated
* EcommerceGoods - @deprecated
* EcommerceServices - @deprecated
* PartyToParty - @deprecated
* PispPayee - @deprecated
* Other - @deprecated
'
enum:
- BillingGoodsAndServicesInAdvance
- BillingGoodsAndServicesInArrears
- EcommerceMerchantInitiatedPayment
- FaceToFacePointOfSale
- TransferToSelf
- TransferToThirdParty
- BillPayment
- EcommerceGoods
- EcommerceServices
- PartyToParty
- PispPayee
- Other
example: TransferToSelf
MerchantCategoryCode:
type: string
description: Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.
example: AMAZ
maxLength: 4
minLength: 3
pattern: ^(?!\s)[a-zA-Z0-9]{3,4}$
MerchantCustomerIdentification:
type: string
description: The unique customer identifier of the PSU with the merchant.
example: customer info
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()@#£="_|]{1,70})$
ContractPresentIndicator:
type: boolean
description: Indicates if Payee has a contractual relationship with the PISP.
example: true
BeneficiaryPrepopulatedIndicator:
type: boolean
description: Indicates if PISP has immutably prepopulated payment details in for the PSU.
example: true
PaymentPurposeCode:
$ref: '#/components/schemas/ExternalPurpose1Code'
CategoryPurposeCode:
$ref: '#/components/schemas/ExternalCategoryPurpose1Code'
BeneficiaryAccountType:
$ref: '#/components/schemas/OBInternalExtendedAccountType1Code'
DeliveryAddress:
$ref: '#/components/schemas/OBPostalAddress7'
nullable: false
Room:
type: string
description: Information that locates and identifies a room to form part of an address
example: '42'
maxLength: 70
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,70})$
StreetName:
type: string
description: Name of a street or thoroughfare.
example: Hamil Road
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9- '.,\/]{1,70})$
OBMandateRelatedInformation1:
type: object
additionalProperties: false
deprecated: false
properties:
MandateIdentification:
$ref: '#/components/schemas/Identification_1'
Classification:
$ref: '#/components/schemas/OBExternalMandateClassification1Code'
CategoryPurposeCode:
$ref: '#/components/schemas/ExternalCategoryPurpose1Code'
FirstPaymentDateTime:
type: string
format: date-time
RecurringPaymentDateTime:
type: string
format: date-time
description: "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date. 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"
example: '2017-04-05T10:43:07Z'
FinalPaymentDateTime:
type: string
format: date-time
Frequency:
$ref: '#/components/schemas/OBFrequency6'
Reason:
type: string
description: Reason for the direct debit mandate to allow the user to distinguish between different mandates for the same creditor.
example: reason
maxLength: 256
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,256})$
required:
- Frequency
nullable: false
Identification_3:
type: string
description: Identification of the organisation issuing the invoice, when it is different from the creditor or ultimate creditor
example: '80200112344562'
maxLength: 256
minLength: 1
pattern: ^[a-zA-Z0-9]{1,256}$
LEI:
type: string
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)".
example: IZ9Q00LZEVUKWCQY6X15
maxLength: 20
minLength: 20
pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
OBProxy1:
type: object
additionalProperties: false
deprecated: false
description: Specifies an alternate assumed name for the identification of the account.
properties:
Identification:
type: string
description: Identification used to indicate the account identification under another specified name.
example: 08080021325698
maxLength: 2048
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,2048})$
Code:
$ref: '#/components/schemas/ExternalProxyAccountType1Code'
Type:
type: string
description: Type of the proxy identification.
example: Telephone
maxLength: 35
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,35})$
required:
- Code
- Identification
nullable: false
OBStructuredRegulatoryReporting3:
type: object
additionalProperties: false
deprecated: false
description: Set of elements used to provide details on the regulatory reporting information.
properties:
Type:
type: string
description: Specifies the type of the information supplied in the regulatory reporting details
example: type
maxLength: 35
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,35})$
Date:
$ref: '#/components/schemas/ISODateTime'
Country:
$ref: '#/components/schemas/CountryCode'
Amount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
Information:
type: array
description: Additional details that cater for specific domestic regulatory requirements.
items:
type: string
example: item
maxLength: 35
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,35})$
maxItems: 3
minItems: 1
nullable: false
ExternalPurpose1Code:
type: string
description: This is a partial list, For a full list see `ExternalPurpose1Code` [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- BKDF
- BKFE
- BKFM
- BKIP
- BKPP
- CBLK
- CDCB
- CDCD
- CDCS
- CDDP
- CDOC
- CDQC
- ETUP
- FCOL
- MTUP
- ACCT
- CASH
- COLL
- CSDB
- DEPT
- INTC
- INTP
- LIMA
- NETT
- BFWD
- CCIR
- CCPC
- CCPM
- CCSM
- CRDS
- CRPR
- CRSP
- CRTL
- EQPT
- EQUS
- EXPT
- EXTD
- FIXI
- FWBC
- FWCC
- FWSB
- FWSC
- MARG
- MBSB
- MBSC
- MGCC
- MGSC
- OCCC
- OPBC
- OPCC
- OPSB
- OPSC
- OPTN
- OTCD
- REPO
- RPBC
- RPCC
- RPSB
- RPSC
- RVPO
- SBSC
- SCIE
- SCIR
- SCRP
- SHBC
- SHCC
- SHSL
- SLEB
- SLOA
- SWBC
- SWCC
- SWPT
- SWSB
- SWSC
- TBAS
- TBBC
- TBCC
- TRCP
- AGRT
- AREN
- BEXP
- BOCE
- COMC
- CPYR
- GDDS
- GDSV
- GSCB
- LICF
- MP2B
- POPE
- ROYA
- SCVE
- SERV
- SUBS
- SUPP
- TRAD
- CHAR
- COMT
- MP2P
- ECPG
- ECPR
- ECPU
- EPAY
- CLPR
- COMP
- DBTC
- GOVI
- HLRP
- HLST
- INPC
- INPR
- INSC
- INSU
- INTE
- LBRI
- LIFI
- LOAN
- LOAR
- PENO
- PPTI
- RELG
- RINP
- TRFD
- FORW
- FXNT
- ADMG
- ADVA
- BCDM
- BCFG
- BLDM
- BNET
- CBFF
- CBFR
- CCRD
- CDBL
- CFEE
- CGDD
- CORT
- COST
- CPKC
- DCRD
- DSMT
- DVPM
- EDUC
- FACT
- FAND
- FCPM
- FEES
- GIFT
- GOVT
- ICCP
- IDCP
- IHRP
- INSM
- IVPT
- MCDM
- MCFG
- MSVC
- NOWS
- OCDM
- OCFG
- OFEE
- OTHR
- PADD
- PTSP
- RCKE
- RCPT
- REBT
- REFU
- RENT
- REOD
- RIMB
- RPNT
- RRBN
- RRCT
- RRTP
- RVPM
- SLPI
- SPLT
- STDY
- TBAN
- TBIL
- TCSC
- TELI
- TMPG
- TPRI
- TPRP
- TRNC
- TRVC
- WEBI
- IPAY
- IPCA
- IPDO
- IPEA
- IPEC
- IPEW
- IPPS
- IPRT
- IPU2
- IPUW
- ANNI
- CAFI
- CFDI
- CMDT
- DERI
- DIVD
- FREX
- HEDG
- INVS
- PRME
- SAVG
- SECU
- SEPI
- TREA
- UNIT
- FNET
- FUTR
- ANTS
- CVCF
- DMEQ
- DNTS
- HLTC
- HLTI
- HSPC
- ICRF
- LTCF
- MAFC
- MARF
- MDCS
- VIEW
- CDEP
- SWFP
- SWPP
- SWRS
- SWUF
- ADCS
- AEMP
- ALLW
- ALMY
- BBSC
- BECH
- BENE
- BONU
- CCHD
- COMM
- CSLP
- GFRP
- GVEA
- GVEB
- GVEC
- GVED
- GWLT
- HREC
- PAYR
- PEFC
- PENS
- PRCP
- RHBS
- SALA
- SPSP
- SSBE
- LBIN
- LCOL
- LFEE
- LMEQ
- LMFI
- LMRK
- LREB
- LREV
- LSFL
- ESTX
- FWLV
- GSTX
- HSTX
- INTX
- NITX
- PTXP
- RDTX
- TAXS
- VATX
- WHLD
- TAXR
- B112
- BR12
- TLRF
- TLRR
- AIRB
- BUSB
- FERB
- RLWY
- TRPT
- CBTV
- ELEC
- ENRG
- GASB
- NWCH
- NWCM
- OTLC
- PHON
- UBIL
- WTER
- BOND
- CABD
- CAEQ
- CBCR
- DBCR
- DICL
- EQTS
- FLCR
- EFTC
- EFTD
- MOMA
- RAPI
- GAMB
- LOTT
- AMEX
- SASW
- AUCO
- PCOM
- PDEP
- PLDS
- PLRF
- GAFA
- GAHO
- CPEN
- DEPD
- RETL
- DEBT
- CRYP
example: BKFE
OBWriteInternationalStandingOrder4:
type: object
additionalProperties: false
deprecated: false
properties:
Data:
type: object
additionalProperties: false
properties:
ConsentId:
type: string
description: 'OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.'
example: BARCLAYS-P-12345678901234
maxLength: 25
minLength: 1
pattern: ^BARCLAYS-P-\d{14}$
Initiation:
type: object
additionalProperties: false
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:
type: string
description: Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.
example: string
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,140})$
ChargeBearer:
$ref: '#/components/schemas/OBInternalChargeBearerType1Code'
CurrencyOfTransfer:
type: string
description: Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.
example: GBP
maxLength: 3
minLength: 3
pattern: ^[A-Z]{3,3}$
DestinationCountryCode:
type: string
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).
example: GB
maxLength: 2
minLength: 2
pattern: ^[A-Z]{2,2}$
InstructedAmount:
type: object
additionalProperties: false
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'
required:
- Amount
- Currency
DebtorAccount:
type: object
additionalProperties: false
description: Provides the details to identify the debtor account.
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification_0'
Name:
type: string
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.'
example: Name
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;+]{1,70})$
SecondaryIdentification:
$ref: '#/components/schemas/SecondaryIdentification'
Proxy:
$ref: '#/components/schemas/OBProxy1'
required:
- Identification
- SchemeName
Creditor:
type: object
additionalProperties: false
description: Party to which an amount of money is due.
properties:
Name:
type: string
description: Name by which a party is known and which is usually used to identify that party.
example: Name
maxLength: 140
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;+]{1,140})$
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:
type: string
description: Unique and unambiguous identification of the servicing institution.
maxLength: 35
minLength: 1
Name:
$ref: '#/components/schemas/Name'
LEI:
$ref: '#/components/schemas/LEI'
PostalAddress:
$ref: '#/components/schemas/OBPostalAddress7'
CreditorAccount:
type: object
additionalProperties: false
description: Provides the details to identify the beneficiary account.
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification_0'
Name:
type: string
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.'
example: Creditor Name
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;+]{1,70})$
SecondaryIdentification:
$ref: '#/components/schemas/SecondaryIdentification'
Proxy:
$ref: '#/components/schemas/OBProxy1'
required:
- Identification
- Name
- SchemeName
UltimateCreditor:
$ref: '#/components/schemas/OBUltimateCreditor1'
UltimateDebtor:
$ref: '#/components/schemas/OBUltimateDebtor1'
RegulatoryReporting:
type: array
items:
$ref: '#/components/schemas/OBRegulatoryReporting1'
maxItems: 3
minItems: 0
MandateRelatedInformation:
$ref: '#/components/schemas/OBMandateRelatedInformation1'
SupplementaryData:
$ref: '#/components/schemas/OBSupplementaryData1'
required:
- CreditorAccount
- CurrencyOfTransfer
- InstructedAmount
- MandateRelatedInformation
required:
- ConsentId
- Initiation
Risk:
$ref: '#/components/schemas/OBRisk1'
required:
- Data
- Risk
nullable: false
OBReferredDocumentInformation:
type: object
additionalProperties: false
deprecated: false
properties:
Code:
$ref: '#/components/schemas/ExternalDocumentType1Code'
Issuer:
type: string
description: Identification of the issuer of the reference document type.
example: issuer
maxLength: 35
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,35})$
Number:
type: string
description: Identification of the type specified for the referred document line.
example: number
maxLength: 35
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,35})$
RelatedDate:
type: string
format: date-time
description: Date associated with the referred document line.
example: '2024-04-25T13:26:41.911Z'
LineDetails:
type: array
description: Set of elements used to provide the content of the referred document line.
items:
type: string
example: string
maxLength: 2048
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,2048})$
maxItems: 3
minItems: 0
nullable: false
SubDepartment:
type: string
description: Identification of a sub-division of a large organisation or building.
example: string
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9- '.,\/]){1,70}$
ExternalCreditorReferenceType1Code:
type: string
description: Specifies the type of creditor reference as published in an external creditor reference type code set. For more information see `ExternalCreditorReferenceType1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- DISP
- FXDR
- PUOR
- RPIN
- RADM
- SCOR
example: DISP
OBSupplementaryData1:
type: object
additionalProperties: true
description: Additional information that can not be captured in the structured fields and/or any other specific block.
TownName:
type: string
description: Name of a built-up area, with defined boundaries, and a local government.
example: Burslem
maxLength: 35
minLength: 1
pattern: ^(?!\s)([a-zA-Z- '.,]){1,35}$
PostCode:
type: string
description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
example: ST15 8WD
maxLength: 16
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9 ]){1,16}$
OBActiveOrHistoricCurrencyAndAmount:
type: object
additionalProperties: false
deprecated: false
description: Amount of money associated with the charge type.
properties:
Amount:
$ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
required:
- Amount
- Currency
nullable: false
ActiveOrHistoricCurrencyCode:
type: string
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".
example: GBP
maxLength: 3
minLength: 3
pattern: ^[A-Z]{3,3}$
Floor:
type: string
description: Number that identifies the level within a building
example: '10'
maxLength: 70
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,70})$
NumberOfPayments:
type: string
description: Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.
maxLength: 35
minLength: 1
pattern: ^\d{1,4}$
OBRegulatoryAuthority2:
type: object
additionalProperties: false
deprecated: false
description: 'Entity requiring the regulatory reporting information. '
properties:
Name:
type: string
description: Name of the entity requiring the regulatory reporting information.
example: name
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,140})$
CountryCode:
$ref: '#/components/schemas/CountryCode'
nullable: false
Department:
type: string
description: Identification of a division of a large organisation or building.
example: Back Office
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9\- '.,\/]){1,70}$
OBUltimateDebtor1:
type: object
additionalProperties: false
description: Ultimate party that owes an amount of money to the (ultimate) creditor.
properties:
Name:
type: string
description: Name by which a party is known and which is usually used to identify that party.
example: Arthur Dent
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,140})$
Identification:
type: string
description: Identification assigned by an institution.
example: '1234567890'
maxLength: 256
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,256})$
LEI:
$ref: '#/components/schemas/LEI'
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
PostalAddress:
$ref: '#/components/schemas/OBPostalAddress7'
OBError1:
type: object
additionalProperties: false
deprecated: false
minProperties: 1
properties:
ErrorCode:
$ref: '#/components/schemas/OBInternalErrorResponseError1Code'
Message:
type: string
description: 'A description of the error that occurred. e.g., ''A mandatory field isn''t supplied'' or ''RequestedExecutionDateTime must be in future''
OBL doesn''t standardise this field'
maxLength: 500
minLength: 1
Path:
type: string
description: Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency
maxLength: 500
minLength: 1
Url:
type: string
description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc
required:
- ErrorCode
nullable: false
OBInternalAccountIdentification4Code:
type: string
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)
enum:
- UK.OBIE.BBAN
- UK.OBIE.IBAN
- UK.OBIE.PAN
- UK.OBIE.Paym
- UK.OBIE.SortCodeAccountNumber
- UK.OBIE.Wallet
example: UK.OBIE.IBAN
OBActiveCurrencyAndAmount_SimpleType:
type: string
description: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
example: '1209.06'
maxLength: 19
minLength: 1
pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$
OBRegulatoryReporting1:
type: object
additionalProperties: false
deprecated: false
description: Information needed due to regulatory and statutory requirements
properties:
DebitCreditReportingIndicator:
type: string
description: Identifies whether the regulatory reporting information applies to the debit side, to the credit side or to both debit and credit sides of the transaction. For a full list of values reefer to `OBExternalRegulatoryReportingType1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- CRED
- DEBT
- BOTH
Authority:
$ref: '#/components/schemas/OBRegulatoryAuthority2'
Details:
type: array
items:
$ref: '#/components/schemas/OBStructuredRegulatoryReporting3'
maxItems: 3
minItems: 1
nullable: false
OBSCASupportData1:
type: object
additionalProperties: false
deprecated: false
description: Supporting Data provided by TPP, when requesting SCA Exemption.
properties:
RequestedSCAExemptionType:
type: string
description: This field allows a PISP to request specific SCA Exemption for a Payment Initiation. For a full list of values reefer to `OBInternalSCAExemptionType1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- BillPayment
- ContactlessTravel
- EcommerceGoods
- EcommerceServices
- Kiosk
- Parking
- PartyToParty
AppliedAuthenticationApproach:
type: string
description: 'Specifies a character string with a maximum length of 40 characters.
Usage: This field indicates whether the PSU was subject to SCA performed by the TPP
For a full list of values refer to `OBInternalAppliedAuthenticationApproach1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)'
enum:
- CA
- SCA
ReferencePaymentOrderId:
type: string
description: If the payment is recurring, then this field is populated with the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. The value here refers to the payment id e.g. DomesticPaymentId
example: P-12345678901234
maxLength: 40
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9\-. '()£="_,&@#\/&+]{1,40})$
nullable: false
OBRemittanceInformationStructured:
type: object
additionalProperties: false
deprecated: false
properties:
ReferredDocumentInformation:
type: array
items:
$ref: '#/components/schemas/OBReferredDocumentInformation'
maxItems: 3
minItems: 1
ReferredDocumentAmount:
$ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
CreditorReferenceInformation:
type: object
additionalProperties: false
deprecated: false
description: Reference information provided by the creditor to allow the identification of the underlying documents.
properties:
Code:
$ref: '#/components/schemas/ExternalCreditorReferenceType1Code'
Issuer:
type: string
description: Entity that assigns the identification.
example: Issuer01
maxLength: 35
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,35})$
Reference:
type: string
description: Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.
example: Reference01
maxLength: 35
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,35})$
nullable: false
Invoicer:
$ref: '#/components/schemas/Identification_3'
Invoicee:
$ref: '#/components/schemas/Identification_4'
TaxRemittance:
type: string
description: Provides remittance information about a payment made for tax-related purposes.
example: Tax Remittance related information
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,140})$
AdditionalRemittanceInformation:
type: array
description: Additional information, in free text form, to complement the structured remittance information.
items:
type: string
example: Additional Tax Remittance related information
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,140})$
maxItems: 3
minItems: 0
nullable: false
OBInternalFinancialInstitutionIdentification4Code:
type: string
description: Name of the identification scheme, in a coded form as published in an external list.
enum:
- UK.OBIE.BICFI
- UK.OBIE.NCC.GB
example: UK.OBIE.BICFI
OBRemittanceInformation2:
type: object
additionalProperties: false
deprecated: false
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'
maxItems: 5
minItems: 1
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
example: string
maxLength: 140
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;:&+]{1,140})$
maxItems: 4
minItems: 1
nullable: false
PostBox:
type: string
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.
example: '42'
maxLength: 16
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,16})$
CareOf:
type: string
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.
example: Arthur Dent
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,140})$
Frequency_1:
type: string
description: "Individual Definitions:\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nWEEK = Event takes place once a week.\nFRTN = Event takes place every two weeks.\nFOWK = Event takes place every four weeks.\nMNTH = Event takes place every month or once a month.\nTWMH = Event takes place after every 2 months.\nFOMH = Event takes place after every 4 months\nMIAN = Event takes place every six months or two times a year.\nYEAR = Event takes place every year or once a year.\nQURT = Event takes place every three months or four times a year.\nLWMH = Event takes place on last working day of the month\nLXMH = Event takes place on last Monday, Tuesday, Wednesday, Thursday, Friday of the month\nTWYR = Event takes place every 2 years\nIndividual Patterns:\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nWEEK = (ScheduleCode + PointInTime).\nFRTN = (ScheduleCode + PointInTime).\nFOWK = (ScheduleCode + PointInTime).\nMNTH = (ScheduleCode + PointInTime).\nTWMH = (ScheduleCode + PointInTime).\nFOMH = (ScheduleCode + PointInTime).\nMIAN = (ScheduleCode + PointInTime).\nYEAR = (ScheduleCode + PointInTime).\nQURT = (ScheduleCode + PointInTime). \nLWMH = (ScheduleCode).\nLXMH = (ScheduleCode + PointInTime).\nTWYR = (ScheduleCode + PointInTime).\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nIntrvlWkDay:0[124]:0[1-5]\nWkInMnthDay:0[1-5]:0[1-5]\nIntrvlMnthDay:(0[1-46]|12|24):(-0[1-4]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nWEEK combined with PointInTime from 01-05\nFRTN combined with PointInTime from 01-05\nFOWK combined with PointInTime from 01-05\nMNTH combined with PointInTime -1 or 31 or 01-30 or -4 or -3 or -2 or -1\nTWMH combined with PointInTime from 01-31 or -4 or -3 or -2 or -1\nFOMH combined with PointInTime from 01-31 or -4 or -3 or -2 or -1\nMIAN combined with PointInTime from 01-31 or -4 or -3 or -2 or -1\nYEAR combined with PointInTime from 01-31 or -4 or -3 or -2 or -1\nQURT combined with PointInTime from 01-31 or -4 or -3 or -2 or -1 \nLWMH on its own\nLXMH combined with PointInTime from 01-05\nTWYR combined with PointInTime from 01-31 or -4 or -3 or -2 or -1\nFull Regular Expression:\n^(IntrvlWkDay:0[124]:0[1-5])$|^(WkInMnthDay:0[1-5]:0[1-5])$|^(IntrvlMnthDay:(0[1-46]|12|24):(-0[1-4]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$|^(WEEK)$|^(FRTN)$|^(FOWK)$|^(MNTH)$|^(TWMH)$|^(FOMH)$|^(MIAN)$|^(YEAR)$|^(QURT)$|^(LWMH)$|^(LXMH)$|^(TWYR)$"
pattern: ^(IntrvlWkDay:0[124]:0[1-5])$|^(WkInMnthDay:0[1-5]:0[1-5])$|^(IntrvlMnthDay:(0[1-46]|12|24):(-0[1-4]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$|^(WEEK)$|^(FRTN)$|^(FOWK)$|^(MNTH)$|^(TWMH)$|^(FOMH)$|^(MIAN)$|^(YEAR)$|^(QURT)$|^(LWMH)$|^(LXMH)$|^(TWYR)$
CountryCode:
type: string
description: Nation with its own government.
example: US
maxLength: 2
minLength: 2
pattern: ^[A-Z]{2,2}$
Identification_4:
type: string
description: Identification of the party to whom an invoice is issued, when it is different from the debtor or ultimate debtor.
example: '80200112344562'
maxLength: 256
minLength: 1
pattern: ^[a-zA-Z0-9]{1,256}$
Identification_1:
type: string
description: Unique and unambiguous identification of a financial institution or a branch of a financial institution.
example: '10210393826475'
maxLength: 35
minLength: 1
pattern: ^[a-zA-Z0-9]{1,35}$
DistrictName:
type: string
description: Number that of the regional area, known as a district, which forms part of an address
example: District 13
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,140})$
ISODateTime:
type: string
format: date-time
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"
example: '2017-04-05T10:43:07Z'
OBExternalMandateClassification1Code:
type: string
enum:
- FIXE
- USGB
- VARI
OBWriteInternationalStandingOrderConsent6:
type: object
additionalProperties: false
deprecated: false
properties:
Data:
type: object
additionalProperties: false
properties:
Permission:
type: string
description: Specifies the Open Banking service request types.
enum:
- Create
ReadRefundAccount:
type: string
description: Specifies to share the refund account details with PISP
enum:
- 'No'
- 'Yes'
Initiation:
type: object
additionalProperties: false
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:
type: string
description: Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.
example: string
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,140})$
ChargeBearer:
$ref: '#/components/schemas/OBInternalChargeBearerType1Code'
CurrencyOfTransfer:
type: string
description: Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.
example: GBP
maxLength: 3
minLength: 3
pattern: ^[A-Z]{3,3}$
DestinationCountryCode:
type: string
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).
example: GB
maxLength: 2
minLength: 2
pattern: ^[A-Z]{2,2}$
InstructedAmount:
type: object
additionalProperties: false
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'
required:
- Amount
- Currency
DebtorAccount:
type: object
additionalProperties: false
description: Provides the details to identify the debtor account.
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification_0'
Name:
type: string
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.'
example: Name
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;+]{1,70})$
SecondaryIdentification:
$ref: '#/components/schemas/SecondaryIdentification'
Proxy:
$ref: '#/components/schemas/OBProxy1'
required:
- Identification
- SchemeName
Creditor:
type: object
additionalProperties: false
description: Party to which an amount of money is due.
properties:
Name:
type: string
description: Name by which a party is known and which is usually used to identify that party.
example: Name
maxLength: 140
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;+]{1,140})$
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:
type: string
description: Unique and unambiguous identification of the servicing institution.
example: '12345'
maxLength: 35
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '_]{1,35})$
Name:
$ref: '#/components/schemas/Name'
LEI:
$ref: '#/components/schemas/LEI'
PostalAddress:
$ref: '#/components/schemas/OBPostalAddress7'
CreditorAccount:
type: object
additionalProperties: false
description: Provides the details to identify the beneficiary account.
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification_0'
Name:
type: string
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.'
example: Creditor Name
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;+]{1,70})$
SecondaryIdentification:
$ref: '#/components/schemas/SecondaryIdentification'
Proxy:
$ref: '#/components/schemas/OBProxy1'
required:
- Identification
- Name
- SchemeName
UltimateCreditor:
$ref: '#/components/schemas/OBUltimateCreditor1'
UltimateDebtor:
$ref: '#/components/schemas/OBUltimateDebtor1'
RegulatoryReporting:
type: array
items:
$ref: '#/components/schemas/OBRegulatoryReporting1'
maxItems: 3
minItems: 0
MandateRelatedInformation:
$ref: '#/components/schemas/OBMandateRelatedInformation1'
SupplementaryData:
$ref: '#/components/schemas/OBSupplementaryData1'
required:
- CreditorAccount
- CurrencyOfTransfer
- InstructedAmount
- MandateRelatedInformation
Authorisation:
type: object
additionalProperties: false
description: The authorisation type request from the TPP.
properties:
AuthorisationType:
type: string
description: Type of authorisation flow requested.
enum:
- Any
- Single
CompletionDateTime:
type: string
format: date-time
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"
required:
- AuthorisationType
SCASupportData:
$ref: '#/components/schemas/OBSCASupportData1'
required:
- Initiation
- Permission
Risk:
$ref: '#/components/schemas/OBRisk1'
required:
- Data
- Risk
nullable: false
parameters:
x-fapi-interaction-id:
name: x-fapi-interaction-id
in: header
description: An RFC4122 UID used as a correlation id.
required: false
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
x-fapi-customer-ip-address:
name: x-fapi-customer-ip-address
in: header
description: The PSU's IP address if the PSU is currently logged in with the TPP.
required: false
schema:
type: string
maxLength: 40
minLength: 7
pattern: ^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$
nullable: false
example: 104.25.212.99
ConsentId:
name: consentId
in: path
description: ConsentId
required: true
schema:
type: string
maxLength: 25
minLength: 1
pattern: ^BARCLAYS-P-\d{14}$
example: BARCLAYS-P-12345678901234
x-jws-signature:
name: x-jws-signature
in: header
description: A detached JWS signature of the body of the payload.
required: true
schema:
type: string
deprecated: false
maxLength: 8192
minLength: 10
pattern: ^[A-Za-z0-9-_="\/.]{1,8192}$
nullable: false
example: V2hhdCBoYXRoIGdvZCB3cm91Z2h0ID8=..QnkgR2VvcmdlLCBzaGUncyBnb3QgaXQhIEJ5IEdlb3JnZSBzaGUncyBnb3QgaXQhIE5vdyBvbmNlIGFnYWluLCB3aGVyZSBkb2VzIGl0IHJhaW4
Authorization:
name: Authorization
in: header
description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750
required: true
schema:
type: string
maxLength: 4871
minLength: 1
pattern: ^Bearer [A-Za-z0-9-_=]{1,256}\.\.[A-Za-z0-9-_=]{1,100}\.[A-Za-z0-9-_=]{1,4096}\.[A-Za-z0-9-_=]{1,100}$
nullable: false
example: Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0OTk4NTA5NjUsInN1YiI6IkJhcmNsYXlzX1BheW1lbnRfU2VydmljZSIsInNjb3BlIjpbImlkcy5tYW5hZ2Vfa2V5IiwiaWRzLm1hbmFnZV9jbGllbnQiXSwiaXNzIjoiaHR0cDovL2lkZW50aXR5LXNlcnZpY2UvIiwiaWF0IjoxNDk5ODUwMDY1fQ.OX-u14YLs7iksl6gnZ9ZqMBu-ekFi4pSva5mzhuf2xU
InternationalStandingOrderPaymentId:
name: internationalStandingOrderPaymentId
in: path
description: InternationalStandingOrderPaymentId
required: true
schema:
type: string
maxLength: 25
minLength: 1
pattern: ^BARCLAYS-P-\d{14}$
example: BARCLAYS-P-12345678901234
x-fapi-auth-date:
name: x-fapi-auth-date
in: header
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"
required: false
schema:
type: string
deprecated: false
maxLength: 29
minLength: 29
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)$
nullable: false
example: Sun, 10 Sep 2017 19:43:31 UTC
x-customer-user-agent:
name: x-customer-user-agent
in: header
description: Indicates the user-agent that the PSU is using.
required: false
schema:
type: string
deprecated: false
maxLength: 500
minLength: 1
nullable: false
example: Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405
x-idempotency-key:
name: x-idempotency-key
in: header
description: 'Every request will be processed only once per x-idempotency-key. The
Idempotency Key will be valid for 24 hours.
'
required: true
schema:
type: string
maxLength: 40
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()@#£%{}=":_]{1,40})$
example: FRESNO.1317.GFX.22
responses:
405Error:
description: Method Not Allowed
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
422Error:
description: Unprocessable
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
x-jws-signature:
description: Header containing a detached JWS signature of the body of the payload.
required: true
schema:
type: string
deprecated: false
maxLength: 8192
minLength: 10
pattern: ^[A-Za-z0-9-_="\/.]{1,8192}$
nullable: false
example: V2hhdCBoYXRoIGdvZCB3cm91Z2h0ID8=..QnkgR2VvcmdlLCBzaGUncyBnb3QgaXQhIEJ5IEdlb3JnZSBzaGUncyBnb3QgaXQhIE5vdyBvbmNlIGFnYWluLCB3aGVyZSBkb2VzIGl0IHJhaW4
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
examples:
409ErrorResponse:
value:
Code: OB.BadRequest
Id: 2b5f0fb2-730b-11e8-adc0-fa7ae01bbebc
Message: Invalid request parameters
Errors:
- ErrorCode: AC17
Message: Version must be supplied
Path: Data.Initiation
Url:
- ErrorCode: AC17
Message: Version supplied is not valid
Path: Data.Initiation.CreditorAccount
Url:
500Error:
description: Internal Server Error
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
examples:
500ErrorResponse:
value:
Code: OB.BadRequest
Id: 2b5f0fb2-730b-11e8-adc0-fa7ae01bbebc
Message: Invalid request parameters
Errors:
- ErrorCode: AC17
Message: Version must be supplied
Path: Data.Initiation
Url:
- ErrorCode: AC17
Message: Version supplied is not valid
Path: Data.Initiation.CreditorAccount
Url:
securitySchemes:
TPPOAuth2Security:
type: oauth2
description: TPP client credential authorisation flow with the ASPSP
flows:
clientCredentials:
tokenUrl: https://authserver.example/token
scopes:
payments: Generic payment scope
PSUOAuth2Security:
type: oauth2
description: OAuth flow, it is required when the PSU needs to perform SCA with the ASPSP when a TPP wants to access an ASPSP resource owned by the PSU
flows:
authorizationCode:
authorizationUrl: https://authserver.example/authorization
tokenUrl: https://authserver.example/token
scopes:
payments: Generic payment scope