UK Open Banking Domestic VRPs API

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

OpenAPI Specification

open-banking-uk-domestic-vrps-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Account and Transaction API Specification Account Access Consents Domestic VRPs API
  description: 'Swagger for Account and Transaction API Specification.


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

    '
  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
  version: 4.0.1
servers:
- url: /open-banking/v4.0/aisp
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:
  schemas:
    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. '
    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
    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}$
    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
    StreetName:
      type: string
      minLength: 1
      maxLength: 140
      description: Name of a street or thoroughfare.
    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'
    Links:
      required:
      - Self
      type: object
      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
      description: Links relevant to the payload
    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".
    OBCashAccountCreditor3:
      type: object
      required:
      - SchemeName
      - Identification
      - Name
      properties:
        SchemeName:
          $ref: '#/components/schemas/OBInternalAccountIdentification4Code'
        Identification:
          type: string
          minLength: 1
          maxLength: 256
          description: Identification assigned by an institution to identify an account. This identification is known by the account owner.
        Name:
          type: string
          minLength: 1
          maxLength: 70
          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.'
        SecondaryIdentification:
          type: string
          minLength: 1
          maxLength: 34
          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)'
        Proxy:
          $ref: '#/components/schemas/OBProxy1'
    CountryCode:
      type: string
      pattern: ^[A-Z]{2,2}$
      description: Nation with its own government.
    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
    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)
      x-namespaced-enum:
      - UK.OBIE.BBAN
      - UK.OBIE.IBAN
      - UK.OBIE.PAN
      - UK.OBIE.Paym
      - UK.OBIE.SortCodeAccountNumber
      - UK.OBIE.Wallet
    TownName:
      type: string
      minLength: 1
      maxLength: 140
      description: Name of a built-up area, with defined boundaries, and a local 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.
    Department:
      description: Identification of a division of a large organisation or building.
      type: string
      minLength: 1
      maxLength: 70
    OBActiveCurrencyAndAmount_SimpleType:
      pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$
      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.
    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
    OBVRPConsentType:
      type: string
      x-namespaced-enum:
      - UK.OBIE.VRPType.Sweeping
      - UK.OBIE.VRPType.Other
    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
    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)'
      x-namespaced-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
    OBActiveOrHistoricCurrencyAndAmount:
      required:
      - Amount
      - Currency
      type: object
      properties:
        Amount:
          $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
    OBDomesticVRPResponse:
      type: object
      required:
      - Data
      - Risk
      properties:
        Data:
          type: object
          required:
          - DomesticVRPId
          - ConsentId
          - CreationDateTime
          - Status
          - StatusUpdateDateTime
          - Initiation
          - Instruction
          description: '`Data.Refund` only included in the response if `Data.ReadRefundAccount` is set to `Yes` in the consent.

            '
          properties:
            DomesticVRPId:
              type: string
              minLength: 1
              maxLength: 40
              description: 'Unique identification as assigned by the ASPSP to uniquely identify the domestic payment resource.

                '
            ConsentId:
              type: string
              minLength: 1
              maxLength: 128
              description: 'Identifier for the Domestic VRP Consent that this payment is made under.

                '
            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'
            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:
                required:
                - Amount
                - ChargeBearer
                - Type
                type: object
                properties:
                  ChargeBearer:
                    $ref: '#/components/schemas/OBInternalChargeBearerType1Code'
                  Type:
                    $ref: '#/components/schemas/OBInternalPaymentChargeType1Code'
                  Amount:
                    $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
                description: Set of elements used to provide details of a charge for the payment initiation.
            Initiation:
              $ref: '#/components/schemas/OBDomesticVRPInitiation'
            Instruction:
              $ref: '#/components/schemas/OBDomesticVRPInstruction'
            DebtorAccount:
              $ref: '#/components/schemas/OBCashAccountDebtorWithName'
        Risk:
          $ref: '#/components/schemas/OBRisk1'
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/Meta'
    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
    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
    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
    BuildingName:
      description: Name of a referenced building.
      type: string
      minLength: 1
      maxLength: 140
    BuildingNumber:
      type: string
      minLength: 1
      maxLength: 16
      description: Number that identifies the position of a building on a street.
    Floor:
      description: Number that identifies the level within a building
      type: string
      minLength: 1
      maxLength: 70
    OBReferredDocumentInformation:
      type: object
      properties:
        Code:
          $ref: '#/components/schemas/ExternalDocumentType1Code'
        Issuer:
          description: Identification of the issuer of the reference document type.
          type: string
          maxLength: 35
          minLength: 1
        Number:
          description: Identification of the type specified for the referred document line.
          type: string
          maxLength: 35
          minLength: 1
        RelatedDate:
          description: Date associated with the referred document line.
          $ref: '#/components/schemas/ISODateTime'
        LineDetails:
          description: Set of elements used to provide the content of the referred document line.
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 2048
    ExternalCreditorReferenceType1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: Specifies the amount type, as published in an external referred amount code set. For a full list of values refer to `ExternalCreditorReferenceType1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      enum:
      - DISP
      - FXDR
      - PUOR
      - RPIN
      - RADM
      - SCOR
    SubDepartment:
      description: Identification of a sub-division of a large organisation or building.
      type: string
      minLength: 1
      maxLength: 70
    OBRegulatoryReporting1:
      type: object
      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:
          description: Set of elements used to provide details on the regulatory reporting information.
          type: array
          items:
            $ref: '#/components/schemas/OBStructuredRegulatoryReporting3'
    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
    CareOf:
      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.
      type: string
      minLength: 1
      maxLength: 140
    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
    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'
    OBDomesticVRPInstruction:
      type: object
      required:
      - InstructionIdentification
      - EndToEndIdentification
      - InstructedAmount
      - CreditorAccount
      properties:
        InstructionIdentification:
          type: string
          minLength: 1
          maxLength: 35
          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.'
        EndToEndIdentification:
          type: string
          minLength: 1
          maxLength: 35
          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'
        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
          description: 'Additional information that cannot be captured in the structured fields and/or any other spec

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