Lloyds Banking Group Domestic VRPs API

The Domestic VRPs API from Lloyds Banking Group — 3 operation(s) for domestic vrps.

Operations 3

POST /domestic-vrps Initiate a Domestic VRP #
GET /domestic-vrps/{DomesticVRPId} Get a Domestic VRP #
GET /domestic-vrps/{DomesticVRPId}/payment-details Get details of a Domestic VRP Payment #

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/lloyds-banking-group-domestic-vrps-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

lloyds-banking-group-domestic-vrps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OBL VRP Profile Domestic VRPs API
  description: 'VRP OpenAPI Specification.


    **Please Note**: There are no optional fields, if a field is not marked as “Required” it is a Conditional field.

    '
  version: 4.0.1
  termsOfService: https://www.openbanking.org.uk/terms
  contact:
    name: Service Desk
    email: ServiceDesk@openbanking.org.uk
  license:
    name: open-licence
    url: https://www.openbanking.org.uk/open-licence
servers:
- url: /open-banking/v4.0/pisp
tags:
- name: Domestic VRPs
paths:
  /domestic-vrps:
    post:
      operationId: domesticVrpPost
      tags:
      - Domestic VRPs
      summary: Initiate a Domestic VRP
      description: Enables a PISP to initiate a Domestic VRP transaction under an already PSU-approved Domestic VRP Consent.
      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'
      - $ref: '#/components/parameters/x-client-id'
      responses:
        '201':
          $ref: '#/components/responses/20xOBDomesticVRPResponse'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '409':
          $ref: '#/components/responses/409Error'
        '415':
          $ref: '#/components/responses/415Error'
        '422':
          $ref: '#/components/responses/422Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/InternalError'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/OBDomesticVRPRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/OBDomesticVRPRequest'
          application/jose+jwe:
            schema:
              $ref: '#/components/schemas/OBDomesticVRPRequest'
        description: Default
        required: true
      security:
      - TPPOAuth2Security:
        - payments
  /domestic-vrps/{DomesticVRPId}:
    get:
      operationId: domesticVrpGet
      tags:
      - Domestic VRPs
      summary: Get a Domestic VRP
      description: Enables a PISP to retrieve the status of a Domestic VRP transaction.
      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'
      - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/20xOBDomesticVRPResponse'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - TPPOAuth2Security:
        - payments
  /domestic-vrps/{DomesticVRPId}/payment-details:
    get:
      operationId: domesticVrpPaymentDetailsGet
      tags:
      - Domestic VRPs
      summary: Get details of a Domestic VRP Payment
      description: Enables a PISP to retrieve detailed information on the status of a Domestic VRP transaction.
      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'
      - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/20xOBDomesticVRPRequestDetailResponse'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - TPPOAuth2Security:
        - payments
