Releases: OpenBankingUK/read-write-api-docs-pub
Releases · OpenBankingUK/read-write-api-docs-pub
v4.0.1
For v4.0.1 the following approach has been adopted for identifying changes:
- Known Issues - these are tagged with the KI identifier, e.g. [v40_KI45]
- Change Requests - these are tagged with the CR number used in the consultations, e.g. [CR4a]
- EAG/Consultation items - Items included in the consultations are tagged with an identifier representing the consultation period they were introduced, e.g. [v4.0.1 RC 1]
- Feedback remediation - Technical errata and other minor corrections identified by participants or OBL during the Advanced Information period for Release Candidates 1 and 2 with an appropriate identifier for internal OBL traceability e.g. [CDRW-5006]
Consultations:
v4.0.1 - 2026-04-01
Added
- [v40_KI45] Added LWMH, LXMH, & TWYR to Frequency Examples in PIS Domestic Standing Order consents & AIS Standing Orders
- [v40_KI45] Added Frequency Examples table to PIS International Standing Order Consents
- [CDRW-4937] Added example of query string
date-timewhere only the Date is required. - [CDRW-5038] Added text to Date Formats section advising on decimal precision limit of 5, as agreed in TDA Decision 284
- [CDRW-5039] Added new Days of the Week section to Date Formats advising of ISO-8601 alignment and providing a table of week days and ordinal values as discussed at TDA on 2026-03-04
- [CDRW-5057] Added
OBRemittanceInformation2definition and Data Dictionary to AIS Standing Orders page - [v4.x.x Consultation 1] Added a note regarding the use of
ExternalPaymentTransactionStatus1Codevalues inpayment-detailsendpoints in
PIS
and Domestic VRPs - [v4.x.x Consultation 1] Optional Rate Limit Headers added.
- [v40_KI29]
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: - [v40_KI28] The following text has been added to
OBMandateRelatedInformation1/Frequency/Typeon the
Account and Transaction API Profile and Payment Initiation API Profile 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. - [V4_KI1]
OBCashAccountDebtorWithNamehas been added to: - [CR7] Clarification on the usage of the term 'optional fields' in reference to Conditional fields.
- [v4.x.x Consultation 1] An overarching Events Release Management section has been introduced to the Event Notification API Profile
- [v4.x.x Consultation 1]
OBReferredDocumentInformationhas been split out fromOBRemittanceInformation2and added to the following pages: - [v4.x.x Consultation 1] Added additional guidance to POST /file-payment-consents/{ConsentId}/file:
- 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.
- [v4.x.x Consultation 1] Added a Release Management section to the Variable Recurring Payments API Profile
- [CR2] Introduced a new OBIntermediaryAgent class which can appear up to 3 times in payload as
IntermediaryAgent1,IntermediaryAgent2andIntermediaryAgent3.- This is used in OBReadTransaction6/Data/Transaction
- Returning these fields requires use of the
ReadTransactionDetailpermission and the Permission Codes table
has been updated accordingly.
- [CR9] Added the following guidance to the Transactions notes:
- TPPs should refer to ASPSP developer portals for information on whether individual Bacs transactions are available in the Transactions endpoint.
- [v4.x.x Consultation 1] Added the following note to File Payments:
- 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.
- [CR7] Clarified how Mandatory
and Conditional
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
- [CR8] Added guidance to the Transaction page for returning Counterparty information in the
TransactionInformationfield. - [v4.x.x Consultation 1]
ReadStandingOrdersBasicandReadStandingOrdersDetailadded to overarching Permission Codes list
Change...
v4.0.1 - Release Candidate 2
Version History
v4.0.1 Release Candidate 2 - 2026-02-04
Added
- Added
LWMH,LXMH, andTWYRtoOBFrequency6Codein OBInternal - Added
SLCTtoOBFrequency2Codein OBInternal - Added legacy values to
OBExternalPaymentContext1Code:Other,BillPayment,EcommerceGoods,EcommerceServices,PartyToParty,PispPayee
Updated
- Updated ISO 20022 External Codeset files to Q3 2025 release.
- Enhanced the descriptions of current
OBExternalPaymentContext1CodecodesBillingGoodsAndServicesInAdvance,BillingGoodsAndServicesInArrears,EcommerceMerchantInitiatedPayment,FaceToFacePointOfSale,TransferToSelf,TransferToThirdParty
v4.0.1 Draft 1 - 2026-01-05
Added
- Added to
OBInternalStatementFeeType1Code:UK.OBIE.InstalmentPlanUK.OBIE.ReturnedPayment
- Added to
OBInternalStatementInterestType1Code:UK.OBIE.InstalmentPlanUK.OBIE.MoneyTransfer
- Added
CRYPtoExternalPurpose1Code - Introduced
OBIntermediaryAgentStatus1CodeinOB_Internal_Codeset. This is used for
OBIntermediaryAgent/ProcessingStatusand has the following codes:PDNGRCVDACSPACSCRJCTUNKNCANC
- Description of code value
U037updated to "Authorisation failed by one (or more) of the authenticators." - Added
NONEtoOBFrequency2Code
Changed
- Separated
OBInternalConsentStatus1Codeinto 3 codesets for certain contexts (#17):- Removed
COND&AWUPfromOBInternalConsentStatus2Code - Added
OBInternalConsentStatus2CodetoOB_Internal_Codeset.csvwith the following values:AWAURJCTAUTHCOND
- Added
OBInternalConsentStatus3CodetoOB_Internal_Codeset.csvwith the following values:AWAURJCTAUTHCONDAWUP
- Removed
- Updated description of
U037inOBExternalStatusReason1Code(#7) - Separated
ExternalPaymentTransactionStatus1Codeinto 5 codesets for specific contexts (#16). New Codes look like:ExternalPaymentTransactionStatus1Code(16 codes) for Domestic Standing Orders & International Standing Orders:CANCRCVDACTCPATCPDNGRJCTINFAINCOACCPACFCACSPACWCACSCBLCKACCCACWP
ExternalPaymentTransactionStatus2Code(14 codes) for Domestic Scheduled Payments and International Scheduled Payments:CANCRCVDPDNGACTCPATCACCPACFCACSPACWCACSCBLCKACCCACWPRJCT
ExternalPaymentTransactionStatus3Code(13 codes) for Domestic Payments and International Payments:RCVDPDNGACTCPATCACCPACFCACSPACWCACSCBLCKACCCACWPRJCT
ExternalPaymentTransactionStatus4Code(3 codes) for File Payments:PDNGINFAINCO
ExternalPaymentTransactionStatus5Code(12 codes) for Domestic VRPs:RCVDPDNGACTCACCPACFCACSPACWCACSCBLCKACCCACWPRJCT
Removed
- Removed duplicate
ExternalMandateStatus1Codecodes (#12) - Removed deprecated
OBExternalStatus3Code(#13)
Fixed
- codesets are now contiguous and organized alphabetically
- several descriptions have been moved out of the codeset name column and into the description column
- Corrected
OBExternalStatusReason1Code1180description (#21) - Moved the
BusinessCurrentAccountcode fromOBInternalCardSchemeType1CodetoOBInternalProductType1Code(#13) - Corrected
OBExternalAuthorisation1CodetoOBInternalAuthorisation1Code(#14) - Fix typo in
ExternalPaymentGroupStatus1CodeINFAdescription (#15)
Pull Requests
- CoP update by @OBPeteS in #217
- CoP update by @OBPeteS in #218
- CDRW-4714 Pt3 by @MikeBanyard1 in #228
- CDRW-4766 remap referred document amount from int32 to ob active currency and amount simple type by @cjrobbertse-ob in #277
- Fixed missing ` around OBRemittanceInformation2 by @OBPeteS in #279
- Added OBIntermediaryAgent1 class to OBReadTransaction6 by @OBPeteS in #248
- CDRW-4862 by @MikeBanyard1 in #232
- CDRW-4137 by @MikeBanyard1 in #230
- CDRW-4723 by @MikeBanyard1 in #225
- CDRW-4711 by @MikeBanyard1 in #229
- CDRW-4872 by @MikeBanyard1 in #231
- CDRW-4668 by @MikeBanyard1 in #240
- CR9 - Added clarifications by @OBPeteS in #251
- CDRW-4693v3 Changed status update to CANC from must to should by @MikeBanyard1 in #259
- CDRW-4774v2 remove Risk entry from Data Dictionary by @MikeBanyard1 in #258
- CDRW-4828v4 Added ref to negative numbers in PointInTime by @MikeBanyard1 in #260
- CDRW-4672v2 by @MikeBanyard1 in #261
- CDRW-4714v3 - Amended text re Permissions by @MikeBanyard1 in #262
- CDRW-4657 by @MikeBanyard1 in #275
- CDRW-4713 by @MikeBanyard1 in #276
- CDRW-4673 by @MikeBanyard1 in #246
- CDRW-4739v2 by @MikeBanyard1 in #245
- CDRW-4714 Pt2 by @MikeBanyard1 in #227
- CDRW-4806 by @MikeBanyard1 in #278
- CDRW-4871v2 Updated codeset location to OB_InternalCodeSet by @MikeBanyard1 in #257
- CDRW-4899 by @MikeBanyard1 in #285
- CDRW-4758 by @OBPeteS in #221
- Added guidance on how mandatory and conditional fields are represented by @OBPeteS in #250
- Updated payload signature guidance by @OBPeteS in #255
- Added NumberOfPayments to Standing Orders by @OBPeteS in #263
- Added guidance on legacy v3 values by @OBPeteS in #264
- Cdrw 4870 v40 ki1 by @OBPeteS in #266
- Updated guidance on optional fields by @OBPeteS in #267
- Updated File payments state model by @OBPeteS in #268
- Added VRP Release Management by @OBPeteS in #273
- Updated guidance on UK.OBIE.PaymentInitiation.4.0 by @OBPeteS in #274
- Updated Scheduled Payment state diagram by @OBPeteS in #269
- Updated Meta and Links to be conditional by @OBPeteS in #271
- Updated OBReferredDocumentInformation by @OBPeteS in #280
- Added Standing Order permission codes to main list by @OBPeteS in #282
- Update domestic-payments-usage-examples.md by @OBPeteS in #283
- Update payment-initiation-api-profile.md by @OBPeteS in #287
- Update file-payment-consents.md by @OBPeteS in #288
- Update read-write-data-api-profile.md by @OBPeteS in #289
- Updated v4.0 refs to v4.0.1 by @OBPeteS in #290
- CDRW-4674 by @MikeBanyard1 in #293
- CDRW-4865 Remove incorrect codeset reference by @cjrobbertse-ob in #281
- CDRW-4902 Fix OBExternalStatusReason1Code Typo by @cjrobbertse-ob in #292
- Fix PIS lost changes by @cjrobbertse-ob in #296
- CDRW-4671v2 by @MikeBanyard1 in #284
- CDRW-4764 Add OBInternalConsentStatus2Code & OBInternalConsentStatus3...
v4.0
v4.0 - 28th June 2024
| Area | Changes |
|---|---|
| All |
|
| All | Alignment with ISO 20022:
|
| AISP | ISO 20022 changes
|
| PISP | ISO20022 changes
|
| Errors |
|
| VRP |
|
| Payments |
|
| Various | All 3.1.11 KI’s addressed |
| AISP |
|
| Various | Frequency in OBMandateRelatedInformation1 object made mandatory |
| PISP | CreditorAgent added to
|
Version 3.1.8 RC1
Version 3.1.7 Final
No further changes from Version 3.1.7 - Draft 1
Version 3.1.7 RC1
Change Log
Version 3.1.7 - Draft1
- Decision 225 - Debtor account details following payment initiation View Diff
- Decion 226 - Optional fields for accounts that have been switched out View Diff
- Miscelleneous fixes to address Known Issues View Diff
- OBSD-16647 - Fixed incorrect class name for
CreditorAccountindomestic-standing-order-consents - OBSD-16818 - Corrected the
txnspecification foreventsto replace the reference tox-fapi-transaction-idwithx-fapi-interaction-id - OBSD-16778 - Added description for post endpoints in
file-payments - OBSD-15322 - Updated the account name field sizes for
partiesso that they are consistent - Add additional examples for message signing
- OBSD-17345 - Corrected the description and length of
ReferencePaymentOrderId - OBSD-17586 - In the Accounts resource, corrected
UK.CASS.NotSwitcedin description toUK.CASS.NotSwitched - OBSD-18538 - Inconsistent description of "CreationDate" in payment resources.
- OBSD-18590 - Incorrect example for usage of
CountrySubDivision
- OBSD-16647 - Fixed incorrect class name for
- Update version numbers View Diff
Version 3.1.6 Final
v3.1.6 Merge branch 'master' into release/v3.1.6
Version 3.1.6 RC1
Version 3.1.6 - RC1
Decision 222 - CASS View Diff
Changes based on impact assessment
Rolled back Option 2
Decision 223 - Change length of Account/Name fields View Diff
Errata
Fix the multiplicity for CountrySubDivision
Clarify error message for invalid ISO Date
Clarify the use of txn for Event Notifications