v4.0.1
Changelog
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
- [CDRW-5005] Added
CRYPtoOBExternalPurpose1Codein AIS to align with PIS, whereCRYP(CryptoAssets) was already present as part of the CR4a change. - [CDRW-5045] Updated all ASPSP endpoints with descriptions describing their use.
- [v40_KI45] Added
LWMH,LXMH, &TWYRtoOBFrequency6Codein AIS and PIS - [v40_KI45] Added
SLCTtoOBFrequency2in AIS - [CDRW-4937] Added example values to
fromBookingDateTime,toBookingDateTime,fromStatementDateTimeandtoStatementDateTime. - [v40_KI46] Added
NONEtoOBFrequency2in AIS - [CDRW-4760] Added clarity to file endpoint descriptions regarding ASPSPs specifying available content types. Affects
200AccountsAccountIdStatementsStatementIdFileRead,200FilePaymentConsentsConsentIdFileRead, and
200FilePaymentsFilePaymentIdReportFileRead(#195) - [CR7] Added a note to the top-level description of all swagger files about conditional and required fields (#209)
- [CR4a]
CRYPadded toExternalPurpose1Code - [CR1] Added the following codes to
OBInternalStatementFeeType1Code:UK.OBIE.InstalmentPlanUK.OBIE.ReturnedPayment
- [CR1] Added the following codes to
OBInternalStatementInterestType1Code:UK.OBIE.InstalmentPlanUK.OBIE.MoneyTransfer
- [v4.x.x Consultation 1] Added rate limit headers to all OpenAPI files
- [CR2] Introduced a new
OBIntermediaryAgentclass which can appear up to 3 times in payload asIntermediaryAgent1,
IntermediaryAgent2andIntermediaryAgent3.- This is used in
OBReadTransaction6/Data/Transaction - Returning these fields requires use of the
ReadTransactionDetailpermission
- This is used in
- [v40_KI25] Deprecated
PaymentContextCodevalues have been reintroduced to VRP and PIS OpenAPI files.- For the avoidance of doubt - these values must not be accepted in a new consent and may only be accepted for payment against a v3 VRP consent migrated to v4.
- They may optionally be returned for a historical payment or consent migrated to v4 when using a
GETrequest.
- [v40_KI7]
OBDomesticRefundAccount1class definition added to the Payment Initiation and VRP OpenAPI files. - [v4.0.1 Draft 1]
HTTP 422has been added as a response code - this should be used when a duplicate Idempotency code is submitted.
Changed
- [CDRW-5046] Added missing enum values to
ExternalDocumentType1Codein AIS:AROI,BOLD,CMCN,SOAC,TSUT,USAR,VCHR - [CDRW-4136] Updated
ErrorCode$ref name in PIS to useOBExternalStatusReason1Code, matching rest of OpenAPI files (previously usedOBInternalErrorResponseError1Code) - [CDRW-4960] Updated endpoint summaries and tags to align to usage. This has resulted in
Payment Detailsendpoints now being categorised and listed with their payment type. - [CDRW-4909] Improved description formatting for
RateLimit-Policy,RateLimit, andx-client-id, to match spec pages formatting. - [v40_KI42] Updated location of
ExternalDocumentFormat1CodetoISO_External_Codesetin description. - [CDRW-5014] Updated example value in Error responses from
AC17toU001in AIS and Events - [v40_KI48] Description for
OBReadStatement2/Data/Statement/StatementFee/RateTypechanged to "This code indicates the specific type of fee rate (e.g., AER, EAR)" - [v40_KI48] Description for
OBReadStatement2/Data/Statement/StatementInterest/RateTypechanged to "This code specifies the type of interest (e.g., BOE Base Rate, Fixed Rate, Gross)" - [CDRW-4949] Updated descriptions for
fromBookingDateTime,toBookingDateTime,fromStatementDateTimeandtoStatementDateTimeto clarify that the timezone component must not be present, as per the Spec pages. - [v40_KI30] Standardized all regex patterns in YAML files to be surrounded by single quotes and on a single line, for robustness, reliability and consistency (#192)
- [v4.0.1 Draft 1] Updated usages of
OBInternalConsentStatus1Codein to use re-usable domain-specific consent status codes (#204).
Changed codes:- Changed to
OBInternalConsentStatus2Codein all PIS consents except File Payments - Changed to
OBInternalConsentStatus3Codein only PIS File Payments consents
- Changed to
- [v40_KI36] Remap
ReferredDocumentAmountfromInt32toOBActiveCurrencyAndAmount_SimpleTypein AIS, PIS, & VRP (#205) - [v4.0.1 Draft 1] Updated usages of
ExternalPaymentTransactionStatus1Codefor PIS and VRP to use re-usable endpoint-specific payment
status codes (#208). Codes changed:ExternalPaymentTransactionStatus1Codeused in Domestic Standing Orders and International Standing OrdersExternalPaymentTransactionStatus2Codeused in Domestic Scheduled Payments and International Scheduled PaymentsExternalPaymentTransactionStatus3Codeused in Domestic Payments and International PaymentsExternalPaymentTransactionStatus4Codeused in File PaymentsExternalPaymentTransactionStatus5Codeused in Domestic VRP
- [v4.0.1 Draft 1]
MetaandLinkshave been made conditional in the VRP OpenAPI file. - [v40_KI5] VRP
OBCashAccountDebtorWithNamemax length is increased from 70 to 350 characters and is no longermandatory. - [v4.0.1 Draft 1] Updated
ReferredDocumentInformation/LineDetailsstring length to 2048 max characters. - [v40_KI7] The
Refundfield in the Payment Initiation and VRP OpenAPI files has been updated to point to the newly addedOBDomesticRefundAccount1class.
Removed
- [CDRW-5012] Removed duplicate
WEEKfromOBFrequency6Codein PIS - [CDRW-4765] Remove legacy v3 artefact
OBAddressTypeCodefrom Account Information (#202) - [CDRW-4878] Removed
x-fapi-financial-idfrom the Event Notifications OpenAPI file. - [v40_KI41]
CANCremoved from VRP payment status enum list
Fixed
- [CDRW-4136] Updated description of
OBExternalStatusReason1Codeto point to correct codeset name in AIS, PIS, CBPII, Events and VRP. - [CDRW-5043] Corrected typos and improved description clarity across all OpenAPI specification files:
- Fixed double word "as as" to "as" in top-level description (AIS, CBPII, Events, PIS, VRP)
- Corrected "dentification" to "Identification" in multiple field descriptions (AIS)
- Fixed article usage: "an rate" to "a rate" (AIS), "an servicing" to "a servicing" (AIS, PIS, VRP), and "an Callback" to "a Callback" (Events)
- Fixed spelling errors: "crebit" to "credit" (AIS), "memebership" to "membership" (AIS), "statments" to "statements" (AIS), "reefer" to "refer" (PIS), "lust" to "list" (VRP)
- Corrected GitHub URL typo: "External_Interal_CodeSets" to "External_Internal_CodeSets" (Events)
- Fixed whitespace artifacts in descriptions (removed escaped underscores) (Events)
- Improved grammar: "AWAU and RJCT only can returned" to "Only AWAU and RJCT can be returned" (VRP)
- Clarified wording: "can not" to "cannot" (VRP), "this include" to "this includes" (VRP)
- [CDRW-5053] - Updated rate limit + client ID header information in event-notifications-openapi (TPP endpoint for Event Notification API Specification) to be specific to TPPs and updated description on endpoint to describe use.
- [CDRW-4729] Fixed typo in
PointInTimedescription fromCountPerSidetoCountPerPeriodin PIS (#194) - [CDRW-4802] Corrected description wording for
OBMandateRelatedInformation1/MandateIdentificationin PIS (#203) - [v40_KI30] Fixed regex patterns to match the spec pages (#192):
- Fixed missing
^and$throughout PIS - Fixed
\escaping in AIS
- Fixed missing