openapi: 3.1.0
info:
title: Variable Recurring Payment
description: Enable recurring payments to sweep funds from a customer's account to another of their accounts.
version: v4.0
x-method: searched
x-source: https://developer.barclays.com/api/apis/versions/0756dc5a-00ca-4b1d-b91d-f6c558d05fc3.bdn/design?specification=oas31
x-harvested: '2026-09-04'
x-harvested-note: Verbatim OpenAPI 3.1 design export from the Barclays API Exchange registry (developer.barclays.com), fetched
anonymously. The untouched export is in openapi/_original/barclays-variable-recurring-payment-openapi.json. The UK Open
Banking documents carry OBIE (openbanking.org.uk) in info.contact/termsOfService because they are the OBIE standard contract
as Barclays implements and publishes it — the API, the registry record and the host are Barclays'.
tags:
- name: Domestic VRP Consents
description: Domestic VRP Consents
- name: Domestic VRPs
description: Domestic VRP
paths:
/domestic-vrps:
summary: Create a domestic VRP
description: Create a domestic VRP
post:
tags:
- Domestic VRPs
summary: Create a domestic VRP
description: Create a domestic VRP
operationId: domesticVrpPost
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-jws-signature'
- $ref: '#/components/parameters/x-customer-user-agent'
- $ref: '#/components/parameters/x-idempotency-key'
- $ref: '#/components/parameters/payload-version'
requestBody:
description: Default
content:
application/json:
schema:
$ref: '#/components/schemas/OBDomesticVRPRequest'
examples:
domestic-vrp-request:
value:
Data:
ConsentId: BARCLAYS-S-12345678901234
PSUAuthenticationMethod: UK.OBIE.SCA
PSUInteractionType: OffSession
VRPType: UK.OBIE.VRPType.Sweeping
Initiation:
DebtorAccount:
SchemeName: UK.OBIE.IBAN
Identification: GB76LOYD30949301273801
Name: Marcus Sweepimus
SecondaryIdentification: 008419
Proxy:
Identification: '441234012345'
Code: TELE
Type: Telephone
CreditorAccount:
SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: '30949330000010'
SecondaryIdentification: Roll 90210
Name: Marcus Sweepimus
Proxy:
Identification: '441234012348'
Code: TELE
Type: Telephone
CreditorPostalAddress:
AddressType: BIZZ
Department: Finance
SubDepartment: Payroll
StreetName: Bank Street
BuildingNumber: '11'
BuildingName: Tower Bridges
Floor: '6'
UnitNumber: UNIT591
Room: '844'
PostBox: PO Box 123456
PostCode: Z78 4TY
TownLocationName: Bank
TownName: London
DistrictName: Greater London
CareOf: Ms Jane Smith
CountrySubDivision: England
Country: UK
RemittanceInformation:
Structured:
- ReferredDocumentAmount: 1
CreditorReferenceInformation:
Reference: SweepCo
AdditionalRemittanceInformation:
- Rose's pocket money
Instruction:
InstructionIdentification: fe655556-e53a-45ed-954c-ae5d1f97a9
EndToEndIdentification: fe699996-e53a-45ed-954c-ae5d1f97a9
LocalInstrument: UK.OBIE.Paym
CreditorAccount:
SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: '30949330000010'
SecondaryIdentification: Roll 90210
Name: Marcus Sweepimus
Proxy:
Identification: '441234012348'
Code: TELE
Type: Telephone
InstructedAmount:
Amount: '10.00'
Currency: GBP
CreditorPostalAddress:
AddressType: BIZZ
Department: Finance
SubDepartment: Payroll
StreetName: Bank Street
BuildingNumber: '11'
BuildingName: Tower Bridges
Floor: '6'
UnitNumber: UNIT591
Room: '844'
PostBox: PO Box 123456
PostCode: Z78 4TY
TownLocationName: Bank
TownName: London
DistrictName: Greater London
CareOf: Ms Jane Smith
CountrySubDivision: England
Country: UK
RemittanceInformation:
Structured:
- ReferredDocumentAmount: 1
CreditorReferenceInformation:
Reference: SweepCo
AdditionalRemittanceInformation:
- Rose's pocket money
Risk:
PaymentContextCode: TransferToSelf
ContractPresentIndicator: true
PaymentPurposeCode: EPAY
CategoryPurposeCode: GP2P
BeneficiaryAccountType: Personal
required: true
responses:
'201':
$ref: '#/components/responses/20xOBDomesticVRPResponse'
'400':
$ref: '#/components/responses/400Error'
'422':
$ref: '#/components/responses/422Error'
'401':
$ref: '#/components/responses/401Error'
'500':
$ref: '#/components/responses/InternalError'
'403':
$ref: '#/components/responses/403Error'
'415':
$ref: '#/components/responses/415Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'409':
$ref: '#/components/responses/409Error'
deprecated: false
/domestic-vrps/{domesticVRPId}:
summary: Retrieve a domestic VRP
description: Retrieve a domestic VRP
get:
tags:
- Domestic VRPs
summary: Retrieve a domestic VRP
description: Retrieve a domestic VRP
operationId: domesticVrpGet
parameters:
- $ref: '#/components/parameters/DomesticVRPId'
- $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:
'200':
$ref: '#/components/responses/20xOBDomesticVRPResponse'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'500':
$ref: '#/components/responses/InternalError'
'403':
$ref: '#/components/responses/403Error'
'415':
$ref: '#/components/responses/415Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
deprecated: false
/domestic-vrp-consents/{consentId}/funds-confirmation:
summary: Confirm availability of funds for a VRP
description: Confirm availability of funds for a VRP
post:
tags:
- Domestic VRP Consents
summary: Confirm availability of funds for a VRP
description: Confirm availability of funds for a VRP
operationId: domesticVrpConsentsFundsConfirmation
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-jws-signature'
- $ref: '#/components/parameters/x-customer-user-agent'
requestBody:
description: Default
content:
application/json:
schema:
$ref: '#/components/schemas/OBVRPFundsConfirmationRequest'
examples:
vrp-funds-confirmation-request:
value:
Data:
ConsentId: BARCLAYS-S-12345678901234
Reference: SweepCo
InstructedAmount:
Amount: '22.89'
Currency: GBP
required: true
responses:
'201':
$ref: '#/components/responses/201OBDomesticVRPFundsConfirmationResponse'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'500':
$ref: '#/components/responses/InternalError'
'403':
$ref: '#/components/responses/403Error'
'415':
$ref: '#/components/responses/415Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
deprecated: false
/domestic-vrp-consents:
summary: Create a domestic VRP consent
description: Create a domestic VRP consent
post:
tags:
- Domestic VRP Consents
summary: Create a domestic VRP consent
description: Create a domestic VRP consent
operationId: domesticVrpConsentsPost
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/OBDomesticVRPConsentRequest'
examples:
domestic-vrp-consent-request:
value:
Data:
ReadRefundAccount: 'Yes'
ControlParameters:
PSUAuthenticationMethods:
- UK.OBIE.SCA
PSUInteractionTypes:
- OffSession
VRPType:
- UK.OBIE.VRPType.Sweeping
ValidFromDateTime: '2017-06-05T15:15:13+00:00'
ValidToDateTime: '2020-06-05T15:15:13+00:00'
MaximumIndividualAmount:
Amount: '100.00'
Currency: GBP
PeriodicLimits:
- Amount: '200.00'
Currency: GBP
PeriodAlignment: Consent
PeriodType: Week
Initiation:
DebtorAccount:
SchemeName: UK.OBIE.IBAN
Identification: GB76LOYD30949301273801
SecondaryIdentification: 008419
Name: Marcus Sweepimus
Proxy:
Identification: '441234012345'
Code: TELE
Type: Telephone
CreditorAccount:
SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: '30949330000010'
SecondaryIdentification: Roll 90210
Name: Marcus Sweepimus
Proxy:
Identification: '441234012346'
Code: TELE
Type: Telephone
CreditorPostalAddress:
AddressType: BIZZ
Department: Finance
SubDepartment: Payroll
StreetName: Bank Street
BuildingNumber: '11'
BuildingName: Tower Bridges
Floor: '6'
UnitNumber: UNIT591
Room: '844'
PostBox: PO Box 123456
PostCode: Z78 4TY
TownLocationName: Bank
TownName: London
DistrictName: Greater London
CareOf: Ms Jane Smith
CountrySubDivision: England
Country: UK
RemittanceInformation:
Structured:
- ReferredDocumentAmount: 1
CreditorReferenceInformation:
Reference: SweepCo
AdditionalRemittanceInformation:
- Rose's pocket money
Risk:
PaymentContextCode: TransferToSelf
ContractPresentIndicator: true
PaymentPurposeCode: EPAY
CategoryPurposeCode: GP2P
BeneficiaryAccountType: Personal
required: true
responses:
'201':
$ref: '#/components/responses/20xOBDomesticVRPConsentResponse'
'400':
$ref: '#/components/responses/400Error'
'422':
$ref: '#/components/responses/422Error'
'401':
$ref: '#/components/responses/401Error'
'500':
$ref: '#/components/responses/InternalError'
'403':
$ref: '#/components/responses/403Error'
'415':
$ref: '#/components/responses/415Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'409':
$ref: '#/components/responses/409Error'
deprecated: false
/domestic-vrps/{domesticVRPId}/payment-details:
summary: Retrieve a domestic VRP
description: Retrieve a domestic VRP
get:
tags:
- Domestic VRPs
summary: Retrieve a domestic VRP
description: Retrieve a domestic VRP
operationId: domesticVrpPaymentDetailsGet
parameters:
- $ref: '#/components/parameters/DomesticVRPId'
- $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:
'200':
$ref: '#/components/responses/20xOBDomesticVRPRequestDetailResponse'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'500':
$ref: '#/components/responses/InternalError'
'403':
$ref: '#/components/responses/403Error'
'415':
$ref: '#/components/responses/415Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
deprecated: false
/domestic-vrp-consents/{consentId}:
summary: Retrieve a domestic VRP consent
description: Retrieve a domestic VRP consent
get:
tags:
- Domestic VRP Consents
summary: Retrieve a domestic VRP consent
description: Retrieve a domestic VRP consent
operationId: domesticVrpConsentsGet
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:
'200':
$ref: '#/components/responses/20xOBDomesticVRPConsentResponse'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'500':
$ref: '#/components/responses/InternalError'
'403':
$ref: '#/components/responses/403Error'
'415':
$ref: '#/components/responses/415Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
deprecated: false
put:
tags:
- Domestic VRP Consents
summary: Update a domestic VRP consent - only to be used for version migrations
description: Update a domestic VRP consent by submitting a full consent resource body - only to be used for version
migrations
operationId: domesticVrpConsentsPut
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-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/OBDomesticVRPConsentRequest'
examples:
domestic-vrp-consent-request:
value:
Data:
ReadRefundAccount: 'Yes'
ControlParameters:
PSUAuthenticationMethods:
- UK.OBIE.SCA
PSUInteractionTypes:
- OffSession
VRPType:
- UK.OBIE.VRPType.Sweeping
ValidFromDateTime: '2017-06-05T15:15:13+00:00'
ValidToDateTime: '2020-06-05T15:15:13+00:00'
MaximumIndividualAmount:
Amount: '100.00'
Currency: GBP
PeriodicLimits:
- Amount: '200.00'
Currency: GBP
PeriodAlignment: Consent
PeriodType: Week
Initiation: {}
Risk:
PaymentContextCode: BillingGoodsAndServicesInAdvance
ContractPresentIndicator: true
PaymentPurposeCode: EPAY
CategoryPurposeCode: GP2P
BeneficiaryAccountType: Personal
required: true
responses:
'200':
$ref: '#/components/responses/20xOBDomesticVRPConsentResponse'
'400':
$ref: '#/components/responses/400Error'
'422':
$ref: '#/components/responses/422Error'
'401':
$ref: '#/components/responses/401Error'
'500':
$ref: '#/components/responses/InternalError'
'403':
$ref: '#/components/responses/403Error'
'415':
$ref: '#/components/responses/415Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'409':
$ref: '#/components/responses/409Error'
deprecated: false
delete:
tags:
- Domestic VRP Consents
summary: Delete a domestic VRP
description: Delete a domestic VRP
operationId: domesticVrpConsentsDelete
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:
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'500':
$ref: '#/components/responses/InternalError'
'204':
$ref: '#/components/responses/204VRPConsentsConsentIdDeleted'
'403':
$ref: '#/components/responses/403Error'
'415':
$ref: '#/components/responses/415Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
deprecated: false
patch:
tags:
- Domestic VRP Consents
summary: Update a domestic VRP consent - only to be used for version migrations
description: Update a domestic VRP consent by submitting a full consent resource body - only to be used for version
migrations
operationId: domesticVrpConsentsPatch
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-idempotency-key'
- $ref: '#/components/parameters/x-jws-signature'
- $ref: '#/components/parameters/x-customer-user-agent'
requestBody:
description: Default
content:
application/json-patch+json:
schema:
type: string
format: Array of patch operations
deprecated: false
maxLength: 4096
minLength: 0
examples:
domestic-vrp-consent-request:
value:
- op: remove
path: /Risk/ContractPresentInidicator
- op: add
path: /Risk/ContractPresentIndicator
value: 'true'
- op: replace
path: /Data/Initiation/CreditorPostalAddress/AddressType
value: HOME
- op: replace
path: /Risk/DeliveryAddress/AddressType
value: HOME
required: true
responses:
'422':
$ref: '#/components/responses/422Error'
'500':
$ref: '#/components/responses/InternalError'
'405':
$ref: '#/components/responses/405Error'
deprecated: false
components:
schemas:
OBStatusReason:
type: object
additionalProperties: false
deprecated: false
properties:
StatusReasonCode:
type: string
description: "Specifies the status reason in a code form. \nFor a full list of values refer to `OBExternalStatusReason1Code`\
\ in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)"
example: ERIN
maxLength: 4
minLength: 1
StatusReasonDescription:
type: string
description: Description supporting the StatusReasonCode.
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
nullable: false
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: James Bond
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,140})$
Identification:
type: string
description: Identification assigned by an institution.
example: SC112800
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'
StreetName:
type: string
description: Name of a street or thoroughfare.
example: 21 Aston Street
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9- '.,\/]{1,70})$
Meta:
type: object
description: Meta Data relevant to the payload. At present no fields are used for VRP.
title: MetaData
OBDomesticVRPInitiation:
type: object
additionalProperties: false
deprecated: false
properties:
DebtorAccount:
$ref: '#/components/schemas/OBCashAccountDebtorWithName'
CreditorAccount:
$ref: '#/components/schemas/OBCashAccountCreditor3'
CreditorPostalAddress:
$ref: '#/components/schemas/OBPostalAddress7'
UltimateCreditor:
$ref: '#/components/schemas/OBUltimateCreditor1'
UltimateDebtor:
$ref: '#/components/schemas/OBUltimateDebtor1'
RemittanceInformation:
$ref: '#/components/schemas/OBRemittanceInformation2'
RegulatoryReporting:
type: array
items:
$ref: '#/components/schemas/OBRegulatoryReporting1'
maxItems: 3
minItems: 0
nullable: false
ExternalCategoryPurpose1Code:
type: string
description: Enumeration of codes that outlines the type of purpose behind a transaction, payment or risk. For a full
list of values refer to `ExternalCategoryPurpose1Code` in *ISO_External_CodeSet* [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
OBInternalLocalInstrument1Code:
type: string
description: 'User community specific instrument.
Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service
or service level.
For a full list of values refer to `OBInternalLocalInstrument1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)'
enum:
- UK.OBIE.BACS
- UK.OBIE.BalanceTransfer
- UK.OBIE.CHAPS
- UK.OBIE.Euro1
- UK.OBIE.FPS
- UK.OBIE.Link
- UK.OBIE.MoneyTransfer
- UK.OBIE.Paym
- UK.OBIE.SEPACreditTransfer
- UK.OBIE.SEPAInstantCreditTransfer
- UK.OBIE.SWIFT
- UK.OBIE.Target2
OBVRPStatusReasonCode:
type: string
description: 'Reason Code provided for the status of a VRP. To be documented in the Developer Portal.
'
enum:
- UK.OBIE.ExemptionNotApplied
- UK.OBIE.OtherReason
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: Bob
maxLength: 140
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9- '.,\/]{1,140})$
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
SubDepartment:
type: string
description: Identification of a sub-division of a large organisation or building.
example: Account Opening
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9- '.,\/]){1,70}$
OBInternalConsentStatus1Code:
type: string
description: Specifies the status of consent resource in code form. AWAU and RJCT only can returned on initial submission.
For a full list of values see `OBInternalConsentStatus1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- AWAU
- RJCT
- AUTH
- CANC
- EXPD
OBPaymentStatusReason:
type: object
additionalProperties: false
properties:
StatusReasonCode:
type: string
description: "Specifies the status reason in a code form \n For more information and enum values see `OBExternalStatusReason1Code\
\ [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)"
example: ERIN
maxLength: 4
minLength: 1
StatusReasonDescription:
type: string
description: Description supporting the StatusReasonCode.
maxLength: 500
minLength: 1
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: '205'
maxLength: 16
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9- '.,\/]{1,16})$
OBDomesticVRPRequest:
type: object
additionalProperties: false
deprecated: false
properties:
Data:
type: object
additionalProperties: false
properties:
ConsentId:
type: string
description: Identifier for the Domestic VRP Consent that this payment is made under.
example: BARCLAYS-S-12345678901234
maxLength: 25
minLength: 25
pattern: ^BARCLAYS-S-\d{14}$
PSUAuthenticationMethod:
allOf:
- $ref: '#/components/schemas/OBVRPAuthenticationMethods'
- type: string
description: The authentication method that was used to authenticate the PSU.
PSUInteractionType:
allOf:
- $ref: '#/components/schemas/OBVRPInteractionTypes'
- type: string
description: Indicates interaction type, currently if customer is present or not present. If not provided
the default is `OffSession` (customer is not present) when the individual VRP payment is made.
VRPType:
$ref: '#/components/schemas/OBVRPConsentType'
Initiation:
$ref: '#/components/schemas/OBDomesticVRPInitiation'
Instruction:
$ref: '#/components/schemas/OBDomesticVRPInstruction'
required:
- ConsentId
- Initiation
- Instruction
- PSUAuthenticationMethod
- VRPType
Risk:
$ref: '#/components/schemas/OBRisk1'
required:
- Data
- Risk
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}$
OBAddressType2Code:
type: string
description: Identifies the nature of the postal address. For a full set of codes see `OBAddressType2Code` in *OB_Internal_CodeSet*
[here](https://github.com/OpenBankingUK/External_Internal_CodeSets).
enum:
- BIZZ
- DLVY
- MLTO
- PBOX
- ADDR
- HOME
- CORR
- STAT
OBDomesticRefundAccount1:
type: object
additionalProperties: false
description: Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.
properties:
Account:
type: object
additionalProperties: false
description: Provides the details to identify an account.
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification_0'
Name:
type: string
description: 'Name of the account, as assigned by the account servicing institution.
Usage: The account name is the name or names of the account owner(s) represented at an account level. 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.'
maxLength: 350
minLength: 1
SecondaryIdentification:
$ref: '#/components/schemas/SecondaryIdentification'
required:
- Identification
- Name
- SchemeName
required:
- Account
OBDomesticVRPDetails:
type: object
additionalProperties: false
deprecated: false
properties:
Data:
type: object
additionalProperties: false
properties:
PaymentStatus:
type: array
items:
type: object
additionalProperties: false
properties:
PaymentTransactionId:
type: string
description: Unique identifier for the transaction within an servicing institution. This identifier is
both unique and immutable.
maxLength: 210
minLength: 1
Status:
$ref: '#/components/schemas/ExternalPaymentTransactionStatus1Code'
StatusUpdateDateTime:
type: string
format: date-time
description: 'Date and time at which the status was assigned to the transfer.
'
StatusDetail:
type: object
additionalProperties: false
properties:
LocalInstrument:
$ref: '#/components/schemas/OBInternalLocalInstrument1Code'
Status:
$ref: '#/components/schemas/ExternalPaymentTransactionStatus1Code'
StatusReason:
type: string
description: Reason Code provided for the status of a transfer.
StatusReasonDescription:
type: string
description: Reason provided for the status of a transfer.
maxLength: 256
minLength: 1
required:
- Status
required:
- PaymentTransactionId
- Status
- StatusUpdateDateTime
maxItems: 99999
minItems: 0
required:
- Data
nullable: false
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: 3
pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$
OBDomesticVRPConsentResponse:
type: object
additionalProperties: false
deprecated: false
properties:
Data:
type: object
additionalProperties: false
deprecated: false
properties:
ReadRefundAccount:
type: string
description: 'Indicates whether information about RefundAccount should be included in the payment response.
'
enum:
- 'Yes'
- 'No'
ConsentId:
type: string
description: 'Unique identification as assigned by the ASPSP to uniquely identify the consent resource.
'
maxLength: 128
minLength: 1
CreationDateTime:
type: string
format: date-time
description: 'Date and time at which the resource was created.
'
Status:
$ref: '#/components/schemas/OBInternalConsentStatus1Code'
StatusReason:
type: array
items:
$ref: '#/components/schemas/OBStatusReason'
maxItems: 99999
minItems: 0
StatusUpdateDateTime:
type: string
format: date-time
description: 'Date and time at which the resource status was updated.
'
ControlParameters:
$ref: '#/components/schemas/OBDomesticVRPControlParameters'
Initiation:
$ref: '#/components/schemas/OBDomesticVRPInitiation'
DebtorAccount:
allOf:
- $ref: '#/components/schemas/OBCashAccountDebtorWithName'
- type: object
description: The DebtorAccount details as specified by the PSU when account selection happens at the ASPSP.
*Note:* The details must be provided in the consent response (OBDomesticVRPConsentResponse) by the ASPSP
to enable the PISP to associate it with future VRP payments that are made using the VRP Consent.
required:
- ConsentId
- ControlParameters
- CreationDateTime
- Initiation
- Status
- StatusUpdateDateTime
nullable: false
Risk:
$ref: '#/components/schemas/OBRisk1'
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/Meta'
required:
- Data
- Risk
nullable: false
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}$
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: CRED
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: string
maxLength: 35
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,35})$
maxItems: 3
minItems: 1
nullable: false
OBExternalAccountType1Code:
type: string
description: Specifies the type of account (personal or business).
enum:
- Business
- Personal
OBDomesticVRPConsentRequest:
type: object
additionalProperties: false
deprecated: false
properties:
Data:
type: object
additionalProperties: false
deprecated: false
properties:
ReadRefundAccount:
type: string
description: 'Indicates whether the `RefundAccount` object should be included in the response
'
enum:
- 'Yes'
- 'No'
ControlParameters:
$ref: '#/components/schemas/OBDomesticVRPControlParameters'
Initiation:
$ref: '#/components/schemas/OBDomesticVRPInitiation'
required:
- ControlParameters
- Initiation
nullable: false
Risk:
$ref: '#/components/schemas/OBRisk1'
required:
- Data
- Risk
nullable: false
TownName:
type: string
description: Name of a built-up area, with defined boundaries, and a local government.
example: Greater Manchester
maxLength: 35
minLength: 1
pattern: ^(?!\s)([a-zA-Z- '.,]){1,35}$
OBAddressTypeCode:
type: string
description: Identifies the nature of the postal address.
enum:
- Business
- Correspondence
- DeliveryTo
- MailTo
- POBox
- Postal
- Residential
- Statement
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 refer 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
description: Set of elements used to provide details on the regulatory reporting information.
items:
$ref: '#/components/schemas/OBStructuredRegulatoryReporting3'
maxItems: 3
minItems: 1
nullable: false
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
OBInternalChargeBearerType1Code:
type: string
description: Specifies which party/parties will bear the charges associated with the processing of the payment transaction.
enum:
- BorneByCreditor
- BorneByDebtor
- FollowingServiceLevel
- Shared
OBBranchAndFinancialInstitutionIdentification6_0:
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:
$ref: '#/components/schemas/Identification_1'
Name:
$ref: '#/components/schemas/Name_1'
PostalAddress:
$ref: '#/components/schemas/OBPostalAddress7'
LEI:
$ref: '#/components/schemas/LEI'
OBCashAccountCreditor3:
type: object
additionalProperties: false
deprecated: false
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
Identification:
type: string
description: Identification assigned by an institution to identify an account. This identification is known by the
account owner.
example: '12345678901234'
maxLength: 256
minLength: 1
pattern: ^\d{14}$|^[A-Z]{2}\d{2}[A-Z0-9]{1,30}$|^\d{16}$
Name:
type: string
description: 'Name of the account, as assigned by the account servicing institution.
Usage: the account name is the name or names of the account owner(s) represented at an account level.
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:
type: string
description: 'This is secondary identification of the account, as assigned by the account servicing institution.
This 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})$
Proxy:
$ref: '#/components/schemas/OBProxy1'
required:
- Identification
- Name
- SchemeName
nullable: false
OBExternalCreditorReferenceType1Code:
type: string
description: "Specifies the type of creditor reference as published in an external creditor reference type code set.\r\
\nExternal code sets can be downloaded from www.iso20022.org.\n*`DISP`-Document is a dispatch advice.\n*`FXDR`-Document\
\ is a pre-agreed or pre-arranged foreign exchange transaction to which the payment transaction refers.\n*`PUOR`-Document\
\ is a purchase order.\n*`RPIN`-Document is a linked payment instruction to which the current payment instruction\
\ is related, for example, in a cover scenario.\n*`RADM`-Document is a remittance advice sent separately from the\
\ current transaction.\n*`SCOR`-Document is a structured communication reference provided by the creditor to identify\
\ the referred transaction."
enum:
- DISP
- FXDR
- PUOR
- RPIN
- RADM
- SCOR
ExternalDocumentType1Code:
type: string
description: Specifies the document type as published in an external document type code list. For a full list of values
refer to `ExternalDocumentType1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- CINV
- CNFA
- CONT
- CREN
- DEBN
- DISP
- DNFA
- HIRI
- INVS
- MSIN
- PROF
- PUOR
- QUOT
- SBIN
- SPRR
- TISH
- USAR
- AROI
- BOLD
- CMCN
- SOAC
- TSUT
- VCHR
OBVRPRemittanceInformation:
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:
Code:
$ref: '#/components/schemas/ExternalDocumentType1Code'
Issuer:
type: string
example: Issuer01
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,35})$
Number:
type: string
example: Number_01
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,35})$
RelatedDate:
$ref: '#/components/schemas/ISODateTime'
LineDetails:
type: array
items:
type: string
example: string
maxLength: 256
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,256})$
maxItems: 10
minItems: 1
nullable: false
Identification_1:
type: string
description: Unique and unambiguous identification of the servicing institution.
example: SC112800
maxLength: 35
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '_]{1,35})$
OBVRPConsentType:
type: string
enum:
- UK.OBIE.VRPType.Sweeping
- UK.OBIE.VRPType.Other
UnitNumber:
type: string
description: Number that identifies the unit of a specific address .
example: '1'
maxLength: 16
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9- '.,\/]{1,16})$
ExternalPaymentTransactionStatus5Code:
type: string
description: "Specifies the status of the payment information group. \n\nFor a full list of values refer to `ExternalPaymentTransactionStatus5Code`\
\ in *OB_Internal_CodeSet* \n[here](https://github.com/OpenBankingUK/External_Internal_CodeSets).\n"
enum:
- RCVD
- PDNG
- ACTC
- ACCP
- ACFC
- ACSP
- ACWC
- ACSC
- BLCK
- ACCC
- ACWP
- RJCT
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: WA14 1HX
maxLength: 16
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9 ]){1,16}$
Name_1:
type: string
description: Name by which an agent is known and which is usually used to identify that agent.
example: James Bond
maxLength: 140
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;+]{1,140})$
ExternalCreditorReferenceType1Code:
type: string
description: Specifies the amount type, as published in an external referred amount code set. For a full lust of values
refer to `ExternalCreditorReferenceType1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- DISP
- FXDR
- PUOR
- RPIN
- RADM
- SCOR
Identification_0:
type: string
description: Identification assigned by an institution to identify an account. This identification is known by the account
owner.
maxLength: 256
minLength: 1
SecondaryIdentification:
type: string
description: "This is secondary identification of the account, as assigned by the account servicing institution. \n\
This can be used by building societies to additionally identify accounts with a roll number (in addition to a sort\
\ code and account number combination)."
maxLength: 34
minLength: 1
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})$
OBInternalFinancialInstitutionIdentification4Code:
type: string
description: Name of the identification scheme, in a coded form as published in an external list.
enum:
- UK.OBIE.BICFI
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: Issuer01
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_01
maxLength: 35
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,35})$
RelatedDate:
$ref: '#/components/schemas/ISODateTime'
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: 1
nullable: false
OBBranchAndFinancialInstitutionIdentification6:
type: object
additionalProperties: false
deprecated: false
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalFinancialInstitutionIdentification4Code'
Identification:
type: string
description: ^ Unique and unambiguous identification of a financial institution or a branch of a financial institution.
maxLength: 35
minLength: 1
Name:
type: string
description: ^ Name by which an agent is known and which is usually used to identify that agent.
maxLength: 140
minLength: 1
LEI:
$ref: '#/components/schemas/LEI'
PostalAddress:
$ref: '#/components/schemas/OBPostalAddress7'
nullable: false
OBCashAccountDebtorWithName:
type: object
additionalProperties: false
deprecated: false
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
Identification:
type: string
description: ^ Identification assigned by an institution to identify an account. This identification is known by
the account owner.
example: '12345678901234'
maxLength: 256
minLength: 1
pattern: ^\d{14}$|^[A-Z]{2}\d{2}[A-Z0-9]{1,30}$|^\d{16}$
Name:
type: string
description: ^ Name of the account, as assigned by the account servicing institution. Usage The account name is
the name or names of the account owner(s) represented at an account level. 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:
type: string
description: ^ This is secondary identification of the account, as assigned by the account servicing institution. This
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})$
Proxy:
$ref: '#/components/schemas/OBProxy1'
required:
- Identification
- SchemeName
nullable: false
OBError1:
type: object
additionalProperties: false
minProperties: 1
properties:
ErrorCode:
$ref: '#/components/schemas/OBExternalStatusReason1Code'
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
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, for a full list of values refer to `OBInternalPaymentContext1Code`
in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
The following values are deprecated and can only be used to make a payment on an existing v3 consent which used
one of the deprecated values and has been migrated to v4. They **must not** be used in a new consent. They
may optionally be returned for a historical 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
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: example
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.
BeneficiaryPrepopulatedIndicator:
type: boolean
description: Indicates if PISP has immutably prepopulated payment details in for the PSU.
PaymentPurposeCode:
$ref: '#/components/schemas/OBExternalPurpose1Code'
CategoryPurposeCode:
$ref: '#/components/schemas/ExternalCategoryPurpose1Code'
BeneficiaryAccountType:
$ref: '#/components/schemas/OBInternalExtendedAccountType1Code'
DeliveryAddress:
$ref: '#/components/schemas/OBPostalAddress7'
nullable: false
OBVRPAuthenticationMethods:
type: string
enum:
- UK.OBIE.SCA
- UK.OBIE.SCANotRequired
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
OBCharge2:
type: object
additionalProperties: false
deprecated: false
properties:
ChargeBearer:
$ref: '#/components/schemas/OBInternalChargeBearerType1Code'
required:
- Amount
- ChargeBearer
- Type
nullable: false
OBDomesticVRPResponse:
type: object
additionalProperties: false
deprecated: false
properties:
Data:
type: object
additionalProperties: false
description: '`Data.Refund` only included in the response if `Data.ReadRefundAccount` is set to `Yes` in the consent.
'
properties:
DomesticVRPId:
type: string
description: 'Unique identification as assigned by the ASPSP to uniquely identify the domestic payment resource.
'
maxLength: 40
minLength: 1
ConsentId:
type: string
description: 'Identifier for the Domestic VRP Consent that this payment is made under.
'
example: BARCLAYS-S-12345678901234
maxLength: 25
minLength: 25
pattern: ^BARCLAYS-S-\d{14}$
CreationDateTime:
type: string
format: date-time
description: 'Date and time at which the resource was created.
'
Status:
$ref: '#/components/schemas/ExternalPaymentTransactionStatus5Code'
StatusReason:
type: array
items:
$ref: '#/components/schemas/OBStatusReason'
maxItems: 99999
minItems: 0
StatusUpdateDateTime:
type: string
format: date-time
description: 'Date and time at which the resource status was updated.
'
ExpectedExecutionDateTime:
type: string
format: date-time
description: 'Expected execution date and time for the payment resource.
'
ExpectedSettlementDateTime:
type: string
format: date-time
description: 'Expected settlement date and time for the payment resource.
'
Refund:
$ref: '#/components/schemas/OBDomesticRefundAccount1'
Charges:
type: array
items:
type: object
additionalProperties: false
description: Set of elements used to provide details of a charge for the payment initiation.
properties:
ChargeBearer:
$ref: '#/components/schemas/OBInternalChargeBearerType1Code'
Type:
$ref: '#/components/schemas/OBInternalPaymentChargeType1Code'
Amount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
required:
- Amount
- ChargeBearer
- Type
maxItems: 99999
minItems: 0
Initiation:
$ref: '#/components/schemas/OBDomesticVRPInitiation'
Instruction:
$ref: '#/components/schemas/OBDomesticVRPInstruction'
DebtorAccount:
$ref: '#/components/schemas/OBCashAccountDebtorWithName'
required:
- ConsentId
- CreationDateTime
- DomesticVRPId
- Initiation
- Instruction
- Status
- StatusUpdateDateTime
Risk:
$ref: '#/components/schemas/OBRisk1'
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/Meta'
required:
- Data
- Risk
nullable: false
CountryCode:
type: string
description: Nation with its own government.
example: GB
maxLength: 2
minLength: 2
pattern: ^(?!\s)[A-Z]{2,2}$
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: string
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,140})$
CountryCode:
$ref: '#/components/schemas/CountryCode'
nullable: false
OBDomesticVRPControlParameters:
type: object
additionalProperties: false
deprecated: false
properties:
ValidFromDateTime:
type: string
format: date-time
description: ^ Start date time for which the consent remains valid.
ValidToDateTime:
type: string
format: date-time
description: ^ End date time for which the consent remains valid.
MaximumIndividualAmount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
PeriodicLimits:
type: array
items:
type: object
additionalProperties: false
properties:
PeriodType:
type: string
description: ^ Period type for this period limit
enum:
- Day
- Week
- Fortnight
- Month
- Half-year
- Year
PeriodAlignment:
type: string
description: Specifies whether the period starts on the date of consent creation or lines up with a calendar.
As the ISO calendar does not support or provide any guidance on when a fortnight should start, a `PeriodType`
of `Fortnight` the `PeriodAlignment` must be `Consent`.
enum:
- Consent
- Calendar
Amount:
$ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
required:
- Amount
- Currency
- PeriodAlignment
- PeriodType
maxItems: 99999
minItems: 1
VRPType:
type: array
description: ^ The types of payments that can be made under this VRP consent. This can be used to indicate whether
this include sweeping payment or other ecommerce payments.
items:
$ref: '#/components/schemas/OBVRPConsentType'
maxItems: 99999
minItems: 1
PSUAuthenticationMethods:
type: array
description: ^ Indicates that the PSU authentication methods supported.
items:
$ref: '#/components/schemas/OBVRPAuthenticationMethods'
maxItems: 99999
minItems: 1
PSUInteractionTypes:
type: array
description: Indicates interaction type, currently if customer is present or not present. If not provided the default
is `OffSession` (the customer is not present) when the individual VRP payment is made.
items:
$ref: '#/components/schemas/OBVRPInteractionTypes'
maxItems: 99999
minItems: 0
SupplementaryData:
type: object
additionalProperties: false
description: ^ Additional information that can not be captured in the structured fields and/or any other specific
block
required:
- MaximumIndividualAmount
- PSUAuthenticationMethods
- PeriodicLimits
- VRPType
nullable: false
OBVRPFundsConfirmationResponse:
type: object
additionalProperties: false
deprecated: false
description: The confirmation of funds response contains the result of a funds availability check.
properties:
Data:
type: object
additionalProperties: false
properties:
FundsConfirmationId:
type: string
description: Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation resource.
maxLength: 40
minLength: 1
ConsentId:
type: string
description: Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent
resource.
example: BARCLAYS-S-12345678901234
maxLength: 25
minLength: 25
pattern: ^BARCLAYS-S-\d{14}$
CreationDateTime:
type: string
format: date-time
description: Date and time at which the resource was created.
Reference:
type: string
description: Unique reference, as assigned by the PISP, to unambiguously refer to the request related to the
payment transaction.
example: FRESCO-037
maxLength: 35
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;&+]{1,35})$
FundsAvailableResult:
$ref: '#/components/schemas/OBPAFundsAvailableResult1'
InstructedAmount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
required:
- ConsentId
- CreationDateTime
- FundsAvailableResult
- FundsConfirmationId
- InstructedAmount
required:
- Data
nullable: false
Room:
type: string
description: Information that locates and identifies a room to form part of an address
example: Room 2b
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9- '.,\/]{1,70})$
OBProxy1:
type: object
additionalProperties: 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: '2360549017905188'
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
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
Floor:
type: string
description: Number that identifies the level within a building
example: '2'
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9- '.,\/]{1,70})$
OBActiveOrHistoricCurrencyAndAmount:
type: object
additionalProperties: false
deprecated: false
properties:
Amount:
$ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
required:
- Amount
- Currency
nullable: false
OBPAFundsAvailableResult1:
type: object
additionalProperties: false
deprecated: false
description: Availability result, clearly indicating the availability of funds given the Amount in the request.
properties:
FundsAvailableDateTime:
type: string
format: date-time
description: Date and time at which the funds availability check was generated.
FundsAvailable:
type: string
description: Availability result, clearly indicating the availability of funds given the Amount in the request.
enum:
- Available
- NotAvailable
required:
- FundsAvailable
- FundsAvailableDateTime
nullable: false
OBDomesticVRPInstruction:
type: object
additionalProperties: false
deprecated: false
properties:
InstructionIdentification:
type: string
description: 'Unique identification as assigned by an instructing party for an instructed party to unambiguously
identify the instruction.
Usage: the instruction identification is a point to point reference that can be used between the instructing party
and the instructed party to refer to the individual instruction.
It can be included in several messages related to the instruction.'
example: ANSM023
maxLength: 35
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_]{1,35})$
EndToEndIdentification:
type: string
description: 'Unique identification assigned by the initiating party to unambiguously identify the transaction.
This identification is passed on, unchanged, throughout the entire end-to-end chain.
Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction.
It can be included in several messages related to the transaction.
OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field'
example: FRESCO
maxLength: 35
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_]{1,35})$
RemittanceInformation:
$ref: '#/components/schemas/OBRemittanceInformation2'
LocalInstrument:
$ref: '#/components/schemas/OBInternalLocalInstrument1Code'
InstructedAmount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
CreditorPostalAddress:
$ref: '#/components/schemas/OBPostalAddress7'
CreditorAccount:
$ref: '#/components/schemas/OBCashAccountCreditor3'
UltimateCreditor:
$ref: '#/components/schemas/OBUltimateCreditor1'
SupplementaryData:
type: object
additionalProperties: false
description: 'Additional information that can not be captured in the structured fields and/or any other specific
block.
'
required:
- CreditorAccount
- EndToEndIdentification
- InstructedAmount
- InstructionIdentification
nullable: false
OBInternalPaymentChargeType1Code:
type: string
enum:
- UK.OBIE.CHAPSOut
- UK.OBIE.BalanceTransferOut
- UK.OBIE.MoneyTransferOut
OBRemittanceInformationStructured:
type: object
additionalProperties: false
deprecated: false
properties:
ReferredDocumentInformation:
type: array
description: Provides the identification and the content of the referred document.
items:
$ref: '#/components/schemas/OBReferredDocumentInformation'
maxItems: 3
minItems: 1
ReferredDocumentAmount:
$ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
CreditorReferenceInformation:
type: object
additionalProperties: 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: Issuer_01
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: REF_26518
maxLength: 35
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,35})$
Invoicer:
type: string
description: Identification of the organisation issuing the invoice, when it is different from the creditor or ultimate
creditor
example: INVR51856
maxLength: 256
minLength: 0
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{0,256})$
Invoicee:
type: string
description: Identification of the party to whom an invoice is issued, when it is different from the debtor or ultimate
debtor.
example: INVE5161856
maxLength: 256
minLength: 0
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{0,256})$
TaxRemittance:
type: string
example: Tax Remittance related information
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,140})$
AdditionalRemittanceInformation:
type: array
items:
type: string
example: string
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_\-]{1,140})$
maxItems: 3
minItems: 0
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: USD
maxLength: 3
minLength: 3
pattern: ^[A-Z]{3,3}$
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: 6 Roebuck Court
maxLength: 70
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/]{1,70})$
maxItems: 7
minItems: 1
nullable: false
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: James Bond
maxLength: 140
minLength: 1
pattern: ^(?!\s)([A-Za-z0-9!+\/\= '.,@#()_-]{1,140})$
Identification:
type: string
description: Identification assigned by an institution.
example: SC112800
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'
OBVRPFundsConfirmationRequest:
type: object
additionalProperties: false
deprecated: false
description: The OBVRPFundsConfirmationRequest object must be used to request funds availability for a specific amount
in the Debtor Account included in the VRP consents.
properties:
Data:
type: object
additionalProperties: false
properties:
ConsentId:
type: string
description: Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent
resource.
maxLength: 25
minLength: 1
pattern: ^BARCLAYS-S-\d{14}$
Reference:
type: string
description: Unique reference, as assigned by the PISP, to unambiguously refer to the request related to the
payment transaction. This must be the same value as the `Reference` field in the consent.
example: FRESCO-037
maxLength: 35
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()£="_,&@#\/;&+]{1,35})$
InstructedAmount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
required:
- ConsentId
- InstructedAmount
required:
- Data
nullable: false
ExternalPaymentTransactionStatus1Code:
type: string
description: "The current status of the payment resource.\n\nFor a full list of values see `ExternalPaymentTransactionStatus1Code`\
\ in *OB_Internal_CodeSet* \n[here](https://github.com/OpenBankingUK/External_Internal_CodeSets)\n"
enum:
- CANC
- RCVD
- ACTC
- PATC
- PDNG
- RJCT
- INFA
- INCO
- ACCP
- ACFC
- ACSP
- ACWC
- ACSC
- BLCK
- ACCC
- ACWP
DistrictName:
type: string
description: Number that of the regional area, known as a district, which forms part of an address
example: Rough Close
maxLength: 140
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9- '.,\/]{1,140})$
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}$
OBInternalExtendedAccountType1Code:
type: string
description: Specifies the extended type of account if known. For a full set of values refer to `OBInternalExtendedAccountType1Code`
in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- Business
- BusinessSavingsAccount
- Charity
- Collection
- Corporate
- Ewallet
- Government
- Investment
- ISA
- JointPersonal
- Pension
- Personal
- PersonalSavingsAccount
- Premier
- Wealth
BuildingNumber:
type: string
description: Number that identifies the position of a building on a street.
example: 21A Main Hall
maxLength: 16
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9 \s]{1,16})$
OBExternalStatusReason1Code:
type: string
description: Low level textual error code, for all enum values see `ExternalReturnReason1Code` [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
example: U001
maxLength: 4
minLength: 4
Links:
type: object
additionalProperties: false
deprecated: false
description: Links relevant to the payload
properties:
Self:
type: string
format: uri
First:
type: string
format: uri
Prev:
type: string
format: uri
Next:
type: string
format: uri
Last:
type: string
format: uri
required:
- Self
nullable: false
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"
OBExternalPurpose1Code:
type: string
description: For a full set of values refer to `ExternalPurpose1Code` in *ISO_External_CodeSet* [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
OBExternalStatus2Code:
type: string
enum:
- AUTH
- AWAU
- RJCT
OBVRPInteractionTypes:
type: string
description: 'Indicates interaction type, currently if customer is present or not present. If not provided the default
is `OffSession` (customer is not present) when the individual VRP payment is made. '
enum:
- InSession
- OffSession
responses:
403Error:
description: Forbidden
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:
403ErrorResponse:
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:
406Error:
description: Not Acceptable
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
20xOBDomesticVRPRequestDetailResponse:
description: Default response
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/OBDomesticVRPDetails'
examples:
domestic-vrp-details:
value:
Data:
PaymentStatus:
- PaymentTransactionId: P123456278d
Status: CANC
StatusUpdateDateTime: '2020-03-19T08:53:33.748Z'
StatusDetail:
LocalInstrument: UK.OBIE.BACS
Status: CANC
StatusReason: Cancelled
StatusReasonDescription: Cancelled due to insufficient funds
20xOBDomesticVRPResponse:
description: Default response
headers:
Location:
description: Mandatory response header for HTTP 201 (Created) response codes
schema:
type: string
deprecated: false
maxLength: 492
minLength: 2
pattern: ^(https:\/\/[-a-zA-Z0-9\\._\\\/?=]{2,492})$
nullable: true
example: https://www.example.org/index.php
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/OBDomesticVRPResponse'
examples:
domestic-vrp-response:
value:
Data:
ConsentId: BARCLAYS-S-12345678901234
CreationDateTime: '2017-06-05T15:15:15+00:00'
DomesticVRPId: OU90210
Status: RCVD
StatusUpdateDateTime: '2017-06-05T15:15:15+00:00'
ExpectedExecutionDateTime: '2017-06-05T15:15:15+00:00'
ExpectedSettlementDateTime: '2017-06-06T15:15:15+00:00'
DebtorAccount:
SchemeName: UK.OBIE.IBAN
Identification: GB76LOYD30949301273801
Name: Marcus Sweepimus
SecondaryIdentification: 008419
Proxy:
Identification: '441234012348'
Code: TELE
Type: Telephone
Initiation:
DebtorAccount:
SchemeName: UK.OBIE.IBAN
Identification: GB76LOYD30949301273801
Name: Marcus Sweepimus
SecondaryIdentification: 008419
Proxy:
Identification: '441234012345'
Code: TELE
Type: Telephone
CreditorAccount:
SchemeName: UK.OBIE.IBAN
Identification: '30949330000010'
SecondaryIdentification: Roll 90210
Name: Marcus Sweepimus
Proxy:
Identification: '441234012385'
Code: TELE
Type: Telephone
CreditorPostalAddress:
AddressType: BIZZ
Department: Finance
SubDepartment: Payroll
StreetName: Bank Street
BuildingNumber: '11'
BuildingName: Tower Bridges
Floor: '6'
UnitNumber: UNIT591
Room: '844'
PostBox: PO Box 123456
PostCode: Z78 4TY
TownLocationName: Bank
TownName: London
DistrictName: Greater London
CareOf: Ms Jane Smith
CountrySubDivision: England
Country: UK
RemittanceInformation:
Structured:
- ReferredDocumentAmount: 1
CreditorReferenceInformation:
Reference: SweepCo
AdditionalRemittanceInformation:
- Rose's pocket money
Instruction:
InstructionIdentification: fe655556-e53a-45ed-954c-ae5d1f97a9
EndToEndIdentification: fe699996-e53a-45ed-954c-ae5d1f97a9
LocalInstrument: UK.OBIE.Paym
CreditorAccount:
SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: '30949330000010'
SecondaryIdentification: Roll 90210
Name: Marcus Sweepimus
Proxy:
Identification: '441234012385'
Code: TELE
Type: Telephone
CreditorPostalAddress:
AddressType: BIZZ
Department: Finance
SubDepartment: Payroll
StreetName: Bank Street
BuildingNumber: '11'
BuildingName: Tower Bridges
Floor: '6'
UnitNumber: UNIT591
Room: '844'
PostBox: PO Box 123456
PostCode: Z78 4TY
TownLocationName: Bank
TownName: London
DistrictName: Greater London
CareOf: Ms Jane Smith
CountrySubDivision: England
Country: UK
InstructedAmount:
Amount: '10.00'
Currency: GBP
RemittanceInformation:
Structured:
- ReferredDocumentAmount: 1
CreditorReferenceInformation:
Reference: SweepCo
AdditionalRemittanceInformation:
- Rose's pocket money
Risk:
PaymentContextCode: TransferToSelf
ContractPresentIndicator: true
PaymentPurposeCode: EPAY
CategoryPurposeCode: GP2P
BeneficiaryAccountType: Personal
Links:
Self: https://api.alphabank.com/open-banking/v4.0/pisp/domestic-vrps/OU90210
Meta: {}
409Error:
description: Conflict
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:
400Error:
description: Bad request
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:
400ErrorResponse:
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:
201OBDomesticVRPFundsConfirmationResponse:
description: Default response
headers:
Location:
description: Mandatory response header for HTTP 201 (Created) response codes
schema:
type: string
deprecated: false
maxLength: 492
minLength: 2
pattern: ^(https:\/\/[-a-zA-Z0-9\\._\\\/?=]{2,492})$
nullable: true
example: https://www.example.org/index.php
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/OBVRPFundsConfirmationResponse'
examples:
vrp-funds-confirmation-response:
value:
Data:
FundsConfirmationId: '1561818651681'
ConsentId: BARCLAYS-S-12345678901234
CreationDateTime: '2024-04-25T13:26:41.911Z'
Reference: SweepCo
FundsAvailableResult:
FundsAvailableDateTime: '2024-04-25T13:26:41.911Z'
FundsAvailable: Available
InstructedAmount:
Amount: '22.89'
Currency: GBP
415Error:
description: Unsupported Media Type
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
401Error:
description: Unauthorized
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
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
404Error:
description: Not found
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
429Error:
description: Too Many Requests
headers:
Retry-After:
description: Number in seconds to wait
schema:
type: integer
deprecated: false
maximum: 9999999
minimum: 1
nullable: false
example: 120
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
204VRPConsentsConsentIdDeleted:
description: VRP Consent Deleted
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
InternalError:
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
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:
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:
20xOBDomesticVRPConsentResponse:
description: Default response
headers:
Location:
description: Mandatory response header for HTTP 201 (Created) response codes
schema:
type: string
deprecated: false
maxLength: 492
minLength: 2
pattern: ^(https:\/\/[-a-zA-Z0-9\\._\\\/?=]{2,492})$
nullable: true
example: https://www.example.org/index.php
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
payload-version:
description: Optional header to aid migration across API versions. Indicates the version of JSON schema being sent/received
schema:
type: string
deprecated: false
example: 3.1.11
nullable: false
content:
application/json:
schema:
$ref: '#/components/schemas/OBDomesticVRPConsentResponse'
examples:
domestic-vrp-consent-response:
value:
Data:
ConsentId: BARCLAYS-S-12345678901234
CreationDateTime: '2017-06-05T15:15:15+00:00'
Status: AUTH
StatusReason:
- StatusReasonCode: U038
StatusReasonDescription: Consent consumed successfully
StatusUpdateDateTime: '2017-06-05T15:15:15+05:00'
ReadRefundAccount: 'Yes'
ControlParameters:
PSUAuthenticationMethods:
- UK.OBIE.SCA
PSUInteractionTypes:
- OffSession
VRPType:
- UK.OBIE.VRPType.Sweeping
ValidFromDateTime: '2017-06-05T15:15:13+00:00'
ValidToDateTime: '2020-06-05T15:15:13+00:00'
MaximumIndividualAmount:
Amount: '100.00'
Currency: GBP
PeriodicLimits:
- Amount: '200.00'
Currency: GBP
PeriodAlignment: Consent
PeriodType: Week
DebtorAccount:
SchemeName: UK.OBIE.IBAN
Identification: GB76LOYD30949301273801
SecondaryIdentification: 008419
Name: Marcus Sweepimus
Proxy:
Identification: '441234012345'
Code: TELE
Type: Telephone
Initiation:
DebtorAccount:
SchemeName: UK.OBIE.IBAN
Identification: GB76LOYD30949301273801
SecondaryIdentification: 008419
Name: Marcus Sweepimus
Proxy:
Identification: '441234012345'
Code: TELE
Type: Telephone
CreditorAccount:
SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: '30949330000010'
SecondaryIdentification: Roll 90210
Name: Marcus Sweepimus
Proxy:
Identification: '441234012348'
Code: TELE
Type: Telephone
CreditorPostalAddress:
AddressType: BIZZ
Department: Finance
SubDepartment: Payroll
StreetName: Bank Street
BuildingNumber: '11'
BuildingName: Tower Bridges
Floor: '6'
UnitNumber: UNIT591
Room: '844'
PostBox: PO Box 123456
PostCode: Z78 4TY
TownLocationName: Bank
TownName: London
DistrictName: Greater London
CareOf: Ms Jane Smith
CountrySubDivision: England
Country: UK
Risk:
PaymentContextCode: TransferToSelf
ContractPresentIndicator: true
PaymentPurposeCode: EPAY
CategoryPurposeCode: GP2P
BeneficiaryAccountType: Personal
Links:
Self: https://api.alphabank.com/open-banking/v4.0/pisp/domestic-vrp-consents/fe615446-e53a-45ed-954c-ae5d1f97a93b
Meta: {}
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:
parameters:
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
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-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
payload-version:
name: payload-version
in: header
description: Optional header to aid migration across API versions. Indicates the version of JSON schema being sent/received
schema:
type: string
maxLength: 2048
minLength: 1
pattern: ^([\S]).{1,2048}$
example: '2.0'
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
DomesticVRPId:
name: domesticVRPId
in: path
description: This will be unique sweeping payment identifier returned for this payment initiation request from the TPP.
In Barclays, the format will be BARCLAYS-S-nnnnnnnnnnnnnn-xxxxxxxxxxxxxx where S means a sweeping payment request
consent, nnnnnnnnnnnnnn and xxxxxxxxxxxxxx are14 digit numbers.
required: true
schema:
type: string
deprecated: false
maxLength: 40
minLength: 40
pattern: ^BARCLAYS-S-\d{14}\-\d{14}$
nullable: false
example: BARCLAYS-S-12345678901234-12345678901234
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
deprecated: false
maxLength: 40
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-. '()@#£%{}=":_]{1,40})$
nullable: false
example: FRESNO.1317.GFX.22
ConsentId:
name: consentId
in: path
description: ConsentId
required: true
schema:
type: string
deprecated: false
maxLength: 25
minLength: 1
pattern: ^BARCLAYS-S-\d{14}$
nullable: false
example: BARCLAYS-S-12345678901234
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