openapi: 3.0.0
info:
  title: AirBnb Berlin Group API
  x-ibm-name: airbnb-berlin-group-api
  version: 1.3.6.7
  description: |
    # Summary
    The **NextGenPSD2** *Framework Version 1.3.6* offers a modern, open, harmonised and interoperable set of
    Application Programming Interfaces (APIs) as the safest and most efficient way to provide data securely.
    The NextGenPSD2 Framework reduces XS2A complexity and costs, addresses the problem of multiple competing standards 
    in Europe and, aligned with the goals of the Euro Retail Payments Board,
    enables European banking customers to benefit from innovative products and services ('Banking as a Service')
    by granting TPPs safe and secure (authenticated and authorised) access to their bank accounts and financial data.

    The possible Approaches are:
      * Redirect SCA Approach
      * OAuth SCA Approach
      * Decoupled SCA Approach
      * Embedded SCA Approach without SCA method
      * Embedded SCA Approach with only one SCA method available
      * Embedded SCA Approach with Selection of a SCA method

      Not every message defined in this API definition is necessary for all approaches. 
      Furthermore this API definition does not differ between methods which are mandatory, conditional, or optional.
      Therefore for a particular implementation of a Berlin Group PSD2 compliant API it is only necessary to support 
      a certain subset of the methods defined in this API definition.

      **Please have a look at the implementation guidelines if you are not sure 
      which message has to be used for the approach you are going to use.**

    ## Some General Remarks Related to this version of the OpenAPI Specification:
    * **This API definition is based on the Implementation Guidelines of the Berlin Group PSD2 API.** 
      It is not a replacement in any sense.
      The main specification is (at the moment) always the Implementation Guidelines of the Berlin Group PSD2 API.
    * **This API definition contains the REST-API for requests from the PISP to the ASPSP.**
    * **This API definition contains the messages for all different approaches defined in the Implementation Guidelines.**
    * According to the OpenAPI-Specification [https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md]

        "If in is "header" and the name field is "Accept", "Content-Type" or "Authorization", the parameter definition SHALL be ignored."

      The element "Accept" will not be defined in this file at any place.

      The elements "Content-Type" and "Authorization" are implicitly defined by the OpenApi tags "content" and "security".

    * There are several predefined types which might occur in payment initiation messages, 
      but are not used in the standard JSON messages in the Implementation Guidelines.
      Therefore they are not used in the corresponding messages in this file either.
      We added them for the convenience of the user.
      If there is a payment product, which needs these fields, one can easily use the predefined types.
      But the ASPSP need not to accept them in general.

    * **We omit the definition of all standard HTTP header elements (mandatory/optional/conditional) 
      except they are mentioned in the Implementation Guidelines.**
      Therefore the implementer might add these in his own realisation of a PSD2 comlient API in addition to the elements defined in this file.

    ## General Remarks on Data Types

    The Berlin Group definition of UTF-8 strings in context of the PSD2 API has to support at least the following characters

    a b c d e f g h i j k l m n o p q r s t u v w x y z

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    0 1 2 3 4 5 6 7 8 9

    / - ? : ( ) . , ' +

    Space
security:
  - clientSecret: []
    clientID: []
tags:
  - description: |
      Confirmation of Funds Service (PIIS) returns a confirmation of funds request at the ASPSP.
    name: Confirmation of Funds Service (PIIS)
  - description: |
      The Account Information Service (AIS) offers the following services:
        * Transaction reports for a given account or card account including balances if applicable
        * Balances of a given account or card account
        * A list of available accounts or card account
        * Account details of a given account or card account or of the list of all accessible accounts or card account  relative to a granted consent
    name: Account Information Service (AIS)
