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