Lloyds Banking Group Variable Recurring Payments API

OBIE Variable Recurring Payments (VRP) profile API enabling consent-based recurring payments under a customer-agreed mandate, including sweeping between a customer's own accounts. FAPI-secured (OAuth2/OIDC, mTLS, PSD2 SCA); requires developer-portal onboarding. Spec provenance is the shared OBIE VRP standard, not a Lloyds-proprietary contract.

OpenAPI Specification

obie-vrp-openapi.yaml Raw ↑
openapi: 3.0.0
servers:
  - url: /open-banking/v4.0/pisp
info:
  title: OBL VRP Profile
  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
tags:
  - name: Domestic VRP Consents
  - name: Domestic VRPs
paths:
  /domestic-vrp-consents:
    post:
      operationId: domesticVrpConsentsPost
      tags:
        - Domestic VRP Consents
      summary: Create a domestic VRP consent
      description: Enables a PISP to ask an ASPSP to create a new domestic-vrp-consent resource, by sending a copy of the consent to the ASPSP.
      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'
        - $ref: '#/components/parameters/x-client-id'
      responses:
        '201':
          $ref: '#/components/responses/20xOBDomesticVRPConsentResponse'
        '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/OBDomesticVRPConsentRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/OBDomesticVRPConsentRequest'
          application/jose+jwe:
            schema:
              $ref: '#/components/schemas/OBDomesticVRPConsentRequest'
        description: Default
        required: true
      security:
        - TPPOAuth2Security:
            - payments
  /domestic-vrp-consents/{ConsentId}:
    get:
      operationId: domesticVrpConsentsGet
      tags:
        - Domestic VRP Consents
      summary: Get a Domestic VRP Consent
      description: Enables a PISP to retrieve the status of a Domestic VRP Consent.
      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'
        - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/20xOBDomesticVRPConsentResponse'
        '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
    delete:
      operationId: domesticVrpConsentsDelete
      tags:
        - Domestic VRP Consents
      summary: Delete a Domestic VRP Consent
      description: Enables a PISP to ask an ASPSP to delete a previously consented Domestic VRP Consent resource.
      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'
        - $ref: '#/components/parameters/x-client-id'
      responses:
        '204':
          $ref: '#/components/responses/204VRPConsentsConsentIdDeleted'
        '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
    put:
      operationId: domesticVrpConsentsPut
      tags:
        - Domestic VRP Consents
      summary: Replace an existing domestic VRP consent
      description: |
        Enables a PISP to replace an existing Domestic VRP Consent resource.  
        
        This endpoint **must** only be used for the migration of Domestic VRP Consent resource data across API Standard versions where the ASPSP supports this PUT function.
      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'
        - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/20xOBDomesticVRPConsentResponse'
        '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/OBDomesticVRPConsentRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/OBDomesticVRPConsentRequest'
          application/jose+jwe:
            schema:
              $ref: '#/components/schemas/OBDomesticVRPConsentRequest'
        description: Default
        required: true
      security:
        - TPPOAuth2Security:
            - payments
    patch:
      operationId: domesticVrpConsentsPatch
      tags:
        - Domestic VRP Consents
      summary: Update an existing domestic VRP consent
      description: |
        Enables a PISP to update an existing Domestic VRP Consent resource by submitting a JSON Patch payload.
        
        This endpoint **must** only be used for the migration of Domestic VRP Consent resource data across API Standard versions where the ASPSP supports this PATCH function.
      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'
        - $ref: '#/components/parameters/x-client-id'
      responses:
        '200':
          $ref: '#/components/responses/20xOBDomesticVRPConsentResponse'
        '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-patch+json:
            schema:
              type: array
              items:
                type: object
                required:
                  - op
                  - path
                properties:
                  op:
                    type: string
                    description: The operation to perform
                    enum:
                      - add
                      - remove
                      - replace
                      - move
                      - copy
                      - test
                  path:
                    type: string
                    description: The path to the element to operate on as per [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901)
                  from:
                    type: string
                    description: The path to move or copy from as per [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901)
                  value:
                    description: The value to add, replace, or test against. This may be a single string or an array of strings
                additionalProperties: false
        description: Array of Patch Operations as defined in [RFC 6902](https://datatracker.ietf.org/doc/html/rfc6902)
        required: true
      security:
        - TPPOAuth2Security:
            - payments
  /domestic-vrp-consents/{ConsentId}/funds-confirmation:
    post:
      operationId: domesticVrpConsentsFundsConfirmation
      tags:
        - Domestic VRP Consents
      summary: Confirm Funds Availability for a Domestic VRP
      description: Enables a PISP to check whether a PSU has sufficient available funds for a Domestic VRP Payment.
      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'
        - $ref: '#/components/parameters/x-client-id'
      responses:
        '201':
          $ref: '#/components/responses/201OBDomesticVRPFundsConfirmationResponse'
        '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'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/OBVRPFundsConfirmationRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/OBVRPFundsConfirmationRequest'
          application/jose+jwe:
            schema:
              $ref: '#/components/schemas/OBVRPFundsConfirmationRequest'
        description: Default
        required: true
      security:
        - TPPOAuth2Security:
            - payments
  /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:
  responses:
    204VRPConsentsConsentIdDeleted:
      description: "VRP Consent Deleted"
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
        RateLimit-Policy:
          $ref: '#/components/headers/RateLimit-Policy'
        RateLimit:
          $ref: '#/components/headers/RateLimit'
    400Error:
      description: Bad request
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
        x-jws-signature:
          description: >-
            Header containing a detached JWS signature of the body of the
            payload.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
        application/json:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
        application/jose+jwe:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
    401Error:
      description: Unauthorized
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    403Error:
      description: Forbidden
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
        x-jws-signature:
          description: >-
            Header containing a detached JWS signature of the body of the
            payload.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
        application/json:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
        application/jose+jwe:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
    404Error:
      description: Not found
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    405Error:
      description: Method Not Allowed
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    406Error:
      description: Not Acceptable
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    409Error:
      description: Conflict
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
        x-jws-signature:
          description: >-
            Header containing a detached JWS signature of the body of the
            payload.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
        application/json:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
        application/jose+jwe:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
    415Error:
      description: Unsupported Media Type
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    422Error:
      description: Duplicate Idempotency key 
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
        x-jws-signature:
          description: >-
            Header containing a detached JWS signature of the body of the
            payload.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
        application/json:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
        application/jose+jwe:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
    429Error:
      description: Too Many Requests
      headers:
        Retry-After:
          description: Number in seconds to wait
          schema:
            type: integer
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    InternalError:
      description: Internal Server Error
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
        x-jws-signature:
          description: >-
            Header containing a detached JWS signature of the body of the
            payload.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
        application/json:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
        application/jose+jwe:
          schema:
            $ref: '#/components/schemas/OBErrorResponse1'
    20xOBDomesticVRPConsentResponse:
      description: Default response
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
        x-jws-signature:
          description: >-
            Header containing a detached JWS signature of the body of the
            payload.
          required: true
          schema:
            type: string
        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
        RateLimit-Policy:
          $ref: '#/components/headers/RateLimit-Policy'
        RateLimit:
          $ref: '#/components/headers/RateLimit'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/OBDomesticVRPConsentResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/OBDomesticVRPConsentResponse'
        application/jose+jwe:
          schema:
            $ref: '#/components/schemas/OBDomesticVRPConsentResponse'
    201OBDomesticVRPFundsConfirmationResponse:
      description: Default response
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
        x-jws-signature:
          description: >-
            Header containing a detached JWS signature of the body of the
            payload.
          required: true
          schema:
            type: string
        RateLimit-Policy:
          $ref: '#/components/headers/RateLimit-Policy'
        RateLimit:
          $ref: '#/components/headers/RateLimit'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/OBVRPFundsConfirmationResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/OBVRPFundsConfirmationResponse'
        application/jose+jwe:
          schema:
            $ref: '#/components/schemas/OBVRPFundsConfirmationResponse'
    20xOBDomesticVRPResponse:
      description: Default response
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
        x-jws-signature:
          description: >-
            Header containing a detached JWS signature of the body of the
            payload.
          required: true
          schema:
            type: string
        RateLimit-Policy:
          $ref: '#/components/headers/RateLimit-Policy'
        RateLimit:
          $ref: '#/components/headers/RateLimit'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/OBDomesticVRPResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/OBDomesticVRPResponse'
        application/jose+jwe:
          schema:
            $ref: '#/components/schemas/OBDomesticVRPResponse'
    20xOBDomesticVRPRequestDetailResponse:
      description: Default response
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
        x-jws-signature:
          description: >-
            Header containing a detached JWS signature of the body of the
            payload.
          required: true
          schema:
            type: string
        RateLimit-Policy:
          $ref: '#/components/headers/RateLimit-Policy'
        RateLimit:
          $ref: '#/components/headers/RateLimit'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/OBDomesticVRPDetails'
        application/json:
          schema:
            $ref: '#/components/schemas/OBDomesticVRPDetails'
        application/jose+jwe:
          schema:
            $ref: '#/components/schemas/OBDomesticVRPDetails'
  parameters:
    ConsentId:
      name: ConsentId
      in: path
      description: ConsentId
      required: true
      schema:
        type: string
    DomesticVRPId:
      name: DomesticVRPId
      in: path
      description: DomesticVRPId
      required: true
      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-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
    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-fapi-auth-date:
      in: header
      name: x-fapi-auth-date
      required: false
      description: >-
        The time when the PSU last logged in with the TPP. 

        All dates in the HTTP headers are represented as RFC 7231 Full Dates. An
        example is below: 

        Sun, 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-fapi-interaction-id:
      in: header
      name: x-fapi-interaction-id
      required: false
      description: An RFC4122 UID used as a correlation id.
      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)$'
    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
    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
    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. 
        
        TPPs __must__ refer to ASPSP developer portals for further information on any rate limit policies, if the headers are supported and any additional requirements.

        This header __must not__ be used for client authentication
      schema:
        type: string
  headers:
    RateLimit-Policy:
      required: false
      description: |
        TPPs __must__ refer to ASPSP developer portals for further information on any rate limit policies, if the headers are supported and any additional requirements.

        A non-empty list of Quota Policy Items. The Item value __MUST__ be a String.

        Example:
        `RateLimit-Policy: "default";q=100;w=10`

        The **REQUIRED** "q" parameter indicates the quota allocated by this policy measured in quota units.

        The **OPTIONAL** "w" parameter value conveys a time window.
      schema:
        type: string
    RateLimit:
      required: false
      description: |
        TPPs __must__ refer to ASPSP developer portals for further information on any rate limit policies, if the headers are supported and any additional requirements.

        A server uses the "RateLimit" response header field to communicate the current service limit for a quota policy for a particular partition key.

        Example:
        `RateLimit: "default";r=50;t=30`

        The **REQUIRED** "r" parameter value conveys the remaining quota units for the identified policy.

        The **OPTIONAL** "t" parameter value conveys the time window reset time for the identified policy.
      schema:
        type: string
  schemas:
    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/

# --- truncated at 32 KB (94 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lloyds-banking-group/refs/heads/main/openapi/obie-vrp-openapi.yaml