paths:
  /v136/accounts:
    get:
      description: |
        Read the identifiers of the available payment account together with 
        booking balance information, depending on the consent granted.

        It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. 
        The addressed list of accounts depends then on the PSU ID and the stored consent addressed by consentId, 
        respectively the OAuth2 access token. 

        Returns all identifiers of the accounts, to which an account access has been granted to through 
        the /consents endpoint by the PSU. 
        In addition, relevant information about the accounts and hyperlinks to corresponding account 
        information resources are provided if a related consent has been already granted.

        Remark: Note that the /consents endpoint optionally offers to grant an access on all available 
        payment accounts of a PSU. 
        In this case, this endpoint will deliver the information about all available payment accounts 
        of the PSU at this ASPSP.
      operationId: getAccountList
      parameters:
        - description: |
            If contained, this function reads the list of accessible payment accounts including the booking balance, 
            if granted by the PSU in the related consent and available by the ASPSP. 
            This parameter might be ignored by the ASPSP. 
          in: query
          name: withBalance
          required: false
          schema:
            type: boolean
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
          in: header
          name: Consent-ID
          required: true
          schema:
            type: string
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accountList'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/accountList'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Read account list
      tags:
        - Account Information Service (AIS)
  /v136/accounts/{account-id}:
    get:
      description: |
        Reads details about an account, with balances where required. 
        It is assumed that a consent of the PSU to 
        this access is already given and stored on the ASPSP system. 
        The addressed details of this account depends then on the stored consent addressed by consentId, 
        respectively the OAuth2 access token.

        **NOTE:** The account-id can represent a multicurrency account. 
        In this case the currency code is set to "XXX".

        Give detailed information about the addressed account.

        Give detailed information about the addressed account together with balance information
      operationId: readAccountDetails
      parameters:
        - description: |
            This identification is denoting the addressed account. 
            The account-id is retrieved by using a "Read account list" call.
            The account-id is the "id" attribute of the account structure. 
            Its value is constant at least throughout the lifecycle of a given consent.
          in: path
          name: account-id
          required: true
          schema:
            type: string
        - description: |
            If contained, this function reads the list of accessible payment accounts including the booking balance, 
            if granted by the PSU in the related consent and available by the ASPSP. 
            This parameter might be ignored by the ASPSP. 
          in: query
          name: withBalance
          required: false
          schema:
            type: boolean
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
          in: header
          name: Consent-ID
          required: true
          schema:
            type: string
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                properties:
                  account:
                    $ref: '#/components/schemas/accountDetails'
                required:
                  - account
                type: object
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Read account details
      tags:
        - Account Information Service (AIS)
  /v136/accounts/{account-id}/balances:
    get:
      description: |
        Reads account data from a given account addressed by "account-id". 

        **Remark:** This account-id can be a tokenised identification due to data protection reason since the path 
        information might be logged on intermediary servers within the ASPSP sphere. 
        This account-id then can be retrieved by the "Get account list" call.

        The account-id is constant at least throughout the lifecycle of a given consent.
      operationId: getBalances
      parameters:
        - description: |
            This identification is denoting the addressed account. 
            The account-id is retrieved by using a "Read account list" call.
            The account-id is the "id" attribute of the account structure. 
            Its value is constant at least throughout the lifecycle of a given consent.
          in: path
          name: account-id
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
          in: header
          name: Consent-ID
          required: true
          schema:
            type: string
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/readAccountBalanceResponse-200'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Read balance
      tags:
        - Account Information Service (AIS)
  /v136/accounts/{account-id}/transactions:
    get:
      description: |
        Read transaction reports or transaction lists of a given account ddressed by "account-id", depending on the steering parameter 
        "bookingStatus" together with balances.

        For a given account, additional parameters are e.g. the attributes "dateFrom" and "dateTo". 
        The ASPSP might add balance information, if transaction lists without balances are not supported.
      operationId: getTransactionList
      parameters:
        - description: |
            This identification is denoting the addressed account. 
            The account-id is retrieved by using a "Read account list" call.
            The account-id is the "id" attribute of the account structure. 
            Its value is constant at least throughout the lifecycle of a given consent.
          in: path
          name: account-id
          required: true
          schema:
            type: string
        - description: |
            Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required
            and if bookingStatus does not equal "information.

            For booked transactions, the relevant date is the booking date. 

            For pending transactions, the relevant date is the entry date, which may not be transparent 
            neither in this API nor other channels of the ASPSP.
          in: query
          name: dateFrom
          required: false
          schema:
            type: string
            format: date
        - description: |
            End date (inclusive the data dateTo) of the transaction list, default is "now" if not given. 

            Might be ignored if a delta function is used.

            For booked transactions, the relevant date is the booking date. 

            For pending transactions, the relevant date is the entry date, which may not be transparent 
            neither in this API nor other channels of the ASPSP.
          in: query
          name: dateTo
          required: false
          schema:
            type: string
            format: date
        - description: |
            This data attribute is indicating that the AISP is in favour to get all transactions after 
            the transaction with identification entryReferenceFrom alternatively to the above defined period. 
            This is a implementation of a delta access. 
            If this data element is contained, the entries "dateFrom" and "dateTo" might be ignored by the ASPSP 
            if a delta report is supported.

            Optional if supported by API provider.
          in: query
          name: entryReferenceFrom
          required: false
          schema:
            type: string
        - description: |
            Permitted codes are 
              * "information",
              * "booked",
              * "pending", and 
              * "both"
            "booked" shall be supported by the ASPSP.
            To support the "pending" and "both" feature is optional for the ASPSP, 
            Error code if not supported in the online banking frontend
          in: query
          name: bookingStatus
          required: true
          schema:
            type: string
            enum:
              - information
              - booked
              - pending
              - both
        - description: |-
            This data attribute is indicating that the AISP is in favour to get all transactions after the last report access for this PSU on the addressed account. This is another implementation of a delta access-report.
            This delta indicator might be rejected by the ASPSP if this function is not supported.
            Optional if supported by API provider
          in: query
          name: deltaList
          schema:
            type: boolean
        - description: |
            If contained, this function reads the list of accessible payment accounts including the booking balance, 
            if granted by the PSU in the related consent and available by the ASPSP. 
            This parameter might be ignored by the ASPSP. 
          in: query
          name: withBalance
          required: false
          schema:
            type: boolean
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
          in: header
          name: Consent-ID
          required: true
          schema:
            type: string
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/transactionsResponse-200_json'
            application/xml:
              schema:
                $ref: '#/components/schemas/transactionsResponse-200_json'
            text/plain:
              schema:
                $ref: '#/components/schemas/transactionsResponse-200_json'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
            text/plain:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
            text/plain:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
            text/plain:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
            text/plain:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
            text/plain:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
            text/plain:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
            text/plain:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
            text/plain:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Read transaction list of an account
      tags:
        - Account Information Service (AIS)
  /v136/accounts/{account-id}/transactions/{transactionId}:
    get:
      description: |
        Reads transaction details from a given transaction addressed by "transactionId" on a given account addressed by "account-id". 
        This call is only available on transactions as reported in a JSON format.

        **Remark:** Please note that the PATH might be already given in detail by the corresponding entry of the response of the 
        "Read Transaction List" call within the _links subfield.
      operationId: getTransactionDetails
      parameters:
        - description: |
            This identification is denoting the addressed account. 
            The account-id is retrieved by using a "Read account list" call.
            The account-id is the "id" attribute of the account structure. 
            Its value is constant at least throughout the lifecycle of a given consent.
          in: path
          name: account-id
          required: true
          schema:
            type: string
        - description: |
            This identification is given by the attribute transactionId of the corresponding entry of a transaction list.
          in: path
          name: transactionId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
          in: header
          name: Consent-ID
          required: true
          schema:
            type: string
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                properties:
                  transactionsDetails:
                    $ref: '#/components/schemas/transactionDetails'
                required:
                  - transactionsDetails
                type: object
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Read transaction details
      tags:
        - Account Information Service (AIS)
  /v136/consents:
    post:
      description: |
        This method create a consent resource, defining access rights to dedicated accounts of 
        a given PSU-ID. These accounts are addressed explicitly in the method as 
        parameters as a core function.

        **Side Effects**
        When this consent request is a request where the "recurringIndicator" equals "true",
        and if it exists already a former consent for recurring access on account information 
        for the addressed PSU, then the former consent automatically expires as soon as the new 
        consent request is authorised by the PSU.

        Optional Extension:
        As an option, an ASPSP might optionally accept a specific access right on the access on all PSD2 related services for all available accounts.

        As another option an ASPSP might optionally also accept a command, where only access rights are inserted without mentioning the addressed account. 
        The relation to accounts is then handled afterwards between PSU and ASPSP. 
        This option is not supported for the Embedded SCA Approach. 
        As a last option, an ASPSP might in addition accept a command with access rights
          * to see the list of available payment accounts or
          * to see the list of available payment accounts with balances.
      operationId: createConsent
      parameters:
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            Client ID of the PSU in the ASPSP client interface. 

            Might be mandated in the ASPSP's documentation.

            It might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding
            AIS service in the same session.
            In this case the ASPSP might check whether PSU-ID and token match, 
            according to ASPSP documentation.
          in: header
          name: PSU-ID
          required: false
          example: PSU-1234
          schema:
            type: string
        - description: |
            Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.

            In this case, the mean and use are then defined in the ASPSP’s documentation.
          in: header
          name: PSU-ID-Type
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID-Type
          required: false
          schema:
            type: string
        - description: |
            If it equals "true", the TPP prefers a redirect over an embedded SCA approach.
            If it equals "false", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled
            SCA approach, depending on the choice of the SCA procedure by the TPP/PSU.
            If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the
            TPP/PSU.
          in: header
          name: TPP-Redirect-Preferred
          required: false
          schema:
            type: boolean
        - description: |
            URI of the TPP, where the transaction flow shall be redirected to after a Redirect.
          in: header
          name: TPP-Redirect-URI
          required: true
          schema:
            type: string
            format: uri
        - description: |
            If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case
            of a negative result of the redirect SCA method. This might be ignored by the ASPSP.
          in: header
          name: TPP-Nok-Redirect-URI
          required: false
          schema:
            type: string
            format: uri
        - description: |
            If it equals "true", the TPP prefers to start the authorisation process separately, 
            e.g. because of the usage of a signing basket. 
            This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality.

            If it equals "false" or if the parameter is not used, there is no preference of the TPP. 
            This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, 
            without using a signing basket.
          in: header
          name: TPP-Explicit-Authorisation-Preferred
          required: false
          schema:
            type: boolean
        - description: |
            This header might be used by TPPs to inform the ASPSP about the brand used by the TPP towards the PSU. 
            This information is meant for logging entries to enhance communication between ASPSP and PSU or ASPSP and TPP. 
            This header might be ignored by the ASPSP.
          in: header
          name: TPP-Brand-Logging-Information
          required: false
          schema:
            type: string
        - description: |
            URI for the Endpoint of the TPP-API to which the status of the payment initiation should be sent.
            This header field may by ignored by the ASPSP.

            For security reasons, it shall be ensured that the TPP-Notification-URI as introduced above is secured by the TPP eIDAS QWAC used for identification of the TPP. The following applies:

            URIs which are provided by TPPs in TPP-Notification-URI shall comply with the domain secured by the eIDAS QWAC certificate of the TPP in the field CN or SubjectAltName of the certificate. Please note that in case of example-TPP.com as certificate entry TPP- Notification-URI like www.example-TPP.com/xs2a-client/v136/ASPSPidentifcation/mytransaction- id/notifications or notifications.example-TPP.com/xs2a-client/v136/ASPSPidentifcation/mytransaction- id/notifications would be compliant.

            Wildcard definitions shall be taken into account for compliance checks by the ASPSP.
             ASPSPs may respond with ASPSP-Notification-Support set to false, if the provided URIs do not comply.
          in: header
          name: TPP-Notification-URI
          required: false
          schema:
            type: string
        - description: |
            The string has the form 

            status=X1, ..., Xn

            where Xi is one of the constants SCA, PROCESS, LAST and where constants are not
            repeated.
            The usage of the constants supports the of following semantics:

              SCA: A notification on every change of the scaStatus attribute for all related authorisation processes is preferred by the TPP.

              PROCESS: A notification on all changes of consentStatus or transactionStatus attributes is preferred by the TPP.
              LAST: Only a notification on the last consentStatus or transactionStatus as available in the XS2A interface is preferred by the TPP.

            This header field may be ignored, if the ASPSP does not support resource notification services for the related TPP.
          in: header
          name: TPP-Notification-Content-Preferred
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
            If not available, the TPP shall use the IP Address used by the TPP when submitting this request.
          in: header
          name: PSU-IP-Address
          required: true
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/consents'
        description: |
          Request body for a consents request.
      responses:
        '201':
          description: Created
          headers:
            ASPSP-Notification-Content:
              description: |
                The string has the form
                status=X1, …, Xn
                where Xi is one of the constants SCA, PROCESS, LAST and where constants are not repeated.
                The usage of the constants supports the following semantics
                SCA - Notification on every change of the scaStatus attribute for all related authorisation processes is provided by the ASPSP for the related resource.
                PROCESS - Notification on all changes of consentStatus or transactionStatus attributes is provided by the ASPSP for the related resource
                LAST - Notification on the last consentStatus or transactionStatus as available in the XS2A interface is provided by the ASPSP for the related resource.
                This field must be provided if the ASPSP-Notification-Support=true. The ASPSP might consider the notification content as preferred by the TPP, but can also respond independently of the preferred request 
              schema:
                type: string
            ASPSP-Notification-Support:
              description: |
                true if the ASPSP supports resource status notification services.

                false if the ASPSP supports resource status notification in general, but not for the current request.

                Not used, if resource status notification services are generally not supported by the ASPSP.

                Shall be supported if the ASPSP supports resource status notification services.
              schema:
                type: boolean
            ASPSP-SCA-Approach:
              description: |
                This data element must be contained, if the SCA Approach is already fixed.
                Possible values are
                  * EMBEDDED
                  * DECOUPLED
                  * REDIRECT
                The OAuth SCA approach will be subsumed by REDIRECT.
              schema:
                type: string
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/consentsResponse-201'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Create consent
      tags:
        - Account Information Service (AIS)
  /v136/consents/{consentId}:
    delete:
      description: The TPP can delete an account information consent object if needed.
      operationId: deleteConsent
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an account information consent request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '204':
          description: No Content
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Delete consent
      tags:
        - Account Information Service (AIS)
    get:
      description: |
        Returns the content of an account information consent object. 
        This is returning the data for the TPP especially in cases, 
        where the consent was directly managed between ASPSP and PSU e.g. in a redirect SCA Approach.
      operationId: getConsentInformation
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an account information consent request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/consentInformationResponse-200_json'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Get consent request
      tags:
        - Account Information Service (AIS)
  /v136/consents/{consentId}/authorisations:
    get:
      description: |
        Return a list of all authorisation subresources IDs which have been created.

        This function returns an array of hyperlinks to all generated authorisation sub-resources.
      operationId: getConsentAuthorisation
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an account information consent request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/authorisations'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Get consent authorisation sub-resources request
      tags:
        - Account Information Service (AIS)
    post:
      description: |
        Create an authorisation sub-resource and start the authorisation process of a consent. 
        The message might in addition transmit authentication and authorisation related data.

        his method is iterated n times for a n times SCA authorisation in a 
        corporate context, each creating an own authorisation sub-endpoint for 
        the corresponding PSU authorising the consent.

        The ASPSP might make the usage of this access method unnecessary, 
        since the related authorisation resource will be automatically created by 
        the ASPSP after the submission of the consent data with the first POST consents call.

        The start authorisation process is a process which is needed for creating a new authorisation 
        or cancellation sub-resource. 

        This applies in the following scenarios:

          * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceding Payment 
            initiation response that an explicit start of the authorisation process is needed by the TPP. 
            The 'startAuthorisation' hyperlink can transport more information about data which needs to be 
            uploaded by using the extended forms:
            * 'startAuthorisationWithPsuIdentfication', 
            * 'startAuthorisationWithPsuAuthentication' 
            * 'startAuthorisationWithEncryptedPsuAuthentication'
            * 'startAuthorisationWithAuthentciationMethodSelection' 
          * The related payment initiation cannot yet be executed since a multilevel SCA is mandated.
          * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceding 
            payment cancellation response that an explicit start of the authorisation process is needed by the TPP. 
            The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded 
            by using the extended forms as indicated above.
          * The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for 
            executing the cancellation.
          * The signing basket needs to be authorised yet.
      operationId: startConsentAuthorisation
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an account information consent request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            Client ID of the PSU in the ASPSP client interface. 

            Might be mandated in the ASPSP's documentation.

            It might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding
            AIS service in the same session.
            In this case the ASPSP might check whether PSU-ID and token match, 
            according to ASPSP documentation.
          in: header
          name: PSU-ID
          required: false
          example: PSU-1234
          schema:
            type: string
        - description: |
            Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.

            In this case, the mean and use are then defined in the ASPSP’s documentation.
          in: header
          name: PSU-ID-Type
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID-Type
          required: false
          schema:
            type: string
        - description: |
            If it equals "true", the TPP prefers a redirect over an embedded SCA approach.
            If it equals "false", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled
            SCA approach, depending on the choice of the SCA procedure by the TPP/PSU.
            If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the
            TPP/PSU.
          in: header
          name: TPP-Redirect-Preferred
          required: false
          schema:
            type: boolean
        - description: |
            URI of the TPP, where the transaction flow shall be redirected to after a Redirect.
          in: header
          name: TPP-Redirect-URI
          required: false
          schema:
            type: string
            format: uri
        - description: |
            If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case
            of a negative result of the redirect SCA method. This might be ignored by the ASPSP.
          in: header
          name: TPP-Nok-Redirect-URI
          required: false
          schema:
            type: string
            format: uri
        - description: |
            URI for the Endpoint of the TPP-API to which the status of the payment initiation should be sent.
            This header field may by ignored by the ASPSP.

            For security reasons, it shall be ensured that the TPP-Notification-URI as introduced above is secured by the TPP eIDAS QWAC used for identification of the TPP. The following applies:

            URIs which are provided by TPPs in TPP-Notification-URI shall comply with the domain secured by the eIDAS QWAC certificate of the TPP in the field CN or SubjectAltName of the certificate. Please note that in case of example-TPP.com as certificate entry TPP- Notification-URI like www.example-TPP.com/xs2a-client/v136/ASPSPidentifcation/mytransaction- id/notifications or notifications.example-TPP.com/xs2a-client/v136/ASPSPidentifcation/mytransaction- id/notifications would be compliant.

            Wildcard definitions shall be taken into account for compliance checks by the ASPSP.
             ASPSPs may respond with ASPSP-Notification-Support set to false, if the provided URIs do not comply.
          in: header
          name: TPP-Notification-URI
          required: false
          schema:
            type: string
        - description: |
            The string has the form 

            status=X1, ..., Xn

            where Xi is one of the constants SCA, PROCESS, LAST and where constants are not
            repeated.
            The usage of the constants supports the of following semantics:

              SCA: A notification on every change of the scaStatus attribute for all related authorisation processes is preferred by the TPP.

              PROCESS: A notification on all changes of consentStatus or transactionStatus attributes is preferred by the TPP.
              LAST: Only a notification on the last consentStatus or transactionStatus as available in the XS2A interface is preferred by the TPP.

            This header field may be ignored, if the ASPSP does not support resource notification services for the related TPP.
          in: header
          name: TPP-Notification-Content-Preferred
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '201':
          description: Created
          headers:
            ASPSP-SCA-Approach:
              description: |
                This data element must be contained, if the SCA Approach is already fixed.
                Possible values are
                  * EMBEDDED
                  * DECOUPLED
                  * REDIRECT
                The OAuth SCA approach will be subsumed by REDIRECT.
              schema:
                type: string
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/startScaprocessResponse'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Start the authorisation process for a consent
      tags:
        - Account Information Service (AIS)
  /v136/consents/{consentId}/authorisations/{authorisationId}:
    get:
      description: |
        This method returns the SCA status of a consent initiation's authorisation sub-resource.
      operationId: getConsentScaStatus
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an account information consent request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: Resource identification of the related SCA.
          in: path
          name: authorisationId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/scaStatusResponse'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Read the SCA status of the consent authorisation
      tags:
        - Account Information Service (AIS)
    put:
      description: |
        This method update PSU data on the consents  resource if needed. 
        It may authorise a consent within the Embedded SCA Approach where needed.

        Independently from the SCA Approach it supports e.g. the selection of 
        the authentication method and a non-SCA PSU authentication.

        This methods updates PSU data on the cancellation authorisation resource if needed. 

        There are several possible update PSU data requests in the context of a consent request if needed, 
        which depends on the SCA approach:

        * Redirect SCA Approach:
          A specific Update PSU data request is applicable for 
            * the selection of authentication methods, before choosing the actual SCA approach.
        * Decoupled SCA Approach:
          A specific update PSU data request is only applicable for
          * adding the PSU Identification, if not provided yet in the payment initiation request or the Account Information Consent Request, or if no OAuth2 access token is used, or
          * the selection of authentication methods.
        * Embedded SCA Approach: 
          The Update PSU data request might be used 
          * to add credentials as a first factor authentication data of the PSU and
          * to select the authentication method and
          * transaction authorisation.

        The SCA Approach might depend on the chosen SCA method. 
        For that reason, the following possible update PSU data request can apply to all SCA approaches:

        * Select an SCA method in case of several SCA methods are available for the customer.

        There are the following request types on this access path:
          * Update PSU identification
          * Update PSU authentication
          * Select PSU autorization method 
            WARNING: This method needs a reduced header, 
            therefore many optional elements are not present. 
            Maybe in a later version the access path will change.
          * Transaction Authorisation
            WARNING: This method needs a reduced header, 
            therefore many optional elements are not present. 
            Maybe in a later version the access path will change.
      operationId: updateConsentsPsuData
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an account information consent request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: Resource identification of the related SCA.
          in: path
          name: authorisationId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            Client ID of the PSU in the ASPSP client interface. 

            Might be mandated in the ASPSP's documentation.

            It might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding
            AIS service in the same session.
            In this case the ASPSP might check whether PSU-ID and token match, 
            according to ASPSP documentation.
          in: header
          name: PSU-ID
          required: false
          example: PSU-1234
          schema:
            type: string
        - description: |
            Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.

            In this case, the mean and use are then defined in the ASPSP’s documentation.
          in: header
          name: PSU-ID-Type
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID-Type
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      requestBody:
        $ref: '#/components/requestBodies/updatePsuAuthentication'
      responses:
        '200':
          description: OK
          headers:
            ASPSP-SCA-Approach:
              description: |
                This data element must be contained, if the SCA Approach is already fixed.
                Possible values are
                  * EMBEDDED
                  * DECOUPLED
                  * REDIRECT
                The OAuth SCA approach will be subsumed by REDIRECT.
              schema:
                type: string
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/updatePsuIdenticationResponse'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Update PSU Data for consents
      tags:
        - Account Information Service (AIS)
  /v136/consents/{consentId}/status:
    get:
      description: Read the status of an account information consent resource.
      operationId: getConsentStatus
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an account information consent request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/consentStatusResponse-200'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Consent status request
      tags:
        - Account Information Service (AIS)
  /v136/funds-confirmations:
    post:
      description: |-
        Creates a confirmation of funds request at the ASPSP. Checks whether a specific amount is available at point of time of the request on an account linked to a given tuple card issuer(TPP)/card number, or addressed by IBAN and TPP respectively.
        If the related extended services are used a conditional Consent-ID is contained in the header. This field is contained but commented out in this specification.
      operationId: checkAvailabilityOfFunds
      parameters:
        - description: |
            ID of the corresponding consent object as returned by a confirmation of funds request.
          in: header
          name: Consent-ID
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/confirmationOfFunds'
        description: |
          Request body for a confirmation of funds request.
        required: true
      responses:
        '200':
          description: OK
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                description: |
                  Equals "true" if sufficient funds are available at the time of the request, 
                  "false" otherwise.
                properties:
                  fundsAvailable:
                    $ref: '#/components/schemas/fundsAvailable'
                required:
                  - fundsAvailable
                type: object
            application/problem+json:
              schema:
                description: |
                  Equals "true" if sufficient funds are available at the time of the request, 
                  "false" otherwise.
                properties:
                  fundsAvailable:
                    $ref: '#/components/schemas/fundsAvailable'
                required:
                  - fundsAvailable
                type: object
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_PIIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error400_NG_PIIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_PIIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error401_NG_PIIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_PIIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error403_NG_PIIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_PIIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error404_NG_PIIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_PIIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error405_NG_PIIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_PIIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error409_NG_PIIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Confirmation of funds request
      tags:
        - Confirmation of Funds Service (PIIS)
  /v136/consents/confirmation-of-funds:
    post:
      description: |
        This method creates a confirmation of funds consent resource at the ASPSP regarding confirmation of funds access 
        to an account specified in this request.

        **Side Effects**
        In difference to the Establish Account Information Consent as defined in [XS2A-IG], there is no side effect by the 
        Establish Confirmation of Funds Consent Request
      operationId: createConsentConfirmationOfFunds
      parameters:
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation.
            Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding
            AIS service in the same session.
          in: header
          name: PSU-ID
          required: false
          example: PSU-1234
          schema:
            type: string
        - description: |
            Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.
          in: header
          name: PSU-ID-Type
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID-Type
          required: false
          schema:
            type: string
        - description: |
            If it equals "true", the TPP prefers a redirect over an embedded SCA approach.
            If it equals "false", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled
            SCA approach, depending on the choice of the SCA procedure by the TPP/PSU.
            If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the
            TPP/PSU.
          in: header
          name: TPP-Redirect-Preferred
          required: false
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - description: |
            URI of the TPP, where the transaction flow shall be redirected to after a Redirect.
          in: header
          name: TPP-Redirect-URI
          required: true
          schema:
            type: string
            format: uri
        - description: |
            If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case
            of a negative result of the redirect SCA method. This might be ignored by the ASPSP.
          in: header
          name: TPP-Nok-Redirect-URI
          required: false
          schema:
            type: string
            format: uri
        - description: |
            If it equals "true", the TPP prefers to start the authorisation process separately, 
            e.g. because of the usage of a signing basket. 
            This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality.

            If it equals "false" or if the parameter is not used, there is no preference of the TPP. 
            This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, 
            without using a signing basket.
          in: header
          name: TPP-Explicit-Authorisation-Preferred
          required: false
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID need to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/consentsConfirmationOfFunds'
        description: |
          Requestbody for a consent confirmation of funds request.
      responses:
        '201':
          description: Created
          headers:
            ASPSP-SCA-Approach:
              description: |
                This data element must be contained, if the SCA Approach is already fixed.
                Possible values are
                  * EMBEDDED
                  * DECOUPLED
                  * REDIRECT
                The OAuth SCA approach will be subsumed by REDIRECT.
              schema:
                type: string
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/consentsConfirmationOfFundsResponse-201'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/consentsConfirmationOfFundsResponse-201'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Create consent
      tags:
        - Confirmation of Funds Service (PIIS)
  /v136/consents/confirmation-of-funds/{consentId}:
    delete:
      description: |
        Deletes a given consent.
      operationId: deleteConsentConfirmationOfFunds
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an Account Information Consent Request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID need to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '204':
          description: Deletes a given consent.
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Delete Consent Content
      tags:
        - Confirmation of Funds Service (PIIS)
    get:
      description: |
        Returns the content of an account information consent object. 
        This is returning the data for the TPP especially in cases, where the consent was directly managed between 
        ASPSP and PSU e.g. in a re-direct SCA Approach.
      operationId: getConsentConfirmationOfFunds
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an Account Information Consent Request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID need to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: Get consent status
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentConfirmationOfFundsContentResponse'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Get Consent Content
      tags:
        - Confirmation of Funds Service (PIIS)
  /v136/consents/confirmation-of-funds/{consentId}/authorisations:
    get:
      description: |
        Return a list of all authorisation subresources IDs which have been created.

        This function returns an array of hyperlinks to all generated authorisation sub-resources.
      operationId: getFundsConfirmationConsentAuthorisation
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an account information consent request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/authorisations'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error400_NG_PIIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error401_NG_PIIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error403_NG_PIIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error404_NG_PIIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error405_NG_PIIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error409_NG_PIIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Get consent authorisation sub-resources request
      tags:
        - Confirmation of Funds Service (PIIS)
    post:
      description: |
        Create an authorisation sub-resource and start the authorisation process of a funds confirmation consent. 
        The message might in addition transmit authentication and authorisation related data.

        his method is iterated n times for a n times SCA authorisation in a 
        corporate context, each creating an own authorisation sub-endpoint for 
        the corresponding PSU authorising the consent.

        The ASPSP might make the usage of this access method unnecessary, 
        since the related authorisation resource will be automatically created by 
        the ASPSP after the submission of the consent data with the first POST consents call.

        The start authorisation process is a process which is needed for creating a new authorisation 
        or cancellation sub-resource. 

        This applies in the following scenarios:

          * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceding Payment 
            initiation response that an explicit start of the authorisation process is needed by the TPP. 
            The 'startAuthorisation' hyperlink can transport more information about data which needs to be 
            uploaded by using the extended forms:
            * 'startAuthorisationWithPsuIdentfication', 
            * 'startAuthorisationWithPsuAuthentication' 
            * 'startAuthorisationWithEncryptedPsuAuthentication'
            * 'startAuthorisationWithAuthentciationMethodSelection' 
          * The related payment initiation cannot yet be executed since a multilevel SCA is mandated.
          * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceding 
            payment cancellation response that an explicit start of the authorisation process is needed by the TPP. 
            The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded 
            by using the extended forms as indicated above.
          * The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for 
            executing the cancellation.
          * The signing basket needs to be authorised yet.
      operationId: startFundsConfirmationConsentAuthorisation
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an account information consent request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            Client ID of the PSU in the ASPSP client interface. 

            Might be mandated in the ASPSP's documentation.

            It might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding
            AIS service in the same session.
            In this case the ASPSP might check whether PSU-ID and token match, 
            according to ASPSP documentation.
          in: header
          name: PSU-ID
          required: false
          example: PSU-1234
          schema:
            type: string
        - description: |
            Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.

            In this case, the mean and use are then defined in the ASPSP’s documentation.
          in: header
          name: PSU-ID-Type
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID-Type
          required: false
          schema:
            type: string
        - description: |
            If it equals "true", the TPP prefers a redirect over an embedded SCA approach.
            If it equals "false", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled
            SCA approach, depending on the choice of the SCA procedure by the TPP/PSU.
            If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the
            TPP/PSU.
          in: header
          name: TPP-Redirect-Preferred
          required: false
          schema:
            type: boolean
        - description: |
            URI of the TPP, where the transaction flow shall be redirected to after a Redirect.
          in: header
          name: TPP-Redirect-URI
          required: false
          schema:
            type: string
            format: uri
        - description: |
            If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case
            of a negative result of the redirect SCA method. This might be ignored by the ASPSP.
          in: header
          name: TPP-Nok-Redirect-URI
          required: false
          schema:
            type: string
            format: uri
        - description: |
            URI for the Endpoint of the TPP-API to which the status of the payment initiation should be sent.
            This header field may by ignored by the ASPSP.

            For security reasons, it shall be ensured that the TPP-Notification-URI as introduced above is secured by the TPP eIDAS QWAC used for identification of the TPP. The following applies:

            URIs which are provided by TPPs in TPP-Notification-URI shall comply with the domain secured by the eIDAS QWAC certificate of the TPP in the field CN or SubjectAltName of the certificate. Please note that in case of example-TPP.com as certificate entry TPP- Notification-URI like www.example-TPP.com/xs2a-client/v136/ASPSPidentifcation/mytransaction- id/notifications or notifications.example-TPP.com/xs2a-client/v136/ASPSPidentifcation/mytransaction- id/notifications would be compliant.

            Wildcard definitions shall be taken into account for compliance checks by the ASPSP.
             ASPSPs may respond with ASPSP-Notification-Support set to false, if the provided URIs do not comply.
          in: header
          name: TPP-Notification-URI
          required: false
          schema:
            type: string
        - description: |
            The string has the form 

            status=X1, ..., Xn

            where Xi is one of the constants SCA, PROCESS, LAST and where constants are not
            repeated.
            The usage of the constants supports the of following semantics:

              SCA: A notification on every change of the scaStatus attribute for all related authorisation processes is preferred by the TPP.

              PROCESS: A notification on all changes of consentStatus or transactionStatus attributes is preferred by the TPP.
              LAST: Only a notification on the last consentStatus or transactionStatus as available in the XS2A interface is preferred by the TPP.

            This header field may be ignored, if the ASPSP does not support resource notification services for the related TPP.
          in: header
          name: TPP-Notification-Content-Preferred
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '201':
          description: Created
          headers:
            ASPSP-SCA-Approach:
              description: |
                This data element must be contained, if the SCA Approach is already fixed.
                Possible values are
                  * EMBEDDED
                  * DECOUPLED
                  * REDIRECT
                The OAuth SCA approach will be subsumed by REDIRECT.
              schema:
                type: string
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/startScaprocessResponse'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error400_NG_PIIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error401_NG_PIIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error403_NG_PIIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error404_NG_PIIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error405_NG_PIIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error409_NG_PIIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Start the authorisation process for a consent
      tags:
        - Confirmation of Funds Service (PIIS)
  /v136/consents/confirmation-of-funds/{consentId}/authorisations/{authorisationId}:
    get:
      description: |
        This method returns the SCA status of a consent initiation's authorisation sub-resource.
      operationId: getFundsConfirmationConsentScaStatus
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an account information consent request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: Resource identification of the related SCA.
          in: path
          name: authorisationId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/scaStatusResponse'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error400_NG_PIIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error401_NG_PIIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error403_NG_PIIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error404_NG_PIIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error405_NG_PIIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error409_NG_PIIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Read the SCA status of the consent authorisation
      tags:
        - Confirmation of Funds Service (PIIS)
    put:
      description: |
        This method update PSU data on the funds confirmation consents resource if needed. 
        It may authorise a consent within the Embedded SCA Approach where needed.

        Independently from the SCA Approach it supports e.g. the selection of 
        the authentication method and a non-SCA PSU authentication.

        This methods updates PSU data on the cancellation authorisation resource if needed. 

        There are several possible update PSU data requests in the context of a consent request if needed, 
        which depends on the SCA approach:

        * Redirect SCA Approach:
          A specific Update PSU data request is applicable for 
            * the selection of authentication methods, before choosing the actual SCA approach.
        * Decoupled SCA Approach:
          A specific update PSU data request is only applicable for
          * adding the PSU Identification, if not provided yet in the payment initiation request or the Account Information Consent Request, or if no OAuth2 access token is used, or
          * the selection of authentication methods.
        * Embedded SCA Approach: 
          The Update PSU data request might be used 
          * to add credentials as a first factor authentication data of the PSU and
          * to select the authentication method and
          * transaction authorisation.

        The SCA Approach might depend on the chosen SCA method. 
        For that reason, the following possible update PSU data request can apply to all SCA approaches:

        * Select an SCA method in case of several SCA methods are available for the customer.

        There are the following request types on this access path:
          * Update PSU identification
          * Update PSU authentication
          * Select PSU autorization method 
            WARNING: This method needs a reduced header, 
            therefore many optional elements are not present. 
            Maybe in a later version the access path will change.
          * Transaction Authorisation
            WARNING: This method needs a reduced header, 
            therefore many optional elements are not present. 
            Maybe in a later version the access path will change.
      operationId: updateFundsConfirmationConsentsPsuData
      parameters:
        - description: |
            ID of the corresponding consent object as returned by a funds confirmation consent request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: Resource identification of the related SCA.
          in: path
          name: authorisationId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            Client ID of the PSU in the ASPSP client interface. 

            Might be mandated in the ASPSP's documentation.

            It might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding
            AIS service in the same session.
            In this case the ASPSP might check whether PSU-ID and token match, 
            according to ASPSP documentation.
          in: header
          name: PSU-ID
          required: false
          example: PSU-1234
          schema:
            type: string
        - description: |
            Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.

            In this case, the mean and use are then defined in the ASPSP’s documentation.
          in: header
          name: PSU-ID-Type
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID
          required: false
          schema:
            type: string
        - description: |
            Might be mandated in the ASPSP's documentation. Only used in a corporate context.
          in: header
          name: PSU-Corporate-ID-Type
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID needs to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      requestBody:
        $ref: '#/components/requestBodies/updatePsuAuthentication'
      responses:
        '200':
          description: OK
          headers:
            ASPSP-SCA-Approach:
              description: |
                This data element must be contained, if the SCA Approach is already fixed.
                Possible values are
                  * EMBEDDED
                  * DECOUPLED
                  * REDIRECT
                The OAuth SCA approach will be subsumed by REDIRECT.
              schema:
                type: string
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/updatePsuIdenticationResponse'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error400_NG_PIIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error401_NG_PIIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error403_NG_PIIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error404_NG_PIIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error405_NG_PIIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error409_NG_PIIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Update PSU Data for consents
      tags:
        - Confirmation of Funds Service (PIIS)
  /v136/consents/confirmation-of-funds/{consentId}/status:
    get:
      description: |
        Can check the status of an account information consent resource.
      operationId: getConsentConfirmationOfFundsStatus
      parameters:
        - description: |
            ID of the corresponding consent object as returned by an Account Information Consent Request.
          in: path
          name: consentId
          required: true
          schema:
            type: string
        - description: ID of the request, unique to the call, as determined by the initiating party.
          in: header
          name: X-Request-ID
          required: true
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          schema:
            type: string
            format: uuid
        - description: Is contained if and only if the "Signature" element is contained in the header of the request.
          in: header
          name: Digest
          required: false
          example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
          schema:
            type: string
        - description: |
            A signature of the request by the TPP on application level. This might be mandated by ASPSP.
          in: header
          name: Signature
          required: false
          example: |
            keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
          schema:
            type: string
        - description: |
            The certificate used for signing the request, in base64 encoding. 
            Must be contained if a signature is contained.
          in: header
          name: TPP-Signature-Certificate
          required: false
          schema:
            type: string
            format: byte
        - description: |
            The forwarded IP Address header field consists of the corresponding HTTP request 
            IP Address field between PSU and TPP. 
            It shall be contained if and only if this request was actively initiated by the PSU.
          in: header
          name: PSU-IP-Address
          required: false
          example: 192.168.8.78
          schema:
            type: string
            format: ipv4
        - description: |
            The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
          in: header
          name: PSU-IP-Port
          required: false
          example: '1234'
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Charset
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Encoding
          required: false
          schema:
            type: string
        - description: |
            The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
          in: header
          name: PSU-Accept-Language
          required: false
          schema:
            type: string
        - description: |
            The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
          in: header
          name: PSU-User-Agent
          required: false
          schema:
            type: string
        - description: |
            HTTP method used at the PSU ? TPP interface, if available.
            Valid values are:
            * GET
            * POST
            * PUT
            * PATCH
            * DELETE
          in: header
          name: PSU-Http-Method
          required: false
          schema:
            type: string
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE
        - description: |
            UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
            UUID identifies either a device or a device dependant application installation.
            In case of an installation identification this ID need to be unaltered until removal from device.
          in: header
          name: PSU-Device-ID
          required: false
          example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
          schema:
            type: string
            format: uuid
        - description: |
            The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
          in: header
          name: PSU-Geo-Location
          required: false
          example: GEO:52.506931;13.144558
          schema:
            type: string
            pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      responses:
        '200':
          description: Get consent status
          headers:
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentConfirmationOfFundsStatusResponse'
        '400':
          description: Bad Request
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400_NG_AIS'
        '401':
          description: Unauthorized
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401_NG_AIS'
        '403':
          description: Forbidden
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403_NG_AIS'
        '404':
          description: Not found
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404_NG_AIS'
        '405':
          description: Method Not Allowed
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405_NG_AIS'
        '406':
          description: Not Acceptable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error406_NG_AIS'
        '408':
          description: Request Timeout
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '409':
          description: Conflict
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409_NG_AIS'
        '415':
          description: Unsupported Media Type
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '429':
          description: Too Many Requests
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429_NG_AIS'
        '500':
          description: Internal Server Error
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
        '503':
          description: Service Unavailable
          headers:
            Location:
              description: |
                Location of the created resource.
              schema:
                type: string
                format: url
            X-Request-ID:
              description: ID of the request, unique to the call, as determined by the initiating party.
              schema:
                type: string
                format: uuid
      summary: Get Consent Status
      tags:
        - Confirmation of Funds Service (PIIS)
