# Version control
# v4.0.1 Release Candidate 1 - 2026-01-05
# Changed
- Updated Payment Initiation Release Management (opens new window) section to consistently reference ConsentId in the consent section.
- Moved the initial File Payment status information to the
POST /file-payments(opens new window) section.
# v4.0.1 Draft 1 - 2025-11-20
# Added
- Add
OBRemittanceInformation2definition and Data Dictionary to AIS Standing Orders page (opens new window) - Added a note regarding the use of
ExternalPaymentTransactionStatus1Codevalues inpayment-detailsendpoints in PIS (opens new window) and Domestic VRPs (opens new window) - Optional Rate Limit Headers (opens new window) added.
NumberOfPaymentshas been restored to the following classes and guidance advising that TPPs should refer to ASPSP developer portals for further information on whetherNumberOfPaymentsis supported has been added to the pages above the data dictionaries:- The following text has been added to
OBMandateRelatedInformation1/Frequency/Typeon the Account and Transaction API Profile (opens new window) and Payment Initiation API Profile (opens new window) pages:
For compatibility with v3, an ASPSP may choose to optionally support legacy v3 regex patterns in this field.
TPPs should refer to ASPSP developer portals for further information on whether legacy values are supported, alongside any additional information relevant to MandateRelatedInformation usage.
OBCashAccountDebtorWithNamehas been added to:- Clarification on the usage of the term 'optional fields' (opens new window) in reference to Conditional fields.
- An overarching Events Release Management (opens new window) section has been introduced to the Event Notification API Profile
OBReferredDocumentInformationhas been split out fromOBRemittanceInformation2and added to the following pages:- Added additional guidance to POST /file-payment-consents/{ConsentId}/file (opens new window):
- ASPSPs should document accepted file types on their developer portal.
- ASPSPs who accept the UK.OBIE.PaymentInitiation.4.0 file type should specify which payload schemas they accept as
payload structures vary across payment types.
- E.g. An ASPSP accepting domestic, international and domestic standing orders via file payment should explicitly specify support for these 3 payload schemas on their developer portal.
- Added a Release Management (opens new window) section to the Variable Recurring Payments API Profile
- Introduced a new OBIntermediaryAgent (opens new window)
class which can appear up to 3 times in payload as
IntermediaryAgent1,IntermediaryAgent2andIntermediaryAgent3.- This is used in OBReadTransaction6/Data/Transaction (opens new window)
- Returning these fields requires use of the
ReadTransactionDetailpermission and the Permission Codes table (opens new window) has been updated accordingly.
- Added the following guidance to the Transactions notes (opens new window):
- TPPs should refer to ASPSP developer portals for information on whether individual Bacs transactions are available in the Transactions endpoint.
- Added the following note to File Payments (opens new window):
- TPPs should refer to ASPSP developer portals for information on which File Payment endpoints are available, specification of accepted file format(s) and information on File Payment statuses.
- Clarified how Mandatory (opens new window)
and Conditional (opens new window)
fields are represented in the Data Dictionaries.
- Mandatory fields are represented as 1..1 or 1..* in the Data Dictionary Occurrence column and UML diagrams.
- Conditional fields are represented as 0..1 or 0..* in the Data Dictionary Occurrence column and UML diagrams
- Added guidance to the Transaction page (opens new window)
for returning Counterparty information in the
TransactionInformationfield. ReadStandingOrdersBasicandReadStandingOrdersDetailadded to overarching Permission Codes list (opens new window)
# Changed
- Updated the relevant
OBInternalConsentStatus1Codecodeset references throughout PIS response data dictionaries, to use separated codesets:- Changed to
OBInternalConsentStatus2Codein:- Domestic Payment Consent (opens new window)
- Domestic Scheduled Payment Consent (opens new window)
- Domestic Standing Order Consent (opens new window)
- International Payment Consent (opens new window)
- International Scheduled Payment Consent (opens new window)
- International Standing Order Consent (opens new window)
- Changed to
OBInternalConsentStatus3Codein:
- Changed to
- Remap
ReferredDocumentAmountfromInt32toOBActiveCurrencyAndAmount_SimpleTypeinOBRemittanceInformation2located in PIS (opens new window), VRP (opens new window), and AIS (Standing Orders) (opens new window) - Updated the relevant
ExternalPaymentTransactionStatus1Codecodeset references to use separate codesets:- Changed to
ExternalPaymentTransactionStatus2Codein: - Changed to
ExternalPaymentTransactionStatus3Codein: - Changed to
ExternalPaymentTransactionStatus4Codein: - Changed to
ExternalPaymentTransactionStatus5Codein:
- Changed to
- Event Notification Resources (opens new window) are now listed under the Event Notification API (opens new window) section.
- Meta (opens new window) has been reclassified as conditional.
- Links (opens new window) has been reclassified as conditional.
- The Multiple Authorisation (opens new window)
text has been updated to include the full set of values for
AuthorisationType(Single, Multiple or Any). - TPPs and ASPSPs must now verify payload signatures (opens new window) - previously this was should.
- VRP instance of
OBCashAccountDebtorWithName/Namemax size has increased from 70 to 350 to align with other areas of the spec and is no longermandatory. - The following classes have been updated to use
OBCashAccountDebtorWithNameinstead ofOBCashAccount6:- OBReadTransaction6/Data/Transaction/DebtorAccount (opens new window)
- OBFundsConfirmationConsent1/Data/DebtorAccount (opens new window)
- OBDomestic2/DebtorAccount (opens new window)
- OBDomesticScheduled2/DebtorAccount (opens new window)
- OBDomesticStandingOrder3/DebtorAccount (opens new window)
- OBFile2/DebtorAccount (opens new window)
- OBInternational3/DebtorAccount (opens new window)
- OBInternationalScheduled3/DebtorAccount (opens new window)
- OBInternationalStandingOrder4/DebtorAccount (opens new window)
- The 'Optional Fields' section describing changes to payloads when a field has no value has been renamed to Conditional Fields (opens new window)
OBRemittanceInformation2/Structured/ReferredDocumentInformationupdated fromArraytoArray of OBReferredDocumentInformationon the following pages:OBReferredDocumentInformation/LineDetails(previously displayed as part of theOBRemittanceInformation2class) has been updated to have a maximum string length of 2048 characters on the following pages:- Removed incorrect File Payment Status codes and replaced with guidance that the initial Status must be
PDNG(opens new window) - Replaced incorrect File Payment State Model diagram (opens new window).
- Updated File Payment Multiple Authorisation state model guidance (opens new window) to use correct status codes.
- Corrected both the Domestic (opens new window) and International (opens new window) Scheduled Payment state diagrams.
- Updated ISO 20022 text (opens new window) to replace references to draft standards with final standards such as the
Regulatory Technical Standards on strong customer authentication - Replaced 'ReceivedCreditTransfer' and 'DomesticCreditTransfer' with 'RCDT' and 'DMCT' in usage examples (Transactions - v4.0.1 (opens new window))
- Replaced AWAU with AWAF for Multiple Authorisation in File Payments (File Payments - v4.0.1 (opens new window))
- Added clarification to PointInTime in the Data Dictionary to note that negative numbers are permitted (Payment Initiation API Profile - v4.0.1 (opens new window))
# Removed
- Removed incorrect
OBInternalPermissions1Codecodeset references from the following locations:- GET /domestic-payment-consents/{ConsentId} (opens new window)
- GET /domestic-standing-order-consents/{ConsentId} (opens new window)
- GET /file-payment-consents/{ConsentId}/file (opens new window)
- GET /international-scheduled-payment-consents/{ConsentId}/funds-confirmation (opens new window)
- GET /international-standing-order-consents/{ConsentId} (opens new window)
- Removed invalid reference to
OBExternalConsentProprietaryCodecodeset in GET /domestic-standing-order-consents/{ConsentId} (opens new window) - Removed
Signed Responsefrom the Endpoints Table (opens new window) forPOST /file-payment-consents/{ConsentId}/file. - The Release Management section has been removed from both Callback URL API Profile (opens new window) and Event Notification Subscription API Profile (opens new window). The top level Event Notification API Profile Release Management (opens new window) should be used instead.
- Removed Risk from the DomesticConsent Data Dictionary (Domestic Payments Consents - v4.0.1 (opens new window))
# Fixed
- Fixed incorrect codeset reference for
StatusReasonCodefromOBInternalPermissions1CodetoOBExternalStatusReason1Codein the response data dictionaries for the following locations:- Domestic Standing Orders (opens new window)
- International Payments (opens new window)
- International Scheduled Payment Consents (opens new window)
- International Scheduled Payments (opens new window)
- International Standing Order Consents (opens new window)
- International Standing Orders (opens new window)
OBActiveCurrencyAndAmount_SimpleTyperegex pattern was not displaying correctly for the following fields on Payment Initiation API Profile (opens new window) and Variable Recurring Payments API Profile (opens new window).- OBCharge2/Amount/Amount
- OBRemittanceInformation2/Structured/ReferredDocumentAmount
- OBRegulatoryReporting1/Details/Amount/Amount
- Corrected the dates shown in the Examples of Periodic Limits (Examples 2 and 3) VRP Example 2 (opens new window) and VRP Example 3 (opens new window)
- Addressed various typos:
- Added \ to the Pattern for Phone and Mobile in the Data Dictionary (opens new window)
- Added text to Overview re conditional Parties endpoints and fields, explaining what ASPSPs must do if they have implemented the /accounts/{AccountId}/parties' endpoint Overview (opens new window)
- Corrected typo in Release Management from 'create don' to 'created on' Release Management (opens new window)
- Corrected typo (missing a 'with') on Release Management (opens new window)
- Corrected class from OBWritePaymentDetailsResponse1 to OBWritePaymentDetails1 (opens new window)
- Corrected Codeset for ExternalPaymentTransactionStatus1Code from ISO_External_CodeSet to OB_Internal_CodeSet Data Dictionary (opens new window)
- Fixed PaymentContextCode in 2 examples from 'TransferToSell' to 'TransferToSelf' Usage Examples (opens new window)
- Fixed the link to Permissions information across Transactions (opens new window), Accounts (opens new window) and Accounts & Transactions (opens new window) (AISP Resources and Data Models - v4.0.1 (opens new window))
- Corrected the wording in the Permissions table re ReadPAN Permissions Table (opens new window)
- Added additional text to POST/domestic-payments to clarify the approach to status changes (applied to Domestic Payments, Domestic Scheduled Payments, Domestic Standing Orders, International Payments, International Scheduled Payments, International Standing Orders) Example wording from Post/domestic-payments (opens new window) with same wording used for each of the payment types.
- Corrected MandateRelatedInformation to be 1..1 and confirm that frequency detail is mandatory Data Dictionary (opens new window)