How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Barclays Variable Recurring Payment API

Set up and execute UK Open Banking variable recurring payments (VRP) — a long-lived consent under which a TPP can sweep or collect repeatedly within limits the customer agreed, without a fresh SCA each time.

Barclays Variable Recurring Payment API is one of 30 APIs that Barclays publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Open Banking, Payment Initiation, Payments, and VRP. The published artifact set on APIs.io includes API documentation, an API reference, and an OpenAPI specification.

This API exposes 9 operations across 6 paths, organized into 2 resource areas, and defines 83 schemas. It is described by OpenAPI 3.1.0, at version v4.0.

9 operations 6 paths 83 schemas 1 DELETE3 GET1 PATCH3 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
v4.0
Authentication
OAuth 2.0, OAuth 2.0
Resource Areas
2

Authentication & Security 2

Barclays Variable Recurring Payment API declares 2 security schemes for authenticating requests. It supports OAuth 2.0 (TPPOAuth2Security) using the clientCredentials flow, exposing 1 scope. It supports OAuth 2.0 (PSUOAuth2Security) using the authorizationCode flow, exposing 1 scope.

  • TPPOAuth2Security — TPP client credential authorisation flow with the ASPSP
  • PSUOAuth2Security — 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

Paths & Operations 9

Across 6 paths, the API surfaces 9 operations — 1 DELETE, 3 GET, 1 PATCH, 3 POST, 1 PUT. They span 2 resource areas: Domestic VRPs, Domestic VRP Consents. Each is listed below with its method, path, parameters, and response codes.

Domestic VRPs 3

Domestic VRP

POST
/domestic-vrps
Create a domestic VRP
domesticVrpPost 8 params body → 201400422401500403415405
GET
/domestic-vrps/{domesticVRPId}
Retrieve a domestic VRP
domesticVrpGet 6 params → 200400401500403415405406
GET
/domestic-vrps/{domesticVRPId}/payment-details
Retrieve a domestic VRP
domesticVrpPaymentDetailsGet 6 params → 200400401500403415405406
Domestic VRP Consents 6

Domestic VRP Consents

POST
/domestic-vrp-consents/{consentId}/funds-confirmation
Confirm availability of funds for a VRP
domesticVrpConsentsFundsConfirmation 7 params body → 201400401500403415405406
POST
/domestic-vrp-consents
Create a domestic VRP consent
domesticVrpConsentsPost 7 params body → 201400422401500403415405
GET
/domestic-vrp-consents/{consentId}
Retrieve a domestic VRP consent
domesticVrpConsentsGet 6 params → 200400401500403415405406
PUT
/domestic-vrp-consents/{consentId}
Update a domestic VRP consent - only to be used for version migrations
domesticVrpConsentsPut 8 params body → 200400422401500403415405
DELETE
/domestic-vrp-consents/{consentId}
Delete a domestic VRP
domesticVrpConsentsDelete 6 params → 400401500204403415405406
PATCH
/domestic-vrp-consents/{consentId}
Update a domestic VRP consent - only to be used for version migrations
domesticVrpConsentsPatch 8 params body → 422500405

Schemas 83

The contract defines 83 schemas that model the data the API accepts and returns. The most detailed are OBPostalAddress7 (18 properties), OBDomesticVRPInstruction (9 properties), OBRisk1 (9 properties), OBDomesticVRPControlParameters (8 properties). Each schema is shown below with its type and property counts.