x-components:
  examples:
    accountDetailsMulticurrencyAccount:
      description: Account details for a multicurrency account.
      value:
        account:
          _links:
            balances:
              href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances
            transactions:
              href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions
          cashAccountType: CACC
          currency: XXX
          iban: FR7612345987650123456789014
          name: Aggregation Account
          ownerName: Heike Mustermann
          product: Multicurrency Account
          resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
    accountDetailsRegularAccount:
      description: Account details for a regular Account.
      value:
        account:
          _links:
            balances:
              href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances
            transactions:
              href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions
          cashAccountType: CACC
          currency: EUR
          iban: FR7612345987650123456789014
          name: Main Account
          ownerName: Heike Mustermann
          product: Girokonto
          resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
    accountListExample1:
      description: Response in case of an example, where the consent has been given on two different IBANs.
      summary: Account list Example 1
      value:
        accounts:
          - _links:
              balances:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances
              transactions:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions
            cashAccountType: CACC
            currency: EUR
            iban: DE2310010010123456789
            name: Main Account
            product: Girokonto
            resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
          - _links:
              balances:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/balances
            cashAccountType: CACC
            currency: USD
            iban: DE2310010010123456788
            name: US Dollar Account
            product: Fremdwährungskonto
            resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e81g
    accountListExample2:
      description: |
        Response in case of an example where consent on transactions and balances has been given to a multicurrency account which has two sub-accounts with currencies EUR and USD, and where the ASPSP is giving the data access only on sub-account level.
      summary: Account list Example 2
      value:
        accounts:
          - _links:
              balances:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances
              transactions:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions
            cashAccountType: CACC
            currency: EUR
            iban: DE2310010010123456788
            name: Main Account
            product: Girokonto
            resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
          - _links:
              balances:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/balances
              transactions:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/transactions
            cashAccountType: CACC
            currency: USD
            iban: DE2310010010123456788
            name: US Dollar Account
            product: Fremdwährungskonto
            resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e81g
    accountListExample3:
      description: |
        Account list response in case of an example where consent on balances and transactions has been given to 
        a multicurrency account which has two sub-accounts with currencies EUR and USD and where the ASPSP is giving 
        the data access on aggregation level and on sub-account level.
      summary: Account list Example 3
      value:
        accounts:
          - _links:
              balances:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e333/balances
              transactions:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e333/transactions
            cashAccountType: CACC
            currency: XXX
            iban: DE2310010010123456788
            name: Aggregation Account
            product: Multi currency account
            resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
          - _links:
              balances:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances
              transactions:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions
            cashAccountType: CACC
            currency: EUR
            iban: DE2310010010123456788
            name: Main Account
            product: Girokonto
            resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
          - _links:
              balances:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/balances
              transactions:
                href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/transactions
            cashAccountType: CACC
            currency: USD
            iban: DE2310010010123456788
            name: US Dollar Account
            product: Fremdwährungskonto
            resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e81g
    authorisationConfirmationExample_Redirect:
      description: Authorisation confirmation request body for the redirect approach.
      value:
        confirmationCode: 2256ffgh
    authorisationConfirmationResponseExample:
      description: Response of an authorisation confirmation request.
      value:
        _links:
          status:
            href: /v136/payments/sepa-credit-transfers/qwer3456tzui7890/status
        scaStatus: finalised
    authorisationListExample:
      value:
        authorisationIds:
          - 123auth456
    balancesExample1_RegularAccount:
      description: Response for a read balance request in case of a regular account.
      value:
        account:
          iban: FR7612345987650123456789014
        balances:
          - balanceAmount:
              amount: '500.00'
              currency: EUR
            balanceType: closingBooked
            referenceDate: 2017-10-25T00:00:00.000Z
          - balanceAmount:
              amount: '900.00'
              currency: EUR
            balanceType: expected
            lastChangeDateTime: 2017-10-25T15:30:35.035Z
    balancesExample2_MulticurrencyAcount:
      description: |
        Response in case of a multicurrency account with one account in EUR, 
        one in USD, where the ASPSP has delivered a link to the balance endpoint relative to the aggregated 
        multicurrency account (aggregation level).
      value:
        balances:
          - balanceAmount:
              amount: '500.00'
              currency: EUR
            balanceType: closingBooked
            referenceDate: 2017-10-25T00:00:00.000Z
          - balanceAmount:
              amount: '900.00'
              currency: EUR
            balanceType: expected
            lastChangeDateTime: 2017-10-25T15:30:35.035Z
          - balanceAmount:
              amount: '350.00'
              currency: USD
            balanceType: closingBooked
            referenceDate: 2017-10-25T00:00:00.000Z
          - balanceAmount:
              amount: '350.00'
              currency: USD
            balanceType: expected
            lastChangeDateTime: 2017-10-24T14:30:21.000Z
    balancesExample_CardAccount:
      description: |
        Response in case of card account balance request.
      value:
        balances:
          - balanceAmount:
              amount: '14355.78'
              currency: EUR
            balanceType: interimBooked
          - balanceAmount:
              amount: '4175.86'
              currency: EUR
            balanceType: nonInvoiced
    cancellationsExample:
      value:
        cancellationIds:
          - 123auth456
    cardAccountDetailsExample:
      description: |
        Card account details example.
      summary: Card account details example 1
      value:
        cardAccount:
          _links:
            transactions:
              href: /v136/card-accounts/3d9a81b3-a47d-4130-8765-a9c0ff861b99/transactions
          balances:
            - balanceAmount:
                amount: '14355.78'
                currency: EUR
              balanceType: interimBooked
            - balanceAmount:
                amount: '4175.86'
                currency: EUR
              balanceType: nonInvoiced
          creditLimit:
            amount: '15000'
            currency: EUR
          currency: EUR
          name: Main
          ownerName: Heike Mustermann
          product: Basic Credit
          resourceId: 3d9a81b3-a47d-4130-8765-a9c0ff861b99
          status: enabled
    cardAccountListExample1:
      description: |
        Card account list example.
      summary: Card account list example 1
      value:
        cardAccounts:
          - _links:
              transactions:
                href: /v136/card-accounts/3d9a81b3-a47d-4130-8765-a9c0ff861b99/transactions
            balances:
              - balanceAmount:
                  amount: '14355.78'
                  currency: EUR
                balanceType: interimBooked
              - balanceAmount:
                  amount: '4175.86'
                  currency: EUR
                balanceType: nonInvoiced
            creditLimit:
              amount: '15000'
              currency: EUR
            currency: EUR
            name: Main
            product: Basic Credit
            resourceId: 3d9a81b3-a47d-4130-8765-a9c0ff861b99
            status: enabled
    confirmationOfFundsExample:
      description: Request body for a confirmation of funds.
      value:
        account:
          iban: DE23100120020123456789
        cardNumber: '12345678901234'
        instructedAmount:
          amount: '123'
          currency: EUR
    confirmationOfFundsResponseExample:
      description: Response for a confirmation of funds request.
      value:
        fundsAvailable: 'true'
    consentResponseExample1a_Redirect:
      description: Consent request response in case of a redirect.
      value:
        _links:
          scaRedirect:
            href: https://www.testbank.com/authentication/1234-wertiq-983
          scaStatus:
            href: v136/consents/1234-wertiq-983/authorisations/123auth567
          status:
            href: /v136/consents/1234-wertiq-983/status
        consentId: 1234-wertiq-983
        consentStatus: received
    consentResponseExample1b_Redirect:
      description: Consent request response in case of a redirect with a dedicated start of the authorisation process.
      value:
        _links:
          startAuthorisation:
            href: v136/consents/1234-wertiq-983/authorisations
        consentId: 1234-wertiq-983
        consentStatus: received
    consentResponseExample2_OAuth2:
      description: Response in case of the OAuth2 approach with an implicit generated authorisation resource.
      value:
        _links:
          scaOAuth:
            href: https://www.testbank.com/oauth/.well-known/oauth-authorization-server
          scaStatus:
            href: v136/consents/1234-wertiq-983/authorisations/123auth567
          self:
            href: /v136/consents/1234-wertiq-983
        consentId: 1234-wertiq-983
        consentStatus: received
    consentResponseExample3_Decoupled:
      description: Response in case of the decoupled approach.
      value:
        _links:
          startAuthorisationWithPsuIdentification:
            href: /v136/consents/1234-wertiq-983/authorisations
        consentId: 1234-wertiq-983
        consentStatus: received
    consentResponseExample4_Embedded:
      description: Response in case of the embedded approach.
      value:
        _links:
          startAuthorisationWithPsuAuthentication:
            href: /v136/consents/1234-wertiq-983/authorisations
        consentId: 1234-wertiq-983
        consentStatus: received
    consentStatusResponseExample1:
      description: Response for a consent status request.
      value:
        consentStatus: valid
    consentsExample_AccountList:
      description: Consent on account list of available accounts.
      value:
        access:
          availableAccounts: allAccounts
        frequencyPerDay: '1'
        recurringIndicator: 'false'
        validUntil: 2017-08-06T00:00:00.000Z
    consentsExample_DedicatedAccounts:
      description: Consent request on dedicated accounts.
      value:
        access:
          balances:
            - iban: DE40100100103307118608
            - currency: USD
              iban: DE02100100109307118603
            - iban: DE67100100101306118605
          transactions:
            - iban: DE40100100103307118608
        frequencyPerDay: '4'
        recurringIndicator: 'true'
        validUntil: 2017-11-01T00:00:00.000Z
    consentsExample_without_Accounts:
      description: Consent request on account list or without indication of accounts.
      value:
        access:
          balances: []
          transactions: []
        frequencyPerDay: '4'
        recurringIndicator: 'true'
        validUntil: 2017-11-01T00:00:00.000Z
    consentsInformationResponseExample:
      description: Consent request on account list or without indication of accounts.
      value:
        _links:
          account:
            href: /v136/accounts
        access:
          balances:
            - iban: DE2310010010123456789
          transactions:
            - iban: DE2310010010123456789
        consentStatus: valid
        frequencyPerDay: '4'
        recurringIndicator: 'true'
        validUntil: 2017-11-01T00:00:00.000Z
    createSigningBasketResponseExample1:
      description: Response (always with explicit authorisation start).
      value:
        _links:
          self:
            href: /v136/signing-baskets/1234-basket-567
          startAuthorisation:
            href: /v136/signing-baskets/1234-basket-567/authorisations
          status:
            href: /v136/signing-baskets/1234-basket-567/status
        basketId: 1234-basket-567
        transactionStatus: RCVD
    getSigningBasketResponseExample1:
      value:
        payments:
          - 1234pay567
          - 1234pay568
          - 1234pay888
        transactionStatus: ACTC
    ibanExampleDe_01:
      value: DE02100100109307118603
    ibanExampleDe_02:
      value: DE23100120020123456789
    ibanExampleDe_03:
      value: DE40100100103307118608
    ibanExampleDe_04:
      value: DE67100100101306118605
    ibanExampleDe_05:
      value: DE87200500001234567890
    ibanExampleFr_01:
      value: FR7612345987650123456789014
    ibanExampleNl_01:
      value: NL76RABO0359400371
    ibanExampleSe_01:
      value: SE9412309876543211234567
    pain.001.001_SCT_singleTransaction:
      description: A pain.001.001.03 message in case of SCT
      value: |
        <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
          <CstmrCdtTrfInitn>
            <GrpHdr>
              <MsgId>MIPI-123456789RI-123456789</MsgId>
              <CreDtTm>2017-02-14T20:23:34.000Z</CreDtTm>
              <NbOfTxs>1</NbOfTxs>
              <CtrlSum>123</CtrlSum>
              <InitgPty>
                <Nm>PaymentInitiator</Nm>
                <Id><OrgId><Othr><Id>DE10000000012</Id>
                  <SchmeNm><Prptry>PISP</Prptry></SchmeNm></Othr></OrgId></Id>
              </InitgPty>
            </GrpHdr> 
            <PmtInf> 
              <PmtInfId>BIPI-123456789RI-123456789</PmtInfId>
              <PmtMtd>TRF</PmtMtd> 
              <NbOfTxs>1</NbOfTxs>
              <CtrlSum>123</CtrlSum>
              <PmtTpInf><SvcLvl><Cd>SEPA</Cd></SvcLvl></PmtTpInf>
              <ReqdExctnDt>2017-02-15</ReqdExctnDt>
              <Dbtr><Nm>PSU Name</Nm></Dbtr>
              <DbtrAcct><Id><IBAN>DE87200500001234567890</IBAN></Id></DbtrAcct>
              <ChrgBr>SLEV</ChrgBr>
              <CdtTrfTxInf>
                <PmtId><EndToEndId>RI-123456789</EndToEndId></PmtId> 
                <Amt><InstdAmt Ccy="EUR">123</InstdAmt></Amt>
                <Cdtr><Nm>Merchant123</Nm></Cdtr>
                <CdtrAcct><Id><IBAN> DE23100120020123456789</IBAN></Id></CdtrAcct>
                <RmtInf><Ustrd>Ref Number Merchant-123456</Ustrd></RmtInf>
              </CdtTrfTxInf>
            </PmtInf>
          </CstmrCdtTrfInitn>
        </Document>
    pain.002.001_SCT_singleTransaction:
      description: A pain.002.001.03 message in case of SCT
      value: |
        <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
          <CstmrPmtStsRpt>
            <GrpHdr>
              <MsgId>4572457256725689726906</MsgId>
              <CreDtTm>2017-02-14T20:24:56.021Z</CreDtTm>
              <DbtrAgt><FinInstnId><BIC>ABCDDEFF</BIC></FinInstnId></DbtrAgt>
              <CdtrAgt><FinInstnId><BIC>DCBADEFF</BIC></FinInstnId></CdtrAgt>
            </GrpHdr>
            <OrgnlGrpInfAndSts>
              <OrgnlMsgId>MIPI-123456789RI-123456789</OrgnlMsgId>
              <OrgnlMsgNmId>pain.001.001.03</OrgnlMsgNmId>
              <OrgnlCreDtTm>2017-02-14T20:23:34.000Z</OrgnlCreDtTm>
              <OrgnlNbOfTxs>1</OrgnlNbOfTxs>
              <OrgnlCtrlSum>123</OrgnlCtrlSum>
              <GrpSts>ACCT</GrpSts>
            </OrgnlGrpInfAndSts>
            <OrgnlPmtInfAndSts>
              <OrgnlPmtInfId>BIPI-123456789RI-123456789</OrgnlPmtInfId>
              <OrgnlNbOfTxs>1</OrgnlNbOfTxs>
              <OrgnlCtrlSum>123</OrgnlCtrlSum>
              <PmtInfSts>ACCT</PmtInfSts>
            </OrgnlPmtInfAndSts>
          </CstmrPmtStsRpt>
        </Document>
    paymentInitiationCancelResponse-202:
      value:
        _links:
          self:
            href: /v136/payments/123456scheduled789
          startAuthorisation:
            href: /v136/payments/123456scheduled789/cancellation-authorisations
          status:
            href: /v136/payments/123456scheduled789/status
        transactionStatus: ACTC
    paymentInitiationExample_json_Decoupled:
      description: Response in case of the decoupled approach with explicit start of authorisation needed
      value:
        _links:
          self:
            href: /v136/payments/1234-wertiq-983
          startAuthorisationWithPsuIdentification:
            href: /v136/payments/1234-wertiq-983/authorisations
        paymentId: 1234-wertiq-983
        transactionStatus: RCVD
    paymentInitiationExample_json_Embedded:
      description: Response in case of the embedded approach with explicit start of authorisation
      value:
        _links:
          self:
            href: /v136/payments/1234-wertiq-983
          startAuthenticationWithPsuAuthentication:
            href: /v136/payments/1234-wertiq-983/authorisations
        paymentId: 1234-wertiq-983
        transactionStatus: RCVD
    paymentInitiationExample_json_OAuth2:
      description: Response in case of an OAuth2 SCA approach approach with implicitly creating an authorisation sub-resource
      value:
        _links:
          scaOAuth:
            href: https://www.testbank.com/oauth/.well-known/oauth-authorization-server
          scaStatus:
            href: /v136/payments/1234-wertiq-983/authorisations/123auth456
          self:
            href: /v136/payments/1234-wertiq-983
          status:
            href: /v136/payments/1234-wertiq-983/status
        paymentId: 1234-wertiq-983
        transactionStatus: RCVD
    paymentInitiationExample_json_Redirect:
      description: Response in case of a redirect with an implicitly created authorisation sub-resource
      value:
        _links:
          scaRedirect:
            href: https://www.testbank.com/asdfasdfasdf
          scaStatus:
            href: /v136/payments/1234-wertiq-983/authorisations/123auth456
          self:
            href: /v136/payments/sepa-credit-transfers/1234-wertiq-983
          status:
            href: /v136/payments/1234-wertiq-983/status
        paymentId: 1234-wertiq-983
        transactionStatus: RCVD
    paymentInitiationExample_json__RedirectExplicitAuthorisation:
      description: Response in case of a redirect with an explicit authorisation start
      value:
        _links:
          self:
            href: /v136/payments/1234-wertiq-983
          startAuthorisation:
            href: /v136/payments1234-wertiq-983/authorisations
          status:
            href: /v136/payments/1234-wertiq-983/status
        paymentId: 1234-wertiq-983
        transactionStatus: RCVD
    paymentInitiationSctBody_bulk-payments_json:
      value:
        batchBookingPreferred: 'true'
        debtorAccount:
          iban: DE40100100103307118608
        paymentInformationId: my-bulk-identification-1234
        payments:
          - creditorAccount:
              iban: DE02100100109307118603
            creditorName: Merchant123
            instructedAmount":
              amount: '123.50'
              currency: EUR
            remittanceInformationUnstructured: Ref Number Merchant 1
          - creditorAccount:
              iban: FR7612345987650123456789014
            creditorName: Merchant456
            instructedAmount":
              amount: '34.10'
              currency: EUR
            remittanceInformationUnstructured: Ref Number Merchant 2
        requestedExecutionDate: 2018-08-01T00:00:00.000Z
    paymentInitiationSctBody_payments_json:
      value:
        creditorAccount:
          iban: DE02100100109307118603
        creditorName: Merchant123
        debtorAccount:
          iban: DE40100100103307118608
        instructedAmount:
          amount: '123.50'
          currency: EUR
        remittanceInformationUnstructured: Ref Number Merchant
    paymentInitiationSctBody_periodic-payments_json:
      value:
        creditorAccount:
          iban: DE23100120020123456789
        creditorName: Merchant123
        dayOfExecution: '01'
        debtorAccount:
          iban: DE40100100103307118608
        executionRule: preceding
        frequency: Monthly
        instructedAmount:
          amount: '123'
          currency: EUR
        remittanceInformationUnstructured: Ref Number Abonnement
        startDate: 2018-03-01T00:00:00.000Z
    paymentInitiationStatusResponse_json_Extended:
      value: |
        { 
          "transactionStatus": "ACCP",
          "scaStatus": "received"
        }
    paymentInitiationStatusResponse_json_Simple:
      value:
        transactionStatus: ACCP
    selectPsuAuthenticationMethodExample_Embedded:
      description: Select PSU authentication method request body for the embedded approach.
      value:
        authenticationMethodId: myAuthenticationID
    selectPsuAuthenticationMethodResponseExample_Embedded_payments:
      description: Response of a select PSU authentication method payment initiation request for the embedded approach
      value:
        _links:
          authoriseTransaction:
            href: /v136/payments/1234-wertiq-983/authorisations/123auth456
        challengeData:
          otpFormat: integer
          otpMaxLength: '6'
        chosenScaMethod:
          authenticationMethodId: myAuthenticationID
          authenticationType: SMS_OTP
        scaStatus: scaMethodSelected
    signingBasketExample:
      description: JSON Body of a signing basket request
      value:
        paymentIds:
          - 123qwert456789
          - 12345qwert7899
    startScaProcessResponseExample1:
      value:
        _links:
          scaStatus:
            href: /v136/payments/qwer3456tzui7890/authorisations/123auth456
        authorisationId: 123auth456
        psuMessage: Please use your BankApp for transaction Authorisation.
        scaStatus: received
    transactionAuthorisationExample_Embedded:
      description: Transaction authorisation request body for the embedded approach.
      value:
        scaAuthenticationData: '123456'
    transactionAuthorisationResponseExample:
      description: Response of a Transaction Authorisation request for the embedded approach.
      value:
        scaStatus: finalised
    transactionDetailsExample:
      description: Example for transaction details.
      value:
        transactionsDetails:
          bankTransactionCode: PMNT-RDDT-ESDD
          bookingDate: 2017-10-25T00:00:00.000Z
          creditorAccount:
            iban: DE67100100101306118605
          creditorName: John Miles
          mandateId: Mandate-2018-04-20-1234
          remittanceInformationUnstructured: Example 1
          transactionAmount:
            amount: '-256.67'
            currency: EUR
          transactionId: '1234567'
          valueDate: 2017-10-26T00:00:00.000Z
    transactionsExample1_RegularAccount_json:
      description: Response in JSON format for an access on a regular account.
      value:
        account:
          iban: DE2310010010123456788
        transactions:
          _links:
            account:
              href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f
          booked:
            - bookingDate: 2017-10-25T00:00:00.000Z
              creditorAccount:
                iban: DE67100100101306118605
              creditorName: John Miles
              remittanceInformationUnstructured: Example 1
              transactionAmount:
                amount: '256.67'
                currency: EUR
              transactionId: '1234567'
              valueDate: 2017-10-26T00:00:00.000Z
            - bookingDate: 2017-10-25T00:00:00.000Z
              debtorAccount:
                iban: NL76RABO0359400371
              debtorName: Paul Simpson
              remittanceInformationUnstructured: Example 2
              transactionAmount:
                amount: '343.01'
                currency: EUR
              transactionId: '1234568'
              valueDate: 2017-10-26T00:00:00.000Z
          pending:
            - creditorAccount:
                iban: FR7612345987650123456789014
              creditorName: Claude Renault
              remittanceInformationUnstructured: Example 3
              transactionAmount:
                amount: '-100.03'
                currency: EUR
              transactionId: '1234569'
              valueDate: 2017-10-26T00:00:00.000Z
    transactionsExample2_Download_json:
      description: Response in case of huge data amount as a download.
      value:
        _links:
          download:
            href: www.test-api.com/xs2a/v136/accounts/12345678999/transactions/download/
    transactionsExample3_MulticurrencyAccount_json:
      description: Response in JSON format for an access on a multicurrency account on aggregation level
      value:
        account:
          iban: DE40100100103307118608
        transactions:
          _links:
            account:
              href: /v136/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f
          booked:
            - bookingDate: 2017-10-25T00:00:00.000Z
              creditorAccount:
                iban: DE67100100101306118605
              creditorName: John Miles
              remittanceInformationUnstructured: Example 1
              transactionAmount:
                amount: '-256.67'
                currency: EUR
              transactionId: '1234567'
              valueDate: 2017-10-26T00:00:00.000Z
            - bookingDate: 2017-10-25T00:00:00.000Z
              debtorAccount:
                iban: NL76RABO0359400371
              debtorName: Paul Simpson
              remittanceInformationUnstructured: Example 2
              transactionAmount:
                amount: '343.01'
                currency: EUR
              transactionId: '1234568'
              valueDate: 2017-10-26T00:00:00.000Z
            - bookingDate: 2017-10-25T00:00:00.000Z
              debtorAccount:
                iban: SE9412309876543211234567
              debtorName: Pepe Martin
              remittanceInformationUnstructured: Example 3
              transactionAmount:
                amount: '100'
                currency: USD
              transactionId: '1234569'
              valueDate: 2017-10-26T00:00:00.000Z
          pending:
            - creditorAccount:
                iban: FR7612345987650123456789014
              creditorName: Claude Renault
              remittanceInformationUnstructured: Example 4
              transactionAmount:
                amount: '-100.03'
                currency: EUR
              transactionId: '1234570'
              valueDate: 2017-10-26T00:00:00.000Z
    updatePsuAuthenticationExample_Embedded:
      description: Update PSU authentication request body for the embedded approach.
      value:
        psuData:
          password: start12
    updatePsuAuthenticationResponseExample_Embedded_payments:
      description: Response of an update PSU authentication for a consent request for the embedded approach.
      value:
        _links:
          authoriseTransaction:
            href: /v136/payments/1234-wertiq-983/authorisations/123auth456
        scaStatus: psuAuthenticated
    updatePsuIdentificationResponseExample_Decoupled_payments:
      description: Response of an update PSU identification for a payment initiation request for the decoupled approach.
      value:
        _links:
          scaStatus:
            href: /v136/payments/qwer3456tzui7890/authorisations/123auth456
        psuMessage: Please use your BankApp for transaction Authorisation.
        scatransactionStatus: psuIdentified
    uuidExample:
      value: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
  headers:
    ASPSP-Notification-Content:
      description: |
        The string has the form
        status=X1, …, Xn
        where Xi is one of the constants SCA, PROCESS, LAST and where constants are not repeated.
        The usage of the constants supports the following semantics
        SCA - Notification on every change of the scaStatus attribute for all related authorisation processes is provided by the ASPSP for the related resource.
        PROCESS - Notification on all changes of consentStatus or transactionStatus attributes is provided by the ASPSP for the related resource
        LAST - Notification on the last consentStatus or transactionStatus as available in the XS2A interface is provided by the ASPSP for the related resource.
        This field must be provided if the ASPSP-Notification-Support=true. The ASPSP might consider the notification content as preferred by the TPP, but can also respond independently of the preferred request    
      required: false
      type: string
    ASPSP-Notification-Support:
      description: |
        true if the ASPSP supports resource status notification services.

        false if the ASPSP supports resource status notification in general, but not for the current request.

        Not used, if resource status notification services are generally not supported by the ASPSP.

        Shall be supported if the ASPSP supports resource status notification services.
      required: false
      type: boolean
    ASPSP-SCA-Approach:
      description: |
        This data element must be contained, if the SCA Approach is already fixed.
        Possible values are
          * EMBEDDED
          * DECOUPLED
          * REDIRECT
        The OAuth SCA approach will be subsumed by REDIRECT.
      required: false
      type: string
    Location:
      description: |
        Location of the created resource.
      format: url
      required: false
      type: string
    X-Request-ID:
      description: ID of the request, unique to the call, as determined by the initiating party.
      example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
      format: uuid
      required: true
      type: string
  parameters:
    Authorization:
      description: |
        This field  might be used in case where a consent was agreed between ASPSP and PSU through an OAuth2 based protocol, 
        facilitated by the TPP.
      in: header
      name: Authorization
      required: false
      type: string
    Digest:
      description: Is contained if and only if the "Signature" element is contained in the header of the request.
      in: header
      name: Digest
      required: false
      type: string
      x-example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
    PSU-Accept:
      description: |
        The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
      in: header
      name: PSU-Accept
      required: false
      type: string
    PSU-Accept-Charset:
      description: |
        The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
      in: header
      name: PSU-Accept-Charset
      required: false
      type: string
    PSU-Accept-Encoding:
      description: |
        The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
      in: header
      name: PSU-Accept-Encoding
      required: false
      type: string
    PSU-Accept-Language:
      description: |
        The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
      in: header
      name: PSU-Accept-Language
      required: false
      type: string
    PSU-Corporate-ID:
      description: |
        Might be mandated in the ASPSP's documentation. Only used in a corporate context.
      in: header
      name: PSU-Corporate-ID
      required: false
      type: string
    PSU-Corporate-ID-Type:
      description: |
        Might be mandated in the ASPSP's documentation. Only used in a corporate context.
      in: header
      name: PSU-Corporate-ID-Type
      required: false
      type: string
    PSU-Device-ID:
      description: |
        UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.
        UUID identifies either a device or a device dependant application installation.
        In case of an installation identification this ID needs to be unaltered until removal from device.
      format: uuid
      in: header
      name: PSU-Device-ID
      required: false
      type: string
      x-example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
    PSU-Geo-Location:
      description: |
        The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
      in: header
      name: PSU-Geo-Location
      pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      required: false
      type: string
      x-example: GEO:52.506931;13.144558
    PSU-Http-Method:
      description: |
        HTTP method used at the PSU ? TPP interface, if available.
        Valid values are:
        * GET
        * POST
        * PUT
        * PATCH
        * DELETE
      enum:
        - GET
        - POST
        - PUT
        - PATCH
        - DELETE
      in: header
      name: PSU-Http-Method
      required: false
      type: string
    PSU-ID:
      description: |
        Client ID of the PSU in the ASPSP client interface. 

        Might be mandated in the ASPSP's documentation.

        It might be contained even if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceding
        AIS service in the same session.
        In this case the ASPSP might check whether PSU-ID and token match, 
        according to ASPSP documentation.
      in: header
      name: PSU-ID
      required: false
      type: string
      x-example: PSU-1234
    PSU-ID-Type:
      description: |
        Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility.

        In this case, the mean and use are then defined in the ASPSP’s documentation.
      in: header
      name: PSU-ID-Type
      required: false
      type: string
    PSU-IP-Address_conditionalForAis:
      description: |
        The forwarded IP Address header field consists of the corresponding HTTP request 
        IP Address field between PSU and TPP. 
        It shall be contained if and only if this request was actively initiated by the PSU.
      format: ipv4
      in: header
      name: PSU-IP-Address
      required: false
      type: string
      x-example: 192.168.8.78
    PSU-IP-Address_mandatory:
      description: |
        The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
        If not available, the TPP shall use the IP Address used by the TPP when submitting this request.
      format: ipv4
      in: header
      name: PSU-IP-Address
      required: true
      type: string
      x-example: 192.168.8.78
    PSU-IP-Address_optional:
      description: |
        The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP.
      format: ipv4
      in: header
      name: PSU-IP-Address
      required: false
      type: string
      x-example: 192.168.8.78
    PSU-IP-Port:
      description: |
        The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
      in: header
      name: PSU-IP-Port
      required: false
      type: string
      x-example: '1234'
    PSU-User-Agent:
      description: |
        The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
      in: header
      name: PSU-User-Agent
      required: false
      type: string
    Signature:
      description: |
        A signature of the request by the TPP on application level. This might be mandated by ASPSP.
      in: header
      name: Signature
      required: false
      type: string
      x-example: |
        keyId="SN=9FA1,CA=CN=D-TRUST%20CA%202-1%202015,O=D-Trust%20GmbH,C=DE",algorithm="rsa-sha256", headers="Digest X-Request-ID PSU-ID TPP-Redirect-URI Date", signature="Base64(RSA-SHA256(signing string))"
    TPP-Brand-Logging-Information:
      description: |
        This header might be used by TPPs to inform the ASPSP about the brand used by the TPP towards the PSU. 
        This information is meant for logging entries to enhance communication between ASPSP and PSU or ASPSP and TPP. 
        This header might be ignored by the ASPSP.
      in: header
      name: TPP-Brand-Logging-Information
      required: false
      type: string
    TPP-Explicit-Authorisation-Preferred:
      description: |
        If it equals "true", the TPP prefers to start the authorisation process separately, 
        e.g. because of the usage of a signing basket. 
        This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality.

        If it equals "false" or if the parameter is not used, there is no preference of the TPP. 
        This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, 
        without using a signing basket.
      in: header
      name: TPP-Explicit-Authorisation-Preferred
      required: false
      type: boolean
    TPP-Nok-Redirect-URI:
      description: |
        If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case
        of a negative result of the redirect SCA method. This might be ignored by the ASPSP.
      format: uri
      in: header
      name: TPP-Nok-Redirect-URI
      required: false
      type: string
    TPP-Notification-Content-Preferred:
      description: |
        The string has the form 

        status=X1, ..., Xn

        where Xi is one of the constants SCA, PROCESS, LAST and where constants are not
        repeated.
        The usage of the constants supports the of following semantics:

          SCA: A notification on every change of the scaStatus attribute for all related authorisation processes is preferred by the TPP.

          PROCESS: A notification on all changes of consentStatus or transactionStatus attributes is preferred by the TPP.
          LAST: Only a notification on the last consentStatus or transactionStatus as available in the XS2A interface is preferred by the TPP.

        This header field may be ignored, if the ASPSP does not support resource notification services for the related TPP.
      in: header
      name: TPP-Notification-Content-Preferred
      required: false
      type: string
    TPP-Notification-URI:
      description: |
        URI for the Endpoint of the TPP-API to which the status of the payment initiation should be sent.
        This header field may by ignored by the ASPSP.

        For security reasons, it shall be ensured that the TPP-Notification-URI as introduced above is secured by the TPP eIDAS QWAC used for identification of the TPP. The following applies:

        URIs which are provided by TPPs in TPP-Notification-URI shall comply with the domain secured by the eIDAS QWAC certificate of the TPP in the field CN or SubjectAltName of the certificate. Please note that in case of example-TPP.com as certificate entry TPP- Notification-URI like www.example-TPP.com/xs2a-client/v136/ASPSPidentifcation/mytransaction- id/notifications or notifications.example-TPP.com/xs2a-client/v136/ASPSPidentifcation/mytransaction- id/notifications would be compliant.

        Wildcard definitions shall be taken into account for compliance checks by the ASPSP.
         ASPSPs may respond with ASPSP-Notification-Support set to false, if the provided URIs do not comply.
      in: header
      name: TPP-Notification-URI
      required: false
      type: string
    TPP-Redirect-Preferred:
      description: |
        If it equals "true", the TPP prefers a redirect over an embedded SCA approach.
        If it equals "false", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled
        SCA approach, depending on the choice of the SCA procedure by the TPP/PSU.
        If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the
        TPP/PSU.
      in: header
      name: TPP-Redirect-Preferred
      required: false
      type: boolean
    TPP-Redirect-URI:
      description: |
        URI of the TPP, where the transaction flow shall be redirected to after a Redirect.

        Mandated for the Redirect SCA Approach, specifically 
        when TPP-Redirect-Preferred equals "true".
        It is recommended to always use this header field.

        **Remark for Future:** 
        This field might be changed to mandatory in the next version of the specification.
      format: uri
      in: header
      name: TPP-Redirect-URI
      required: false
      type: string
    TPP-Rejection-NoFunds-Preferred:
      description: |
        If it equals "true" then the TPP prefers a rejection of the payment initiation in case the ASPSP is 
        providing an integrated confirmation of funds request an the result of this is that not sufficient 
        funds are available.

        If it equals "false" then the TPP prefers that the ASPSP is dealing with the payment initiation like 
        in the ASPSPs online channel, potentially waiting for a certain time period for funds to arrive to initiate the payment.

        This parameter might be ignored by the ASPSP.
      in: header
      name: TPP-Rejection-NoFunds-Preferred
      required: false
      type: boolean
    TPP-Signature-Certificate:
      description: |
        The certificate used for signing the request, in base64 encoding. 
        Must be contained if a signature is contained.
      format: byte
      in: header
      name: TPP-Signature-Certificate
      required: false
      type: string
    X-Request-ID:
      description: ID of the request, unique to the call, as determined by the initiating party.
      format: uuid
      in: header
      name: X-Request-ID
      required: true
      type: string
      x-example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
    accountId:
      description: |
        This identification is denoting the addressed account. 
        The account-id is retrieved by using a "Read account list" call.
        The account-id is the "id" attribute of the account structure. 
        Its value is constant at least throughout the lifecycle of a given consent.
      in: path
      name: account-id
      required: true
      type: string
    authorisationId:
      description: Resource identification of the related SCA.
      in: path
      name: authorisationId
      required: true
      type: string
    basketId_PATH:
      description: |
        This identification of the corresponding signing basket object.
      in: path
      name: basketId
      required: true
      type: string
    bookingStatus:
      description: |
        Permitted codes are 
          * "information",
          * "booked",
          * "pending", and 
          * "both"
        "booked" shall be supported by the ASPSP.
        To support the "pending" and "both" feature is optional for the ASPSP, 
        Error code if not supported in the online banking frontend
      enum:
        - information
        - booked
        - pending
        - both
      in: query
      name: bookingStatus
      required: true
      type: string
    cancellationId:
      description: Identification for cancellation resource.
      in: path
      name: cancellationId
      required: true
      type: string
    consentId_HEADER_mandatory:
      description: |
        This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
      in: header
      name: Consent-ID
      required: true
      type: string
    consentId_HEADER_optional:
      description: |
        This data element may be contained, if the payment initiation transaction is part of a session, i.e. combined AIS/PIS service.
        This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
      in: header
      name: Consent-ID
      required: false
      type: string
    consentId_PATH:
      description: |
        ID of the corresponding consent object as returned by an account information consent request.
      in: path
      name: consentId
      required: true
      type: string
    dateFrom:
      description: |
        Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required
        and if bookingStatus does not equal "information.

        For booked transactions, the relevant date is the booking date. 

        For pending transactions, the relevant date is the entry date, which may not be transparent 
        neither in this API nor other channels of the ASPSP.
      format: date
      in: query
      name: dateFrom
      required: false
      type: string
    dateTo:
      description: |
        End date (inclusive the data dateTo) of the transaction list, default is "now" if not given. 

        Might be ignored if a delta function is used.

        For booked transactions, the relevant date is the booking date. 

        For pending transactions, the relevant date is the entry date, which may not be transparent 
        neither in this API nor other channels of the ASPSP.
      format: date
      in: query
      name: dateTo
      required: false
      type: string
    deltaList:
      description: |-
        This data attribute is indicating that the AISP is in favour to get all transactions after the last report access for this PSU on the addressed account. This is another implementation of a delta access-report.
        This delta indicator might be rejected by the ASPSP if this function is not supported.
        Optional if supported by API provider
      in: query
      name: deltaList
      type: boolean
    entryReferenceFrom:
      description: |
        This data attribute is indicating that the AISP is in favour to get all transactions after 
        the transaction with identification entryReferenceFrom alternatively to the above defined period. 
        This is a implementation of a delta access. 
        If this data element is contained, the entries "dateFrom" and "dateTo" might be ignored by the ASPSP 
        if a delta report is supported.

        Optional if supported by API provider.
      in: query
      name: entryReferenceFrom
      required: false
      type: string
    paymentId:
      description: Resource identification of the generated payment initiation resource.
      in: path
      name: paymentId
      required: true
      type: string
    paymentProduct:
      description: |
        The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT).
        The ASPSP will publish which of the payment products/endpoints will be supported.

        The following payment products are supported:
          - sepa-credit-transfers
          - instant-sepa-credit-transfers
          - target-2-payments
          - cross-border-credit-transfers
          - pain.001-sepa-credit-transfers
          - pain.001-instant-sepa-credit-transfers
          - pain.001-target-2-payments
          - pain.001-cross-border-credit-transfers

        **Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, 
        the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. 
        Further XML schemes might be supported by some communities.

        **Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. 
        There are plenty of country specificic scheme variants.
      enum:
        - sepa-credit-transfers
        - instant-sepa-credit-transfers
        - target-2-payments
        - cross-border-credit-transfers
        - pain.001-sepa-credit-transfers
        - pain.001-instant-sepa-credit-transfers
        - pain.001-target-2-payments
        - pain.001-cross-border-credit-transfers
      in: path
      name: payment-product
      required: true
      type: string
    paymentService:
      description: |
        Payment service:

        Possible values are:
        * payments
        * bulk-payments
        * periodic-payments
      enum:
        - payments
        - bulk-payments
        - periodic-payments
      in: path
      name: payment-service
      required: true
      type: string
    transactionId:
      description: |
        This identification is given by the attribute transactionId of the corresponding entry of a transaction list.
      in: path
      name: transactionId
      required: true
      type: string
    withBalanceQuery:
      description: |
        If contained, this function reads the list of accessible payment accounts including the booking balance, 
        if granted by the PSU in the related consent and available by the ASPSP. 
        This parameter might be ignored by the ASPSP. 
      in: query
      name: withBalance
      required: false
      type: boolean
  requestBodies:
    confirmationOfFunds:
      description: |
        Request body for a confirmation of funds request.
      in: body
      name: body
      required: true
      schema:
        $ref: '#/components/schemas/confirmationOfFunds'
    consents:
      description: |
        Request body for a consents request.
      in: body
      name: body
      schema:
        $ref: '#/components/schemas/consents'
    paymentInitiation:
      description: |
        JSON request body for a payment inition request message.

        There are the following payment-products supported:
          * "sepa-credit-transfers" with JSON-Body
          * "instant-sepa-credit-transfers" with JSON-Body
          * "target-2-payments" with JSON-Body
          * "cross-border-credit-transfers" with JSON-Body
          * "pain.001-sepa-credit-transfers" with XML pain.001.001.03 body for SCT scheme
          * "pain.001-instant-sepa-credit-transfers" with XML pain.001.001.03 body for SCT INST scheme
          * "pain.001-target-2-payments" with pain.001 body. 
            Only country specific schemes are currently available
          * "pain.001-cross-border-credit-transfers" with pain.001 body. 
            Only country specific schemes are currently available

        There are the following payment-services supported:
          * "payments"
          * "periodic-payments"
          * "bulk-paments"

        All optional, conditional and predefined but not yet used fields are defined.
      in: body
      name: body
      required: true
      schema: {}
    signingBasket:
      description: |
        Request body for a confirmation of an establishing signing basket request.
      in: body
      name: body
      schema:
        $ref: '#/components/schemas/signingBasket'
  responses:
    BAD_REQUEST_400_AIS:
      description: Bad Request
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error400_NG_AIS'
    BAD_REQUEST_400_PIIS:
      description: Bad Request
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error400_NG_AIS'
    BAD_REQUEST_400_PIS:
      description: Bad Request
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error400_NG_PIS'
    BAD_REQUEST_400_SBS:
      description: Bad Request
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error400_NG_SBS'
    CONFLICT_409_AIS:
      description: Conflict
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error409_NG_AIS'
    CONFLICT_409_PIIS:
      description: Conflict
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error409_NG_PIIS'
    CONFLICT_409_PIS:
      description: Conflict
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error409_NG_PIS'
    CONFLICT_409_SBS:
      description: Conflict
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error409_NG_SBS'
    CREATED_201_Consents:
      description: Created
      headers:
        ASPSP-Notification-Content:
          description: |
            The string has the form
            status=X1, …, Xn
            where Xi is one of the constants SCA, PROCESS, LAST and where constants are not repeated.
            The usage of the constants supports the following semantics
            SCA - Notification on every change of the scaStatus attribute for all related authorisation processes is provided by the ASPSP for the related resource.
            PROCESS - Notification on all changes of consentStatus or transactionStatus attributes is provided by the ASPSP for the related resource
            LAST - Notification on the last consentStatus or transactionStatus as available in the XS2A interface is provided by the ASPSP for the related resource.
            This field must be provided if the ASPSP-Notification-Support=true. The ASPSP might consider the notification content as preferred by the TPP, but can also respond independently of the preferred request    
          required: false
          type: string
        ASPSP-Notification-Support:
          description: |
            true if the ASPSP supports resource status notification services.

            false if the ASPSP supports resource status notification in general, but not for the current request.

            Not used, if resource status notification services are generally not supported by the ASPSP.

            Shall be supported if the ASPSP supports resource status notification services.
          required: false
          type: boolean
        ASPSP-SCA-Approach:
          description: |
            This data element must be contained, if the SCA Approach is already fixed.
            Possible values are
              * EMBEDDED
              * DECOUPLED
              * REDIRECT
            The OAuth SCA approach will be subsumed by REDIRECT.
          required: false
          type: string
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/consentsResponse-201'
    CREATED_201_PaymentInitiation:
      description: CREATED
      headers:
        ASPSP-Notification-Content:
          description: |
            The string has the form
            status=X1, …, Xn
            where Xi is one of the constants SCA, PROCESS, LAST and where constants are not repeated.
            The usage of the constants supports the following semantics
            SCA - Notification on every change of the scaStatus attribute for all related authorisation processes is provided by the ASPSP for the related resource.
            PROCESS - Notification on all changes of consentStatus or transactionStatus attributes is provided by the ASPSP for the related resource
            LAST - Notification on the last consentStatus or transactionStatus as available in the XS2A interface is provided by the ASPSP for the related resource.
            This field must be provided if the ASPSP-Notification-Support=true. The ASPSP might consider the notification content as preferred by the TPP, but can also respond independently of the preferred request    
          required: false
          type: string
        ASPSP-Notification-Support:
          description: |
            true if the ASPSP supports resource status notification services.

            false if the ASPSP supports resource status notification in general, but not for the current request.

            Not used, if resource status notification services are generally not supported by the ASPSP.

            Shall be supported if the ASPSP supports resource status notification services.
          required: false
          type: boolean
        ASPSP-SCA-Approach:
          description: |
            This data element must be contained, if the SCA Approach is already fixed.
            Possible values are
              * EMBEDDED
              * DECOUPLED
              * REDIRECT
            The OAuth SCA approach will be subsumed by REDIRECT.
          required: false
          type: string
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/paymentInitationRequestResponse-201'
    CREATED_201_SigningBasket:
      description: Created
      headers:
        ASPSP-Notification-Content:
          description: |
            The string has the form
            status=X1, …, Xn
            where Xi is one of the constants SCA, PROCESS, LAST and where constants are not repeated.
            The usage of the constants supports the following semantics
            SCA - Notification on every change of the scaStatus attribute for all related authorisation processes is provided by the ASPSP for the related resource.
            PROCESS - Notification on all changes of consentStatus or transactionStatus attributes is provided by the ASPSP for the related resource
            LAST - Notification on the last consentStatus or transactionStatus as available in the XS2A interface is provided by the ASPSP for the related resource.
            This field must be provided if the ASPSP-Notification-Support=true. The ASPSP might consider the notification content as preferred by the TPP, but can also respond independently of the preferred request    
          required: false
          type: string
        ASPSP-Notification-Support:
          description: |
            true if the ASPSP supports resource status notification services.

            false if the ASPSP supports resource status notification in general, but not for the current request.

            Not used, if resource status notification services are generally not supported by the ASPSP.

            Shall be supported if the ASPSP supports resource status notification services.
          required: false
          type: boolean
        ASPSP-SCA-Approach:
          description: |
            This data element must be contained, if the SCA Approach is already fixed.
            Possible values are
              * EMBEDDED
              * DECOUPLED
              * REDIRECT
            The OAuth SCA approach will be subsumed by REDIRECT.
          required: false
          type: string
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/signingBasketResponse-201'
    CREATED_201_StartScaProcess:
      description: Created
      headers:
        ASPSP-SCA-Approach:
          description: |
            This data element must be contained, if the SCA Approach is already fixed.
            Possible values are
              * EMBEDDED
              * DECOUPLED
              * REDIRECT
            The OAuth SCA approach will be subsumed by REDIRECT.
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/startScaprocessResponse'
    FORBIDDEN_403_AIS:
      description: Forbidden
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error403_NG_AIS'
    FORBIDDEN_403_PIIS:
      description: Forbidden
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error403_NG_PIIS'
    FORBIDDEN_403_PIS:
      description: Forbidden
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error403_NG_PIS'
    FORBIDDEN_403_SBS:
      description: Forbidden
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error403_NG_SBS'
    INTERNAL_SERVER_ERROR_500_AIS:
      description: Internal Server Error
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    INTERNAL_SERVER_ERROR_500_PIIS:
      description: Internal Server Error
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    INTERNAL_SERVER_ERROR_500_PIS:
      description: Internal Server Error
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    INTERNAL_SERVER_ERROR_500_SBS:
      description: Internal Server Error
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    METHOD_NOT_ALLOWED_405_AIS:
      description: Method Not Allowed
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error405_NG_AIS'
    METHOD_NOT_ALLOWED_405_PIIS:
      description: Method Not Allowed
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error405_NG_PIIS'
    METHOD_NOT_ALLOWED_405_PIS:
      description: Method Not Allowed
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error405_NG_PIS'
    METHOD_NOT_ALLOWED_405_PIS_CANC:
      description: Method Not Allowed
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error405_NG_PIS_CANC'
    METHOD_NOT_ALLOWED_405_SBS:
      description: Method Not Allowed
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error405_NG_SBS'
    NOT_ACCEPTABLE_406_AIS:
      description: Not Acceptable
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error406_NG_AIS'
    NOT_ACCEPTABLE_406_PIIS:
      description: Not Acceptable
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    NOT_ACCEPTABLE_406_PIS:
      description: Not Acceptable
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    NOT_ACCEPTABLE_406_SBS:
      description: Not Acceptable
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    NOT_FOUND_404_AIS:
      description: Not found
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error404_NG_AIS'
    NOT_FOUND_404_PIIS:
      description: Not found
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error404_NG_PIIS'
    NOT_FOUND_404_PIS:
      description: Not found
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error404_NG_PIS'
    NOT_FOUND_404_SBS:
      description: Not found
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error404_NG_SBS'
    NO_CONTENT_204_Consents:
      description: No Content
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    NO_CONTENT_204_PaymentInitiationCancel:
      description: No Content
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    NO_CONTENT_204_SigningBasket:
      description: No Content
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    OK_200_AccountDetails:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        properties:
          account:
            $ref: '#/components/schemas/accountDetails'
        required:
          - account
        type: object
    OK_200_AccountList:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/accountList'
    OK_200_AccountsTransactions:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/transactionsResponse-200_json'
    OK_200_Authorisations:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/authorisations'
    OK_200_Balances:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/readAccountBalanceResponse-200'
    OK_200_CancellationList:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/cancellations'
    OK_200_CardAccountBalances:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/readCardAccountBalanceResponse-200'
    OK_200_CardAccountDetails:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        properties:
          cardAccount:
            $ref: '#/components/schemas/cardAccountDetails'
        required:
          - cardAccount
        type: object
    OK_200_CardAccountList:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/cardAccountList'
    OK_200_CardAccountsTransactions:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/cardAccountsTransactionsResponse200'
    OK_200_ConfirmationOfFunds:
      description: OK
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        description: |
          Equals "true" if sufficient funds are available at the time of the request, 
          "false" otherwise.
        properties:
          fundsAvailable:
            $ref: '#/components/schemas/fundsAvailable'
        required:
          - fundsAvailable
        type: object
    OK_200_ConsentInformation:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/consentInformationResponse-200_json'
    OK_200_ConsentStatus:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/consentStatusResponse-200'
    OK_200_GetSigningBasket:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/signingBasketResponse-200'
    OK_200_PaymentInitiationInformation:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema: {}
    OK_200_PaymentInitiationStatus:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/paymentInitiationStatusResponse-200_json'
    OK_200_ScaStatus:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/scaStatusResponse'
    OK_200_SigningBasketStatus:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/signingBasketStatusResponse-200'
    OK_200_TransactionDetails:
      description: OK
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        properties:
          transactionsDetails:
            $ref: '#/components/schemas/transactionDetails'
        required:
          - transactionsDetails
        type: object
    OK_200_UpdatePsuData:
      description: OK
      headers:
        ASPSP-SCA-Approach:
          description: |
            This data element must be contained, if the SCA Approach is already fixed.
            Possible values are
              * EMBEDDED
              * DECOUPLED
              * REDIRECT
            The OAuth SCA approach will be subsumed by REDIRECT.
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema: {}
    RECEIVED_202_PaymentInitiationCancel:
      description: Received
      headers:
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/paymentInitiationCancelResponse-202'
    REQUEST_TIMEOUT_408_AIS:
      description: Request Timeout
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    REQUEST_TIMEOUT_408_PIIS:
      description: Request Timeout
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    REQUEST_TIMEOUT_408_PIS:
      description: Request Timeout
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    REQUEST_TIMEOUT_408_SBS:
      description: Request Timeout
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    SERVICE_UNAVAILABLE_503_AIS:
      description: Service Unavailable
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    SERVICE_UNAVAILABLE_503_PIIS:
      description: Service Unavailable
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    SERVICE_UNAVAILABLE_503_PIS:
      description: Service Unavailable
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    SERVICE_UNAVAILABLE_503_SBS:
      description: Service Unavailable
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    TOO_MANY_REQUESTS_429_AIS:
      description: Too Many Requests
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error429_NG_AIS'
    TOO_MANY_REQUESTS_429_PIIS:
      description: Too Many Requests
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    TOO_MANY_REQUESTS_429_PIS:
      description: Too Many Requests
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    TOO_MANY_REQUESTS_429_SBS:
      description: Too Many Requests
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    UNAUTHORIZED_401_AIS:
      description: Unauthorized
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error401_NG_AIS'
    UNAUTHORIZED_401_PIIS:
      description: Unauthorized
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error401_NG_PIIS'
    UNAUTHORIZED_401_PIS:
      description: Unauthorized
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error401_NG_PIS'
    UNAUTHORIZED_401_SBS:
      description: Unauthorized
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
      schema:
        $ref: '#/components/schemas/Error401_NG_SBS'
    UNSUPPORTED_MEDIA_TYPE_415_AIS:
      description: Unsupported Media Type
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    UNSUPPORTED_MEDIA_TYPE_415_PIIS:
      description: Unsupported Media Type
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    UNSUPPORTED_MEDIA_TYPE_415_PIS:
      description: Unsupported Media Type
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
    UNSUPPORTED_MEDIA_TYPE_415_SBS:
      description: Unsupported Media Type
      headers:
        Location:
          description: |
            Location of the created resource.
          format: url
          required: false
          type: string
        X-Request-ID:
          description: ID of the request, unique to the call, as determined by the initiating party.
          example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
          format: uuid
          required: true
          type: string
