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.

Operations 9

POST /domestic-vrps Create a domestic VRP #
GET /domestic-vrps/{domesticVRPId} Retrieve a domestic VRP #
POST /domestic-vrp-consents/{consentId}/funds-confirmation Confirm availability of funds for a VRP #
POST /domestic-vrp-consents Create a domestic VRP consent #
GET /domestic-vrps/{domesticVRPId}/payment-details Retrieve a domestic VRP #
GET /domestic-vrp-consents/{consentId} Retrieve a domestic VRP consent #
PUT /domestic-vrp-consents/{consentId} Update a domestic VRP consent - only to be used for version migrations #
DELETE /domestic-vrp-consents/{consentId} Delete a domestic VRP #
PATCH /domestic-vrp-consents/{consentId} Update a domestic VRP consent - only to be used for version migrations #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/variable-recurring-payment-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

barclays-variable-recurring-payment-openapi.yml Raw ↑
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 presen

# --- truncated at 32 KB (132 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/barclays/refs/heads/main/openapi/barclays-variable-recurring-payment-openapi.yml