components:
  parameters:
    x-jws-signature:
      in: header
      name: x-jws-signature
      required: true
      description: A detached JWS signature of the body of the payload.
      schema:
        type: string
    x-fapi-customer-ip-address:
      in: header
      name: x-fapi-customer-ip-address
      required: false
      description: The PSU's IP address if the PSU is currently logged in with the TPP.
      schema:
        type: string
    x-customer-user-agent:
      in: header
      name: x-customer-user-agent
      description: Indicates the user-agent that the PSU is using.
      required: false
      schema:
        type: string
    Authorization:
      in: header
      name: Authorization
      required: true
      description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750
      schema:
        type: string
    x-fapi-interaction-id:
      in: header
      name: x-fapi-interaction-id
      required: false
      description: An RFC4122 UID used as a correlation id.
      schema:
        type: string
    DomesticVRPId:
      name: DomesticVRPId
      in: path
      description: DomesticVRPId
      required: true
      schema:
        type: string
    x-fapi-auth-date:
      in: header
      name: x-fapi-auth-date
      required: false
      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"
      schema:
        type: string
        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)$
    x-client-id:
      in: header
      name: x-client-id
      required: false
      description: "Only used if an ASPSP requires the client ID in order to return rate limit headers. \n\nTPPs __must__ refer to ASPSP developer portals for further information on any rate limit policies, if the headers are supported and any additional requirements.\n\nThis header __must not__ be used for client authentication\n"
      schema:
        type: string
    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
        maxLength: 40
        pattern: ^(?!\s)(.*)(\S)$
    payload-version:
      in: header
      name: payload-version
      description: Optional header to aid migration across API versions.  Indicates the version of JSON schema being sent/received
      schema:
        type: string
        example: 3.1.11
  schemas:
    CountryCode:
      type: string
      pattern: ^[A-Z]{2,2}$
      description: Nation with its own government.
    PostCode:
      type: string
      minLength: 1
      maxLength: 16
      description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
    CountrySubDivision:
      type: string
      minLength: 1
      maxLength: 35
      description: Identifies a subdivision of a country such as state, region, county.
    OBDomesticVRPDetails:
      type: object
      required:
      - Data
      properties:
        Data:
          type: object
          properties:
            PaymentStatus:
              type: array
              items:
                required:
                - PaymentTransactionId
                - Status
                - StatusUpdateDateTime
                type: object
                properties:
                  PaymentTransactionId:
                    type: string
                    minLength: 1
                    maxLength: 210
                    description: Unique identifier for the transaction within a servicing institution. This identifier is both unique and immutable.
                  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
                    required:
                    - Status
                    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
                        minLength: 1
                        maxLength: 256
                        description: Reason provided for the status of a transfer.
    ActiveOrHistoricCurrencyCode:
      type: string
      minLength: 3
      maxLength: 3
      pattern: ^[A-Z]{3,3}$
      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".
    OBInternalPaymentChargeType1Code:
      type: string
      enum:
      - UK.OBIE.CHAPSOut
      - UK.OBIE.BalanceTransferOut
      - UK.OBIE.MoneyTransferOut
    OBUltimateCreditor1:
      description: Ultimate party to which an amount of money is due.
      type: object
      properties:
        Name:
          description: Name by which a party is known and which is usually used to identify that party.
          type: string
          minLength: 1
          maxLength: 140
        Identification:
          description: Identification assigned by an institution.
          type: string
          minLength: 1
          maxLength: 256
        LEI:
          $ref: '#/components/schemas/LEI'
        SchemeName:
          $ref: '#/components/schemas/OBInternalAccountIdentification4Code'
        PostalAddress:
          $ref: '#/components/schemas/OBPostalAddress7'
    LEI:
      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)".
      type: string
      example: IZ9Q00LZEVUKWCQY6X15
      minLength: 1
      maxLength: 20
      pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
    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
    ExternalProxyAccountType1Code:
      description: Specifies the external proxy account type code, as published in the proxy account type external code set.<br /> For a full list of values see `ExternalProxyAccountType1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      enum:
      - TELE
      - EMAL
      - DNAM
      - CINC
      - COTX
      - COID
      - CUST
      - DRLC
      - EIDN
      - EWAL
      - PVTX
      - LEIC
      - MBNO
      - NIDN
      - CCPT
      - SHID
      - SOSE
      - TOKN
      - UBIL
      - VIPN
      - BIID
    OBUltimateDebtor1:
      description: Ultimate party that owes an amount of money to the (ultimate) creditor.
      type: object
      properties:
        Name:
          description: Name by which a party is known and which is usually used to identify that party.
          type: string
          minLength: 1
          maxLength: 140
        Identification:
          description: Identification assigned by an institution.
          type: string
          minLength: 1
          maxLength: 256
        LEI:
          $ref: '#/components/schemas/LEI'
        SchemeName:
          $ref: '#/components/schemas/OBInternalAccountIdentification4Code'
        PostalAddress:
          $ref: '#/components/schemas/OBPostalAddress7'
    OBExternalPurpose1Code:
      type: string
      minLength: 1
      maxLength: 4
      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
    DistrictName:
      description: Number that of the regional area, known as a district, which forms part of an address
      type: string
      minLength: 1
      maxLength: 140
    OBDomesticVRPRequest:
      type: object
      required:
      - Data
      - Risk
      properties:
        Data:
          type: object
          required:
          - ConsentId
          - PSUAuthenticationMethod
          - VRPType
          - Initiation
          - Instruction
          properties:
            ConsentId:
              type: string
              minLength: 1
              maxLength: 128
              description: Identifier for the Domestic VRP Consent that this payment is made under.
            PSUAuthenticationMethod:
              allOf:
              - $ref: '#/components/schemas/OBVRPAuthenticationMethods'
              - description: The authentication method that was used to authenticate the PSU.
            PSUInteractionType:
              allOf:
              - $ref: '#/components/schemas/OBVRPInteractionTypes'
              - 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'
        Risk:
          $ref: '#/components/schemas/OBRisk1'
    OBActiveOrHistoricCurrencyAndAmount:
      required:
      - Amount
      - Currency
      type: object
      properties:
        Amount:
          $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
    Floor:
      description: Number that identifies the level within a building
      type: string
      minLength: 1
      maxLength: 70
    OBPostalAddress7:
      type: object
      additionalProperties: 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:
            description: Information that locates and identifies a specific address, as defined by postal services, presented in free format text.
            type: string
            minLength: 1
            maxLength: 70
          minItems: 0
          maxItems: 7
    OBAddressType2Code:
      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).
      type: string
      enum:
      - BIZZ
      - DLVY
      - MLTO
      - PBOX
      - ADDR
      - HOME
      - CORR
      - STAT
    OBVRPConsentType:
      type: string
      x-namespaced-enum:
      - UK.OBIE.VRPType.Sweeping
      - UK.OBIE.VRPType.Other
    SubDepartment:
      description: Identification of a sub-division of a large organisation or building.
      type: string
      minLength: 1
      maxLength: 70
    OBRisk1:
      type: object
      additionalProperties: false
      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)<br>

            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 <u>**must not**</u> be used in a new consent. They may optionally be returned for a historical payment/consent migrated to v4:<br>

            * 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
          minLength: 3
          maxLength: 4
          description: Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.
        MerchantCustomerIdentification:
          type: string
          minLength: 1
          maxLength: 70
          description: The unique customer identifier of the PSU with the merchant.
        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'
      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.'
    OBExternalStatusReason1Code:
      description: Low level textual error code, for all enum values see `OBExternalStatusReason1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      type: string
      minLength: 4
      maxLength: 4
      example: U001
    Department:
      description: Identification of a division of a large organisation or building.
      type: string
      minLength: 1
      maxLength: 70
    OBError1:
      type: object
      properties:
        ErrorCode:
          $ref: '#/components/schemas/OBExternalStatusReason1Code'
        Message:
          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'
          type: string
          minLength: 1
          maxLength: 500
        Path:
          description: Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency
          type: string
          minLength: 1
          maxLength: 500
        Url:
          description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc
          type: string
      required:
      - ErrorCode
      additionalProperties: false
      minProperties: 1
    OBRegulatoryAuthority2:
      type: object
      description: 'Entity requiring the regulatory reporting information. '
      properties:
        Name:
          type: string
          description: Name of the entity requiring the regulatory reporting information.
          minLength: 1
          maxLength: 140
        CountryCode:
          description: Country of the entity that requires the regulatory reporting information.
          $ref: '#/components/schemas/CountryCode'
    OBInternalExtendedAccountType1Code:
      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)
      type: string
      enum:
      - Business
      - BusinessSavingsAccount
      - Charity
      - Collection
      - Corporate
      - Ewallet
      - Government
      - Investment
      - ISA
      - JointPersonal
      - Pension
      - Personal
      - PersonalSavingsAccount
      - Premier
      - Wealth
    OBVRPInteractionTypes:
      type: string
      enum:
      - InSession
      - OffSession
      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. '
    OBVRPAuthenticationMethods:
      type: string
      x-namespaced-enum:
      - UK.OBIE.SCA
      - UK.OBIE.SCANotRequired
    ExternalCategoryPurpose1Code:
      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)
      type: string
      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
    OBRemittanceInformation2:
      type: object
      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'
        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
            maxLength: 140
            minLength: 1
    OBStatusReason:
      type: object
      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)"
          minLength: 1
          maxLength: 4
          example: ERIN
        StatusReasonDescription:
          description: Description supporting the StatusReasonCode.
          type: string
          minLength: 1
          maxLength: 500
        Path:
          type: string
          description: Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency
          minLength: 1
          maxLength: 500
    PostBox:
      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.
      type: string
      minLength: 1
      maxLength: 16
    BuildingName:
      description: Name of a referenced building.
      type: string
      minLength: 1
      maxLength: 140
    ISODateTime:
      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"
      type: string
      format: date-time
    OBDomesticRefundAccount1:
      description: Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.
      type: object
      additionalProperties: false
      required:
      - Account
      properties:
        Account:
          type: object
          additionalProperties: false
          required:
          - SchemeName
          - Identification
          - Name
          description: Provides the details to identify an account.
          properties:
            SchemeName:
              $ref: '#/components/schemas/OBInternalAccountIdentification4Code'
            Identification:
              $ref: '#/components/schemas/Identification_0'
            Name:
              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.'
              type: string
              minLength: 1
              maxLength: 350
            SecondaryIdentification:
              $ref: '#/co

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lloyds-banking-group/refs/heads/main/openapi/lloyds-banking-group-domestic-vrps-api-openapi.yml