servers:
  - url: https://api.airbnb.finologee.com/bg
    description: Production
  - url: https://sandbox.airbnb.finologee.com/bg
    description: Sandbox
components:
  requestBodies:
    updatePsuAuthentication:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/updatePsuAuthentication'
  securitySchemes:
    clientSecret:
      type: apiKey
      name: X-Client-Secret
      in: header
      x-key-type: client_secret
    clientID:
      type: apiKey
      name: X-Client-Id
      in: header
      x-key-type: client_id
  schemas:
    ConsentConfirmationOfFundsContentResponse:
      description: Body of the JSON response for a confirmation of funds content request.
      properties:
        account:
          $ref: '#/components/schemas/accountReference'
        cardExpiryDate:
          $ref: '#/components/schemas/cardExpiryDate'
        cardInformation:
          $ref: '#/components/schemas/cardInformation'
        cardNumber:
          $ref: '#/components/schemas/cardNumber'
        consentStatus:
          $ref: '#/components/schemas/consentStatus'
        registrationInformation:
          $ref: '#/components/schemas/registrationInformation'
      required:
        - account
        - consentStatus
      type: object
    ConsentConfirmationOfFundsStatusResponse:
      description: Body of the JSON response.
      properties:
        consentStatus:
          $ref: '#/components/schemas/consentStatus'
      required:
        - consentStatus
      type: object
    Error400_NG_AIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage400_AIS'
          type: array
      type: object
    Error400_NG_PIIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage400_PIIS'
          type: array
      type: object
    Error400_NG_PIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage400_PIS'
          type: array
      type: object
    Error400_NG_SBS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage400_SBS'
          type: array
      type: object
    Error401_NG_AIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage401_AIS'
          type: array
      type: object
    Error401_NG_PIIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage401_PIIS'
          type: array
      type: object
    Error401_NG_PIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage401_PIS'
          type: array
      type: object
    Error401_NG_SBS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage401_SBS'
          type: array
      type: object
    Error403_NG_AIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage403_AIS'
          type: array
      type: object
    Error403_NG_PIIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage403_PIIS'
          type: array
      type: object
    Error403_NG_PIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage403_PIS'
          type: array
      type: object
    Error403_NG_SBS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage403_SBS'
          type: array
      type: object
    Error404_NG_AIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage404_AIS'
          type: array
      type: object
    Error404_NG_PIIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage404_PIIS'
          type: array
      type: object
    Error404_NG_PIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage404_PIS'
          type: array
      type: object
    Error404_NG_SBS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage404_SBS'
          type: array
      type: object
    Error405_NG_AIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage405_AIS'
          type: array
      type: object
    Error405_NG_PIIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage405_PIIS'
          type: array
      type: object
    Error405_NG_PIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage405_PIS'
          type: array
      type: object
    Error405_NG_PIS_CANC:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage405_PIS_CANC'
          type: array
      type: object
    Error405_NG_SBS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage405_SBS'
          type: array
      type: object
    Error406_NG_AIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 406.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage406_AIS'
          type: array
      type: object
    Error409_NG_AIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.
      example:
        - category: ERROR
          code: STATUS_INVALID
          text: additional text information of the ASPSP up to 500 characters
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage409_AIS'
          type: array
      type: object
    Error409_NG_PIIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.
      example:
        - category: ERROR
          code: STATUS_INVALID
          text: additional text information of the ASPSP up to 500 characters
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage409_PIIS'
          type: array
      type: object
    Error409_NG_PIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.
      example:
        - category: ERROR
          code: STATUS_INVALID
          text: additional text information of the ASPSP up to 500 characters
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage409_PIS'
          type: array
      type: object
    Error409_NG_SBS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409.
      example:
        - category: ERROR
          code: STATUS_INVALID
          text: additional text information of the ASPSP up to 500 characters
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage409_SBS'
          type: array
      type: object
    Error429_NG_AIS:
      description: |
        NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 429.
      example:
        - category: ERROR
          code: ACCESS_EXCEEDED
          text: additional text information of the ASPSP up to 500 characters
      properties:
        _links:
          $ref: '#/components/schemas/_linksAll'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage429_AIS'
          type: array
      type: object
    MessageCode2XX:
      description: Message codes for HTTP Error codes 2XX.
      enum:
        - WARNING
      type: string
    MessageCode400_AIS:
      description: Message codes defined for AIS for HTTP Error code 400 (BAD_REQUEST).
      enum:
        - FORMAT_ERROR
        - PARAMETER_NOT_CONSISTENT
        - PARAMETER_NOT_SUPPORTED
        - SERVICE_INVALID
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - RESOURCE_BLOCKED
        - TIMESTAMP_INVALID
        - PERIOD_INVALID
        - SCA_METHOD_UNKNOWN
        - SCA_INVALID
        - CONSENT_UNKNOWN
        - SESSIONS_NOT_SUPPORTED
      type: string
    MessageCode400_PIIS:
      description: Message codes defined for PIIS for HTTP Error code 400 (BAD_REQUEST).
      enum:
        - FORMAT_ERROR
        - PARAMETER_NOT_CONSISTENT
        - PARAMETER_NOT_SUPPORTED
        - SERVICE_INVALID
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - RESOURCE_BLOCKED
        - TIMESTAMP_INVALID
        - PERIOD_INVALID
        - SCA_METHOD_UNKNOWN
        - SCA_INVALID
        - CONSENT_UNKNOWN
        - CARD_INVALID
        - NO_PIIS_ACTIVATION
      type: string
    MessageCode400_PIS:
      description: Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).
      enum:
        - FORMAT_ERROR
        - PARAMETER_NOT_CONSISTENT
        - PARAMETER_NOT_SUPPORTED
        - SERVICE_INVALID
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - RESOURCE_BLOCKED
        - TIMESTAMP_INVALID
        - PERIOD_INVALID
        - SCA_METHOD_UNKNOWN
        - SCA_INVALID
        - CONSENT_UNKNOWN
        - PAYMENT_FAILED
        - EXECUTION_DATE_INVALID
      type: string
    MessageCode400_SBS:
      description: Message codes defined for signing baskets for HTTP Error code 400 (BAD_REQUEST).
      enum:
        - FORMAT_ERROR
        - PARAMETER_NOT_CONSISTENT
        - PARAMETER_NOT_SUPPORTED
        - SERVICE_INVALID
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - RESOURCE_BLOCKED
        - TIMESTAMP_INVALID
        - PERIOD_INVALID
        - SCA_METHOD_UNKNOWN
        - SCA_INVALID
        - CONSENT_UNKNOWN
        - REFERENCE_MIX_INVALID
      type: string
    MessageCode401_AIS:
      description: Message codes defined for AIS for HTTP Error code 401 (UNAUTHORIZED).
      enum:
        - CERTIFICATE_INVALID
        - ROLE_INVALID
        - CERTIFICATE_EXPIRED
        - CERTIFICATE_BLOCKED
        - CERTIFICATE_REVOKE
        - CERTIFICATE_MISSING
        - SIGNATURE_INVALID
        - SIGNATURE_MISSING
        - CORPORATE_ID_INVALID
        - PSU_CREDENTIALS_INVALID
        - CONSENT_INVALID
        - CONSENT_EXPIRED
        - TOKEN_UNKNOWN
        - TOKEN_INVALID
        - TOKEN_EXPIRED
      type: string
    MessageCode401_PIIS:
      description: Message codes defined for PIIS for HTTP Error code 401 (UNAUTHORIZED).
      enum:
        - CERTIFICATE_INVALID
        - ROLE_INVALID
        - CERTIFICATE_EXPIRED
        - CERTIFICATE_BLOCKED
        - CERTIFICATE_REVOKE
        - CERTIFICATE_MISSING
        - SIGNATURE_INVALID
        - SIGNATURE_MISSING
        - CORPORATE_ID_INVALID
        - PSU_CREDENTIALS_INVALID
        - CONSENT_INVALID
        - CONSENT_EXPIRED
        - TOKEN_UNKNOWN
        - TOKEN_INVALID
        - TOKEN_EXPIRED
      type: string
    MessageCode401_PIS:
      description: Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).
      enum:
        - CERTIFICATE_INVALID
        - ROLE_INVALID
        - CERTIFICATE_EXPIRED
        - CERTIFICATE_BLOCKED
        - CERTIFICATE_REVOKE
        - CERTIFICATE_MISSING
        - SIGNATURE_INVALID
        - SIGNATURE_MISSING
        - CORPORATE_ID_INVALID
        - PSU_CREDENTIALS_INVALID
        - CONSENT_INVALID
        - CONSENT_EXPIRED
        - TOKEN_UNKNOWN
        - TOKEN_INVALID
        - TOKEN_EXPIRED
        - REQUIRED_KID_MISSING
      type: string
    MessageCode401_SBS:
      description: Message codes defined for signing baskets for HTTP Error code 401 (UNAUTHORIZED).
      enum:
        - CERTIFICATE_INVALID
        - ROLE_INVALID
        - CERTIFICATE_EXPIRED
        - CERTIFICATE_BLOCKED
        - CERTIFICATE_REVOKE
        - CERTIFICATE_MISSING
        - SIGNATURE_INVALID
        - SIGNATURE_MISSING
        - CORPORATE_ID_INVALID
        - PSU_CREDENTIALS_INVALID
        - CONSENT_INVALID
        - CONSENT_EXPIRED
        - TOKEN_UNKNOWN
        - TOKEN_INVALID
        - TOKEN_EXPIRED
      type: string
    MessageCode403_AIS:
      description: Message codes defined for AIS for HTTP Error code 403 (FORBIDDEN).
      enum:
        - CONSENT_UNKNOWN
        - SERVICE_BLOCKED
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
      type: string
    MessageCode403_PIIS:
      description: Message codes defined for PIIS for HTTP Error code 403 (FORBIDDEN).
      enum:
        - CONSENT_UNKNOWN
        - SERVICE_BLOCKED
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
      type: string
    MessageCode403_PIS:
      description: Message codes defined defined for PIS for PIS for HTTP Error code 403 (FORBIDDEN).
      enum:
        - CONSENT_UNKNOWN
        - SERVICE_BLOCKED
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - PRODUCT_INVALID
      type: string
    MessageCode403_SBS:
      description: Message codes defined for signing baskets for HTTP Error code 403 (FORBIDDEN).
      enum:
        - CONSENT_UNKNOWN
        - SERVICE_BLOCKED
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
      type: string
    MessageCode404_AIS:
      description: Message codes defined for AIS for HTTP Error code 404 (NOT FOUND).
      enum:
        - RESOURCE_UNKNOWN
      type: string
    MessageCode404_PIIS:
      description: Message codes defined for PIIS for HTTP Error code 404 (NOT FOUND).
      enum:
        - RESOURCE_UNKNOWN
      type: string
    MessageCode404_PIS:
      description: Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).
      enum:
        - RESOURCE_UNKNOWN
        - PRODUCT_UNKNOWN
      type: string
    MessageCode404_SBS:
      description: Message codes defined for signing baskets for HTTP Error code 404 (NOT FOUND).
      enum:
        - RESOURCE_UNKNOWN
      type: string
    MessageCode405_AIS:
      description: Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED).
      enum:
        - SERVICE_INVALID
      type: string
    MessageCode405_PIIS:
      description: Message codes defined for PIIS for HTTP Error code 405 (METHOD NOT ALLOWED).
      enum:
        - SERVICE_INVALID
      type: string
    MessageCode405_PIS:
      description: Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).
      enum:
        - SERVICE_INVALID
      type: string
    MessageCode405_PIS_CANC:
      description: Message codes defined for payment cancelations PIS for HTTP Error code 405 (METHOD NOT ALLOWED).
      enum:
        - CANCELLATION_INVALID
        - SERVICE_INVALID
      type: string
    MessageCode405_SBS:
      description: Message codes defined for SBS for HTTP Error code 405 (METHOD NOT ALLOWED).
      enum:
        - SERVICE_INVALID
      type: string
    MessageCode406_AIS:
      description: Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE).
      enum:
        - REQUESTED_FORMATS_INVALID
      type: string
    MessageCode409_AIS:
      description: Message codes defined for AIS for HTTP Error code 409 (CONFLICT).
      enum:
        - STATUS_INVALID
      type: string
    MessageCode409_PIIS:
      description: Message codes defined for PIIS for HTTP Error code 409 (CONFLICT).
      enum:
        - STATUS_INVALID
      type: string
    MessageCode409_PIS:
      description: Message codes defined for PIS for HTTP Error code 409 (CONFLICT).
      enum:
        - STATUS_INVALID
      type: string
    MessageCode409_SBS:
      description: Message codes defined for signing baskets for HTTP Error code 409 (CONFLICT).
      enum:
        - REFERENCE_STATUS_INVALID
        - STATUS_INVALID
      type: string
    MessageCode429_AIS:
      description: Message codes for HTTP Error code 429 (TOO MANY REQUESTS).
      enum:
        - ACCESS_EXCEEDED
      type: string
    _linksAccountDetails:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        Links to the account, which can be directly used for retrieving account information from this dedicated account.

        Links to "balances" and/or "transactions"

        These links are only supported, when the corresponding consent has been already granted.
      properties:
        balances:
          $ref: '#/components/schemas/hrefType'
        transactions:
          $ref: '#/components/schemas/hrefType'
      type: object
    _linksAccountReport:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      properties:
        account:
          $ref: '#/components/schemas/hrefType'
        first:
          $ref: '#/components/schemas/hrefType'
        last:
          $ref: '#/components/schemas/hrefType'
        next:
          $ref: '#/components/schemas/hrefType'
        previous:
          $ref: '#/components/schemas/hrefType'
      required:
        - account
      type: object
    _linksAll:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        A _link object with all availabel link types.
      properties:
        account:
          $ref: '#/components/schemas/hrefType'
        authoriseTransaction:
          $ref: '#/components/schemas/hrefType'
        balances:
          $ref: '#/components/schemas/hrefType'
        cardAccount:
          $ref: '#/components/schemas/hrefType'
        cardTransactions:
          $ref: '#/components/schemas/hrefType'
        confirmation:
          $ref: '#/components/schemas/hrefType'
        download:
          $ref: '#/components/schemas/hrefType'
        first:
          $ref: '#/components/schemas/hrefType'
        last:
          $ref: '#/components/schemas/hrefType'
        next:
          $ref: '#/components/schemas/hrefType'
        previous:
          $ref: '#/components/schemas/hrefType'
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
        selectAuthenticationMethod:
          $ref: '#/components/schemas/hrefType'
        self:
          $ref: '#/components/schemas/hrefType'
        startAuthorisation:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithAuthenticationMethodSelection:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithProprietaryData:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuIdentification:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithTransactionAuthorisation:
          $ref: '#/components/schemas/hrefType'
        status:
          $ref: '#/components/schemas/hrefType'
        transactionDetails:
          $ref: '#/components/schemas/hrefType'
        transactions:
          $ref: '#/components/schemas/hrefType'
        updateAdditionalEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        updateAdditionalPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        updateEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        updateProprietaryData:
          $ref: '#/components/schemas/hrefType'
        updatePsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        updatePsuIdentification:
          $ref: '#/components/schemas/hrefType'
      type: object
    _linksAuthorisationConfirmation:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request.

        **Remark:** All links can be relative or full links, to be decided by the ASPSP.

        Type of links admitted in this response, (further links might be added for ASPSP 
        defined extensions):

        - 'scaStatus': The link to retrieve the status of the corresponding transaction resource.
      properties:
        scaStatus:
          $ref: '#/components/schemas/hrefType'
      type: object
    _linksCardAccountReport:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      properties:
        cardAccount:
          $ref: '#/components/schemas/hrefType'
        first:
          $ref: '#/components/schemas/hrefType'
        last:
          $ref: '#/components/schemas/hrefType'
        next:
          $ref: '#/components/schemas/hrefType'
        previous:
          $ref: '#/components/schemas/hrefType'
      required:
        - cardAccount
      type: object
    _linksConsents:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        A list of hyperlinks to be recognised by the TPP.

        Type of links admitted in this response (which might be extended by single ASPSPs as indicated in its XS2A 
        documentation):
          * 'scaRedirect': 
            In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the 
            PSU browser.
          * 'scaOAuth': 
            In case of an OAuth2 based Redirect Approach, the ASPSP is transmitting the link where the configuration 
            of the OAuth2 Server is defined. 
            The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. 
        * 'confirmation': 
          Might be added by the ASPSP if either the "scaRedirect" or "scaOAuth" hyperlink is returned 
          in the same response message. 
          This hyperlink defines the URL to the resource which needs to be updated with 
            * a confirmation code as retrieved after the plain redirect authentication process with the ASPSP authentication server or
            * an access token as retrieved by submitting an authorization code after the integrated OAuth based authentication process with the ASPSP authentication server.
          * 'startAuthorisation': 
            In case, where an explicit start of the transaction authorisation is needed, 
            but no more data needs to be updated (no authentication method to be selected, 
            no PSU identification nor PSU authentication data to be uploaded).
          * 'startAuthorisationWithPsuIdentification': 
            The link to the authorisation end-point, where the authorisation sub-resource has to be generated 
            while uploading the PSU identification data.
          * 'startAuthorisationWithPsuAuthentication':
            The link to the authorisation end-point, where the authorisation sub-resource has to be generated 
            while uploading the PSU authentication data.
          * 'startAuthorisationWithEncryptedPsuAuthentication':
            Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on 
            application layer in uploading.
          * 'startAuthorisationWithAuthenticationMethodSelection':
            The link to the authorisation end-point, where the authorisation sub-resource has to be generated 
            while selecting the authentication method. This link is contained under exactly the same conditions 
            as the data element 'scaMethods' 
          * 'startAuthorisationWithTransactionAuthorisation':
            The link to the authorisation end-point, where the authorisation sub-resource has to be generated 
            while authorising the transaction e.g. by uploading an OTP received by SMS.
          * 'self': 
            The link to the Establish Account Information Consent resource created by this request. 
            This link can be used to retrieve the resource data. 
          * 'status': 
            The link to retrieve the status of the account information consent.
          * 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource. 
            This link is only contained, if an authorisation sub-resource has been already created.
      properties:
        confirmation:
          $ref: '#/components/schemas/hrefType'
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
        self:
          $ref: '#/components/schemas/hrefType'
        startAuthorisation:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithAuthenticationMethodSelection:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuIdentification:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithTransactionAuthorisation:
          $ref: '#/components/schemas/hrefType'
        status:
          $ref: '#/components/schemas/hrefType'
      type: object
    _linksDownload:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        A list of hyperlinks to be recognised by the TPP.

        Type of links admitted in this response:
          - "download": a link to a resource, where the transaction report might be downloaded from in 
          case where transaction reports have a huge size.

        Remark: This feature shall only be used where camt-data is requested which has a huge size.
      properties:
        download:
          $ref: '#/components/schemas/hrefType'
      required:
        - download
      type: object
    _linksGetConsent:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        A list of hyperlinks to be recognised by the TPP.

        Links of type "account" and/or "cardAccount", depending on the nature of the consent.
      properties:
        account:
          $ref: '#/components/schemas/hrefType'
        card-account:
          $ref: '#/components/schemas/hrefType'
      type: object
    _linksPaymentInitiation:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        A list of hyperlinks to be recognised by the TPP.
        The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when
        processing the request.

        **Remark:** All links can be relative or full links, to be decided by the ASPSP.

        Type of links admitted in this response, (further links might be added for ASPSP defined extensions):

        * 'scaRedirect': 
          In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the PSU browser.
        * 'scaOAuth': 
          In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation
          Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification.
        * 'confirmation': 
          Might be added by the ASPSP if either the "scaRedirect" or "scaOAuth" hyperlink is returned 
          in the same response message. 
          This hyperlink defines the URL to the resource which needs to be updated with 
            * a confirmation code as retrieved after the plain redirect authentication process with the ASPSP authentication server or
            * an access token as retrieved by submitting an authorization code after the integrated OAuth based authentication process with the ASPSP authentication server. 
        * 'startAuthorisation': 
          In case, where an explicit start of the transaction authorisation is needed, but no more data needs to be updated 
          (no authentication method to be selected, no PSU identification nor PSU authentication data to be uploaded).
        * 'startAuthorisationWithPsuIdentification': 
          The link to the authorisation end-point, where the authorisation sub-resource has to be generated while 
          uploading the PSU identification data.
        * 'startAuthorisationWithPsuAuthentication': 
          The link to the authorisation end-point, where the authorisation sub-resource has to be generated while 
          uploading the PSU authentication data.
          * 'startAuthorisationWithEncryptedPsuAuthentication':
            Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on 
            application layer in uploading.
        * 'startAuthorisationWithAuthenticationMethodSelection': 
          The link to the authorisation end-point, where the authorisation sub-resource has to be generated while 
          selecting the authentication method. 
          This link is contained under exactly the same conditions as the data element "scaMethods"
        * 'startAuthorisationWithTransactionAuthorisation':
          The link to the authorisation end-point, where the authorisation sub-resource has to be generated while 
          authorising the transaction e.g. by uploading an OTP received by SMS.
        * 'self': 
          The link to the payment initiation resource created by this request.
          This link can be used to retrieve the resource data.
        * 'status': 
          The link to retrieve the transaction status of the payment initiation.
        * 'scaStatus': 
          The link to retrieve the scaStatus of the corresponding authorisation sub-resource. 
          This link is only contained, if an authorisation sub-resource has been already created.
      example:
        scaRedirect:
          href: https://www.testbank.com/asdfasdfasdf
        self:
          href: /v136/payments/sepa-credit-transfers/1234-wertiq-983
      properties:
        confirmation:
          $ref: '#/components/schemas/hrefType'
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
        self:
          $ref: '#/components/schemas/hrefType'
        startAuthorisation:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithAuthenticationMethodSelection:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuIdentification:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithTransactionAuthorisation:
          $ref: '#/components/schemas/hrefType'
        status:
          $ref: '#/components/schemas/hrefType'
      type: object
    _linksPaymentInitiationCancel:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the 
        dynamical decisions of the ASPSP when processing the request.

        Remark: All links can be relative or full links, to be decided by the ASPSP.

        Type of links admitted in this response, (further links might be added for ASPSP defined extensions):

          * 'startAuthorisation': 
            In case, where just the authorisation process of the cancellation needs to be started, 
            but no additional data needs to be updated for time being (no authentication method to be selected, 
            no PSU identification nor PSU authentication data to be uploaded).
          * 'startAuthorisationWithPsuIdentification': 
            In case where a PSU identification needs to be updated when starting the cancellation authorisation:
            The link to the cancellation-authorisations end-point, where the cancellation sub-resource has to be 
            generated while uploading the PSU identification data.
          * 'startAuthorisationWithPsuAuthentication': 
            In case of a yet to be created authorisation sub-resource: The link to the cancalation authorisation end-point, 
            where the authorisation sub-resource has to be generated while uploading the PSU authentication data.
          * 'startAuthorisationWithEncryptedPsuAuthentication':
            Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on 
            application layer in uploading.
          * 'startAuthorisationWithAuthenticationMethodSelection':
            The link to the authorisation end-point, where the cancellation-authorisation sub-resource has to be 
            generated while selecting the authentication method. This link is contained under exactly the same 
            conditions as the data element 'scaMethods'
      properties:
        startAuthorisation:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithAuthenticationMethodSelection:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuIdentification:
          $ref: '#/components/schemas/hrefType'
      type: object
    _linksSelectPsuAuthenticationMethod:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in 
        the response depend on the dynamical decisions of the ASPSP when processing the request.

        **Remark:** All links can be relative or full links, to be decided by the ASPSP. 

        **Remark:** This method can be applied before or after PSU identification. 
        This leads to many possible hyperlink responses.
        Type of links admitted in this response, (further links might be added for ASPSP defined 
        extensions):

        - 'scaRedirect': 
          In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to 
          redirect the PSU browser.
        - 'scaOAuth': 
          In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the 
          configuration of the Authorisation Server can be retrieved. 
          The configuration follows the OAuth 2.0 Authorisation Server Metadata specification.
        * 'confirmation': 
          Might be added by the ASPSP if either the "scaRedirect" or "scaOAuth" hyperlink is returned 
          in the same response message. 
          This hyperlink defines the URL to the resource which needs to be updated with 
            * a confirmation code as retrieved after the plain redirect authentication process with the ASPSP authentication server or
            * an access token as retrieved by submitting an authorization code after the integrated OAuth based authentication process with the ASPSP authentication server.
        - 'updatePsuIdentification': 
          The link to the authorisation or cancellation authorisation sub-resource, 
          where PSU identification data needs to be uploaded.
        - 'updatePsuAuthentication':
          The link to the authorisation or cancellation authorisation sub-resource, 
          where PSU authentication data needs to be uploaded.
          - 'updateEncryptedPsuAuthentication':
          The link to the authorisation or cancellation authorisation sub-resource, 
          where PSU authentication encrypted data needs to be uploaded.
        - 'updateAdditionalPsuAuthentication':
            The link to the payment initiation or account information resource, 
            which needs to be updated by an additional PSU password. 
        - 'updateAdditionalEncryptedPsuAuthentication': 
            The link to the payment initiation or account information resource, 
            which needs to be updated by an additional encrypted PSU password. 
        - 'authoriseTransaction':
          The link to the authorisation or cancellation authorisation sub-resource, 
          where the authorisation data has to be uploaded, e.g. the TOP received by SMS. 
        - 'scaStatus': 
          The link to retrieve the scaStatus of the corresponding authorisation sub-resource.
      properties:
        authoriseTransaction:
          $ref: '#/components/schemas/hrefType'
        confirmation:
          $ref: '#/components/schemas/hrefType'
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
        updateAdditionalEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        updateAdditionalPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        updatePsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        updatePsuIdentification:
          $ref: '#/components/schemas/hrefType'
      type: object
    _linksSigningBasket:
      description: |
        A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the 
        response depend on the dynamical decisions of the ASPSP when processing the request.

        Remark: All links can be relative or full links, to be decided by the ASPSP.
        Type of links admitted in this response, (further links might be added for ASPSP defined 
        extensions):

          * 'scaRedirect': 
            In case of an SCA Redirect Approach, the ASPSP is transmitting the link to 
            which to redirect the PSU browser.
          * 'scaOAuth': 
            In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of 
            the Authorisation Server can be retrieved. The configuration follows the 
            OAuth 2.0 Authorisation Server Metadata specification.
          * 'startAuthorisation': 
            In case, where an explicit start of the transaction authorisation is needed, 
            but no more data needs to be updated (no authentication method to be selected, 
            no PSU identification nor PSU authentication data to be uploaded).
          * 'startAuthorisationWithPsuIdentification': 
            The link to the authorisation end-point, where the authorisation sub-resource 
            has to be generated while uploading the PSU identification data.
          * 'startAuthorisationWithPsuAuthentication':
            The link to the authorisation end-point, where the authorisation sub-resource 
            has to be generated while uploading the PSU authentication data.
          * 'startAuthorisationWithEncryptedPsuAuthentication':
            The link to the authorisation end-point, where the authorisation sub-resource has 
            to be generated while uploading the encrypted PSU authentication data.
          * 'startAuthorisationWithAuthenticationMethodSelection':
            The link to the authorisation end-point, where the authorisation sub-resource 
            has to be generated while selecting the authentication method. 
            This link is contained under exactly the same conditions as the data element 'scaMethods' 
          * 'startAuthorisationWithTransactionAuthorisation':
            The link to the authorisation end-point, where the authorisation sub-resource 
            has to be generated while authorising the transaction e.g. by uploading an 
            OTP received by SMS.
          * 'self': 
            The link to the payment initiation resource created by this request. 
            This link can be used to retrieve the resource data. 
          * 'status': 
            The link to retrieve the transaction status of the payment initiation.
          * 'scaStatus': 
            The link to retrieve the scaStatus of the corresponding authorisation sub-resource. 
            This link is only contained, if an authorisation sub-resource has been already created.
      properties:
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
        self:
          $ref: '#/components/schemas/hrefType'
        startAuthorisation:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithAuthenticationMethodSelection:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuIdentification:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithTransactionAuthorisation:
          $ref: '#/components/schemas/hrefType'
        status:
          $ref: '#/components/schemas/hrefType'
      type: object
    _linksStartScaProcess:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the 
        response depend on the dynamical decisions of the ASPSP when processing the request.

        **Remark:** All links can be relative or full links, to be decided by the ASPSP.

        Type of links admitted in this response, (further links might be added for ASPSP defined 
        extensions):

        - 'scaRedirect': 
          In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to 
          redirect the PSU browser.
        - 'scaOAuth': 
          In case of a SCA OAuth2 Approach, the ASPSP is transmitting the URI where the configuration of the Authorisation Server can be retrieved. The configuration follows the OAuth 2.0 Authorisation Server Metadata specification.
        * 'confirmation': 
          Might be added by the ASPSP if either the "scaRedirect" or "scaOAuth" hyperlink is returned 
          in the same response message. 
          This hyperlink defines the URL to the resource which needs to be updated with 
            * a confirmation code as retrieved after the plain redirect authentication process with the ASPSP authentication server or
            * an access token as retrieved by submitting an authorization code after the integrated OAuth based authentication process with the ASPSP authentication server.
        - 'updatePsuIdentification': 
          The link to the authorisation or cancellation authorisation sub-resource, 
          where PSU identification data needs to be uploaded.
        - 'startAuthorisationWithPsuAuthentication':
          The link to the authorisation or cancellation authorisation sub-resource, 
          where PSU authentication data needs to be uploaded.
        - 'startAuthorisationWithEncryptedPsuAuthentication':
            Same as startAuthorisactionWithPsuAuthentication where the authentication data need to be encrypted on 
            application layer in uploading.
        - 'selectAuthenticationMethod':
          The link to the authorisation or cancellation authorisation sub-resource, 
          where the selected authentication method needs to be uploaded. 
          This link is contained under exactly the same conditions as the data element 'scaMethods'.
        - 'authoriseTransaction':
          The link to the authorisation or cancellation authorisation sub-resource, 
          where the authorisation data has to be uploaded, e.g. the TOP received by SMS. 
        - 'scaStatus':    The link to retrieve the scaStatus of the corresponding authorisation sub-resource. 
      properties:
        authoriseTransaction:
          $ref: '#/components/schemas/hrefType'
        confirmation:
          $ref: '#/components/schemas/hrefType'
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
        selectAuthenticationMethod:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        updatePsuIdentification:
          $ref: '#/components/schemas/hrefType'
      type: object
    _linksTransactionDetails:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      properties:
        transactionDetails:
          $ref: '#/components/schemas/hrefType'
      required:
        - transactionDetails
      type: object
    _linksUpdatePsuAuthentication:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        A list of hyperlinks to be recognised by the TPP. Might be contained, if several authentication methods 
        are available for the PSU.
        Type of links admitted in this response:
          * 'updateAdditionalPsuAuthentication':
            The link to the payment initiation or account information resource, 
            which needs to be updated by an additional PSU password. 
            This link is only contained in rare cases, 
            where such additional passwords are needed for PSU authentications.
          * 'updateAdditionalEncryptedPsuAuthentication': 
            The link to the payment initiation or account information resource, 
            which needs to be updated by an additional encrypted PSU password. 
            This link is only contained in rare cases, where such additional passwords are needed for PSU authentications.
          * 'selectAuthenticationMethod': 
            This is a link to a resource, where the TPP can select the applicable second factor authentication 
            methods for the PSU, if there were several available authentication methods. 
            This link is only contained, if the PSU is already identified or authenticated with the first relevant 
            factor or alternatively an access token, if SCA is required and if the PSU has a choice between different 
            authentication methods. 
            If this link is contained, then there is also the data element 'scaMethods' contained in the response body.
          * 'authoriseTransaction': 
            The link to the resource, where the "Transaction authorisation request" is sent to. 
            This is the link to the resource which will authorise the transaction by checking the SCA authentication 
            data within the Embedded SCA approach.
          * 'scaStatus': 
            The link to retrieve the scaStatus of the corresponding authorisation sub-resource.
      properties:
        authoriseTransaction:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
        selectAuthenticationMethod:
          $ref: '#/components/schemas/hrefType'
        updateAdditionalEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        updateAdditionalPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
      type: object
    _linksUpdatePsuIdentification:
      additionalProperties:
        $ref: '#/components/schemas/hrefType'
      description: |
        A list of hyperlinks to be recognised by the TPP. The actual hyperlinks used in the response depend on the dynamical decisions of the ASPSP when processing the request.

        **Remark:** All links can be relative or full links, to be decided by the ASPSP.

        Type of links admitted in this response, (further links might be added for ASPSP 
        defined extensions):

        - 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource.
        - 'selectAuthenticationMethod': This is a link to a resource, where the TPP can select the applicable second factor authentication methods for the PSU, if there are several available authentication methods and if the PSU is already sufficiently authenticated.. If this link is contained, then there is also the data element "scaMethods" contained in the response body.
      properties:
        scaStatus:
          $ref: '#/components/schemas/hrefType'
        selectAuthenticationMethod:
          $ref: '#/components/schemas/hrefType'
      type: object
    accountAccess:
      description: |
        Requested access services for a consent.
      properties:
        accounts:
          description: |
            Is asking for detailed account information. 

            If the array is empty in a request, the TPP is asking for an accessible account list. 
            This may be restricted in a PSU/ASPSP authorization dialogue. 
            If the array is empty, also the arrays for balances, additionalInformation sub attributes or transactions shall be empty, if used.
          items:
            $ref: '#/components/schemas/accountReference'
          type: array
        additionalInformation:
          $ref: '#/components/schemas/additionalInformationAccess'
        allPsd2:
          description: |
            Optional if supported by API provider.

            The values "allAccounts" and "allAccountsWithOwnerName" are admitted. 
            The support of the "allAccountsWithOwnerName" value by the ASPSP is optional.
          enum:
            - allAccounts
            - allAccountsWithOwnerName
          type: string
        availableAccounts:
          description: |
            Optional if supported by API provider.

            The values "allAccounts" and "allAccountsWithOwnerName" are admitted. 
            The support of the "allAccountsWithOwnerName" value by the ASPSP is optional.
          enum:
            - allAccounts
            - allAccountsWithOwnerName
          type: string
        availableAccountsWithBalance:
          description: |
            Optional if supported by API provider.

            The values "allAccounts" and "allAccountsWithOwnerName" are admitted. 
            The support of the "allAccountsWithOwnerName" value by the ASPSP is optional.
          enum:
            - allAccounts
            - allAccountsWithOwnerName
          type: string
        balances:
          description: |
            Is asking for balances of the addressed accounts.

            If the array is empty in the request, the TPP is asking for the balances of all accessible account lists. 
            This may be restricted in a PSU/ASPSP authorization dialogue. 
            If the array is empty, also the arrays for accounts, additionalInformation sub attributes or transactions shall be empty, if used.
          items:
            $ref: '#/components/schemas/accountReference'
          type: array
        transactions:
          description: |
            Is asking for transactions of the addressed accounts. 

            If the array is empty in the request, the TPP is asking for the transactions of all accessible account lists. 
            This may be restricted in a PSU/ASPSP authorization dialogue. 
            If the array is empty, also the arrays for accounts, additionalInformation sub attributes or balances shall be empty, if used.
          items:
            $ref: '#/components/schemas/accountReference'
          type: array
      type: object
    accountDetails:
      description: |
        The ASPSP shall give at least one of the account reference identifiers:
          - iban
          - bban
        If the account is a multicurrency account currency code in "currency" is set to "XXX".
      properties:
        _links:
          $ref: '#/components/schemas/_linksAccountDetails'
        balances:
          $ref: '#/components/schemas/balanceList'
        bban:
          $ref: '#/components/schemas/bban'
        bic:
          $ref: '#/components/schemas/bicfi'
        cashAccountType:
          $ref: '#/components/schemas/cashAccountType'
        currency:
          $ref: '#/components/schemas/currencyCode'
        details:
          description: |
            Specifications that might be provided by the ASPSP:
              - characteristics of the account
              - characteristics of the relevant card
          maxLength: 500
          type: string
        displayName:
          $ref: '#/components/schemas/displayName'
        iban:
          $ref: '#/components/schemas/iban'
        linkedAccounts:
          description: Case of a set of pending card transactions, the APSP will provide the relevant cash account the card is set up on.
          maxLength: 70
          type: string
        name:
          description: Name of the account, as assigned by the ASPSP, in agreement with the account owner in order to provide an additional means of identification of the account.
          maxLength: 70
          type: string
        ownerName:
          $ref: '#/components/schemas/ownerName'
        product:
          description: Product name of the bank for this account, proprietary definition.
          maxLength: 35
          type: string
        resourceId:
          description: This shall be filled, if addressable resource are created by the ASPSP on the /accounts or /card-accounts endpoint.
          type: string
        status:
          $ref: '#/components/schemas/accountStatus'
        usage:
          description: |
            Specifies the usage of the account:
              * PRIV: private personal account
              * ORGA: professional account
          enum:
            - PRIV
            - ORGA
          maxLength: 4
          type: string
      required:
        - currency
      type: object
    accountList:
      description: |
        List of accounts with details.
      properties:
        accounts:
          items:
            $ref: '#/components/schemas/accountDetails'
          type: array
      required:
        - accounts
      type: object
    accountReference:
      description: |
        Reference to an account by either
          * IBAN, of a payment accounts, or
          * BBAN, for payment accounts if there is no IBAN

        In both cases, currency is mandatory.
      properties:
        bban:
          $ref: '#/components/schemas/bban'
        currency:
          $ref: '#/components/schemas/currencyCode'
        iban:
          $ref: '#/components/schemas/iban'
      required:
        - currency
      type: object
    accountReport:
      description: |
        JSON based account report.
        This account report contains transactions resulting from the query parameters.

        'booked' shall be contained if bookingStatus parameter is set to "booked" or "both".

        'pending' is not contained if the bookingStatus parameter is set to "booked".
      properties:
        _links:
          $ref: '#/components/schemas/_linksAccountReport'
        booked:
          $ref: '#/components/schemas/transactionList'
        pending:
          $ref: '#/components/schemas/transactionList'
      required:
        - _links
      type: object
    accountStatus:
      description: |
        Account status. The value is one of the following:
          - "enabled": account is available
          - "deleted": account is terminated
          - "blocked": account is blocked e.g. for legal reasons
        If this field is not used, than the account is available in the sense of this specification.
      enum:
        - enabled
        - deleted
        - blocked
      type: string
    additionalInformation:
      description: |
        Might be used by the ASPSP to transport additional transaction related information to the PSU
      example: Some additional transaction related information.
      maxLength: 500
      type: string
    additionalInformationAccess:
      description: |
        Optional if supported by API provider.

        Is asking for additional information as added within this structured object.
        The usage of this data element requires at least one of the entries "accounts", 
        "transactions" or "balances" also to be contained in the object. 
        If detailed accounts are referenced, it is required in addition that any account addressed within 
        the additionalInformation attribute is also addressed by at least one of the attributes "accounts", 
        "transactions" or "balances".
      properties:
        ownerName:
          description: |
            Is asking for account owner name of the accounts referenced within. 
            If the array is empty in the request, the TPP is asking for the account 
            owner name of all accessible accounts. 
            This may be restricted in a PSU/ASPSP authorization dialogue. 
            If the array is empty, also the arrays for accounts, balances or transactions shall be empty, if used.
            The ASPSP will indicate in the consent resource after a successful authorisation, 
            whether the ownerName consent can be accepted by providing the accounts on which the ownerName will 
            be delivered. This array can be empty.
          items:
            $ref: '#/components/schemas/accountReference'
          type: array
      type: object
    additionalInformationStructured:
      description: |
        Is used if and only if the bookingStatus entry equals "information". 
        Every active standing order related to the dedicated payment account result into one entry.
      properties:
        standingOrderDetails:
          $ref: '#/components/schemas/standingOrderDetails'
      required:
        - standingOrderDetails
      type: object
    address:
      example:
        buildingNumber: '89'
        city: Paris
        country: FR
        postCode: '75000'
        street: rue blue
      properties:
        buildingNumber:
          type: string
        country:
          $ref: '#/components/schemas/countryCode'
        postCode:
          type: string
        streetName:
          maxLength: 70
          type: string
        townName:
          type: string
      required:
        - country
      type: object
    amount:
      example:
        amount: '123'
        currency: EUR
      properties:
        amount:
          $ref: '#/components/schemas/amountValue'
        currency:
          $ref: '#/components/schemas/currencyCode'
      required:
        - currency
        - amount
      type: object
    amountValue:
      description: |
        The amount given with fractional digits, where fractions must be compliant to the currency definition.
        Up to 14 significant figures. Negative amounts are signed by minus.
        The decimal separator is a dot.

        **Example:**
        Valid representations for EUR with up to two decimals are:

          * 1056
          * 5768.2
          * -1.50
          * 5877.78
      example: '5877.78'
      pattern: '-?[0-9]{1,14}(\.[0-9]{1,3})?'
      type: string
    authenticationMethodId:
      description: |
        An identification provided by the ASPSP for the later identification of the authentication method selection.
      example: myAuthenticationID
      maxLength: 35
      type: string
    authenticationObject:
      description: |
        Authentication object.
      properties:
        authenticationMethodId:
          $ref: '#/components/schemas/authenticationMethodId'
        authenticationType:
          $ref: '#/components/schemas/authenticationType'
        authenticationVersion:
          description: |
            Depending on the "authenticationType".
            This version can be used by differentiating authentication tools used within performing OTP generation in the same authentication type.
            This version can be referred to in the ASPSP?s documentation.
          type: string
        explanation:
          description: |
            Detailed information about the SCA method for the PSU.
          example: Detailed information about the SCA method for the PSU.
          type: string
        name:
          description: |
            This is the name of the authentication method defined by the PSU in the Online Banking frontend of the ASPSP.
            Alternatively this could be a description provided by the ASPSP like "SMS OTP on phone +49160 xxxxx 28".
            This name shall be used by the TPP when presenting a list of authentication methods to the PSU, if available.
          example: SMS OTP on phone +49160 xxxxx 28
          type: string
      required:
        - authenticationType
        - authenticationMethodId
      type: object
    authenticationType:
      description: |
        Type of the authentication method.

        More authentication types might be added during implementation projects and documented in the ASPSP documentation.

          - 'SMS_OTP': An SCA method, where an OTP linked to the transaction to be authorised is sent to the PSU through a SMS channel.
          - 'CHIP_OTP': An SCA method, where an OTP is generated by a chip card, e.g. a TOP derived from an EMV cryptogram. 
            To contact the card, the PSU normally needs a (handheld) device. 
            With this device, the PSU either reads the challenging data through a visual interface like flickering or 
            the PSU types in the challenge through the device key pad. 
            The device then derives an OTP from the challenge data and displays the OTP to the PSU.
          - 'PHOTO_OTP': An SCA method, where the challenge is a QR code or similar encoded visual data 
            which can be read in by a consumer device or specific mobile app. 
            The device resp. the specific app than derives an OTP from the visual challenge data and displays 
            the OTP to the PSU.
          - 'PUSH_OTP': An OTP is pushed to a dedicated authentication APP and displayed to the PSU.
      enum:
        - SMS_OTP
        - CHIP_OTP
        - PHOTO_OTP
        - PUSH_OTP
      type: string
    authorisationId:
      description: Resource identification of the related SCA.
      example: 123auth456
      type: string
    authorisations:
      description: An array of all authorisationIds.
      properties:
        authorisationIds:
          $ref: '#/components/schemas/authorisationsList'
      required:
        - authorisationIds
      type: object
    authorisationsList:
      description: An array of all authorisationIds.
      items:
        $ref: '#/components/schemas/authorisationId'
      type: array
    balance:
      description: |
        A single balance element.
      properties:
        balanceAmount:
          $ref: '#/components/schemas/amount'
        balanceType:
          $ref: '#/components/schemas/balanceType'
        creditLimitIncluded:
          description: |
            A flag indicating if the credit limit of the corresponding account 
            is included in the calculation of the balance, where applicable.
          example: false
          type: boolean
        lastChangeDateTime:
          description: |
            This data element might be used to indicate e.g. with the expected or booked balance that no action is known 
            on the account, which is not yet booked.
          format: date-time
          type: string
        lastCommittedTransaction:
          description: |
            "entryReference" of the last commited transaction to support the TPP in identifying whether all 
            PSU transactions are already known.
          maxLength: 35
          type: string
        referenceDate:
          description: Reference date of the balance.
          format: date
          type: string
      required:
        - balanceAmount
        - balanceType
      type: object
    balanceList:
      description: |
        A list of balances regarding this account, e.g. the current balance, the last booked balance.
        The list might be restricted to the current balance.
      items:
        $ref: '#/components/schemas/balance'
      type: array
    balanceType:
      description: |
        The following balance types are defined:
          - "closingBooked": 
            Balance of the account at the end of the pre-agreed account reporting period. 
            It is the sum of the opening booked balance at the beginning of the period and all entries booked 
            to the account during the pre-agreed account reporting period.

            For card-accounts, this is composed of

              - invoiced, but not yet paid entries

          - "expected":
            Balance composed of booked entries and pending items known at the time of calculation, 
            which projects the end of day balance if everything is booked on the account and no other entry is posted.

            For card accounts, this is composed of:
              - invoiced, but not yet paid entries
              - not yet invoiced but already booked entries and
              - pending items (not yet booked)

            For card-accounts:

            "money to spend with the value of a pre-approved credit limit on the card account"

          - "openingBooked":
            Book balance of the account at the beginning of the account reporting period. 
            It always equals the closing book balance from the previous report.
          - "interimAvailable":
            Available balance calculated in the course of the account ?servicer?s business day, 
            at the time specified, and subject to further changes during the business day. 
            The interim balance is calculated on the basis of booked credit and debit items during the calculation 
            time/period specified.

            For card-accounts, this is composed of:
              - invoiced, but not yet paid entries
              - not yet invoiced but already booked entries
          - "interimBooked":
            Balance calculated in the course of the account servicer's business day, at the time specified, 
            and subject to further changes during the business day. 
            The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period 
            specified.
          - "forwardAvailable":
            Forward available balance of money that is at the disposal of the account owner on the date specified.
          - "nonInvoiced": 
            Only for card accounts, to be checked yet. 
      enum:
        - closingBooked
        - expected
        - openingBooked
        - interimAvailable
        - interimBooked
        - forwardAvailable
        - nonInvoiced
      type: string
    bankTransactionCode:
      description: |
        Bank transaction code as used by the ASPSP and using the sub elements of this structured code defined by ISO 20022. 

        This code type is concatenating the three ISO20022 Codes 
          * Domain Code, 
          * Family Code, and 
          * SubFamiliy Code 
        by hyphens, resulting in 'DomainCode'-'FamilyCode'-'SubFamilyCode'.
        For standing order reports the following codes are applicable:
          * "PMNT-ICDT-STDO" for credit transfers,
          * "PMNT-IRCT-STDO"  for instant credit transfers
          * "PMNT-ICDT-XBST" for cross-border credit transfers
          * "PMNT-IRCT-XBST" for cross-border real time credit transfers and
          * "PMNT-MCOP-OTHR" for specific standing orders which have a dynamical amount to move left funds e.g. on month end to a saving account
      example: PMNT-RDDT-ESDD
      type: string
    basketId:
      description: Resource identification of the generated signing basket resource.
      example: 1234-basket-567
      type: string
    batchBookingPreferred:
      description: |
        If this element equals 'true', the PSU prefers only one booking entry. 
        If this element equals 'false', the PSU prefers individual booking of all contained individual transactions. 

        The ASPSP will follow this preference according to contracts agreed on with the PSU.
      example: false
      type: boolean
    bban:
      description: |
        Basic Bank Account Number (BBAN) Identifier.

        This data element can be used in the body of the consent request.
          Message for retrieving account access consent from this account. This
          data elements is used for payment accounts which have no IBAN.
          ISO20022: Basic Bank Account Number (BBAN). 

          Identifier used nationally by financial institutions, i.e., in individual countries, 
          generally as part of a National Account Numbering Scheme(s), 
          which uniquely identifies the account of a customer.
      example: BARC12345612345678
      pattern: '[a-zA-Z0-9]{1,30}'
      type: string
    bicfi:
      description: |
        BICFI
      example: AAAADEBBXXX
      pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}'
      type: string
    bookingDate:
      description: |
        The date when an entry is posted to an account on the ASPSPs books.
      format: date
      type: string
    cancellationId:
      description: Identification for cancellation resource.
      example: 123auth456
      type: string
    cancellationList:
      description: An array of all cancellationIds connected to this resource.
      items:
        $ref: '#/components/schemas/cancellationId'
      type: array
    cancellations:
      description: An array of all cancellationIds.
      properties:
        cancellationIds:
          $ref: '#/components/schemas/cancellationList'
      required:
        - cancellationIds
      type: object
    cardAcceptorPhone:
      description: |
        Merchant phone number
        It consists of a "+" followed by the country code (from 1 to 3 characters) then a "-" and finally, any
        combination of numbers, "(", ")", "+" and "-" (up to 30 characters).
        pattern according to ISO20022 \+[0-9]{1,3}-[0-9()+\-]{1,30}
      pattern: \+[0-9]{1,3}\-[0-9()+\-]{1,30}
      type: string
    cardAccountDetails:
      description: |
        Card account details.
      properties:
        _links:
          $ref: '#/components/schemas/_linksAccountDetails'
        balances:
          $ref: '#/components/schemas/balanceList'
        creditLimit:
          $ref: '#/components/schemas/amount'
        currency:
          $ref: '#/components/schemas/currencyCode'
        details:
          description: |
            Specifications that might be provided by the ASPSP:
              - characteristics of the account
              - characteristics of the relevant card
          maxLength: 500
          type: string
        displayName:
          $ref: '#/components/schemas/displayName'
        name:
          description: |
            Name of the account, as assigned by the ASPSP, 
            in agreement with the account owner in order to provide an additional means of identification of the account.
          maxLength: 70
          type: string
        ownerName:
          $ref: '#/components/schemas/ownerName'
        product:
          description: |
            Product Name of the Bank for this account, proprietary definition.
          maxLength: 35
          type: string
        resourceId:
          description: |
            This is the data element to be used in the path when retrieving data from a dedicated account.
            This shall be filled, if addressable resource are created by the ASPSP on the /card-accounts endpoint.
          type: string
        status:
          $ref: '#/components/schemas/accountStatus'
        usage:
          description: |
            Specifies the usage of the account:
              * PRIV: private personal account
              * ORGA: professional account
          enum:
            - PRIV
            - ORGA
          maxLength: 4
          type: string
      required:
        - currency
      type: object
    cardAccountList:
      description: |
        List of card accounts with details.
      properties:
        cardAccounts:
          items:
            $ref: '#/components/schemas/cardAccountDetails'
          type: array
      required:
        - cardAccounts
      type: object
    cardAccountReport:
      description: |
        JSON based card account report.

        This card account report contains transactions resulting from the query parameters.
      properties:
        _links:
          $ref: '#/components/schemas/_linksCardAccountReport'
        booked:
          $ref: '#/components/schemas/cardTransactionList'
        pending:
          $ref: '#/components/schemas/cardTransactionList'
      required:
        - booked
        - _links
      type: object
    cardAccountsTransactionsResponse200:
      description: |
        Body of the JSON response for a successful read card account transaction list request.
        This card account report contains transactions resulting from the query parameters.
      properties:
        _links:
          $ref: '#/components/schemas/_linksDownload'
        balances:
          $ref: '#/components/schemas/balanceList'
        cardAccount:
          $ref: '#/components/schemas/accountReference'
        cardTransactions:
          $ref: '#/components/schemas/cardAccountReport'
      type: object
    cardExpiryDate:
      description: |
        Expiry date of the card issued by the PIISP.
      example: 2018-07-01T00:00:00.000Z
      format: date
      type: string
    cardInformation:
      description: Addtional explanation for the card product.
      maxLength: 140
      type: string
    cardNumber:
      description: Card Number of the card issued by the PIISP. Should be delivered if available.
      maxLength: 35
      type: string
    cardTransaction:
      description: Card transaction information.
      properties:
        acceptorTransactionDateTime:
          description: Timestamp of the actual card transaction within the acceptance system
          format: date-time
          type: string
        bookingDate:
          $ref: '#/components/schemas/bookingDate'
        cardAcceptorAddress:
          $ref: '#/components/schemas/address'
        cardAcceptorId:
          maxLength: 35
          type: string
        cardAcceptorPhone:
          $ref: '#/components/schemas/cardAcceptorPhone'
        cardTransactionId:
          $ref: '#/components/schemas/cardTransactionId'
        currencyExchange:
          $ref: '#/components/schemas/reportExchangeRateList'
        invoiced:
          type: boolean
        markupFee:
          $ref: '#/components/schemas/amount'
        markupFeePercentage:
          example: '0.3'
          type: string
        merchantCategoryCode:
          $ref: '#/components/schemas/merchantCategoryCode'
        originalAmount:
          $ref: '#/components/schemas/amount'
        proprietaryBankTransactionCode:
          $ref: '#/components/schemas/proprietaryBankTransactionCode'
        terminalId:
          $ref: '#/components/schemas/terminalId'
        transactionAmount:
          $ref: '#/components/schemas/amount'
        transactionDate:
          $ref: '#/components/schemas/transactionDate'
        transactionDetails:
          maxLength: 140
          type: string
      required:
        - transactionAmount
      type: object
    cardTransactionId:
      description: Unique end to end identity.
      maxLength: 35
      type: string
    cardTransactionList:
      description: Array of transaction details.
      items:
        $ref: '#/components/schemas/cardTransaction'
      type: array
    cashAccountType:
      description: |
        ExternalCashAccountType1Code from ISO 20022.
      type: string
    challengeData:
      description: |
        It is contained in addition to the data element 'chosenScaMethod' if challenge data is needed for SCA.
        In rare cases this attribute is also used in the context of the 'startAuthorisationWithPsuAuthentication' link.
      properties:
        additionalInformation:
          description: |
            Additional explanation for the PSU to explain
            e.g. fallback mechanism for the chosen SCA method.
            The TPP is obliged to show this to the PSU.
          type: string
        data:
          description: A collection of strings as challenge data.
          items:
            type: string
          type: array
        image:
          description: |
            PNG data (max. 512 kilobyte) to be displayed to the PSU,
            Base64 encoding, cp. [RFC4648].
            This attribute is used only, when PHOTO_OTP or CHIP_OTP
            is the selected SCA method.
          format: byte
          type: string
        imageLink:
          description: A link where the ASPSP will provides the challenge image for the TPP.
          format: url
          type: string
        otpFormat:
          description: The format type of the OTP to be typed in. The admitted values are "characters" or "integer".
          enum:
            - characters
            - integer
          type: string
        otpMaxLength:
          description: The maximal length for the OTP to be typed in by the PSU.
          type: integer
      type: object
    chosenScaMethod:
      $ref: '#/components/schemas/authenticationObject'
    confirmationOfFunds:
      description: |
        JSON Request body for the "Confirmation of funds service".

        <table> 
        <tr> 
          <td>cardNumber</td> 
          <td>String </td>
          <td>Optional</td>
          <td>Card Number of the card issued by the PIISP. Should be delivered if available.</td>
        </tr> 
        <tr>
          <td>account</td>
          <td> Account Reference</td>
          <td>Mandatory</td>
          <td>PSU's account number.</td>
        </tr> 
        <tr> 
          <td>payee</td>
          <td>Max70Text</td>
          <td>Optional</td>
          <td>The merchant where the card is accepted as an information to the PSU.</td>
        </tr> 
        <tr>
          <td>instructedAmount</td>
          <td>Amount</td>
          <td>Mandatory</td>
          <td>Transaction amount to be checked within the funds check mechanism.</td>
        </tr> 
        </table>
      properties:
        account:
          $ref: '#/components/schemas/accountReference'
        cardNumber:
          description: |
            Card Number of the card issued by the PIISP. 
            Should be delivered if available.
          maxLength: 35
          type: string
        instructedAmount:
          $ref: '#/components/schemas/amount'
        payee:
          description: Name payee.
          maxLength: 70
          type: string
      required:
        - account
        - instructedAmount
      type: object
    consentId:
      description: |
        ID of the corresponding consent object as returned by an account information consent request.
      type: string
    consentIdList:
      description: A list of consentIds.
      items:
        $ref: '#/components/schemas/consentId'
      minItems: 1
      type: array
    consentInformationResponse-200_json:
      description: Body of the JSON response for a successfull get consent request.
      properties:
        _links:
          $ref: '#/components/schemas/_linksGetConsent'
        access:
          $ref: '#/components/schemas/accountAccess'
        consentStatus:
          $ref: '#/components/schemas/consentStatus'
        frequencyPerDay:
          $ref: '#/components/schemas/frequencyPerDay'
        lastActionDate:
          $ref: '#/components/schemas/lastActionDate'
        recurringIndicator:
          $ref: '#/components/schemas/recurringIndicator'
        validUntil:
          $ref: '#/components/schemas/validUntil'
      required:
        - access
        - recurringIndicator
        - validUntil
        - frequencyPerDay
        - lastActionDate
        - consentStatus
      type: object
    consentStatus:
      description: |
        This is the overall lifecycle status of the consent.

        Valid values are:
          - 'received': The consent data have been received and are technically correct. 
            The data is not authorised yet.
          - 'rejected': The consent data have been rejected e.g. since no successful authorisation has taken place.
          - 'valid': The consent is accepted and valid for GET account data calls and others as specified in the consent object.
          - 'revokedByPsu': The consent has been revoked by the PSU towards the ASPSP.
          - 'expired': The consent expired.
          - 'terminatedByTpp': The corresponding TPP has terminated the consent by applying the DELETE method to the consent resource.
          - 'partiallyAuthorised': The consent is due to a multi-level authorisation, some but not all mandated authorisations have been performed yet.

        The ASPSP might add further codes. These codes then shall be contained in the ASPSP's documentation of the XS2A interface 
        and has to be added to this API definition as well.
      enum:
        - received
        - rejected
        - valid
        - revokedByPsu
        - expired
        - terminatedByTpp
        - partiallyAuthorised
      type: string
    consentStatusResponse-200:
      description: Body of the JSON response for a successful get status request for a consent.
      properties:
        consentStatus:
          $ref: '#/components/schemas/consentStatus'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
      required:
        - consentStatus
      type: object
    consents:
      description: |
        Content of the body of a consent request.
      properties:
        access:
          $ref: '#/components/schemas/accountAccess'
        combinedServiceIndicator:
          description: |
            If "true" indicates that a payment initiation service will be addressed in the same "session".
          example: false
          type: boolean
        frequencyPerDay:
          $ref: '#/components/schemas/frequencyPerDay'
        recurringIndicator:
          $ref: '#/components/schemas/recurringIndicator'
        validUntil:
          $ref: '#/components/schemas/validUntil'
      required:
        - access
        - recurringIndicator
        - validUntil
        - frequencyPerDay
        - combinedServiceIndicator
      type: object
    consentsConfirmationOfFunds:
      description: |
        Content of the body of a consent confirmation of funds request.
      properties:
        account:
          $ref: '#/components/schemas/accountReference'
        cardExpiryDate:
          $ref: '#/components/schemas/cardExpiryDate'
        cardInformation:
          $ref: '#/components/schemas/cardInformation'
        cardNumber:
          $ref: '#/components/schemas/cardNumber'
        registrationInformation:
          $ref: '#/components/schemas/registrationInformation'
      required:
        - account
      type: object
    consentsResponse-201:
      description: Body of the JSON response for a successful consent request.
      properties:
        _links:
          $ref: '#/components/schemas/_linksConsents'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        consentId:
          $ref: '#/components/schemas/consentId'
        consentStatus:
          $ref: '#/components/schemas/consentStatus'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
      required:
        - consentStatus
        - consentId
        - _links
      type: object
    countryCode:
      description: ISO 3166 ALPHA2 country code.
      example: SE
      pattern: '[A-Z]{2}'
      type: string
    creditorAgentName:
      description: Creditor agent name.
      example: Creditor Agent Name
      maxLength: 70
      type: string
    creditorId:
      description: Identification of Creditors, e.g. a SEPA Creditor ID.
      example: Creditor Id 5678
      maxLength: 35
      type: string
    creditorName:
      description: Creditor name.
      example: Creditor Name
      maxLength: 70
      type: string
    currencyCode:
      description: |
        ISO 4217 Alpha 3 currency code.
      example: EUR
      pattern: '[A-Z]{3}'
      type: string
    dayOfExecution:
      description: |
        Day of execution as string.

        This string consists of up two characters.
        Leading zeroes are not allowed.

        31 is ultimo of the month.
      enum:
        - '1'
        - '2'
        - '3'
        - '4'
        - '5'
        - '6'
        - '7'
        - '8'
        - '9'
        - '10'
        - '11'
        - '12'
        - '13'
        - '14'
        - '15'
        - '16'
        - '17'
        - '18'
        - '19'
        - '20'
        - '21'
        - '22'
        - '23'
        - '24'
        - '25'
        - '26'
        - '27'
        - '28'
        - '29'
        - '30'
        - '31'
      maxLength: 2
      type: string
    debtorName:
      description: Debtor name.
      example: Debtor Name
      maxLength: 70
      type: string
    displayName:
      description: |
        Name of the account as defined by the PSU within online channels.
      maxLength: 70
      type: string
    endDate:
      description: |
        The last applicable day of execution.
        If not given, it is an infinite standing order.
      format: date
      type: string
    entryReference:
      description: |
        Is the identification of the transaction as used e.g. for reference for deltafunction on application level.
        The same identification as for example used within camt.05x messages.
      maxLength: 35
      type: string
    executionRule:
      description: |
        "following" or "preceding" supported as values. 
        This data attribute defines the behaviour when recurring payment dates falls on a weekend or bank holiday. 
        The payment is then executed either the "preceding" or "following" working day.
        ASPSP might reject the request due to the communicated value, if rules in Online-Banking are not supporting 
        this execution rule.
      enum:
        - following
        - preceding
      type: string
    frequencyCode:
      description: |
        The following codes from the "EventFrequency7Code" of ISO 20022 are supported:
        - "Daily"
        - "Weekly"
        - "EveryTwoWeeks"
        - "Monthly"
        - "EveryTwoMonths"
        - "Quarterly"
        - "SemiAnnual"
        - "Annual"
        - "MonthlyVariable"
      enum:
        - Daily
        - Weekly
        - EveryTwoWeeks
        - Monthly
        - EveryTwoMonths
        - Quarterly
        - SemiAnnual
        - Annual
        - MonthlyVariable
      type: string
    frequencyPerDay:
      description: |
        This field indicates the requested maximum frequency for an access without PSU involvement per day.
        For a one-off access, this attribute is set to "1".

        The frequency needs to be greater equal to one. 

        If not otherwise agreed bilaterally between TPP and ASPSP, the frequency is less equal to 4.
      example: 4
      exclusiveMinimum: false
      minimum: 1
      type: integer
    fundsAvailable:
      description: |
        Equals true if sufficient funds are available at the time of the request, false otherwise.

        This datalemenet is allways contained in a confirmation of funds response.

        This data element is contained in a payment status response, 
        if supported by the ASPSP, if a funds check has been performed and 
        if the transactionStatus is "ACTC", "ACWC" or "ACCP".
      type: boolean
    hrefEntry:
      description: Link to a resource.
      example: /v136/payments/sepa-credit-transfers/1234-wertiq-983
      type: string
    hrefType:
      description: Link to a resource.
      properties:
        href:
          $ref: '#/components/schemas/hrefEntry'
      type: object
    iban:
      description: IBAN of an account.
      example: FR7612345987650123456789014
      pattern: '[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}'
      type: string
    lastActionDate:
      description: |
        This date is containing the date of the last action on the consent object either through 
        the XS2A interface or the PSU/ASPSP interface having an impact on the status.
      example: 2018-07-01T00:00:00.000Z
      format: date
      type: string
    merchantCategoryCode:
      description: Merchant category code.
      maxLength: 4
      minLength: 4
      type: string
    monthsOfExecution:
      description: |
        The format is following the regular expression \d{1,2}. 
        The array is restricted to 11 entries. 
        The values contained in the array entries shall all be different and the maximum value of one entry is 12.
        This attribute is contained if and only if the frequency equals "MonthlyVariable".
        Example: An execution on January, April and October each year is addressed by ["1", "4", "10"].
      items:
        enum:
          - '1'
          - '2'
          - '3'
          - '4'
          - '5'
          - '6'
          - '7'
          - '8'
          - '9'
          - '10'
          - '11'
          - '12'
        maxItems: 11
        maxLength: 2
        type: string
      type: array
    ownerName:
      description: |
        Name of the legal account owner. 
        If there is more than one owner, then e.g. two names might be noted here.

        For a corporate account, the corporate name is used for this attribute.
        Even if supported by the ASPSP, the provision of this field might depend on the fact whether an explicit consent to this specific additional account information has been given by the PSU.
      example: John Doe
      maxLength: 140
      type: string
    paymentId:
      description: Resource identification of the generated payment initiation resource.
      example: 1234-wertiq-983
      type: string
    paymentIdList:
      description: A list of paymentIds.
      items:
        $ref: '#/components/schemas/paymentId'
      minItems: 1
      type: array
    paymentInitationRequestResponse-201:
      description: Body of the response for a successful payment initiation request.
      properties:
        _links:
          $ref: '#/components/schemas/_linksPaymentInitiation'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        paymentId:
          $ref: '#/components/schemas/paymentId'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage2XX'
          type: array
        transactionFeeIndicator:
          $ref: '#/components/schemas/transactionFeeIndicator'
        transactionFees:
          $ref: '#/components/schemas/amount'
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
      required:
        - transactionStatus
        - paymentId
        - _links
      type: object
    paymentInitiationCancelResponse-202:
      description: Body of the response for a successful cancel payment request.
      properties:
        _links:
          $ref: '#/components/schemas/_linksPaymentInitiationCancel'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
      required:
        - transactionStatus
      type: object
    paymentInitiationStatusResponse-200_json:
      description: Body of the response for a successful payment initiation status request in case of an JSON based endpoint.
      properties:
        fundsAvailable:
          $ref: '#/components/schemas/fundsAvailable'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
      required:
        - transactionStatus
      type: object
    proprietaryBankTransactionCode:
      description: |
        Proprietary bank transaction code as used within a community or within an ASPSP e.g. 
        for MT94x based transaction reports.
      maxLength: 35
      type: string
    psuData:
      description: PSU Data for Update PSU authentication.
      minProperties: 1
      properties:
        additionalEncryptedPassword:
          description: Additional encrypted password.
          type: string
        additionalPassword:
          description: Additional password in plaintext.
          type: string
        encryptedPassword:
          description: Encrypted password.
          type: string
        password:
          description: Password.
          type: string
      type: object
    psuMessageText:
      description: Text to be displayed to the PSU.
      maxLength: 500
      type: string
    purposeCode:
      description: |
        ExternalPurpose1Code from ISO 20022.

        Values from ISO 20022 External Code List ExternalCodeSets_1Q2018 June 2018.
      enum:
        - BKDF
        - BKFE
        - BKFM
        - BKIP
        - BKPP
        - CBLK
        - CDCB
        - CDCD
        - CDCS
        - CDDP
        - CDOC
        - CDQC
        - ETUP
        - FCOL
        - MTUP
        - ACCT
        - CASH
        - COLL
        - CSDB
        - DEPT
        - INTC
        - 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
        - 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
        - RVPM
        - SLPI
        - SPLT
        - STDY
        - TBAN
        - TBIL
        - TCSC
        - TELI
        - TMPG
        - TPRI
        - TPRP
        - TRNC
        - TRVC
        - WEBI
        - 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
        - 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
      type: string
    readAccountBalanceResponse-200:
      description: Body of the response for a successful read balance for an account request.
      properties:
        account:
          $ref: '#/components/schemas/accountReference'
        balances:
          $ref: '#/components/schemas/balanceList'
      required:
        - balances
      type: object
    readCardAccountBalanceResponse-200:
      description: Body of the response for a successful read balance for a card account request.
      properties:
        balances:
          $ref: '#/components/schemas/balanceList'
        cardAccount:
          $ref: '#/components/schemas/accountReference'
      required:
        - balances
      type: object
    recurringIndicator:
      description: |
        "true", if the consent is for recurring access to the account data.

        "false", if the consent is for one access to the account data.
      example: false
      type: boolean
    registrationInformation:
      description: Addtional information about the registration process for the PSU, e. g. a reference to the TPP / PSU contract.
      maxLength: 140
      type: string
    remittanceInformationStructured:
      description: |
        Structured remittance information.
      properties:
        reference:
          maxLength: 35
          type: string
        referenceIssuer:
          maxLength: 35
          type: string
        referenceType:
          maxLength: 35
          type: string
      required:
        - reference
      type: object
    remittanceInformationStructuredArray:
      description: |
        Array of structured remittance information.
      items:
        $ref: '#/components/schemas/remittanceInformationStructured'
      type: array
    remittanceInformationUnstructured:
      description: |
        Unstructured remittance information.
      example: Ref Number Merchant
      maxLength: 140
      type: string
    remittanceInformationUnstructuredArray:
      description: |
        Array of unstructured remittance information.
      example:
        - Ref Number Merchant
        - Some Other Text
      items:
        $ref: '#/components/schemas/remittanceInformationUnstructured'
      type: array
    reportExchangeRate:
      description: Exchange Rate.
      properties:
        contractIdentification:
          type: string
        exchangeRate:
          type: string
        quotationDate:
          format: date
          type: string
        sourceCurrency:
          $ref: '#/components/schemas/currencyCode'
        targetCurrency:
          $ref: '#/components/schemas/currencyCode'
        unitCurrency:
          type: string
      required:
        - sourceCurrency
        - exchangeRate
        - unitCurrency
        - targetCurrency
        - quotationDate
      type: object
    reportExchangeRateList:
      description: Array of exchange rates.
      items:
        $ref: '#/components/schemas/reportExchangeRate'
      type: array
    scaAuthenticationData:
      description: |
        SCA authentication data, depending on the chosen authentication method. 
        If the data is binary, then it is base64 encoded.
      type: string
    scaMethods:
      description: |
        This data element might be contained, if SCA is required and if the PSU has a choice between different
        authentication methods.

        Depending on the risk management of the ASPSP this choice might be offered before or after the PSU
        has been identified with the first relevant factor, or if an access token is transported.

        If this data element is contained, then there is also a hyperlink of type 'startAuthorisationWithAuthenticationMethodSelection'
        contained in the response body.

        These methods shall be presented towards the PSU for selection by the TPP.
      items:
        $ref: '#/components/schemas/authenticationObject'
      type: array
    scaStatus:
      description: |
        This data element is containing information about the status of the SCA method applied. 

        The following codes are defined for this data type.

          * 'received':
            An authorisation or cancellation-authorisation resource has been created successfully.
          * 'psuIdentified':
            The PSU related to the authorisation or cancellation-authorisation resource has been identified.
          * 'psuAuthenticated':
            The PSU related to the authorisation or cancellation-authorisation resource has been identified and authenticated e.g. by a password or by an access token.
          * 'scaMethodSelected':
            The PSU/TPP has selected the related SCA routine. 
            If the SCA method is chosen implicitly since only one SCA method is available, 
            then this is the first status to be reported instead of 'received'.
          * 'unconfirmed':
            SCA is technically successfully finalised by the PSU, but the authorisation resource needs a confirmation command by the TPP yet. 
          * 'started':
            The addressed SCA routine has been started.
          * 'finalised':
            The SCA routine has been finalised successfully (including a potential confirmation command). 
            This is a final status of the authorisation resource.
          * 'failed':
            The SCA routine failed.
            This is a final status of the authorisation resource.
          * 'exempted':
            SCA was exempted for the related transaction, the related authorisation is successful.
            This is a final status of the authorisation resource.
      enum:
        - received
        - psuIdentified
        - psuAuthenticated
        - scaMethodSelected
        - started
        - unconfirmed
        - finalised
        - failed
        - exempted
      example: psuAuthenticated
      type: string
    scaStatusResponse:
      description: Body of the JSON response with SCA Status.
      properties:
        scaStatus:
          $ref: '#/components/schemas/scaStatus'
      type: object
    signingBasket:
      description: |
        JSON Body of a establish signing basket request.
        The body shall contain at least one entry.
      properties:
        consentIds:
          $ref: '#/components/schemas/consentIdList'
        paymentIds:
          $ref: '#/components/schemas/paymentIdList'
      type: object
    signingBasketResponse-200:
      description: |
        Body of the JSON response for a successful get signing basket request.

          * 'payments': payment initiations which shall be authorised through this signing basket.
          * 'consents': consent objects which shall be authorised through this signing basket.
          * 'transactionStatus': Only the codes RCVD, ACTC, RJCT are used.
          * '_links': The ASPSP might integrate hyperlinks to indicate next (authorisation) steps to be taken.
      properties:
        _links:
          $ref: '#/components/schemas/_linksSigningBasket'
        consents:
          $ref: '#/components/schemas/consentIdList'
        payments:
          $ref: '#/components/schemas/paymentIdList'
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus_SBS'
      required:
        - transactionStatus
      type: object
    signingBasketResponse-201:
      description: Body of the JSON response for a successful create signing basket request.
      properties:
        _links:
          $ref: '#/components/schemas/_linksSigningBasket'
        basketId:
          $ref: '#/components/schemas/basketId'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
        tppMessages:
          items:
            $ref: '#/components/schemas/tppMessage2XX'
          type: array
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus_SBS'
      required:
        - transactionStatus
        - basketId
        - _links
      type: object
    signingBasketStatusResponse-200:
      properties:
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus_SBS'
      required:
        - transactionStatus
      type: object
    standingOrderDetails:
      description: |
        Details of underlying standing orders.
      properties:
        dayOfExecution:
          $ref: '#/components/schemas/dayOfExecution'
        endDate:
          $ref: '#/components/schemas/endDate'
        executionRule:
          $ref: '#/components/schemas/executionRule'
        frequency:
          $ref: '#/components/schemas/frequencyCode'
        limitAmount:
          $ref: '#/components/schemas/amount'
        monthsOfExecution:
          $ref: '#/components/schemas/monthsOfExecution'
        multiplicator:
          description: |
            This is multiplying the given frequency resulting the exact frequency,
            e.g. Frequency=weekly and multiplicator=3 means every 3 weeks.
            Remark: This attribute is rarely supported in the market.
          type: integer
        startDate:
          $ref: '#/components/schemas/startDate'
        withinAMonthFlag:
          description: |
            This element is only used in case of frequency equals "monthly".

            If this element equals false it has no effect.
            If this element equals true, then the execution rule is overruled if the day of execution would fall into a different month using the execution rule.

            Example: executionRule equals "preceding", dayOfExecution equals "02" and the second of a month is a Sunday. 
            In this case, the transaction date would be on the last day of the month before.
             This would be overruled if withinAMonthFlag equals true and the payment is processed on Monday the third of the Month.
            Remark: This attribute is rarely supported in the market.
          type: boolean
      required:
        - startDate
        - frequency
      type: object
    startDate:
      description: |
        The first applicable day of execution starting from this date is the first payment.
      format: date
      type: string
    startScaprocessResponse:
      description: Body of the JSON response for a Start SCA authorisation request.
      properties:
        _links:
          $ref: '#/components/schemas/_linksStartScaProcess'
        authorisationId:
          $ref: '#/components/schemas/authorisationId'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
        scaStatus:
          $ref: '#/components/schemas/scaStatus'
      required:
        - scaStatus
        - authorisationId
        - _links
      type: object
    terminalId:
      description: Identification of the Terminal, where the card has been used.
      maxLength: 35
      type: string
    tppMessage2XX:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode2XX'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage400_AIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode400_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage400_PIIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode400_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage400_PIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode400_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage400_SBS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode400_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage401_AIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode401_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage401_PIIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode401_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage401_PIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode401_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage401_SBS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode401_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage403_AIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode403_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage403_PIIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode403_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage403_PIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode403_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage403_SBS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode403_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage404_AIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode404_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage404_PIIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode404_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage404_PIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode404_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage404_SBS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode404_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage405_AIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode405_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage405_PIIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode405_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage405_PIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode405_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage405_PIS_CANC:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode405_PIS_CANC'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage405_SBS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode405_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage406_AIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode406_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage409_AIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode409_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage409_PIIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode409_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage409_PIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode409_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage409_SBS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode409_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessage429_AIS:
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode429_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
      required:
        - category
        - code
      type: object
    tppMessageCategory:
      description: Category of the TPP message category.
      enum:
        - ERROR
        - WARNING
      type: string
    tppMessageText:
      description: Additional explaining text to the TPP.
      maxLength: 500
      type: string
    transactionDate:
      description: Date of the actual card transaction.
      format: date
      type: string
    transactionDetails:
      description: Transaction details.
      properties:
        _links:
          $ref: '#/components/schemas/_linksTransactionDetails'
        additionalInformation:
          $ref: '#/components/schemas/additionalInformation'
        additionalInformationStructured:
          $ref: '#/components/schemas/additionalInformationStructured'
        balanceAfterTransaction:
          $ref: '#/components/schemas/balance'
        bankTransactionCode:
          $ref: '#/components/schemas/bankTransactionCode'
        bookingDate:
          $ref: '#/components/schemas/bookingDate'
        checkId:
          description: Identification of a Cheque.
          maxLength: 35
          type: string
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorId:
          $ref: '#/components/schemas/creditorId'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        currencyExchange:
          $ref: '#/components/schemas/reportExchangeRateList'
        debtorAccount:
          $ref: '#/components/schemas/accountReference'
        debtorAgent:
          $ref: '#/components/schemas/bicfi'
        debtorName:
          $ref: '#/components/schemas/debtorName'
        endToEndId:
          description: Unique end to end identity.
          maxLength: 35
          type: string
        entryReference:
          $ref: '#/components/schemas/entryReference'
        mandateId:
          description: Identification of Mandates, e.g. a SEPA Mandate ID.
          maxLength: 35
          type: string
        proprietaryBankTransactionCode:
          $ref: '#/components/schemas/proprietaryBankTransactionCode'
        purposeCode:
          $ref: '#/components/schemas/purposeCode'
        remittanceInformationStructured:
          $ref: '#/components/schemas/remittanceInformationStructured'
        remittanceInformationStructuredArray:
          $ref: '#/components/schemas/remittanceInformationStructuredArray'
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
        remittanceInformationUnstructuredArray:
          $ref: '#/components/schemas/remittanceInformationUnstructuredArray'
        transactionAmount:
          $ref: '#/components/schemas/amount'
        transactionId:
          $ref: '#/components/schemas/transactionId'
        ultimateCreditor:
          $ref: '#/components/schemas/ultimateCreditor'
        ultimateDebtor:
          $ref: '#/components/schemas/ultimateDebtor'
        valueDate:
          description: The Date at which assets become available to the account owner in case of a credit.
          format: date
          type: string
      required:
        - transactionAmount
      type: object
    transactionFeeIndicator:
      description: |
        If equals 'true', the transaction will involve specific transaction cost as shown by the ASPSP in
        their public price list or as agreed between ASPSP and PSU.
        If equals 'false', the transaction will not involve additional specific transaction costs to the PSU.
      type: boolean
    transactionId:
      description: |
        This identification is given by the attribute transactionId of the corresponding entry of a transaction list.
      example: 3dc3d5b3-7023-4848-9853-f5400a64e80f
      type: string
    transactionList:
      description: Array of transaction details.
      items:
        $ref: '#/components/schemas/transactionDetails'
      type: array
    transactionStatus:
      description: |
        The transaction status is filled with codes of the ISO 20022 data table:
        - 'ACCC': 'AcceptedSettlementCompleted' -
          Settlement on the creditor's account has been completed.
        - 'ACCP': 'AcceptedCustomerProfile' - 
          Preceding check of technical validation was successful. 
          Customer profile check was also successful.
        - 'ACSC': 'AcceptedSettlementCompleted' - 
          Settlement on the debtor�s account has been completed.

          **Usage:** this can be used by the first agent to report to the debtor that the transaction has been completed. 

          **Warning:** this status is provided for transaction status reasons, not for financial information. 
          It can only be used after bilateral agreement.
        - 'ACSP': 'AcceptedSettlementInProcess' - 
          All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.
        - 'ACTC': 'AcceptedTechnicalValidation' - 
          Authentication and syntactical and semantical validation are successful.
        - 'ACWC': 'AcceptedWithChange' - 
          Instruction is accepted but a change will be made, such as date or remittance not sent.
        - 'ACWP': 'AcceptedWithoutPosting' - 
          Payment instruction included in the credit transfer is accepted without being posted to the creditor customer�s account.
        - 'RCVD': 'Received' - 
          Payment initiation has been received by the receiving agent.
        - 'PDNG': 'Pending' - 
          Payment initiation or individual transaction included in the payment initiation is pending. 
          Further checks and status update will be performed.
        - 'RJCT': 'Rejected' - 
          Payment initiation or individual transaction included in the payment initiation has been rejected.
        - 'CANC': 'Cancelled'
          Payment initiation has been cancelled before execution
          Remark: This codeis accepted as new code by ISO20022.
        - 'ACFC': 'AcceptedFundsChecked' -
          Preceding check of technical validation and customer profile was successful and an automatic funds check was positive .
          Remark: This code is accepted as new code by ISO20022.
        - 'PATC': 'PartiallyAcceptedTechnical'
          Correct The payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful.
          Remark: This code is accepted as new code by ISO20022.
        - 'PART': 'PartiallyAccepted' -
          A number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status.
          Remark: This code may be used only in case of bulk payments. It is only used in a situation where all mandated authorisations have been applied, but some payments have been rejected.
      enum:
        - ACCC
        - ACCP
        - ACSC
        - ACSP
        - ACTC
        - ACWC
        - ACWP
        - RCVD
        - PDNG
        - RJCT
        - CANC
        - ACFC
        - PATC
        - PART
      example: ACCP
      type: string
    transactionStatus_SBS:
      description: |
        The transaction status is filled with codes of the ISO 20022 data table.
        Only the codes RCVD, PATC, ACTC, ACWC and RJCT are used:
        - 'ACSP': 'AcceptedSettlementInProcess' - 
          All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.
        - 'ACTC': 'AcceptedTechnicalValidation' - 
          Authentication and syntactical and semantical validation are successful.
        - 'ACWC': 'AcceptedWithChange' - 
          Instruction is accepted but a change will be made, such as date or remittance not sent.
        - 'RCVD': 'Received' - 
          Payment initiation has been received by the receiving agent.
        - 'RJCT': 'Rejected' - 
          Payment initiation or individual transaction included in the payment initiation has been rejected.
      enum:
        - ACSC
        - ACTC
        - PATC
        - RCVD
        - RJCT
        - CANC
      example: RCVD
      type: string
    transactionsResponse-200_json:
      description: |
        Body of the JSON response for a successful read transaction list request.
        This account report contains transactions resulting from the query parameters.
      properties:
        _links:
          $ref: '#/components/schemas/_linksDownload'
        account:
          $ref: '#/components/schemas/accountReference'
        balances:
          $ref: '#/components/schemas/balanceList'
        transactions:
          $ref: '#/components/schemas/accountReport'
      type: object
    ultimateCreditor:
      description: Ultimate creditor.
      example: Ultimate Creditor
      maxLength: 70
      type: string
    ultimateDebtor:
      description: Ultimate debtor.
      example: Ultimate Debtor
      maxLength: 70
      type: string
    validUntil:
      description: |
        This parameter is requesting a valid until date for the requested consent. 
        The content is the local ASPSP date in ISO-Date format, e.g. 2017-10-30.

        Future dates might get adjusted by ASPSP. 

        If a maximal available date is requested, a date in far future is to be used: "9999-12-31". 

        In both cases the consent object to be retrieved by the get consent request will contain the adjusted date.
      example: 2020-12-31T00:00:00.000Z
      format: date
      type: string
    consentsConfirmationOfFundsResponse-201:
      description: Body of the JSON response for a successful confirmation of funds consent request.
      properties:
        _links:
          $ref: '#/components/schemas/_linksConsents'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        consentId:
          $ref: '#/components/schemas/consentId'
        consentStatus:
          $ref: '#/components/schemas/consentStatus'
        message:
          description: Text to be displayed to the PSU, e.g. in a Decoupled SCA Approach.
          maxLength: 512
          type: string
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
      required:
        - consentStatus
        - consentId
        - _links
      type: object
    updatePsuAuthentication:
      description: |
        Content of the body of a Update PSU authentication request

        Password subfield is used.
      type: object
      required:
        - psuData
      properties:
        psuData:
          $ref: '#/components/schemas/psuData'
    updatePsuIdenticationResponse:
      description: Body of the JSON response for a successful update PSU Identification request.
      properties:
        _links:
          $ref: '#/components/schemas/_linksUpdatePsuIdentification'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        scaStatus:
          $ref: '#/components/schemas/scaStatus'
      required:
        - _links
        - scaStatus
      type: object
basePath: /bg