OBStatusReason
object
3 properties
OBUltimateDebtor1
object
Ultimate party that owes an amount of money to the (ultimate) creditor.
5 properties
StreetName
string
Name of a street or thoroughfare.
Meta
object
Meta Data relevant to the payload. At present no fields are used for VRP.
OBDomesticVRPInitiation
object
7 properties
ExternalCategoryPurpose1Code
string
Enumeration of codes that outlines the type of purpose behind a transaction, payment or risk. For a full list of values refer to ExternalCategoryPurpose1Code i…
OBInternalLocalInstrument1Code
string
User community specific instrument. Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or serv…
OBVRPStatusReasonCode
string
Reason Code provided for the status of a VRP. To be documented in the Developer Portal.
CareOf
string
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 f…
OBInternalAccountIdentification4Code
string
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…
SubDepartment
string
Identification of a sub-division of a large organisation or building.
OBInternalConsentStatus1Code
string
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 OBInternalConsentSt…
OBPaymentStatusReason
object
2 properties
PostBox
string
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.
OBDomesticVRPRequest
object
2 properties 2 required
Department
string
Identification of a division of a large organisation or building.
OBAddressType2Code
string
Identifies the nature of the postal address. For a full set of codes see OBAddressType2Code in OBInternalCodeSet [here](https://github.com/OpenBankingUK/Extern…
OBDomesticRefundAccount1
object
Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.
1 property 1 required
OBDomesticVRPDetails
object
1 property 1 required
OBActiveCurrencyAndAmount_SimpleType
string
A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
OBDomesticVRPConsentResponse
object
4 properties 2 required
CountrySubDivision
string
Identifies a subdivision of a country such as state, region, county.
OBStructuredRegulatoryReporting3
object
Set of elements used to provide details on the regulatory reporting information.
5 properties
OBExternalAccountType1Code
string
Specifies the type of account (personal or business).
OBDomesticVRPConsentRequest
object
2 properties 2 required
TownName
string
Name of a built-up area, with defined boundaries, and a local government.
OBAddressTypeCode
string
Identifies the nature of the postal address.
OBRegulatoryReporting1
object
Information needed due to regulatory and statutory requirements
3 properties
ExternalProxyAccountType1Code
string
Specifies the external proxy account type code, as published in the proxy account type external code set. For a full list of values see ExternalProxyAccountTyp…
OBInternalChargeBearerType1Code
string
Specifies which party/parties will bear the charges associated with the processing of the payment transaction.
OBBranchAndFinancialInstitutionIdentification6_0
object
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 t…
5 properties
OBCashAccountCreditor3
object
5 properties 3 required
OBExternalCreditorReferenceType1Code
string
Specifies the type of creditor reference as published in an external creditor reference type code set. External code sets can be downloaded from www.iso20022.o…
ExternalDocumentType1Code
string
Specifies the document type as published in an external document type code list. For a full list of values refer to ExternalDocumentType1Code in ISOExternalCod…
OBVRPRemittanceInformation
object
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' rec…
5 properties
Identification_1
string
Unique and unambiguous identification of the servicing institution.
OBVRPConsentType
string
UnitNumber
string
Number that identifies the unit of a specific address .
ExternalPaymentTransactionStatus5Code
string
Specifies the status of the payment information group. For a full list of values refer to ExternalPaymentTransactionStatus5Code in OBInternalCodeSet [here](htt…
PostCode
string
Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
Name_1
string
Name by which an agent is known and which is usually used to identify that agent.
ExternalCreditorReferenceType1Code
string
Specifies the amount type, as published in an external referred amount code set. For a full lust of values refer to ExternalCreditorReferenceType1Code in ISOEx…
Identification_0
string
Identification assigned by an institution to identify an account. This identification is known by the account owner.
SecondaryIdentification
string
This is secondary identification of the account, as assigned by the account servicing institution. This can be used by building societies to additionally ident…
BuildingName
string
Name of a referenced building.
OBInternalFinancialInstitutionIdentification4Code
string
Name of the identification scheme, in a coded form as published in an external list.
OBReferredDocumentInformation
object
5 properties
OBBranchAndFinancialInstitutionIdentification6
object
5 properties
OBCashAccountDebtorWithName
object
5 properties 2 required
OBError1
object
4 properties 1 required
OBRisk1
object
The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.
9 properties
OBVRPAuthenticationMethods
string
OBErrorResponse1
object
An array of detail error codes, and messages, and URLs to documentation to help remediation.
4 properties 1 required
OBCharge2
object
1 property 3 required
OBDomesticVRPResponse
object
4 properties 2 required
CountryCode
string
Nation with its own government.
OBRegulatoryAuthority2
object
Entity requiring the regulatory reporting information.
2 properties
OBDomesticVRPControlParameters
object
8 properties 4 required
OBVRPFundsConfirmationResponse
object
The confirmation of funds response contains the result of a funds availability check.
1 property 1 required
Room
string
Information that locates and identifies a room to form part of an address
OBProxy1
object
Specifies an alternate assumed name for the identification of the account.
3 properties 2 required
OBRemittanceInformation2
object
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' rec…
2 properties
Floor
string
Number that identifies the level within a building
OBActiveOrHistoricCurrencyAndAmount
object
2 properties 2 required
OBPAFundsAvailableResult1
object
Availability result, clearly indicating the availability of funds given the Amount in the request.
2 properties 2 required
OBDomesticVRPInstruction
object
9 properties 4 required
OBInternalPaymentChargeType1Code
string
OBRemittanceInformationStructured
object
7 properties
ActiveOrHistoricCurrencyCode
string
A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international st…
OBPostalAddress7
object
Information that locates and identifies a specific address, as defined by postal services.
18 properties
OBUltimateCreditor1
object
Ultimate party to which an amount of money is due.
5 properties
OBVRPFundsConfirmationRequest
object
The OBVRPFundsConfirmationRequest object must be used to request funds availability for a specific amount in the Debtor Account included in the VRP consents.
1 property 1 required
ExternalPaymentTransactionStatus1Code
string
The current status of the payment resource. For a full list of values see ExternalPaymentTransactionStatus1Code in OBInternalCodeSet [here](https://github.com/…
DistrictName
string
Number that of the regional area, known as a district, which forms part of an address
LEI
string
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 "Finan…
OBInternalExtendedAccountType1Code
string
Specifies the extended type of account if known. For a full set of values refer to OBInternalExtendedAccountType1Code in OBInternalCodeSet [here](https://githu…
BuildingNumber
string
Number that identifies the position of a building on a street.
OBExternalStatusReason1Code
string
Low level textual error code, for all enum values see ExternalReturnReason1Code [here](https://github.com/OpenBankingUK/ExternalInternalCodeSets)
Links
object
Links relevant to the payload
5 properties 1 required
ISODateTime
string
All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below:…
OBExternalPurpose1Code
string
For a full set of values refer to ExternalPurpose1Code in ISOExternalCodeSet [here](https://github.com/OpenBankingUK/ExternalInternalCodeSets)
OBExternalStatus2Code
string
OBVRPInteractionTypes
string
Indicates interaction type, currently if customer is present or not present. If not provided the default is OffSession (customer is not present) when the indiv…

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

barclays-variable-recurring-payment-openapi.yml Raw ↑

Other APIs Barclays publishes across the network.

Barclays Smartpay Web Payment API
Barclays Bank Ireland Confirmation of Funds API
Barclays Account and Transactions API
Barclays Bank Ireland Account Information API
Barclays Bank Ireland Payment Initiation API
Barclays Confirmation of Funds API
Barclays Dynamic Client Registration API
Barclays Event Notification API
Barclays Payment Initiation API
Barclays ATM Locator API
Barclays Branch Locator API
Barclays FCA Service Metrics API
Where this information came from

This is an independent, third-party profile of Barclays Variable Recurring Payment API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.