openapi: 3.0.1
info:
  title: Open Payments API
  version: 1.3.3
  description: >
    # Summary

    The Open Banking part of our API is based on The BerlinGroup NextGenPSD2 Framework with some additional services.

    For information on using these API's, please refer to our documentation.

    ## Some General Remarks Related to this version of the OpenAPI Specification:

    * 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".

  license:
    name: Creative Commons Attribution 4.0 International Public License
    url: https://creativecommons.org/licenses/by/4.0/
  contact:
    name: Open Payments Europe AB
    url: https://www.openpayments.io/
    email: info@openpayments.io
externalDocs:
  description: >
    Full Documentation of NextGenPSD2 Access to Account Interoperability
    Framework

    (General Introduction Paper, Operational Rules, Implementation Guidelines)
  url: https://www.berlin-group.org/nextgenpsd2-downloads

servers:
  - url: https://api.openbankingplatform.com
  - url: https://api.sandbox.openbankingplatform.com

paths:
  /premium/v1/creditor-name:
    servers:
      - url: https://api.openbankingplatform.com
        description: Premium products production server
    get:
      summary: Get Creditor Name
      description: Returns the name of the recipient based on their account information. 
      tags:
        - Bankgiro Lookup
      operationId: Get Creditor Name
      parameters:
        - name: giroNumber
          in: query
          required: true
          schema:
            type: string
        - name: giroType
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/giroType'
        - name: ocrRef
          in: query
          description: |
            **Must** be provided if `invoiceRef` is not.
          schema:
            $ref: '#/components/schemas/giroOcrReference'
        - name: invoiceRef
          in: query
          description: |
            **Must** be provided if `ocrRef` is not.
          schema:
            $ref: '#/components/schemas/giroInvoiceReference'
        - name: X-Request-ID
          in: header
          required: true
          schema:
            type: string
        - name: PSU-ID
          in: header
          schema:
            type: string
        - name: PSU-Corporate-Id
          in: header
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCreditorNameResponse'
              examples:
                Example:
                  $ref: '#/components/examples/GetCreditorNameResponseExample'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
  /premium/v1/giro-numbers:
    servers:
      - url: https://api.openbankingplatform.com
        description: Premium products production server
    get:
      summary: Get Giro Numbers
      description: Returns Bankgiro numbers associated with a company.
      tags:
        - Bankgiro Lookup
      operationId: Get Giro Numbers
      parameters:
        - name: psuCorporateId
          in: query
          required: true
          schema:
            type: string
        - name: giroType
          in: query
          schema:
            $ref: '#/components/schemas/giroType'
        - name: X-Request-ID
          in: header
          required: true
          schema:
            type: string
        - name: PSU-ID
          in: header
          schema:
            type: string
        - name: PSU-Corporate-Id
          in: header
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGiroNumbersResponse'
              examples:
                Example:
                  $ref: '#/components/examples/GetGiroNumbersResponseExample'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
  /iso/payments:
    servers:
      - url: https://api.openbankingplatform.com
        description: ISO production server
    post:
      tags:
        - ISO Payments
      operationId: Create Payment
      summary: Create Payment
      description: Initiates an ISO payment by submitting the required payment instructions. 
      parameters:
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/X-AffiliatedASPSP-ID'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/consentId_HEADER_optional'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      requestBody:
        $ref: '#/components/requestBodies/isoPaymentInitiation'
      responses:
        '201':
          $ref: '#/components/responses/CREATED_201_IsoPaymentInitiation'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
  /iso/payments/cross-border:
    servers:
      - url: https://api.openbankingplatform.com
        description: ISO production server
    post:
      tags:
        - ISO Payments
      operationId: Create Payment (Cross-border)
      summary: Create Payment (Cross-border)
      description: Initiates an ISO payment by submitting cross-border payment instructions.
      parameters:
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/X-AffiliatedASPSP-ID'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_optional'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
        - $ref: '#/components/parameters/FX-Quote-Id_mandatory'
      requestBody:
        $ref: '#/components/requestBodies/isoPaymentInitiationCrossBorder'
      responses:
        '201':
          $ref: '#/components/responses/CREATED_201_IsoPaymentInitiation'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
  /iso/beta/payments/sepa-direct-debit:
    servers:
      - url: https://api.openbankingplatform.com
        description: ISO production server
    post:
      tags:
        - SEPA Direct Debit
      operationId: Create SEPA Direct Debit Payment
      summary: Create SEPA Direct Debit Payment (Beta)
      description: Initiates a SEPA Direct Debit payment by submitting direct debit payment instructions via ISO.
      parameters:
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/X-AffiliatedASPSP-ID'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_optional'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/paymentInitiationSepaDirectDebit_json'
      responses:
        '201':
          $ref: '#/components/responses/CREATED_201_PaymentInitiation'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
  /iso/payments/{paymentId}:
    servers:
      - url: https://api.openbankingplatform.com
        description: ISO production server
    get:
      tags:
        - ISO Payments
        - SEPA Direct Debit
      operationId: Get Payment
      summary: Get Payment
      description: Retrieves the details and status of an ISO payment.
      parameters:
        - name: paymentId
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/X-AffiliatedASPSP-ID'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_optional'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
        - $ref: '#/components/parameters/FX-Quote-Id'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_PaymentInitiationInformation'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
  /iso/payments/confirm:
    servers:
      - url: https://api.openbankingplatform.com
        description: ISO production server
    put:
      tags:
        - ISO Payments
        - SEPA Direct Debit
      operationId: Confirm Payment
      summary: Confirm Payment
      description: Confirms and finalizes a pending ISO payment and sends it for processing. Only confirmed payments are transmitted to the clearing system for execution. 
      parameters:
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/X-AffiliatedASPSP-ID'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_optional'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
        - $ref: '#/components/parameters/consentId_HEADER_optional'


      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmIsoPaymentRequest'
            examples:
              Example:
                $ref: '#/components/examples/ConfirmIsoPaymentRequestExample'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmIsoPaymentResponse'
              examples:
                Example:
                  $ref: '#/components/examples/ConfirmIsoPaymentResponseExample'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
  /premium/v1/payouts:
    servers:
      - url: https://api.openbankingplatform.com
        description: Premium products production server
    post:
      tags:
        - Payout Service
      operationId: Create Payout
      summary: Create Payout
      description: Initiates a payout request by submitting payment details.
      parameters:
        - name: X-Request-ID
          in: header
          required: true
          schema:
            type: string
        - name: PSU-Corporate-Id
          in: header
          schema:
            type: string
        - name: PSU-ID
          in: header
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePayoutRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePayoutResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
  /premium/v1/payouts/{payoutId}:
    servers:
      - url: https://api.openbankingplatform.com
        description: Premium products production server
    get:
      tags:
        - Payout Service
      operationId: Get Payout
      summary: Get Payout
      description: Returns the details and current status of a payout. 
      parameters:
        - name: payoutId
          description: ID of the generated payout resource.
          in: path
          required: true
          schema:
            type: string
        - name: X-Request-ID
          in: header
          required: true
          schema:
            type: string
        - name: PSU-Corporate-Id
          in: header
          schema:
            type: string
        - name: PSU-ID
          in: header
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPayoutResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
  /premium/v1/payouts/confirm:
    servers:
      - url: https://api.openbankingplatform.com
        description: Premium products production server
    put:
      tags:
        - Payout Service
      operationId: Confirm Payout
      summary: Confirm Payout
      description: Confirms and finalizes a pending payout, triggering the disbursement of funds. Only confirmed payouts are sent to Bankgirot for processing.
      parameters:
        - name: X-Request-ID
          in: header
          required: true
          schema:
            type: string
        - name: PSU-Corporate-Id
          in: header
          schema:
            type: string
        - name: PSU-ID
          in: header
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmPayoutRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmPayoutResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDetails'
  /v1/bulk-payment:
    servers:
      - url: https://bulkpayment.openbankingplatform.com
        description: Bulk payment production server
    post:
      tags:
        - Bulk Payments
      summary: Create bulk payment
      description: Creates a bulk payment resource by parsing the XML contents in the posted body.
      parameters:
        - name: X-Request-ID
          in: header
          description: "Type: string (uuid)<br />\r\nDescription: ID of the request, unique to the call, as determined by the initiating party."
          required: true
          schema:
            type: string
          example: b81b5960-306d-449b-b375-eeec8d464511
        - name: X-Corporate-ID
          in: header
          description: "Type: string<br />\r\nDescription: Swedish 10 digit corporate organisation number."
          required: true
          schema:
            type: string
          example: '5524438362'
        - name: X-PaymentExecutionAdjustmentDays
          in: header
          description: "Type: integer<br />\r\nDescription: Number of valid bankdays to adjust payment execution day given in XML (positive or negative integer)."
          schema:
            type: string
          example: '1'
      requestBody:
        description: Bulk payment structure in JSON or ISO 20022 PAIN.001.001 XML format
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBulkPayment'
            example:
              bicFi: SWEDSESS
              numberOfTransactions: 2
              controlSum: 323.15
              domestic:
                - debtorAccount:
                    iban: SE4550000000058398257466
                  instructedAmount:
                    currency: SEK
                    amount: 123.05
                  creditorName: Acme AB
                  creditorAccount:
                    iban: SE1412000000000012345678
                  requestedExecutionDate: '2022-09-02'
                  remittanceInformationUnstructured: Invoice 1
              swedishGiro:
                - debtorAccount:
                    iban: SE4550000000058398257466
                  instructedAmount:
                    currency: SEK
                    amount: 200.1
                  creditorName: Acme AB
                  creditorGiro:
                    giroType: BANKGIRO
                    giroNumber: '1234-5678'
                  requestedExecutionDate: '2022-09-03'
                  invoiceRef: Invoice 1
          application/xml:
            schema:
              $ref: '#/components/schemas/XElement'
      responses:
        '201':
          description: "Created<br />\r\nThe resource was successfully created"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBulkPaymentOutput'
              example:
                bulkPaymentId: 6aa69579-fb15-421c-8c53-ddb778156f83
                status: valid
                latestAuthorisationDate: '2022-01-18'
                adjustedPaymentExecutionDate: '2022-01-23'
                numberOfAuthorisations: 1
                redirectUri: >-
                  https://openlink.openbankingplatform.com/approve-payment?context=612f3476-37d5-4ef3-8803-9cb67448810c&client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URI]&state=[STATE]&profile=default-sv&authoriser_ref=[AUTHORISER_REF]
        '400':
          description: "Bad Request<br />\r\nBulk payment input data invalid<br /><br />\r\n\"detail\" property may report the following errors:\r\n- \"Invalid organisation id ({organisationId})\"\r\n- \"Number of payment transactions ({countedPaymentTrns}) does not match with declared ({paymentNumTrns})\"\r\n- \"Invalid transaction amount ({trnsAmount})\"\r\n- \"Invalid BicFi ({bicFi})\"\r\n- \"Invalid payment execution date (PmtInf.ReqdExctnDt). {paymentExecutionDate} is a bank holiday.\"\r\n- \"Payment execution date (PmtInf.ReqdExctnDt) must be at least {n} banking days away.\"\r\n- \"Sum of transaction amounts ({totalTrnsSum}) does not match with declared control sum ({headerControlSum})\"\r\n- \"No transactions defined\"\r\n- \"Total number of transactions ({countedTrns}) does not match with declared ({headerNumTrns})\"\r\n- \"Payment BBAN or IBAN creditor account number not found\"\r\n- \"Invalid creditor name\"\r\n- \"Invalid IBAN debtor account number {accountNumber}\"\r\n- \"Invalid BBAN creditor account clearing number {clearingNumber}\"\r\n- \"Invalid BBAN creditor account number {accountNumber}\"\r\n- \"Invalid IBAN creditor account number {accountNumber}\"\r\n- \"ISO payment creation failed, code: {code} text: {text}\""
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: "Unauthorised<br />\r\nAccess was not allowed"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v1/bulk-payment/{bulkPaymentId}/status:
    servers:
      - url: https://bulkpayment.openbankingplatform.com
        description: Bulk payment production server
    get:
      tags:
        - Bulk Payments
      summary: Get status of bulk payment and each of the included payments.
      description: Returns the status of the bulk payment resource and each included payment.
      parameters:
        - name: X-Request-ID
          in: header
          description: ID of the request, unique to the call, as determined by the initiating party.
          required: true
          schema:
            type: string
          example: 0926b69c-42f0-44d8-83d8-f458fa40c83f
        - name: bulkPaymentId
          in: path
          description: ID of the generated bulk payment resource.
          required: true
          schema:
            type: string
            format: uuid
          example: 6aa69579-fb15-421c-8c53-ddb778156f83
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkPaymentStatus'
              example:
                bulkPaymentId: 6aa69579-fb15-421c-8c53-ddb778156f83
                status: valid
                statusTime: '2022-02-05T13:05:53.334'
                payments:
                  - referenceId: SALA 202112 1
                    status: received
                    statusTime: '2022-02-05T13:05:53.334'
                  - referenceId: SALA 202112 2
                    status: received
                    statusTime: '2022-02-05T13:05:53.334'
                  - referenceId: SALA 202112 3
                    status: received
                    statusTime: '2022-02-05T13:05:53.334'
        '401':
          description: "Unauthorised<br />\r\nAccess was not allowed"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: "Not Found<br />\r\nThe requested resource was not found"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v1/bulk-payment/{bulkPaymentId}:
    servers:
      - url: https://bulkpayment.openbankingplatform.com
        description: Bulk payment production server
    delete:
      tags:
        - Bulk Payments
      summary: Cancel bulk payment and each of the included payments.
      description: "Cancels the bulk payment and each included payment."
      parameters:
        - name: X-Request-ID
          in: header
          description: "Type: string (uuid)<br />\r\nDescription: ID of the request, unique to the call, as determined by the initiating party."
          required: true
          schema:
            type: string
          example: b81b5960-306d-449b-b375-eeec8d464511
        - name: bulkPaymentId
          in: path
          description: "Type: string (uuid)<br />\r\nDescription: Bulk payment resource id."
          required: true
          schema:
            type: string
            format: uuid
          example: 6aa69579-fb15-421c-8c53-ddb778156f83
      responses:
        '204':
          description: "No Content<br />\r\nThe resource was successfully cancelled"
        '401':
          description: "Unauthorised<br />\r\nAccess was not allowed"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: "Forbidden<br />\r\nAccess to resource or resource operation was not allowed"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: "Not Found<br />\r\nThe requested resource was not found"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v1/status-notification:
    servers:
      - url: https://bulkpayment.openbankingplatform.com
        description: Bulk payment production server
    post:
      tags:
        - Bulk Payments
      summary: Create status subscription
      description: Subscribes to the status of a bulk payment resource and each of the included payments.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkPaymentStatus'
            example:
              bulkPaymentId: 6aa69579-fb15-421c-8c53-ddb778156f83
              status: valid
              statusTime: '2022-02-05T13:05:53.334'
              payments:
                - referenceId: SALA 202112 1
                  status: received
                  statusTime: '2022-02-05T13:05:53.334'
                - referenceId: SALA 202112 2
                  status: received
                  statusTime: '2022-02-05T13:05:53.334'
                - referenceId: SALA 202112 3
                  status: received
                  statusTime: '2022-02-05T13:05:53.334'
          text/json:
            schema:
              $ref: '#/components/schemas/BulkPaymentStatus'
            example:
              bulkPaymentId: 6aa69579-fb15-421c-8c53-ddb778156f83
              status: valid
              statusTime: '2022-02-05T13:05:53.334'
              payments:
                - referenceId: SALA 202112 1
                  status: received
                  statusTime: '2022-02-05T13:05:53.334'
                - referenceId: SALA 202112 2
                  status: received
                  statusTime: '2022-02-05T13:05:53.334'
                - referenceId: SALA 202112 3
                  status: received
                  statusTime: '2022-02-05T13:05:53.334'
          application/*+json:
            schema:
              $ref: '#/components/schemas/BulkPaymentStatus'
            example:
              bulkPaymentId: 6aa69579-fb15-421c-8c53-ddb778156f83
              status: valid
              statusTime: '2022-02-05T13:05:53.334'
              payments:
                - referenceId: SALA 202112 1
                  status: received
                  statusTime: '2022-02-05T13:05:53.334'
                - referenceId: SALA 202112 2
                  status: received
                  statusTime: '2022-02-05T13:05:53.334'
                - referenceId: SALA 202112 3
                  status: received
                  statusTime: '2022-02-05T13:05:53.334'
          application/xml:
            schema:
              $ref: '#/components/schemas/BulkPaymentStatus'
            example: >-
              <BulkPaymentStatus
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                <BulkPaymentId>6aa69579-fb15-421c-8c53-ddb778156f83</BulkPaymentId>
                <Status>valid</Status>
                <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                <Payments>
                  <PaymentStatus>
                    <ReferenceId>SALA 202112 1</ReferenceId>
                    <Status>received</Status>
                    <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                  </PaymentStatus>
                  <PaymentStatus>
                    <ReferenceId>SALA 202112 2</ReferenceId>
                    <Status>received</Status>
                    <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                  </PaymentStatus>
                  <PaymentStatus>
                    <ReferenceId>SALA 202112 3</ReferenceId>
                    <Status>received</Status>
                    <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                  </PaymentStatus>
                </Payments>
              </BulkPaymentStatus>
          text/xml:
            schema:
              $ref: '#/components/schemas/BulkPaymentStatus'
            example: >-
              <BulkPaymentStatus
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                <BulkPaymentId>6aa69579-fb15-421c-8c53-ddb778156f83</BulkPaymentId>
                <Status>valid</Status>
                <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                <Payments>
                  <PaymentStatus>
                    <ReferenceId>SALA 202112 1</ReferenceId>
                    <Status>received</Status>
                    <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                  </PaymentStatus>
                  <PaymentStatus>
                    <ReferenceId>SALA 202112 2</ReferenceId>
                    <Status>received</Status>
                    <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                  </PaymentStatus>
                  <PaymentStatus>
                    <ReferenceId>SALA 202112 3</ReferenceId>
                    <Status>received</Status>
                    <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                  </PaymentStatus>
                </Payments>
              </BulkPaymentStatus>
          application/*+xml:
            schema:
              $ref: '#/components/schemas/BulkPaymentStatus'
            example: >-
              <BulkPaymentStatus
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                <BulkPaymentId>6aa69579-fb15-421c-8c53-ddb778156f83</BulkPaymentId>
                <Status>valid</Status>
                <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                <Payments>
                  <PaymentStatus>
                    <ReferenceId>SALA 202112 1</ReferenceId>
                    <Status>received</Status>
                    <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                  </PaymentStatus>
                  <PaymentStatus>
                    <ReferenceId>SALA 202112 2</ReferenceId>
                    <Status>received</Status>
                    <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                  </PaymentStatus>
                  <PaymentStatus>
                    <ReferenceId>SALA 202112 3</ReferenceId>
                    <Status>received</Status>
                    <StatusTime>2022-02-05T13:05:53.334</StatusTime>
                  </PaymentStatus>
                </Payments>
              </BulkPaymentStatus>
      responses:
        '200':
          description: Success
  /kyc/integration/v1/new/{PSU-Corporate-ID}:
    servers:
      - url: https://api.openbankingplatform.com
        description: KYC production server
    post:
      tags:
        - KYC Service
      security:
        - oAuth2Production:
            - paymentinitiation corporate
      summary: Create KYC
      description: >-
        Enter the `PSU-Corporate-ID` of the company for which to initiate the KYC process. This generates a KYC webform URL valid for 24 hours. If more time is needed, generate a new URL. This webform guides the user through the whole KYC process. To check if the KYC was successful poll the KYC Service's `/status` endpoint.
      operationId: new
      parameters:
        - name: PSU-Corporate-ID
          in: path
          required: true
          schema:
            type: string
            example: 123456-1234
        - name: countryCode
          in: query
          required: true
          description: ISO 3166 ALPHA2 country code
          schema:
            type: string
            example: SE
            pattern: '[A-Z]{2}'
        - name: X-Request-ID
          in: header
          required: true
          schema:
            example: e339743b-0fba-47dc-8ea7-a406ab775b58
            type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartNewKycInstanceResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Server Error
  /kyc/integration/v1/status/{PSU-Corporate-ID}:
    servers:
      - url: https://api.openbankingplatform.com
        description: KYC production server
    get:
      tags:
        - KYC Service
      security:
        - oAuth2Production:
            - paymentinitiation corporate
      summary: Get KYC Status
      description: >-
        Returns the KYC status of the company. If the `kycStatus` is `Valid`, the company is allowed to make payments. If the `kycStatus` is `Invalid`, a new KYC process can be initiated via the KYC Service's /new endpoint.
      operationId: status
      parameters:
        - name: PSU-Corporate-ID
          in: path
          required: true
          schema:
            example: 123456-1234
            type: string
        - name: X-Request-ID
          in: header
          required: true
          schema:
            example: e339743b-0fba-47dc-8ea7-a406ab775b58
            type: string
      responses:
        '200':
          $ref: '#/components/responses/getKycStatusResponse-200'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Server Error
  /psd2/paymentinitiation/v1/{payment-service}/{payment-product}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    post:
      summary: Create Payment
      description: >
        Initiates a payment at the ASPSP.

        ### Variants of Payment Initiation Requests

        List of supported `payment-product` values:
          - **domestic**
          - **swedish-giro**
          - **sepa-credit-transfers**
          - **cross-border**

        Furthermore the request body depends on the `payment-service`:
          * **payments**: A single payment initiation request.

         Single and mulitilevel SCA Processes

        The Payment Initiations are independent from their SCA requirements, which are created separately. 
        Some ASPSP's, especially in corporate contexts, require more than one authorisation from different PSUs.

      operationId: initiatePayment
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/X-AffiliatedASPSP-ID'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_optional'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/FX-Quote-Id'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      requestBody:
        $ref: '#/components/requestBodies/paymentInitiation'
      responses:
        '201':
          $ref: '#/components/responses/CREATED_201_PaymentInitiation'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
  /psd2/paymentinitiation/v1/{payment-service}/{payment-product}/{paymentId}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Payment
      description: Returns the content of a payment object.
      operationId: getPaymentInformation
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/paymentId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      responses:
        '200':
          $ref: '#/components/responses/OK_200_PaymentInitiationInformation'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '502':
          $ref: '#/components/responses/BAD_GATEWAY_502_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
    delete:
      summary: Cancel Payment
      description: >
        Initiates the cancellation of a payment. Depending on the `payment-service`, `payment-product` and the ASPSP's implementation, this request may be sufficient to cancel the payment. If the ASPSP requires authorisation for the cancellation, the response will include a hyperlink for that process. The payment identified by `paymentId` will be cancelled, provided the conditions related to the service, product, and timing (e.g. before end-of-day for scheduled payments) are met. 

      operationId: cancelPayment
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/paymentId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '202':
          $ref: '#/components/responses/RECEIVED_202_PaymentInitiationCancel'
        '204':
          $ref: '#/components/responses/NO_CONTENT_204'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS_CANC'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
  /psd2/paymentinitiation/v1/{payment-service}/{payment-product}/{paymentId}/status:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Payment Status
      description: Check the transaction status of a payment initiation.
      operationId: getPaymentInitiationStatus
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/paymentId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_PaymentInitiationStatus'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '502':
          $ref: '#/components/responses/BAD_GATEWAY_502_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
  /psd2/paymentinitiation/v1/{payment-service}/{payment-product}/{paymentId}/authorisations:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    post:
      summary: Create Payment Authorisation
      description: >
        Initiates the authorisation process for a payment by creating an authorisation sub-resource, and providing a list of available SCA methods at the ASPSP.
      operationId: startPaymentAuthorisation
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/paymentId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      requestBody:
        content:
          application/json:
            schema:
              type: object
              nullable: true
      responses:
        '201':
          $ref: '#/components/responses/CREATED_201_StartScaProcess'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
    get:
      summary: Get Payment Authorisations
      description: >
        Retrieves a list of all created authorisation sub-resource IDs. The response contains an array of hyperlinks pointing to each generated authorisation sub-resource.
      operationId: getPaymentInitiationAuthorisation
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/paymentId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_Authorisations'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
  /psd2/paymentinitiation/v1/{payment-service}/{payment-product}/{paymentId}/authorisations/{authorisationId}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Payment Authorisation SCA Status
      description: >
        Returns the SCA status of a payment initiation's authorisation sub-resource.
      operationId: getPaymentInitiationScaStatus
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/paymentId'
        - $ref: '#/components/parameters/authorisationId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      responses:
        '200':
          $ref: '#/components/responses/OK_200_ScaStatus'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
    put:
      summary: Start Payment Authorisation
      description: >

        Starts the authorisation resource for the payment, using the selection of an authentication method to initiate SCA.  


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

#        It may authorise a payment 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.


#        There are several possible Update PSU Data requests in the context of
#        payment initiation services 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.

      operationId: updatePaymentPsuData
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/paymentId'
        - $ref: '#/components/parameters/authorisationId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Authoriser-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/selectPsuAuthenticationMethod'
            examples:
              Select PSU Authentication Method (Embedded Approach):
                $ref: >-
                  #/components/examples/selectPsuAuthenticationMethodExample_MbidAnimated
      responses:
        '200':
          $ref: '#/components/responses/OK_200_UpdatePsuData'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
  /psd2/paymentinitiation/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    post:
      summary: Create Payment Cancellation Authorisation
      description: >
        Initiates the authorisation process for a payment cancellation by creating an authorisation sub-resource, and providing a list of available SCA methods at the ASPSP.
      operationId: startPaymentInitiationCancellationAuthorisation
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/paymentId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      responses:
        '201':
          $ref: '#/components/responses/CREATED_201_StartScaProcess'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
    get:
      summary: Get Payment Cancellation Authorisations
      description: |
        Retrieve a list of all created cancellation authorisation sub-resources.
      operationId: getPaymentInitiationCancellationAuthorisationInformation
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/paymentId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'        
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_CancellationList'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
  /psd2/paymentinitiation/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations/{cancellationId}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Payment Cancellation Authorisation SCA Status
      description: >
        Returns the SCA status of a payment cancellation's authorisation sub-resource.
      operationId: getPaymentCancellationScaStatus
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/paymentId'
        - $ref: '#/components/parameters/cancellationId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_ScaStatus'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
    put:
      summary: Start Payment Cancellation Authorisation
      description: >
        Starts the authorisation resource for the payment cancellation, using the selection of an authentication method to initiate SCA. 

      operationId: updatePaymentCancellationPsuData
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/paymentService'
        - $ref: '#/components/parameters/paymentProduct'
        - $ref: '#/components/parameters/paymentId'
        - $ref: '#/components/parameters/cancellationId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Authoriser-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/selectPsuAuthenticationMethod'
            examples:
              Select PSU Authentication Method (Embedded Approach):
                $ref: >-
                  #/components/examples/selectPsuAuthenticationMethodExample_MbidAnimated
      responses:
        '200':
          $ref: '#/components/responses/OK_200_UpdatePsuData'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_PIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_PIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_PIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_PIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_PIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_PIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
  /psd2/paymentinitiation/v1/signing-baskets:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    post:
      summary: Create Signing Basket
      description: >
        Create a signing basket resource for authorising several transactions
        with one SCA method. 

        The resource identifications of these transactions are contained in the 
        payload of this access method. 
      operationId: createSigningBasket
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_optional'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      requestBody:
        $ref: '#/components/requestBodies/signingBasket'
      responses:
        '201':
          $ref: '#/components/responses/CREATED_201_SigningBasket'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_SBS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_SBS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_SBS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_SBS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_SBS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_SBS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_SBS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_SBS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SBS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_SBS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_SBS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_SBS'
  /psd2/paymentinitiation/v1/signing-baskets/{basketId}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Signing Basket
      description: Returns the content of an signing basket object.
      operationId: getSigningBasket
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/basketId_PATH'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'        
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      responses:
        '200':
          $ref: '#/components/responses/OK_200_GetSigningBasket'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_SBS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_SBS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_SBS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_SBS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_SBS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_SBS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_SBS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_SBS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SBS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_SBS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_SBS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_SBS'
    delete:
      summary: Delete Signing Basket
      description: >
        Deletes a signing basket, provided that no authorisation has started yet. This does not delete the underlying payments within the signing basket.

        **Note:** A signing basket cannot be deleted once an authorisation is started (even partially). However, underlying payments can be cancelled on an individual basis through the XS2A interface.
      operationId: deleteSigningBasket
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/basketId_PATH'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      responses:
        '202':
          $ref: '#/components/responses/ACCEPTED_202_SBS'
        '204':
          $ref: '#/components/responses/NO_CONTENT_204'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_SBS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_SBS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_SBS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_SBS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_SBS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_SBS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_SBS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_SBS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SBS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_SBS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_SBS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_SBS'
  /psd2/paymentinitiation/v1/signing-baskets/{basketId}/status:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Signing Basket Status
      description: |
        Returns the status of a signing basket object. 
      operationId: getSigningBasketStatus
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/basketId_PATH'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      responses:
        '200':
          $ref: '#/components/responses/OK_200_SigningBasketStatus'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_SBS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_SBS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_SBS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_SBS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_SBS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_SBS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_SBS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_SBS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SBS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_SBS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_SBS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_SBS'
  /psd2/paymentinitiation/v1/signing-baskets/{basketId}/authorisations:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    post:
      summary: Create Signing Basket Authorisation
      description: >
        Initiates the authorisation process for a signing basket by creating an authorisation sub-resource, and providing a list of available SCA methods at the ASPSP.
      operationId: startSigningBasketAuthorisation
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/basketId_PATH'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      responses:
        '201':
          $ref: '#/components/responses/CREATED_201_StartScaProcess'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_SBS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_SBS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_SBS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_SBS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_SBS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_SBS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_SBS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_SBS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SBS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_SBS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_SBS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_SBS'
  /psd2/paymentinitiation/v1/signing-baskets/{basketId}/authorisations/{authorisationId}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    put:
      summary: Start Signing Basket Authorisation
      description: >
        Starts the authorisation resource for the signing basket, using the selection of an authentication method to initiate SCA. 
      operationId: updateSigningBasketPsuData
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/basketId_PATH'
        - $ref: '#/components/parameters/authorisationId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Authoriser-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      requestBody:
        content:
          application/json:
            schema:
                $ref: '#/components/schemas/selectPsuAuthenticationMethod'
            examples:
              Select PSU Authentication Method (Embedded Approach):
                $ref: >-
                  #/components/examples/selectPsuAuthenticationMethodExample_MbidAnimated
      responses:
        '200':
          $ref: '#/components/responses/OK_200_UpdatePsuData'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_SBS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_SBS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_SBS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_SBS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_SBS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_SBS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_SBS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_SBS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SBS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_SBS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_SBS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_SBS'
    get:
      summary: Get Signing Basket Authorisation SCA Status
      description: >
        Returns the SCA status of a signing basket's authorisation
        sub-resource.
      operationId: getSigningBasketScaStatus
      tags:
        - Payment Initiation Service (PIS)
      security:
        - oAuth2Sandbox:
            - paymentinitiation private
        - oAuth2Sandbox:
            - paymentinitiation corporate
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/basketId_PATH'
        - $ref: '#/components/parameters/authorisationId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      responses:
        '200':
          $ref: '#/components/responses/OK_200_ScaStatus'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_SBS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_SBS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_SBS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_SBS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_SBS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_SBS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_SBS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_SBS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_SBS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_SBS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_SBS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_SBS'
  /psd2/paymentinitiation/v1/fx:
    servers:
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    post:
      summary: Create FX Quote
      description: |
        Requests an FX Quote for cross-border payments.
      operationId: createFxQuote
      tags:
        - Payment Initiation Service (PIS)
        - FX Connect
      security:
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      requestBody:
        $ref: '#/components/requestBodies/fxQuote'
      responses:
        '201':
          $ref: '#/components/responses/CREATED_201_FxQuote'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
  /psd2/paymentinitiation/v1/fx/{fxQuoteId}:
    servers:
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get FX Quote
      description: |
        Get an existing FX Quote.
      operationId: getFxQuote
      tags:
        - Payment Initiation Service (PIS)
        - FX Connect
      security:
        - oAuth2Production:
            - paymentinitiation private
        - oAuth2Production:
            - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/fxQuoteId_PATH'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      responses:
        '200':
          $ref: '#/components/responses/OK_200_GetFxQuote'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
    put:
      summary: Confirm Cross-Border Payment
      description: |
        Confirm intent to initiate a cross-border payment with an FX Quote.
      operationId: confirmCrossBorderPaymentIntent
      tags:
        - FX Connect
      security:
        - oAuth2Production:
          - paymentinitiation private
        - oAuth2Production:
          - paymentinitiation corporate
      parameters:
        - $ref: '#/components/parameters/fxQuoteId_PATH'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
      requestBody:
        $ref: '#/components/requestBodies/confirmCrossBorderPaymentIntent'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_ConfirmCrossBorderPaymentIntent'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_PIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_PIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_PIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_PIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_PIS'
        
  /psd2/accountinformation/v1/accounts:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Account List
      description: >
        Retrieves information on all available accounts based on the PSU's granted consent. It assumes that consent has already been provided and stored by the ASPSP. The addressed list of accounts depends on the `PSU-ID` and the stored consent addressed by `consentId`, respectively the OAuth2 access token. The accounts returned are limited to those authorised in the consent. Each account entry includes relevant details and links to further resources such as balances and transactions. If the consent permits access to all available accounts, the response will include all of the PSU's payment accounts held at the ASPSP. 
      operationId: getAccountList
      tags:
        - Account Information Service (AIS)
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/withBalanceQuery'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_mandatory'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/X-ISO-Fallback-Enabled'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_AccountList'
        '204':
          $ref: '#/components/responses/NO_CONTENT_204'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/accountinformation/v1/accounts/{account-id}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Account Details
      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".

      operationId: readAccountDetails
      tags:
        - Account Information Service (AIS)
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/withBalanceQuery'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_mandatory'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/X-ISO-Fallback-Enabled'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_AccountDetails'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/accountinformation/v1/accounts/{account-id}/balances:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Balances
      description: >
        Retrieves balance data from a given account addressed by `account-id`. 
        

        **Note:** The `account-id` may be a tokenized identification due to data protection reasons since the path information might be logged on intermediary servers within the ASPSP sphere. This `account-id` can then be retrieved by the Get Account List call. The `account-id` is constant at least throughout the lifecycle of a given consent.  

      operationId: getBalances
      tags:
        - Account Information Service (AIS)
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_mandatory'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/X-ISO-Fallback-Enabled'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_Balances'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/accountinformation/v1/accounts/{account-id}/transactions:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Transaction List
      description: >
        Retrieves transaction lists for an account specified by `account-id`, based on the `bookingStatus` parameter. For a given account, `dateFrom` and `dateTo` attributes can be included to filter the list. The ASPSP may add balance information if transaction lists without balances are not supported.
      operationId: getTransactionList
      tags:
        - Account Information Service (AIS)
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/dateFrom'
        - $ref: '#/components/parameters/dateTo'
        - $ref: '#/components/parameters/entryReferenceFrom'
        - $ref: '#/components/parameters/bookingStatus'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_mandatory'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/X-ISO-Fallback-Enabled'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_AccountsTransactions'
        '204':
          $ref: '#/components/responses/NO_CONTENT_204'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/accountinformation/v1/accounts/{account-id}/transactions/{transactionId}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Transaction Details
      description: >
        Retrieves details of a specific transaction identified by `transactionId` for the account specified by `account-id`. Only available for transactions reported in JSON format. 


        **Note:** The full path may already be provided in the `_links` subfield of the Get Transaction List response. 
      operationId: getTransactionDetails
      tags:
        - Account Information Service (AIS)
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/transactionId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_mandatory'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
        - $ref: '#/components/parameters/X-ISO-Fallback-Enabled'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_TransactionDetails'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/accountinformation/v1/card-accounts:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Card Account List
      description: >
        Retrieves information on all available card accounts based on the PSU's granted consent. It assumes that consent has already been provided and stored by the ASPSP. The addressed list of card accounts depends on the `PSU-ID` and the stored consent addressed by `consentId`, respectively the OAuth2 access token. The card accounts returned are limited to those authorised in the consent. Each card account entry includes relevant details and links to further resources such as balances and transactions. If the consent permits access to all available card accounts, the response will include all of the PSU's card accounts held at the ASPSP.  
      operationId: getCardAccountList
      tags:
        - Account Information Service (AIS)
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/withBalanceQuery'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_mandatory'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_CardAccountList'
        '204':
          $ref: '#/components/responses/NO_CONTENT_204'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/accountinformation/v1/card-accounts/{account-id}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Card Account Details
      description: >
        Reads details about a card 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 card account depends then on the stored consent
        addressed by `consentId`, respectively the OAuth2 access token.


        **NOTE:** The `account-id` can represent a multicurrency card account. In this case the currency code is set to "XXX".
      operationId: readCardAccountDetails
      tags:
        - Account Information Service (AIS)
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/withBalanceQuery'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_mandatory'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_CardAccountDetails'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/accountinformation/v1/card-accounts/{account-id}/balances:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Card Balances
      description: >
        Retrieves balance data from a given card account addressed by `account-id`. 
        

        **Note:** The `account-id` may be a tokenized identification due to data protection reasons since the path information might be logged on intermediary servers within the ASPSP sphere. This `account-id` can then be retrieved by the Get Card Account List call. The `account-id` is constant at least throughout the lifecycle of a given consent.  

      operationId: getCardBalances
      tags:
        - Account Information Service (AIS)
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_mandatory'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_CardAccountBalances'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/accountinformation/v1/card-accounts/{account-id}/transactions:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Card Transaction List
      description: >
        Retrieves transaction lists for a card account specified by `account-id`, based on the `bookingStatus` parameter. For a given account, `dateFrom` and `dateTo` attributes can be included to filter the list. The ASPSP may add balance information if transaction lists without balances are not supported.
      operationId: getCardTransactionList
      tags:
        - Account Information Service (AIS)
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/dateFrom'
        - $ref: '#/components/parameters/dateTo'
        - $ref: '#/components/parameters/entryReferenceFrom'
        - $ref: '#/components/parameters/bookingStatus'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/consentId_HEADER_mandatory'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_CardAccountsTransactions'
        '204':
          $ref: '#/components/responses/NO_CONTENT_204'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/consent/v1/consents:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    post:
      summary: Create Consent
      description: >
        Creates a consent resource defining access to specific accounts for a given PSU. If `recurringIndicator` is set to "true" and an existing recurring consent exists, it will expire once the new consent is authorised by the PSU.


#        Optional extensions:
#          * An ASPSP might optionally accept a specific access right on the access on all psd2 related services for all available accounts.
#          * 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.
#          * 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
      tags:
        - Consent Service
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/X-AffiliatedASPSP-ID'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
        - $ref: '#/components/parameters/X-Consent-Type'

      requestBody:
        $ref: '#/components/requestBodies/consents'
      responses:
        '201':
          $ref: '#/components/responses/CREATED_201_Consents'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/consent/v1/consents/{consentId}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Consent
      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: getConsentInformation
      tags:
        - Consent Service
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/consentId_PATH'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_ConsentInformation'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
    delete:
      summary: Delete Consent
      description: The TPP can delete an account information consent object if needed.
      operationId: deleteConsent
      tags:
        - Consent Service
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/consentId_PATH'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '204':
          $ref: '#/components/responses/NO_CONTENT_204'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/consent/v1/consents/{consentId}/status:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Consent Status
      description: Read the status of an account information consent resource.
      operationId: getConsentStatus
      tags:
        - Consent Service
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/consentId_PATH'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_ConsentStatus'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/consent/v1/consents/{consentId}/authorisations:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    post:
      summary: Create Consent Authorisation
      description: >
        Initiates the authorisation process for a consent by creating an authorisation sub-resource, and providing a list of available SCA methods at the ASPSP. 
      operationId: startConsentAuthorisation
      tags:
        - Consent Service
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/consentId_PATH'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'

      responses:
        '201':
          $ref: '#/components/responses/CREATED_201_StartScaProcess'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
    get:
      summary: Get Consent Authorisations
      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
      tags:
        - Consent Service
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/consentId_PATH'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_Authorisations'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/consent/v1/consents/{consentId}/authorisations/{authorisationId}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Consent Authorisation SCA Status
      description: >
        This method returns the SCA status of a consent initiation's
        authorisation sub-resource.
      operationId: getConsentScaStatus
      tags:
        - Consent Service
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/consentId_PATH'
        - $ref: '#/components/parameters/authorisationId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      responses:
        '200':
          $ref: '#/components/responses/OK_200_ScaStatus'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
    put:
      summary: Start Consent Authorisation
      description: >
        Starts the authorisation resource for the consent, using the selection of an authentication method to initiate SCA. 
      operationId: updateConsentsPsuData
      tags:
        - Consent Service
      security:
        - oAuth2Production:
            - accountinformation private
        - oAuth2Production:
            - accountinformation corporate
        - oAuth2Production:
            - accountinformation bankgiroinformation corporate
        - oAuth2Sandbox:
            - accountinformation private
        - oAuth2Sandbox:
            - accountinformation corporate
      parameters:
        - $ref: '#/components/parameters/consentId_PATH'
        - $ref: '#/components/parameters/authorisationId'
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-BicFi'
        - $ref: '#/components/parameters/PSU-ID'
        - $ref: '#/components/parameters/PSU-Authoriser-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID'
        - $ref: '#/components/parameters/PSU-Corporate-ID-Type'
        - $ref: '#/components/parameters/PSU-IP-Address_mandatory'
        - $ref: '#/components/parameters/TPP-Redirect-Preferred'
        - $ref: '#/components/parameters/PSU-User-Agent_mandatory'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/selectPsuAuthenticationMethod'
            examples:
              Select PSU Authentication Method (Embedded Approach):
                $ref: >-
                  #/components/examples/selectPsuAuthenticationMethodExample_MbidAnimated
      responses:
        '200':
          $ref: '#/components/responses/OK_200_UpdatePsuData'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_AIS'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_AIS'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_AIS'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_AIS'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_AIS'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_AIS'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_AIS'
        '409':
          $ref: '#/components/responses/CONFLICT_409_AIS'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_AIS'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_AIS'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_AIS'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_AIS'
  /psd2/aspspinformation/v1/aspsps:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get ASPSP List
      description: |
        Gets all ASPSPs currently supported in the Open Banking Platform.
      operationId: getASPSPList
      tags:
        - ASPSP Information Service
      security:
        - oAuth2Sandbox:
            - aspspinformation private
        - oAuth2Sandbox:
            - aspspinformation corporate
        - oAuth2Production:
            - aspspinformation private
        - oAuth2Production:
            - aspspinformation corporate
      parameters:
        - $ref: '#/components/parameters/isoCountryCodesQuery'
        - $ref: '#/components/parameters/X-Request-ID'
        
        

      responses:
        '200':
          $ref: '#/components/responses/OK_200_ASPSPList'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_ASPSP'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_ASPSP'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_ASPSP'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_ASPSP'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_ASPSP'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_ASPSP'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_ASPSP'
        '409':
          $ref: '#/components/responses/CONFLICT_409_ASPSP'
        '412':
          $ref: '#/components/responses/PRECONDITION_FAILED_412_ASPSP'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_ASPSP'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_ASPSP'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_ASPSP'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_ASPSP'
  /psd2/aspspinformation/v1/aspsps/{bicFi}:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get ASPSP Details
      description: |
        Gets details about an ASPSP by BICFI.
      operationId: getASPSPDetails
      tags:
        - ASPSP Information Service
      security:
        - oAuth2Sandbox:
            - aspspinformation private
        - oAuth2Sandbox:
            - aspspinformation corporate
        - oAuth2Production:
            - aspspinformation private
        - oAuth2Production:
            - aspspinformation corporate
      parameters:
        - $ref: '#/components/parameters/bicFi'
        - $ref: '#/components/parameters/X-Request-ID'
        
        

      responses:
        '200':
          $ref: '#/components/responses/OK_200_ASPSP'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_ASPSP'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_ASPSP'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_ASPSP'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_ASPSP'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_ASPSP'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_ASPSP'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_ASPSP'
        '409':
          $ref: '#/components/responses/CONFLICT_409_ASPSP'
        '412':
          $ref: '#/components/responses/PRECONDITION_FAILED_412_ASPSP'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_ASPSP'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_ASPSP'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_ASPSP'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_ASPSP'
  /psd2/aspspinformation/v1/countries:
    servers:
      - url: https://api.sandbox.openbankingplatform.com
        description: PSD2 sandbox server
      - url: https://api.openbankingplatform.com
        description: PSD2 production server
    get:
      summary: Get Country List
      description: |
        Gets all countries currently supported in the Open Banking Platform.
      operationId: getCountriesList
      tags:
        - ASPSP Information Service
      security:
        - oAuth2Sandbox:
            - aspspinformation private
        - oAuth2Sandbox:
            - aspspinformation corporate
        - oAuth2Production:
            - aspspinformation private
        - oAuth2Production:
            - aspspinformation corporate
      parameters:
        - $ref: '#/components/parameters/isoCountryCodesQuery'
        - $ref: '#/components/parameters/X-Request-ID'
        
        

      responses:
        '200':
          $ref: '#/components/responses/OK_200_CountryList'
        '400':
          $ref: '#/components/responses/BAD_REQUEST_400_ASPSP'
        '401':
          $ref: '#/components/responses/UNAUTHORIZED_401_ASPSP'
        '403':
          $ref: '#/components/responses/FORBIDDEN_403_ASPSP'
        '404':
          $ref: '#/components/responses/NOT_FOUND_404_ASPSP'
        '405':
          $ref: '#/components/responses/METHOD_NOT_ALLOWED_405_ASPSP'
        '406':
          $ref: '#/components/responses/NOT_ACCEPTABLE_406_ASPSP'
        '408':
          $ref: '#/components/responses/REQUEST_TIMEOUT_408_ASPSP'
        '409':
          $ref: '#/components/responses/CONFLICT_409_ASPSP'
        '412':
          $ref: '#/components/responses/PRECONDITION_FAILED_412_ASPSP'
        '415':
          $ref: '#/components/responses/UNSUPPORTED_MEDIA_TYPE_415_ASPSP'
        '429':
          $ref: '#/components/responses/TOO_MANY_REQUESTS_429_ASPSP'
        '500':
          $ref: '#/components/responses/INTERNAL_SERVER_ERROR_500_ASPSP'
        '503':
          $ref: '#/components/responses/SERVICE_UNAVAILABLE_503_ASPSP'
components:
  securitySchemes:
    oAuth2Sandbox:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.sandbox.openbankingplatform.com/connect/token
          scopes:
            aspspinformation: ASPSP Information
            accountinformation: Account Information
            paymentinitiation: Payment Initiation
            private: Private accounts context
            corporate: Corporate accounts context
    oAuth2Production:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.openbankingplatform.com/connect/token
          scopes:
            aspspinformation: ASPSP Information
            accountinformation: Account Information
            bankgiroinformation: Account Information Enrichment
            paymentinitiation: Payment Initiation
            private: Private accounts context
            corporate: Corporate accounts context
  schemas:
    confirmCrossBorderPaymentIntentResponse:
      description: >-
        The payment instructions for a payment to be made to Open Payments client funds account.
      type: object
      properties:
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        debtorAccount:
          $ref: '#/components/schemas/accountReference'
        instructedAmount:
          $ref: '#/components/schemas/amount'
        creditorAddress:
          $ref: '#/components/schemas/countryCode'
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
        requestedExecutionDate:
          type: string
          description: >-
            Date when payment is scheduled to be executed in ISO-Date Format,
            e.g. 2020-10-30
    lastTransactionEnrichmentDateTime:
      description: >-
        The local date time of the latest ISO transaction enrichment, if enabled.
      type: string
      format: date-time
      example: '2025-01-21T17:32:28+00:00'
    lastTransactionEnrichmentDateTimeUtc:
      description: >-
        The UTC date time of the latest ISO transaction enrichment, if enabled.
      type: string
      format: date-time
      example: '2025-01-21T17:32:28Z'
    lastBalanceEnrichmentDateTime:
      description: >-
        The local date time of the latest ISO balance enrichment, if enabled.
      type: string
      format: date-time
      example: '2025-01-21T17:32:28+00:00'
    lastBalanceEnrichmentDateTimeUtc:
      description: >-
        The UTC date time of the latest ISO balance enrichment, if enabled.
      type: string
      format: date-time
      example: '2025-01-21T17:32:28Z'
    ConfirmIsoPaymentRequest:
      type: object
      required:
        - paymentIds
      properties:
        paymentIds:
          type: array
          items:
            type: string
          nullable: true
        batchBookingPreferred:
          type: boolean
          default: false
        purposeCode:
          $ref: '#/components/schemas/purposeCode'
      additionalProperties: false
    ConfirmIsoPaymentResponse:
      description: >-
        Response containing information on the payment file uploaded to the bank. 
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
          nullable: true
        reference:
          type: string
          nullable: true
        totalAmount:
          $ref: '#/components/schemas/amount'
      additionalProperties: false
    ConfirmPayoutRequest:
      type: object
      properties:
        payoutIds:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    ConfirmPayoutResponse:
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
          nullable: true
        reference:
          type: string
          nullable: true
        totalAmount:
          $ref: '#/components/schemas/amount'
      additionalProperties: false
    CreatePayoutRequest:
      required:
        - creditorGiro
        - creditorName
        - debtorAccount
        - instructedAmount
      type: object
      properties:
        instructionId:
          maxLength: 35
          type: string
          nullable: true
        debtorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorAgent:
          maxLength: 35
          type: string
          nullable: true
        creditorGiro:
          $ref: '#/components/schemas/giroReference'
        creditorName:
          maxLength: 70
          minLength: 1
          type: string
        instructedAmount:
          $ref: '#/components/schemas/amount'
        requestedExecutionDate:
          type: string
          nullable: true
        debtorAccountMessage:
          type: string
          nullable: true
        creditorAccountMessage:
          type: string
          nullable: true
        invoiceRef:
          type: string
          nullable: true
        ocrRef:
          type: string
          nullable: true
        endToEndIdentification:
          maxLength: 35
          type: string
          nullable: true
      additionalProperties: false
    CreatePayoutResponse:
      required:
        - _links
        - transactionStatus
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
          nullable: true
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
        transactionFees:
          $ref: '#/components/schemas/amount'
        transactionFeeIndicator:
          type: boolean
          nullable: true
        scaMethods:
          type: array
          items:
            $ref: '#/components/schemas/authenticationObject'
          nullable: true
        chosenScaMethod:
          $ref: '#/components/schemas/authenticationObject'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        _links:
          $ref: '#/components/schemas/PayoutLinks'
        psuMessage:
          maxLength: 512
          type: string
          nullable: true
        payoutId:
          type: string
          nullable: true
          readOnly: true
      additionalProperties: false
    ErrorResponseDetails:
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
          nullable: true
      additionalProperties: false
    GetGiroNumbersResponse:
      type: object
      properties:
        giros:
          type: array
          items:
            $ref: '#/components/schemas/giroWithName'
          nullable: true
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
          nullable: true
      additionalProperties: false
    giroWithName:
      type: object
      allOf:
        - $ref: '#/components/schemas/giroReference'
        - type: object
          required:
            - name
          properties:
            name:
              $ref: '#/components/schemas/displayName'
    GetCreditorNameResponse:
      type: object
      properties:
        creditorName:
          type: string
          nullable: true
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX_GetCreditorName'
          nullable: true
      additionalProperties: false
    GetPayoutResponse:
      required:
        - creditorAccount
        - creditorName
        - debtorAccount
        - instructedAmount
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
          nullable: true
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorName:
          maxLength: 70
          minLength: 1
          type: string
        debtorAccount:
          $ref: '#/components/schemas/accountReference'
        instructedAmount:
          $ref: '#/components/schemas/amount'
        endToEndIdentification:
          maxLength: 35
          type: string
          nullable: true
        creditorAgent:
          pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}'
          type: string
          nullable: true
        creditorAddress:
          $ref: '#/components/schemas/address'
        remittanceInformationUnstructured:
          maxLength: 140
          type: string
          nullable: true
        remittanceInformationStructured:
          $ref: '#/components/schemas/remittanceInformationStructured'
        debtorAccountMessage:
          type: string
          nullable: true
        creditorAccountMessage:
          type: string
          nullable: true
        requestedExecutionDate:
          type: string
          nullable: true
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
      additionalProperties: false
    PayoutLinks:
      type: object
      properties:
        confirmPayout:
          $ref: '#/components/schemas/hrefType'
        self:
          $ref: '#/components/schemas/hrefType'
      additionalProperties: false
    BulkPaymentStatus:
      required:
        - bulkPaymentId
        - status
        - statusTime
      type: object
      properties:
        bulkPaymentId:
          type: string
          description: Bulk payment resource ID
          format: uuid
        status:
          $ref: '#/components/schemas/BulkPaymentStatusEnum'
        statusTime:
          type: string
          description: Timestamp in UTC of the latest status change.
          format: date-time
        payments:
          type: array
          items:
            $ref: '#/components/schemas/PaymentStatusEnum'
          nullable: true
      additionalProperties: false
    BulkPaymentStatusEnum:
      enum:
        - valid
        - cancelled
        - authorizationInitiated
        - partiallySigned
        - signed
        - finalised
      type: string
    PaymentStatusEnum:
      enum:
        - received
        - failed
        - partiallySigned
        - pending
        - cancelled
        - settled
        - rejected
      type: string
    CreateBulkPayment:
      required:
        - bicFi
        - controlSum
        - numberOfTransactions
      type: object
      properties:
        bicFi:
          type: string
        numberOfTransactions:
          type: integer
          format: int32
        controlSum:
          type: number
          format: double
        domestic:
          type: array
          items:
            $ref: '#/components/schemas/paymentInitiation_json'
          nullable: true
        swedishGiro:
          type: array
          items:
            $ref: '#/components/schemas/paymentInitiationSwedishGiro_json'
          nullable: true
      additionalProperties: false
    CreateBulkPaymentOutput:
      required:
        - bulkPaymentId
        - latestAuthorisationDate
        - numberOfAuthorisations
        - redirectUri
        - status
      type: object
      properties:
        bulkPaymentId:
          type: string
          description: Bulk payment resource ID
          format: uuid
        status:
          $ref: '#/components/schemas/BulkPaymentStatusEnum'
        latestAuthorisationDate:
          type: string
          description: >-
            Latest calendar date when bulk payment must be signed to ensure
            money transfers in time, based on the earliest payment execution
            date in the bulk
        adjustedPaymentExecutionDate:
          type: string
          description: >-
            If payment execution date is adjusted by setting header
            X-PaymentExecutionAdjustmentDays to a non-zero integer value, this
            is the resulting calendar date when the payments will be scheduled
            for execution.
          nullable: true
        numberOfAuthorisations:
          type: integer
          description: Total number of authorisations required for this bulk payment
          format: int32
        redirectUri:
          type: string
          description: "Redirect URI template to use for redirecting the end user for authorising/signing the bulk payment. Please note that all inserted query parameter values must be URL-encoded (rfc3986) not to cause the url to break.\r\n<table><tr><th>Query parameter name</th><th>Required</th><th>Format</th><th>Description</th></tr><tr><td>context</td><td>Y</td><td>UUID</td><td>Unique link context, associated with a specific bulk payment</td></tr><tr><td>client_id</td><td>Y</td><td>UUID</td><td>Client id used for creating the bulk payment. Replace \"[CLIENT_ID]\" in template</td></tr><tr><td>redirect_uri</td><td>Y</td><td>URL</td><td>URL to where the flow shall return. Must be a predetermined registered URL. Replace \"[REDIRECT_URI]\" in template</td></tr><tr><td>profile</td><td>N</td><td>string</td><td>Name of graphical/language profile to use in UI</td></tr><tr><td>state</td><td>N</td><td>string</td><td>Arbitrary state value that will be carried back to [REDIRECT_URI]. Replace \"[STATE]\" in template</td></tr><tr><td>authoriser_ref</td><td>N</td><td>string</td><td>Reference to the end user, will be set on all payments authorised by the link user</td></tr><tr><td>error_reference</td><td>N</td><td>UUID</td><td>Will only be present in the redirect back to [REDIRECT_URI] if an error occurs. Value represents a unique reference to the step that failed</td></tr><tr><td>error_category</td><td>N</td><td>string</td><td>Will only be present in the redirect back to [REDIRECT_URI] if an error occurs. Value will give an error category, one of:<br />* UNKNOWN<br />* EXPIRED_LINK<br />* INVALID_LINK<br />* TEMPORARY_TECHNICAL_ERROR<br />* SIGNATURE_REJECTION</td></tr></table>"
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    kycStatus:
      example: Invalid
      type: string
      enum:
        - Valid
        - Invalid
    getKycStatusResponse:
      type: object
      properties:
        psuCorporateId:
          type: string
          example: 123456-1234
        kycStatus:
          $ref: '#/components/schemas/kycStatus'
        kycValidUntil:
          type: string
          nullable: true
          example: '2024-09-06'
    StartNewKycInstanceResponse:
      type: object
      required:
        - kycUrl
      properties:
        kycUrl:
          $ref: '#/components/schemas/kycUrl'
    kycUrl:
      type: string
      example: >-
        https://kyc.openbankingplatform.com/?instanceId=008b3d7e-ae80-4577-8ed9-36a2b2b0fa6d
    clearingNumber:
      description: |
        Bank account clearing number. Used to identify the financial institution within a domestic payment system. 
      type: string
      pattern: '[0-9]{1,5}'
      example: '5392'
    accountNumber:
      description: |
        Bank account number. Used to ifentify the particular customer account within the financial institution. 
      type: string
      pattern: '[a-zA-Z0-9]{1,30}'
      example: BARC12345612345678
    paymentId:
      description: ID of the generated payment initiation resource. Only available for transactions generated via the Open Banking Platform.
      type: string
      example: 1234-wertiq-983
    paymentIdList:
      description: A list of paymentIds.
      type: array
      minItems: 1
      items:
        $ref: '#/components/schemas/paymentId'
    basketId:
      description: ID of the generated signing basket resource.
      type: string
      example: c7197f20-4224-4c8c-b0fb-b3942105443b
    authorisationId:
      description: Resource identification of the related SCA
      type: string
      example: b391be2a-5fa0-4da5-afa7-6778d7ca2dc0
    authenticationMethodId:
      description: >
        An identification provided by the ASPSP for the later identification of
        the authentication method selection.
      type: string
      maxLength: 35
      example: myAuthenticationID
    accountId:
      description: >-
        This identification is denoting the addressed account, where the
        transaction has been performed.
      type: string
      example: qwer3456tzui7890
    consentId:
      description: >
        ID of the corresponding consent object as returned by an Account
        Information Consent Request.
      type: string
    consentIdList:
      description: A list of consentIds
      type: array
      minItems: 1
      items:
        $ref: '#/components/schemas/consentId'
    transactionId:
      description: >
        This identification is given by the attribute transactionId of the
        corresponding entry of a transaction list.
      type: string
      example: 3dc3d5b3-7023-4848-9853-f5400a64e80f
    cancellationId:
      description: Identification for cancellation resource
      type: string
      example: b391be2a-5fa0-4da5-afa7-6778d7ca2dc0
    cardTransactionId:
      description: Unique end to end identity.
      type: string
      maxLength: 35
    terminalId:
      description: Identification of the Terminal, where the card has been used.
      type: string
      maxLength: 35
    entryReference:
      description: >
        ID of the transaction as used e.g. for reference for deltafunction on application level.
      type: string
      maxLength: 35
    transactionStatus:
      description: |
        Uses codes from the ISO 20022 data table. See Statues & Types documentation for full descriptions of status codes. 
      type: string
      enum:
        - ACCC
        - ACCP
        - ACSC
        - ACSP
        - ACTC
        - ACWC
        - ACWP
        - RCVD
        - PDNG
        - RJCT
        - CANC
        - ACFC
        - PATC
        - PART
      example: ACSP
    transactionStatus_SBS:
      description: |
        Uses codes from the ISO 20022 data table. See Statuses & Types documentation for full descriptions of status codes. 
      type: string
      enum:
        - ACTC
        - PATC
        - RCVD
        - RJCT
        - CANC
      example: RCVD
    scaStatus:
      description: >
        Contains information about the status of the SCA method applied. See Statuses & Types documentation for full descriptions of allowed values.
      type: string
      enum:
        - received
        - psuIdentified
        - psuAuthenticated
        - scaMethodSelected
        - started
        - finalised
        - failed
        - exempted
        - authenticationStarted
        - authoriseCreditorAccountStarted
      example: psuAuthenticated
    scaAuthenticationData:
      description: |
        SCA authentication data, depending on the chosen authentication method. 
        If the data is binary, then it is base64 encoded.
      type: string
    consentStatus:
      description: >
        Overall lifecycle status of the consent. See Statuses & Types documentation for full descriptions of allowed values. 
      type: string
      enum:
        - received
        - rejected
        - valid
        - revokedByPsu
        - expired
        - terminatedByTpp
        - partiallyAuthorised
    transactionFee:
      type: object
      properties:
        Amount:
          $ref: '#/components/schemas/amount'
        ChargeBearer:
          $ref: '#/components/schemas/chargeBearer'
    transactionFees:
      description: Array of transaction fees
      type: array
      items:
        $ref: '#/components/schemas/transactionFee'
    transactionFeeIndicator:
      description: >
        If "true", the transaction will involve specific transaction costs as shown by the ASPSP in their public price list or as agreed between the ASPSP and PSU. If "false", the transaction will not involve additional specific transaction costs to the PSU.
      type: boolean
    recurringIndicator:
      description: |
        If "true", the consent is for recurring access to the account data. If "false", the consent is for one-off access to the account data.
      type: boolean
      example: false
    combinedServiceIndicator:
      description: >
        If "true", indicates that a payment initiation service will be addressed in the same "session".
      type: boolean
      example: false
    batchBookingPreferred:
      description: >
        If "true", the PSU prefers only one booking entry. If "false", the PSU prefers individual booking of all included individual transactions. The ASPSP will follow this preference according to contracts agreed with the PSU.
      type: boolean
      example: false
    scaMethods:
      description: >
        Optional list of available Strong Customer Authentication (SCA) methods, shown if SCA is required and the user can choose a method. When this is present, a `startAuthorisationWithAuthenticationMethodSelection` link will also be included for starting the authorisation with method selection. 
      type: array
      items:
        $ref: '#/components/schemas/authenticationObject'
    chosenScaMethod:
      $ref: '#/components/schemas/authenticationObject'
    authenticationType:
      description: >
        Type of the authentication method. See Statuses & Types for full descriptions of authentication method types.
      type: string
      enum:
        - SMS_OTP
        - CHIP_OTP
        - PHOTO_OTP
        - PUSH_OTP
    authenticationObject:
      description: |
        Authentication Object
      type: object
      required:
        - authenticationType
        - authenticationMethodId
      properties:
        authenticationType:
          $ref: '#/components/schemas/authenticationType'
        authenticationVersion:
          description: >
            Specifies the version of the authentication method. Useful when multiple tools exist under the same method type. 
          type: string
        authenticationMethodId:
          $ref: '#/components/schemas/authenticationMethodId'
        name:
          description: >
            A user-defined or bank-provided label for the authentication method (e.g. "SMS OTP on phone +49160 xxxxx 28"). This should be shown to the user when offering authentication method choices.
          type: string
          example: SMS OTP on phone +49160 xxxxx 28
        explanation:
          description: |
            Detailed information about the SCA method for the PSU.
          type: string
          example: Detailed information about the SCA method for the PSU.
    signingBasket:
      description: |
        JSON Body of a establish signing basket request.
        The body shall contain at least one entry.
      type: object
      properties:
        paymentIds:
          $ref: '#/components/schemas/paymentIdList'
    challengeData:
      description: >
        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. 
      type: object
      properties:
        image:
          type: string
          format: byte
          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.
        data:
          type: array
          items:
            type: string
          description: Challenge data
        imageLink:
          type: string
          format: url
          description: >-
            A link where the ASPSP will provides the challenge image for the
            TPP.
        otpMaxLength:
          type: integer
          description: The maximal length for the OTP to be typed in by the PSU.
        otpFormat:
          type: string
          description: >-
            The format type of the OTP to be typed in. The admitted values are
            "characters" or "integer".
          enum:
            - characters
            - integer
        additionalInformation:
          type: string
          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.
    hrefType:
      description: Link to a resource
      type: object
      properties:
        href:
          $ref: '#/components/schemas/hrefEntry'
    hrefEntry:
      description: Link to a resource
      type: string
      example: /v1/payments/sepa-credit-transfers/1234-wertiq-983
    authorisationsList:
      description: An array of all authorisationIds
      type: array
      items:
        $ref: '#/components/schemas/authorisationId'
    authorisations:
      description: An array of all authorisationIds
      type: object
      required:
        - authorisationIds
      properties:
        authorisationIds:
          $ref: '#/components/schemas/authorisationsList'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    accountReference:
      description: |
        Reference to an account by either
          * IBAN, of a payment account, or
          * BBAN, for payment accounts if there is no IBAN, or 
          * the Primary Account Number (PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements, or
          * the Primary Account Number (PAN) of a card in a masked form, or
          * an alias to access a payment account via a registered mobile phone number (MSISDN).
      type: object
      properties:
        iban:
          $ref: '#/components/schemas/iban'
        bban:
          $ref: '#/components/schemas/bban'
        clearingNumber:
          $ref: '#/components/schemas/clearingNumber'
        accountNumber:
          $ref: '#/components/schemas/accountNumber'
        pan:
          $ref: '#/components/schemas/pan'
        maskedPan:
          $ref: '#/components/schemas/maskedPan'
        msisdn:
          $ref: '#/components/schemas/msisdn'
        currency:
          $ref: '#/components/schemas/currencyCode'
    accountReferenceWithGiro:
      description: |
        Reference to an account by either
          * IBAN, of a payment account, or
          * BBAN, for payment accounts if there is no IBAN, or,
          * Bankgiro/Plusgiro for corporate Swedish accounts, or 
          * the Primary Account Number (PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements, or
          * the Primary Account Number (PAN) of a card in a masked form, or
          * an alias to access a payment account via a registered mobile phone number (MSISDN).
      type: object
      properties:
        iban:
          $ref: '#/components/schemas/iban'
        bban:
          $ref: '#/components/schemas/bban'
        clearingNumber:
          $ref: '#/components/schemas/clearingNumber'
        accountNumber:
          $ref: '#/components/schemas/accountNumber'
        pan:
          $ref: '#/components/schemas/pan'
        maskedPan:
          $ref: '#/components/schemas/maskedPan'
        msisdn:
          $ref: '#/components/schemas/msisdn'
        bankgiroNumber:
          $ref: '#/components/schemas/bankGiroNumber'
        plusgiroNumber:
          $ref: '#/components/schemas/plusGiroNumber'
        currency:
          $ref: '#/components/schemas/currencyCode'
    trnsCreditorAccountReference:
      description: |
        Reference to an account by either
          * IBAN, of a payment account, or
          * BBAN, for payment accounts if there is no IBAN, or 
          * the Primary Account Number (PAN) of a card, can be tokenised by the ASPSP due to PCI DSS requirements, or
          * the Primary Account Number (PAN) of a card in a masked form, or
          * an alias to access a payment account via a registered mobile phone number (MSISDN), or
          * Swedish Bankgiro number, or
          * Swedish Plusgiro number.
      type: object
      properties:
        iban:
          $ref: '#/components/schemas/iban'
        bban:
          $ref: '#/components/schemas/bban'
        pan:
          $ref: '#/components/schemas/pan'
        maskedPan:
          $ref: '#/components/schemas/maskedPan'
        msisdn:
          $ref: '#/components/schemas/msisdn'
        currency:
          $ref: '#/components/schemas/currencyCode'
        bankGiro:
          $ref: '#/components/schemas/bankGiroNumber'
        plusGiro:
          $ref: '#/components/schemas/plusGiroNumber'
    giroReference:
      description: |
        Reference to a Swedish Bankgiro or Plusgiro account
      type: object
      required:
        - giroNumber
        - giroType
      properties:
        giroNumber:
          $ref: '#/components/schemas/giroNumber'
        giroType:
          $ref: '#/components/schemas/giroType'
    giroInvoiceReference:
      type: string
      description: Custom invoice reference
      minLength: 5
      maxLength: 140
      example: 'Payment for cottage rental: invoicenr 4421'
    giroOcrReference:
      type: string
      description: Giro OCR reference.
      pattern: '[0-9]{5,140}'
      example: '3020000071266464'
    balanceType:
      description: |
        The type of balance represented. See Statuses & Types documentation for full descriptions of balance types.
      type: string
      enum:
        - closingBooked
        - expected
        - authorised
        - openingBooked
        - interimAvailable
        - interimBooked
        - forwardAvailable
        - nonInvoiced
        - valueDated
        - interimCleared
        - closingAvailable
        - closingCleared
        - openingAvailable
        - openingCleared
        - information
    accountAccess:
      description: |
        Requested access services for a consent.
      type: object
      properties:
        accounts:
          description: >
            Asks for detailed account information. If the array is empty, the TPP asks for an accessible account list, and the arrays for balances and transactions will also be empty.
          type: array
          items:
            $ref: '#/components/schemas/accountReference'
        balances:
          description: >
            Asks for balances of the addressed accounts. If the array is empty, the TPP asks for the balances of all accessible accounts, and the arrays for accounts and transactions will also be empty. 
          type: array
          items:
            $ref: '#/components/schemas/accountReference'
        transactions:
          description: >
            Asks for transactions on the addressed accounts. If the array is empty, the TPP asks for the transactions of all accessible accounts and the arrays for accounts and balances will also be empty.
          type: array
          items:
            $ref: '#/components/schemas/accountReference'
        availableAccounts:
          description: >
            Optional if supported by API provider. Only the values "allAccounts", "allAccountsWithBalances" or "selectAccounts" are allowed.
          type: string
          enum:
            - allAccounts
            - allAccountsWithBalances
            - selectAccounts
        allPsd2:
          description: |
            Optional if supported by API provider. Only the value "allAccounts" is allowed.
          type: string
          enum:
            - allAccounts
    cashAccountType:
      description: |
        ExternalCashAccountType1Code from ISO 20022.
      type: string
    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.
      type: string
      enum:
        - enabled
        - deleted
        - blocked
    accountDetails:
      description: >
        The ASPSP shall give at least one of the account reference identifiers:
          - iban
          - bban
          - pan
          - maskedPan
          - msisdn
        If the account is a multicurrency account currency code in "currency" is
        set to "XXX".
      type: object
      required:
        - currency
      properties:
        resourceId:
          description: >-
            This shall be filled, if addressable resource are created by the
            ASPSP on the /accounts or /card-accounts endpoint.
          type: string
        iban:
          $ref: '#/components/schemas/iban'
        bban:
          $ref: '#/components/schemas/bban'
        clearingNumber:
          $ref: '#/components/schemas/clearingNumber'
        accountNumber:
          $ref: '#/components/schemas/accountNumber'
        msisdn:
          $ref: '#/components/schemas/msisdn'
        bankgiroNumber:
          $ref: '#/components/schemas/bankGiroNumber'
        plusgiroNumber:
          $ref: '#/components/schemas/plusGiroNumber'
        currency:
          $ref: '#/components/schemas/currencyCode'
        name:
          description: Name of the account given by the bank or the PSU in online-banking.
          type: string
          maxLength: 35
        product:
          description: Product name of the bank for this account, proprietary definition.
          type: string
          maxLength: 35
        cashAccountType:
          $ref: '#/components/schemas/cashAccountType'
        status:
          $ref: '#/components/schemas/accountStatus'
        bic:
          $ref: '#/components/schemas/bicfi'
        linkedAccounts:
          description: >-
            Case of a set of pending card transactions, the APSP will provide
            the relevant cash account the card is set up on.
          type: string
          maxLength: 70
        usage:
          description: |
            Specifies the usage of the account:
              * PRIV: private personal account.
              * ORGA: professional account.
          type: string
          maxLength: 4
          enum:
            - PRIV
            - ORGA
        details:
          description: |
            Specifications that might be provided by the ASPSP:
              - characteristics of the account.
              - characteristics of the relevant card.
          type: string
          maxLength: 140
        creditLimit:
          $ref: '#/components/schemas/creditLimit'
        balances:
          $ref: '#/components/schemas/balanceList'
        _links:
          $ref: '#/components/schemas/_linksAccountDetails'
        ownerName:
          description: >
            Name of the legal account owner. If there is more than one owner, then multiple 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.
          type: string
          maxLength: 140
          example: John Doe
        lastTransactionEnrichmentDateTime:
          $ref: '#/components/schemas/lastTransactionEnrichmentDateTime'
        lastTransactionEnrichmentDateTimeUtc:
          $ref: '#/components/schemas/lastTransactionEnrichmentDateTimeUtc'
        lastBalanceEnrichmentDateTime:
          $ref: '#/components/schemas/lastBalanceEnrichmentDateTime'
        lastBalanceEnrichmentDateTimeUtc:
          $ref: '#/components/schemas/lastBalanceEnrichmentDateTimeUtc'
    accountDetailsWithTppMessages:
      description: >
        The ASPSP shall give at least one of the account reference identifiers:
          - iban
          - bban
          - pan
          - maskedPan
          - msisdn
        If the account is a multicurrency account currency code in "currency" is
        set to "XXX".
      type: object
      required:
        - currency
      properties:
        resourceId:
          description: >-
            This shall be filled, if addressable resource are created by the
            ASPSP on the /accounts or /card-accounts endpoint.
          type: string
        iban:
          $ref: '#/components/schemas/iban'
        bban:
          $ref: '#/components/schemas/bban'
        clearingNumber:
          $ref: '#/components/schemas/clearingNumber'
        accountNumber:
          $ref: '#/components/schemas/accountNumber'
        msisdn:
          $ref: '#/components/schemas/msisdn'
        bankgiroNumber:
          $ref: '#/components/schemas/bankGiroNumber'
        plusgiroNumber:
          $ref: '#/components/schemas/plusGiroNumber'
        currency:
          $ref: '#/components/schemas/currencyCode'
        name:
          description: Name of the account given by the bank or the PSU in online-banking.
          type: string
          maxLength: 35
        product:
          description: Product name of the bank for this account, proprietary definition.
          type: string
          maxLength: 35
        cashAccountType:
          $ref: '#/components/schemas/cashAccountType'
        status:
          $ref: '#/components/schemas/accountStatus'
        bic:
          $ref: '#/components/schemas/bicfi'
        linkedAccounts:
          description: >-
            Case of a set of pending card transactions, the APSP will provide
            the relevant cash account the card is set up on.
          type: string
          maxLength: 70
        usage:
          description: |
            Specifies the usage of the account
              * PRIV: private personal account
              * ORGA: professional account
          type: string
          maxLength: 4
          enum:
            - PRIV
            - ORGA
        details:
          description: |
            Specifications that might be provided by the ASPSP
              - characteristics of the account
              - characteristics of the relevant card
          type: string
          maxLength: 140
        creditLimit:
          $ref: '#/components/schemas/creditLimit'
        balances:
          $ref: '#/components/schemas/balanceList'
        _links:
          $ref: '#/components/schemas/_linksAccountDetails'
        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.
          type: string
          maxLength: 140
          example: John Doe
        lastTransactionEnrichmentDateTime:
          $ref: '#/components/schemas/lastTransactionEnrichmentDateTime'
        lastTransactionEnrichmentDateTimeUtc:
          $ref: '#/components/schemas/lastTransactionEnrichmentDateTimeUtc'
        lastBalanceEnrichmentDateTime:
          $ref: '#/components/schemas/lastBalanceEnrichmentDateTime'
        lastBalanceEnrichmentDateTimeUtc:
          $ref: '#/components/schemas/lastBalanceEnrichmentDateTimeUtc'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    cardAccountDetails:
      description: |
        Card account details.
      type: object
      required:
        - maskedPan
        - currency
      properties:
        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
        maskedPan:
          $ref: '#/components/schemas/maskedPan'
        currency:
          $ref: '#/components/schemas/currencyCode'
        ownerName:
          $ref: '#/components/schemas/ownerName'
        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.
          type: string
          maxLength: 70
        displayName:
          $ref: '#/components/schemas/displayName'
        product:
          description: |
            Product Name of the Bank for this account, proprietary definition.
          type: string
          maxLength: 35
        debitAccounting:
          $ref: '#/components/schemas/debitAccounting'
        status:
          $ref: '#/components/schemas/accountStatus'
        usage:
          description: |
            Specifies the usage of the account:
              * PRIV: private personal account
              * ORGA: professional account
          type: string
          maxLength: 4
          enum:
            - PRIV
            - ORGA
        details:
          description: |
            Specifications that might be provided by the ASPSP:
              - characteristics of the account
              - characteristics of the relevant card
          type: string
          maxLength: 1000
        creditLimit:
          $ref: '#/components/schemas/amount'
        balances:
          $ref: '#/components/schemas/balanceList'
        _links:
          $ref: '#/components/schemas/_linksAccountDetails'
    accountList:
      description: |
        List of accounts with details.
      type: object
      required:
        - accounts
      properties:
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/accountDetails'
        _links:
          $ref: '#/components/schemas/_linksAccountReport'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    cardAccountList:
      description: |
        List of card accounts with details.
      type: object
      required:
        - cardAccounts
      properties:
        cardAccounts:
          type: array
          items:
            $ref: '#/components/schemas/cardAccountDetails'
    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".
      type: object
      required:
        - _links
      properties:
        booked:
          $ref: '#/components/schemas/transactionList'
        pending:
          $ref: '#/components/schemas/transactionList'
        bankgiro:
          $ref: '#/components/schemas/transactionList'
        _links:
          $ref: '#/components/schemas/_linksAccountReport'
    cardAccountReport:
      description: >
        JSON based card account report.


        This card account report contains transactions resulting from the query
        parameters.
      type: object
      required:
        - booked
        - _links
      properties:
        booked:
          $ref: '#/components/schemas/cardTransactionList'
        pending:
          $ref: '#/components/schemas/cardTransactionList'
        _links:
          $ref: '#/components/schemas/_linksCardAccountReport'
    transactionList:
      description: Array of transaction details
      type: array
      items:
        $ref: '#/components/schemas/transactionDetails'
    cardTransactionList:
      description: Array of transaction details
      type: array
      items:
        $ref: '#/components/schemas/cardTransaction'
    transactionDetails:
      description: Transaction details
      type: object
      required:
        - transactionAmount
      properties:
        transactionId:
          description: >
            the Transaction Id can be used as access-ID in the API, where more
            details on an transaction is offered. 

            If this data attribute is provided this shows that the AIS can get
            access on more details about this 

            transaction using the GET Transaction Details Request 
          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.
          type: string
          maxLength: 35
        endToEndId:
          description: ID for the transaction provided by the initiator, and passed unchanged from debtor to creditor.
          type: string
          maxLength: 35
        mandateId:
          description: ID of the mandate given by the debtor to the creditor. Relevant for e.g. SEPA Identification of Mandates. 
          type: string
          maxLength: 35
        checkId:
          description: Identification of a Cheque.
          type: string
          maxLength: 35
        creditorId:
          description: Identification of Creditors, e.g. a SEPA Creditor ID.
          type: string
          maxLength: 35
        bookingDate:
          $ref: '#/components/schemas/bookingDate'
        valueDate:
          description: >-
            Date at which an entry is posted to an account on the ASPSP's books.
          type: string
          format: date
        transactionAmount:
          $ref: '#/components/schemas/amount'
        balanceAfterTransaction:
          $ref: '#/components/schemas/balanceAfterTransaction'
        currencyExchange:
          $ref: '#/components/schemas/reportExchangeRateList'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAccount:
          $ref: '#/components/schemas/trnsCreditorAccountReference'
        ultimateCreditor:
          $ref: '#/components/schemas/ultimateCreditor'
        debtorName:
          $ref: '#/components/schemas/debtorName'
        debtorAccount:
          $ref: '#/components/schemas/accountReference'
        ultimateDebtor:
          $ref: '#/components/schemas/ultimateDebtor'
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
        remittanceInformationStructured:
          description: >
            Reference as contained in the structured remittance reference
            structure (without the surrounding XML structure).


            Different from other places where the content is in plain form and
            not in form of a structured field.
          type: string
          maxLength: 140
        remittanceInformationUnstructuredArray:
          $ref: '#/components/schemas/remittanceInformationUnstructuredArray'
        remittanceInformationStructuredArray:
          $ref: '#/components/schemas/remittanceInformationStructuredArray'
        additionalInformation:
          description: >
            Might be used by the ASPSP to transport additional transaction
            related information to the PSU.
          type: string
          maxLength: 512
        purposeCode:
          $ref: '#/components/schemas/purposeCode'
        bankTransactionCode:
          $ref: '#/components/schemas/bankTransactionCode'
        proprietaryBankTransactionCode:
          $ref: '#/components/schemas/proprietaryBankTransactionCode'
        transactionListId:
          $ref: '#/components/schemas/transactionListId'
        paymentId:
          $ref: '#/components/schemas/transactionPaymentId'
        aggregateTransactionId:
          description: The transaction ID of the aggregated transaction. 
          type: string
        aggregateTransactionListId:
          description: The transaction list ID of the aggregated transaction.
          type: string
        aggregateId:
          description: Serial number for the Bankgiro deposit.
          type: integer
        aggregateAmount:
          description: The aggregated amount of all transactions in the deposit.
          type: string
        aggregateRemittanceInformationUnstructured:
          description: >-
            The unstructured remittance information of the aggregated
            transaction.
          type: string
        debtorAddress:
          $ref: '#/components/schemas/address'
        debtorOrganisationId:
          description: Organisation number of the debtor.
          type: string
        isAliasPayin:
          description: Is set if the Bankgiro deposit matches an aggregated transaction.
          type: boolean
        isEnriched:
          $ref: '#/components/schemas/isEnriched'
        _links:
          $ref: '#/components/schemas/_linksTransactionDetails'
        transactionFees:
          $ref: '#/components/schemas/transactionFees'
    transactionDetailsWithTppMessages:
      description: Transaction details
      type: object
      required:
        - transactionAmount
      properties:
        transactionId:
          description: >
            the Transaction Id can be used as access-ID in the API, where more
            details on an transaction is offered. 

            If this data attribute is provided this shows that the AIS can get
            access on more details about this 

            transaction using the GET Transaction Details Request 
          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.
          type: string
          maxLength: 35
        endToEndId:
          description: Unique end to end identity.
          type: string
          maxLength: 35
        mandateId:
          description: Identification of Mandates, e.g. a SEPA Mandate ID.
          type: string
          maxLength: 35
        checkId:
          description: Identification of a Cheque.
          type: string
          maxLength: 35
        creditorId:
          description: Identification of Creditors, e.g. a SEPA Creditor ID.
          type: string
          maxLength: 35
        bookingDate:
          $ref: '#/components/schemas/bookingDate'
        valueDate:
          description: >-
            Date at which assets become available to the account owner in case of a credit.
          type: string
          format: date
        transactionAmount:
          $ref: '#/components/schemas/amount'
        currencyExchange:
          $ref: '#/components/schemas/reportExchangeRateList'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAccount:
          $ref: '#/components/schemas/trnsCreditorAccountReference'
        ultimateCreditor:
          $ref: '#/components/schemas/ultimateCreditor'
        debtorName:
          $ref: '#/components/schemas/debtorName'
        debtorAccount:
          $ref: '#/components/schemas/accountReference'
        ultimateDebtor:
          $ref: '#/components/schemas/ultimateDebtor'
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
        remittanceInformationStructured:
          description: >
            Reference as contained in the structured remittance reference
            structure (without the surrounding XML structure).


            Different from other places where the content is in plain form and
            not in form of a structured field.
          type: string
          maxLength: 140
        additionalInformation:
          description: >
            Might be used by the ASPSP to transport additional transaction
            related information to the PSU.
          type: string
          maxLength: 512
        purposeCode:
          $ref: '#/components/schemas/purposeCode'
        bankTransactionCode:
          $ref: '#/components/schemas/bankTransactionCode'
        proprietaryBankTransactionCode:
          $ref: '#/components/schemas/proprietaryBankTransactionCode'
        transactionListId:
          $ref: '#/components/schemas/transactionListId'
        paymentId:
          $ref: '#/components/schemas/transactionPaymentId'
        isEnriched:
          $ref: '#/components/schemas/isEnriched'
        _links:
          $ref: '#/components/schemas/_linksTransactionDetails'
        transactionFees:
          $ref: '#/components/schemas/transactionFees'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    cardTransaction:
      description: Card transaction information
      type: object
      required:
        - transactionAmount
      properties:
        cardTransactionId:
          $ref: '#/components/schemas/cardTransactionId'
        terminalId:
          $ref: '#/components/schemas/terminalId'
        transactionDate:
          $ref: '#/components/schemas/transactionDate'
        bookingDate:
          $ref: '#/components/schemas/bookingDate'
        transactionAmount:
          $ref: '#/components/schemas/amount'
        currencyExchange:
          $ref: '#/components/schemas/reportExchangeRateList'
        originalAmount:
          $ref: '#/components/schemas/amount'
        markupFee:
          $ref: '#/components/schemas/amount'
        markupFeePercentage:
          type: string
          example: '0.3'
        cardAcceptorId:
          type: string
          maxLength: 35
        cardAcceptorAddress:
          $ref: '#/components/schemas/address'
        merchantCategoryCode:
          $ref: '#/components/schemas/merchantCategoryCode'
        maskedPAN:
          $ref: '#/components/schemas/maskedPan'
        transactionDetails:
          type: string
          maxLength: 140
        invoiced:
          type: boolean
        proprietaryBankTransactionCode:
          $ref: '#/components/schemas/proprietaryBankTransactionCode'
    reportExchangeRateList:
      description: Array of exchange rates
      type: array
      items:
        $ref: '#/components/schemas/reportExchangeRate'
    reportExchangeRate:
      description: Exchange Rate
      type: object
      required:
        - sourceCurrency
        - exchangeRate
        - unitCurrency
        - targetCurrency
        - quotationDate
      properties:
        sourceCurrency:
          $ref: '#/components/schemas/currencyCode'
        exchangeRate:
          type: string
        unitCurrency:
          type: string
        targetCurrency:
          $ref: '#/components/schemas/currencyCode'
        quotationDate:
          type: string
          format: date
        contractIdentification:
          type: string
    paymentExchangeRate:
      description: Exchange Rate
      type: object
      properties:
        unitCurrency:
          type: string
        exchangeRate:
          type: string
        contractIdentification:
          type: string
        rateType:
          type: string
          enum:
            - SPOT
            - SALE
            - AGRD
    balance:
      description: |
        A single balance element
      type: object
      required:
        - balanceAmount
        - balanceType
      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.
          type: boolean
          example: false
        lastChangeDateTime:
          description: >
            Might be used to indicate when the balance was last updated.
          type: string
          format: date-time
        referenceDate:
          description: Reference date of the balance.
          type: string
          format: date
        lastCommittedTransaction:
          description: >
            "entryReference" of the last committed transaction.
          type: string
          maxLength: 35
        clearingNumber:
          $ref: '#/components/schemas/clearingNumber'
    balanceList:
      description: >
        A list of balances for the account. This list might be restricted to the current balance.
      type: array
      items:
        $ref: '#/components/schemas/balance'
    cancellationList:
      required:
        - cancellationIds
      description: An array of all cancellationIds connected to this resource.
      type: object
      properties:
        cancellationIds: 
          type: array
          items:
            $ref: '#/components/schemas/cancellationId'
    bicfi:
      description: |
        BICFI
      type: string
      pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}'
      example: AAAADEBBXXX
    pan:
      description: |
        Primary Account Number according to ISO/IEC 7812.
      type: string
      maxLength: 35
      example: '5409050000000000'
    maskedPan:
      description: |
        Masked Primary Account Number.
      type: string
      maxLength: 35
      example: 123456xxxxxx1234
    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.
      type: string
      maxLength: 140
      example: John Doe
    debitAccounting:
      description: >
        If true, the amounts of debits on the reports are quoted positive with
        the related consequence for balances.

        If false, the amount of debits on the reports are quoted negative.
      type: boolean
    displayName:
      description: |
        Name of the account as defined by the PSU within online channels.
      type: string
      maxLength: 70
    bban:
      description: |
        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.
      type: string
      pattern: '[a-zA-Z0-9]{1,30}'
      example: BARC12345612345678
    msisdn:
      type: string
      maxLength: 35
      description: Mobile phone number.
      example: +49 170 1234567
    iban:
      type: string
      description: International Bank Account Number (IBAN) of an account.
      pattern: '[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}'
      example: FR7612345987650123456789014
    giroNumber:
      type: string
      description: Swedish Bankgiro or Plusgiro number
      pattern: '[0-9-]{5,35}'
      example: 1234-5678
    giroType:
      type: string
      description: Swedish giro type
      enum:
        - BANKGIRO
        - PLUSGIRO
    bankGiroNumber:
      type: string
      description: Swedish Bankgiro number
      pattern: '[0-9-]{5,35}'
      example: 1234-5678
    plusGiroNumber:
      type: string
      description: Swedish Plusgiro number
      pattern: '[0-9-]{5,35}'
      example: 948294-5
    address:
      type: object
      required:
        - country
      properties:
        street:
          type: string
          maxLength: 70
        buildingNumber:
          type: string
        city:
          type: string
        postalCode:
          type: string
        country:
          $ref: '#/components/schemas/countryCode'
      example:
        street: rue blue
        buildingNumber: '89'
        city: Paris
        postalCode: '75000'
        country: FR
    internationalAddress:
      type: object
      required:
        - country
        - postalCode
        - city
        - street
      properties:
        street:
          type: string
          maxLength: 70
        buildingNumber:
          type: string
        city:
          type: string
        postalCode:
          type: string
        country:
          $ref: '#/components/schemas/countryCode'
        state:
          type: string
      example:
        street: rue blue
        buildingNumber: '89'
        city: Paris
        postalCode: '75000'
        country: FR
    countryCode:
      description: ISO 3166 ALPHA2 country code
      type: string
      pattern: '[A-Z]{2}'
      example: SE
    creditorNameAndAddress:
      description: Creditor Name and Address in a free text field
      type: string
      maxLength: 140
      example: Max Masters, Main Street 1, 12345 City, Example Country
    amount:
      type: object
      required:
        - currency
        - amount
      properties:
        currency:
          $ref: '#/components/schemas/currencyCode'
        amount:
          $ref: '#/components/schemas/amountValue'
      example:
        currency: EUR
        amount: '123'
    balanceAfterTransaction:
      description: |
        The account balance at the time after the transaction is made. Only available for transactions in booked state.
      type: object
      properties:
        balanceAmount:
          $ref: '#/components/schemas/amount'
        balanceType:
          $ref: '#/components/schemas/balanceType'
    creditLimit:
      description: |
        Amount of credit extended to account.
      type: object
      required:
        - currency
        - amount
      properties:
        currency:
          $ref: '#/components/schemas/currencyCode'
        amount:
          $ref: '#/components/schemas/amountValue'
      example:
        currency: EUR
        amount: '123'
    currencyCode:
      description: |
        ISO 4217 Alpha 3 currency code.
      type: string
      pattern: '[A-Z]{3}'
      example: EUR
    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
      type: string
      pattern: '-?[0-9]{1,14}(\.[0-9]{1,3})?'
      example: '5877.78'
    chargeBearer:
      description: Charge Bearer. ChargeBearerType1Code from ISO20022
      type: string
      enum:
        - DEBT
        - CRED
        - SHAR
        - SLEV
    remittanceInformationStructured:
      description: |
        Structured remittance information
      type: object
      required:
        - reference
      properties:
        reference:
          type: string
          maxLength: 35
        referenceType:
          type: string
          maxLength: 35
        referenceIssuer:
          type: string
          maxLength: 35
    remittanceInformationStructuredArray:
      description: |
        Array of structured remittance information
      type: object
      properties:
        referredDocumentInformation:
          $ref: '#/components/schemas/referredDocumentInformation'
        referredDocumentAmount:
          $ref: '#/components/schemas/referredDocumentAmount'
        creditorReferenceInformation:
          $ref: '#/components/schemas/creditorReferenceInformation'
        additionalRemittanceInformation:
          type: array
          items:
            type: string
    referredDocumentInformation:
      type: object
      properties:
        typeCode:
          type: string
          example: CINV
        typeProprietary:
          type: string
          example: Custom type identifier
        typeIssuer:
          type: string
          example: Issuer organization
        number:
          type: string
          example: INV-12345
        relatedDate:
          type: string
          format: date
          example: 2025-01-31
    referredDocumentAmount:
      type: object
      properties:
        duePayableAmount:
          $ref: '#/components/schemas/amount'
        creditNoteAmount:
          $ref: '#/components/schemas/amount'
        remittedAmount:
          $ref: '#/components/schemas/amount'
    creditorReferenceInformation:
      type: object
      properties:
        reference:
          type: object
          example: REF-12345
        referenceTypeCode: 
          type: string
          example: SCOR
        referenceTypeProprietary:
          type: string
          example: Custom reference type
    remittanceInformationUnstructured:
      description: |
        Unstructured remittance information
      type: string
      maxLength: 140
      example: Ref Number Merchant
    remittanceInformationUnstructuredArray:
      description: |
        Array of unstructured remittance information
      type: array
      items:
        $ref: '#/components/schemas/remittanceInformationUnstructured'
      example:
        - Ref Number Merchant
        - Some Other Text
    debtorAccountMessage:
      description: |
        Message for the debtor
      type: string
      maxLength: 140
      example: Personal note
    purposeCode:
      description: >
        ExternalPurpose1Code from ISO 20022. Values from ISO 20022 External Code List ExternalCodeSets_1Q2018 June 2018.
      type: string
      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
    bankTransactionCode:
      description: >
        Bank transaction code as used by the ASPSP, concatenating the three ISO 20022 Codes (Domain Code, Family Code, SubFamily Code).
      type: string
      example: PMNT-RCDT-ESCT
    proprietaryBankTransactionCode:
      description: >
        Proprietary bank transaction code as used within a community or within
        an ASPSP e.g. 

        for MT94x based transaction reports.
      type: string
      maxLength: 35
    transactionListId:
      description: >
        Generated from the transaction details per transaction, meaning that duplicates may occur for identical transactions on the same day with the same account balance at the transaction time. Only available fore transactions in booked state.
      type: string
    transactionPaymentId:
      description: >
        Only available for transactions generated via the Open Banking Platform.


        Resource identification of the generated payment initiation resource.
      type: string
    isEnriched:
      description: >
        A transaction that has additional data enriched. Data is sourced from a
        provider other than PSD2.
      type: boolean
    merchantCategoryCode:
      description: Merchant category code
      type: string
      maxLength: 4
      minLength: 4
    frequencyCode:
      description: >
        The following codes from the "EventFrequency7Code" of ISO 20022 are
        supported.

        - "Daily"

        - "Weekly"

        - "EveryTwoWeeks"

        - "Monthly"

        - "EveryTwoMonths"

        - "Quarterly"

        - "SemiAnnual"

        - "Annual"
      type: string
      enum:
        - Daily
        - Weekly
        - EveryTwoWeeks
        - Monthly
        - EveryTwoMonths
        - Quarterly
        - SemiAnnual
        - Annual
    frequencyPerDay:
      description: >
        The number of times per day the TPP may access the account data without PSU interaction. For one-off access, the attribute is set to "1". If not otherwise agreed bilaterally between the TPP and ASPSP, the frequency is less equal to 4. 
      type: integer
      example: 4
      minimum: 1
      exclusiveMinimum: false
    dayOfExecution:
      description: |
        The day of execution as a string. Leading zeroes are not allowed. 
      type: string
      maxLength: 2
      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'
    executionRule:
      description: >
        Specifies how to handle recurring payment dates that fall on a weekend or bank holiday. The payment is then executed on either the "preceding" or "following" working day. The ASPSP might reject the request if the selected option is not supported by its online banking rules. 
      type: string
      enum:
        - following
        - preceding
    psuData:
      description: PSU Data for Update PSU Authentication.
      type: object
      minProperties: 1
      properties:
        password:
          description: Password
          type: string
        encryptedPassword:
          description: Encrypted password.
          type: string
    psuMessageText:
      description: Text to be displayed to the PSU
      type: string
      maxLength: 512
    creditorName:
      description: Creditor Name
      type: string
      maxLength: 70
      pattern: "^[A-Za-z0-9 ]{1,70}$"
      example: Creditor Name
    creditorAgentName:
      description: Creditor Agent Name
      type: string
      maxLength: 35
      example: Creditor Agent Name
    debtorAgentName:
      description: Debtor Agent Name
      type: string
      maxLength: 35
      example: Debtor Agent Name
    debtorName:
      description: Debtor Name
      type: string
      maxLength: 70
      example: Debtor Name
    ultimateDebtor:
      description: Ultimate Debtor
      type: string
      maxLength: 70
      example: Ultimate Debtor
    ultimateDebtorName:
      description: Ultimate Debtor Name
      type: string
      maxLength: 70
      pattern: "^[A-Za-z0-9 ]{1,70}$"
      example: Debtor Name
    debtorId:
      description: Debtor Id
      type: string
      maxLength: 35
      example: Debtor Id 1234
    ultimateCreditor:
      description: Ultimate Creditor
      type: string
      maxLength: 70
      example: Ultimate Creditor
    ultimateCreditorName:
      description: Ultimate Creditor Name
      type: string
      maxLength: 70
      pattern: "^[A-Za-z0-9 ]{1,70}$"
      example: Creditor Name
    transactionDate:
      description: Date of the actual card transaction
      type: string
      format: date
    startDate:
      description: >
        The first applicable day of execution starting from this date is the
        first payment.
      type: string
      format: date
    endDate:
      description: |
        The last applicable day of execution
        If not given, it is an infinite standing order.
      type: string
      format: date
    bookingDate:
      description: |
        The Date when an entry is posted to an account on the ASPSPs books.
      type: string
      format: date
    validUntil:
      description: >
        The date until which the requested consent should be valid for. The content is the local ASPSP date in ISO Date Format, e.g. 2025-10-30.
        This parameter is requesting a valid until date for the requested
        consent. 
      type: string
      format: date
      example: '2020-12-31'
    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.
      type: string
      format: date
      example: '2018-07-01'
    isoPaymentInitiation_json:
      title: Domestic Payment
      description: >
        Request Body for a domestic payment initiation via JSON.
      type: object
      required:
        - debtorAccount
        - instructedAmount
        - creditorAccount
        - creditorName
      properties:
        instructedAmount:
          $ref: '#/components/schemas/amount'
        debtorAccount:
          $ref: '#/components/schemas/accountReferenceWithGiro'
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/address'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorAgentName:
          $ref: '#/components/schemas/creditorAgentName'
        requestedExecutionDate:
          type: string
          description: >-
            Date when payment is scheduled to be executed in ISO-Date Format,
            e.g. 2020-10-30
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
        debtorAccountMessage:
          $ref: '#/components/schemas/debtorAccountMessage'
        endToEndIdentification:
          type: string
          maxLength: 35
        creditNotes:
          $ref: '#/components/schemas/creditNotes'
    paymentInitiation_json:
      title: Domestic Payment
      description: >
        Request Body for a domestic payment initiation via JSON.
      type: object
      required:
        - debtorAccount
        - instructedAmount
        - creditorAccount
        - creditorName
      properties:
        instructedAmount:
          $ref: '#/components/schemas/amount'
        debtorAccount:
          $ref: '#/components/schemas/accountReferenceWithGiro'
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/address'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorAgentName:
          $ref: '#/components/schemas/creditorAgentName'
        requestedExecutionDate:
          type: string
          description: >-
            Date when payment is scheduled to be executed in ISO-Date Format,
            e.g. 2020-10-30
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
#        remittanceInformationStructuredArray:
#          $ref: '#/components/schemas/remittanceInformationStructuredArray'
        debtorAccountMessage:
          $ref: '#/components/schemas/debtorAccountMessage'
        endToEndIdentification:
          type: string
          maxLength: 35
    paymentInitiationCrossBorder_json:
      title: Cross-Border Payment
      description: >
        Request Body for a cross-border payment initiation via JSON.
      type: object
      required:
        - debtorAccount
        - instructedAmount
        - creditorAccount
        - creditorAgentName
        - creditorAgent
        - creditorName
        - creditorAddress
      properties:
        instructedAmount:
          $ref: '#/components/schemas/amount'
        debtorAccount:
          $ref: '#/components/schemas/accountReferenceWithGiro'
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/internationalAddress'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorAgentName:
          $ref: '#/components/schemas/creditorAgentName'
        requestedExecutionDate:
          type: string
          description: >-
            Date when payment is scheduled to be executed in ISO-Date Format,
            e.g. 2020-10-30
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
#        remittanceInformationStructuredArray:
#          $ref: '#/components/schemas/remittanceInformationStructuredArray'
        debtorAccountMessage:
          $ref: '#/components/schemas/debtorAccountMessage'
        endToEndIdentification:
          type: string
          maxLength: 35
        purposeCode:
          $ref: '#/components/schemas/purposeCode'
    isoPaymentInitiationCrossBorder_json:
      title: Cross-Border Payment
      description: >
        Request Body for a cross-border payment initiation via JSON.
      type: object
      required:
        - debtorAccount
        - instructedAmount
        - creditorAccount
        - creditorAgentName
        - creditorAgent
        - creditorName
        - creditorAddress
      properties:
        instructedAmount:
          $ref: '#/components/schemas/amount'
        debtorAccount:
          $ref: '#/components/schemas/accountReferenceWithGiro'
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/internationalAddress'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorAgentName:
          $ref: '#/components/schemas/creditorAgentName'
        requestedExecutionDate:
          type: string
          description: >-
            Date when payment is scheduled to be executed in ISO-Date Format,
            e.g. 2020-10-30
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
#        remittanceInformationStructuredArray:
#          $ref: '#/components/schemas/remittanceInformationStructuredArray'
        debtorAccountMessage:
          $ref: '#/components/schemas/debtorAccountMessage'
        endToEndIdentification:
          type: string
          maxLength: 35
        purposeCode:
          $ref: '#/components/schemas/purposeCode'
        creditNotes:
          $ref: '#/components/schemas/creditNotes'

    paymentInitiationSepaDirectDebit_json:
      title: SEPA Direct Debit Payment
      description: >
        JSON body for initiating a SEPA Direct Debit.
      type: object
      required:
        - instructedAmount
        - creditorAccount
        - creditorName
        - creditorAddress
        - creditorId
        - debtorAccount
        - debtorName
        - debtorAddress
        - debtorAgent
        - localInstrumentCode
        - sequenceType
        - mandateRelatedInformation
        - requestedExecutionDate
      properties:
        instructionId:
          type: string
          maxLength: 35
          description: Instruction Id – identification for end-to-end processing.
        requestedExecutionDate:
          type: string
          format: date
          description: >
            Date when payment is scheduled to be collected in ISO-Date Format, e.g. 2020-10-30.
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/address'
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorAgentName:
          $ref: '#/components/schemas/creditorAgentName'
        creditorId:
          type: string
          description: >
            A unique identifier assigned to the creditor authorising them to initiate SEPA Direct Debit collections.
          pattern: '^[A-Z]{2}\d{2}[A-Z0-9]{3,28}$'
          example: NL93ZZZ123456780001
        localInstrumentCode:
          type: string
          description: Local instrument code.
          enum: [CORE, B2B]
        sequenceType:
          $ref: '#/components/schemas/directDebitSequenceType'
        instructedAmount:
          $ref: '#/components/schemas/amount'
        chargeBearer:
          $ref: '#/components/schemas/chargeBearer'
        mandateRelatedInformation:
          $ref: '#/components/schemas/directDebitMandateRelatedInformation'
        ultimateCreditorName:
          $ref: '#/components/schemas/ultimateCreditorName'
        ultimateCreditorAddress:
          $ref: '#/components/schemas/address'
        debtorAgent:
          $ref: '#/components/schemas/bicfi'
        debtorName:
          $ref: '#/components/schemas/debtorName'
        debtorAddress:
          $ref: '#/components/schemas/address'
        debtorAgentName:
          $ref: '#/components/schemas/debtorAgentName'
        debtorAccount:
          $ref: '#/components/schemas/accountReference'
        ultimateDebtorName:
          $ref: '#/components/schemas/ultimateDebtorName'
        ultimateDebtorAddress:
          $ref: '#/components/schemas/address'
        purposeCode:
          $ref: '#/components/schemas/purposeCode'
        remittanceInformationUnstructuredArray:
          $ref: '#/components/schemas/remittanceInformationUnstructuredArray'
        remittanceInformationStructuredArray:
          $ref: '#/components/schemas/directDebitStructuredRemittanceInformationArray'
        regulatoryReporting:
          $ref: '#/components/schemas/directDebitRegulatoryReportingArray'

    directDebitSequenceType:
      description: >
        Sequence type for SEPA Direct Debit collections.
      type: string
      enum: [OOFF, FRST, RCUR, FNAL]

    directDebitMandateRelatedInformation:
      description: >
        Mandate information that authorises the SEPA Direct Debit.
      type: object
      required: [mandateId, dateOfSignature]
      properties:
        mandateId:
          type: string
          maxLength: 35
          description: Mandate Id.
        dateOfSignature:
          type: string
          format: date
          description: Date of signature.

    party:
      description: Party with name and postal address.
      type: object
      required: [name]
      properties:
        name:
          type: string
          maxLength: 70
        postalAddress:
          $ref: '#/components/schemas/address'

    directDebitReferenceTypeCode:
      description: >
        Reference type for structured remittance.
      type: string
      enum: [SCOR]

    directDebitStructuredRemittanceInformation:
      description: Structured remittance information for SEPA Direct Debit
      type: object
      required: [reference]
      properties:
        reference:
          type: string
          maxLength: 35
        referenceType:
          $ref: '#/components/schemas/directDebitReferenceTypeCode'
        remittanceAmount:
          $ref: '#/components/schemas/amount'

    directDebitStructuredRemittanceInformationArray:
      description: Array of structured remittance information elements.
      type: array
      items:
        $ref: '#/components/schemas/directDebitStructuredRemittanceInformation'

    directDebitRegulatoryReportingData:
      description: Additional regulatory reporting information, if applicable.
      type: object
      properties:
        detailsCode:
          type: string
          maxLength: 35
        detailsInformation:
          type: string
          maxLength: 140

    directDebitRegulatoryReportingArray:
      description: Up to 10 regulatory reporting items.
      type: array
      maxItems: 10
      items:
        $ref: '#/components/schemas/directDebitRegulatoryReportingData'

    paymentInitiationSct_json:
      title: SEPA Credit Transfer
      description: >
        Request Body for a SEPA Credit Transfer payment initiation via JSON.
      type: object
      required:
        - debtorAccount
        - instructedAmount
        - creditorAccount
        - creditorName
        - creditorAgent
        - creditorAgentName
      properties:
        instructedAmount:
          $ref: '#/components/schemas/amount'
        debtorAccount:
          $ref: '#/components/schemas/accountReferenceWithGiro'
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/address'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorAgentName:
          $ref: '#/components/schemas/creditorAgentName'
        requestedExecutionDate:
          type: string
          description: >-
            Date when payment is scheduled to be executed in ISO-Date Format,
            e.g. 2020-10-30
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
#        remittanceInformationStructuredArray:
#          $ref: '#/components/schemas/remittanceInformationStructuredArray'
        debtorAccountMessage:
          $ref: '#/components/schemas/debtorAccountMessage'
        endToEndIdentification:
          type: string
          maxLength: 35
    isoPaymentInitiationSct_json:
      title: SEPA Credit Transfer
      description: >
        Request Body for a SEPA Credit Transfer payment initiation via JSON.
      type: object
      required:
        - debtorAccount
        - instructedAmount
        - creditorAccount
        - creditorName
        - creditorAgent
      properties:
        instructedAmount:
          $ref: '#/components/schemas/amount'
        debtorAccount:
          $ref: '#/components/schemas/accountReferenceWithGiro'
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/address'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorAgentName:
          $ref: '#/components/schemas/creditorAgentName'
        requestedExecutionDate:
          type: string
          description: >-
            Date when payment is scheduled to be executed in ISO-Date Format,
            e.g. 2020-10-30
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
        endToEndIdentification:
          type: string
          maxLength: 35
        debtorAccountMessage:
          $ref: '#/components/schemas/debtorAccountMessage'
#        remittanceInformationStructuredArray:
#          $ref: '#/components/schemas/remittanceInformationStructuredArray'
        creditNotes:
          $ref: '#/components/schemas/creditNotes'
    paymentInitiationSwedishGiro_json:
      title: Giro Payment
      description: >
        Request Body for a Swedish Bankgiro/Plusgiro payment initiation via JSON.
      type: object
      required:
        - debtorAccount
        - instructedAmount
        - creditorGiro
        - creditorName
      properties:
        instructedAmount:
          $ref: '#/components/schemas/amount'
        debtorAccount:
          $ref: '#/components/schemas/accountReferenceWithGiro'
        creditorGiro:
          $ref: '#/components/schemas/giroReference'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/address'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorAgentName:
          $ref: '#/components/schemas/creditorAgentName'
        requestedExecutionDate:
          type: string
          description: >-
            Date when payment is scheduled to be executed in ISO-Date Format,
            e.g. 2020-10-30
        invoiceRef:
          $ref: '#/components/schemas/giroInvoiceReference'
        ocrRef:  
          $ref: '#/components/schemas/giroOcrReference'
        debtorAccountMessage:
          type: string
          maxLength: 140
        creditorAccountMessage:
          type: string
          maxLength: 140
        endToEndIdentification:
          type: string
          maxLength: 35
    isoPaymentInitiationSwedishGiro_json:
      title: Giro Payment
      description: >
        Request Body for a Swedish Bankgiro/Plusgiro payment initiation via JSON.
      type: object
      required:
        - debtorAccount
        - instructedAmount
        - creditorGiro
        - creditorName
      properties:
        instructedAmount:
          $ref: '#/components/schemas/amount'
        debtorAccount:
          $ref: '#/components/schemas/accountReferenceWithGiro'
        creditorGiro:
          $ref: '#/components/schemas/giroReference'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/address'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorAgentName:
          $ref: '#/components/schemas/creditorAgentName'
        requestedExecutionDate:
          type: string
          description: >-
            Date when payment is scheduled to be executed in ISO-Date Format,
            e.g. 2020-10-30
        invoiceRef:
          $ref: '#/components/schemas/giroInvoiceReference'
        ocrRef:  
          $ref: '#/components/schemas/giroOcrReference'
        debtorAccountMessage:
          type: string
          maxLength: 140
        creditorAccountMessage:
          type: string
          maxLength: 140
        endToEndIdentification:
          type: string
          maxLength: 35
        creditNotes:
          $ref: '#/components/schemas/creditNotes'
    creditNotes:
      description: |
        Credit Note
      type: object
      required: --
      properties:
        reference:
          $ref: '#/components/schemas/giroInvoiceReference'
        creditAmount:
          $ref: '#/components/schemas/amount'
    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>
      type: object
      required:
        - account
        - instructedAmount
      properties:
        cardNumber:
          description: |
            Card Number of the card issued by the PIISP. 
            Should be delivered if available.
          type: string
          maxLength: 35
        account:
          $ref: '#/components/schemas/accountReference'
        payee:
          description: Name payee
          type: string
          maxLength: 70
        instructedAmount:
          $ref: '#/components/schemas/amount'
    fxQuote:
      description: |
        JSON Body of a create FX quote request.
      type: object
      properties:
        sourceCurrency:
          description: The source currency.
          type: string
        targetCurrency:
          description: The target currency.
          type: string
        countryCode:
          description: The target country.
          type: string
        amount:
          description: The requested amount.
          type: string
        requestedExeuctionDate:
          description: The requested execution date, for future payments.
          type: string
          format: date
    consents:
      description: |
        Content of the body of a consent request.
      type: object
      required:
        - access
        - recurringIndicator
        - validUntil
        - frequencyPerDay
        - combinedServiceIndicator
      properties:
        access:
          $ref: '#/components/schemas/accountAccess'
        recurringIndicator:
          $ref: '#/components/schemas/recurringIndicator'
        validUntil:
          $ref: '#/components/schemas/validUntil'
        frequencyPerDay:
          $ref: '#/components/schemas/frequencyPerDay'
        combinedServiceIndicator:
          description: >
            If "true" indicates that a payment initiation service will be
            addressed in the same "session".
          type: boolean
          example: false
    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'
    selectPsuAuthenticationMethod:
      description: |
        Content of the body of a Select PSU Authentication Method Request
      type: object
      required:
        - authenticationMethodId
      properties:
        authenticationMethodId:
          $ref: '#/components/schemas/authenticationMethodId'
    transactionAuthorisation:
      description: |
        Content of the body of a Transaction Authorisation Request
      type: object
      required:
        - scaAuthenticationData
      properties:
        scaAuthenticationData:
          $ref: '#/components/schemas/scaAuthenticationData'
    paymentInitiationSct_pain.001:
      description: |
        A pain.001 structure corresponding to the SCT schema

        urn:iso:std:iso:20022:tech:xsd:pain.001.001.03
      type: string
      example: >-
        <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>
    paymentInitiationSctInst_pain.001:
      description: |
        A pain.001 structure corresponding to the SCT INST schema.
      type: string
    paymentInitiationTarget2_pain.001:
      description: |
        A pain.001 structure corresponding to the target-2 schema

        For TARGET-2 payments only community wide pain.001 schemes do exist.
      type: string
    paymentInitiationCrossBorder_pain.001:
      description: |
        A pain.001 structure corresponding to the cross-border schema

        For cross-border payments only community wide pain.001 schemes do exist.
      type: string
    paymentInitiationStatusResponse-200_json:
      description: >-
        Body of the response for a successful payment initiation status request
        in case of an JSON based endpoint.
      type: object
      required:
        - transactionStatus
      properties:
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    paymentInitiationStatusResponse-200_xml:
      description: >
        Body of the response for a successful payment initiation status request
        in case of an XML based endpoint.


        The status is returned as a pain.002 structure. 


        urn:iso:std:iso:20022:tech:xsd:pain.002.001.03


        The chosen XML schema of the Status Request is following the XML schema
        definitions of the original pain.001 schema.
      type: string
    isoPaymentInitiationRequestResponse-201:
      description: Body of the response for a successful payment initiation request.
      type: object
      required: 
        - transactionStatus
        - paymentId
        - _links
      properties:
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
        paymentId:
          $ref: '#/components/schemas/paymentId'
        _links:
          $ref: '#/components/schemas/_linksIsoPaymentInitiation'
        tppMessage:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    paymentInitiationRequestResponse-201:
      description: Body of the response for a successful payment initiation request.
      type: object
      required:
        - transactionStatus
        - paymentId
        - _links
      properties:
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
        paymentId:
          $ref: '#/components/schemas/paymentId'
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        _links:
          $ref: '#/components/schemas/_linksPaymentInitiation'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    paymentInitiationCancelResponse-202:
      description: Body of the response for a successful cancel payment request.
      type: object
      required:
        - transactionStatus
      properties:
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        _links:
          $ref: '#/components/schemas/_linksPaymentInitiationCancel'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    paymentInitiationWithStatusResponse:
      description: >
        Generic JSON response body consistion of the corresponding payment
        initation JSON body together with an optional transaction status field.
      type: object
      required:
        - debtorAccount
        - instructedAmount
        - creditorAccount
        - creditorName
      properties:
        endToEndIdentification:
          type: string
          maxLength: 35
        debtorAccount:
          $ref: '#/components/schemas/accountReference'
        instructedAmount:
          $ref: '#/components/schemas/amount'
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/address'
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
        remittanceInformationStructured:
          $ref: '#/components/schemas/remittanceInformationStructured'
        debtorAccountMessage:
          $ref: '#/components/schemas/debtorAccountMessage'
        requestedExecutionDate:
          type: string
          description: >-
            Date when payment is scheduled to be executed in ISO-Date Format,
            e.g. 2020-10-30
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    paymentInitiationSwedishGiroWithStatusResponse:
      description: >
        Generic JSON response body consistion of the corresponding payment
        initation JSON body together with an optional transaction status field.
      type: object
      required:
        - debtorAccount
        - instructedAmount
        - creditorAccount
        - creditorName
      properties:
        endToEndIdentification:
          type: string
          maxLength: 35
        debtorAccount:
          $ref: '#/components/schemas/accountReference'
        instructedAmount:
          $ref: '#/components/schemas/amount'
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/address'
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
        remittanceInformationStructured:
          $ref: '#/components/schemas/remittanceInformationStructured'
        requestedExecutionDate:
          type: string
          description: >-
            Date when payment is scheduled to be executed in ISO-Date Format,
            e.g. 2020-10-30
        debtorAccountMessage:
          type: string
          maxLength: 140
        creditorAccountMessage:
          type: string
          maxLength: 140
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    periodicPaymentInitiationWithStatusResponse:
      description: >
        Generic JSON response body consisting of the corresponding periodic
        payment initiation JSON body together with an optional transaction status
        field.
      type: object
      required:
        - debtorAccount
        - instructedAmount
        - creditorAccount
        - creditorName
        - startDate
        - frequency
      properties:
        endToEndIdentification:
          type: string
          maxLength: 35
        debtorAccount:
          $ref: '#/components/schemas/accountReference'
        instructedAmount:
          $ref: '#/components/schemas/amount'
        creditorAccount:
          $ref: '#/components/schemas/accountReference'
        creditorAgent:
          $ref: '#/components/schemas/bicfi'
        creditorName:
          $ref: '#/components/schemas/creditorName'
        creditorAddress:
          $ref: '#/components/schemas/address'
        remittanceInformationUnstructured:
          $ref: '#/components/schemas/remittanceInformationUnstructured'
        startDate:
          $ref: '#/components/schemas/startDate'
        endDate:
          $ref: '#/components/schemas/endDate'
        executionRule:
          $ref: '#/components/schemas/executionRule'
        frequency:
          $ref: '#/components/schemas/frequencyCode'
        dayOfExecution:
          $ref: '#/components/schemas/dayOfExecution'
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    scaStatusResponse:
      description: Body of the JSON response with SCA Status
      type: object
      properties:
        scaStatus:
          $ref: '#/components/schemas/scaStatus'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    startScaprocessResponse:
      description: Body of the JSON response for a Start SCA authorisation request.
      type: object
      required:
        - scaStatus
        - authorisationId
        - _links
      properties:
        scaStatus:
          $ref: '#/components/schemas/scaStatus'
        authorisationId:
          $ref: '#/components/schemas/authorisationId'
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        _links:
          $ref: '#/components/schemas/_linksStartScaProcess'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    updatePsuIdenticationResponse:
      description: >-
        Body of the JSON response for a successful update PSU Identification
        request.
      type: object
      required:
        - _links
        - scaStatus
      properties:
        _links:
          $ref: '#/components/schemas/_linksUpdatePsuIdentification'
        scaStatus:
          $ref: '#/components/schemas/scaStatus'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    updatePsuAuthenticationResponse:
      description: >-
        Body of the JSON response for a successful update PSU Authentication
        request.
      type: object
      required:
        - scaStatus
      properties:
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
        _links:
          $ref: '#/components/schemas/_linksUpdatePsuAuthentication'
        scaStatus:
          $ref: '#/components/schemas/scaStatus'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    selectPsuAuthenticationMethodResponse:
      description: >-
        Body of the JSON response for a successful select PSU Authentication
        Method request.
      type: object
      required:
        - scaStatus
      properties:
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        _links:
          $ref: '#/components/schemas/_linksSelectPsuAuthenticationMethod'
        scaStatus:
          $ref: '#/components/schemas/scaStatus'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    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.
      type: object
      required:
        - transactionStatus
      properties:
        paymentIds:
          $ref: '#/components/schemas/paymentIdList'
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus_SBS'
        _links:
          $ref: '#/components/schemas/_linksSigningBasket'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    signingBasketStatusResponse-200:
      type: object
      required:
        - transactionStatus
      properties:
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus_SBS'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    signingBasketResponse-201:
      description: >-
        Body of the JSON response for a successful create signing basket
        request.
      type: object
      required:
        - transactionStatus
        - basketId
        - _links
      properties:
        transactionStatus:
          $ref: '#/components/schemas/transactionStatus_SBS'
        basketId:
          $ref: '#/components/schemas/basketId'
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        _links:
          $ref: '#/components/schemas/_linksSigningBasket'
        psuMessage:
          $ref: '#/components/schemas/psuMessageText'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    consentsResponse-201:
      description: Body of the JSON response for a successful consent request.
      type: object
      required:
        - consentStatus
        - consentId
        - _links
      properties:
        consentStatus:
          $ref: '#/components/schemas/consentStatus'
        consentId:
          $ref: '#/components/schemas/consentId'
        scaMethods:
          $ref: '#/components/schemas/scaMethods'
        chosenScaMethod:
          $ref: '#/components/schemas/chosenScaMethod'
        challengeData:
          $ref: '#/components/schemas/challengeData'
        _links:
          $ref: '#/components/schemas/_linksConsents'
        message:
          description: Text to be displayed to the PSU, e.g. in a Decoupled SCA Approach.
          type: string
          maxLength: 512
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    consentStatusResponse-200:
      description: >-
        Body of the JSON response for a successful get status request for a
        consent.
      type: object
      required:
        - consentStatus
      properties:
        consentStatus:
          $ref: '#/components/schemas/consentStatus'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    consentInformationResponse-200_json:
      description: Body of the JSON response for a successful get consent request.
      type: object
      required:
        - access
        - recurringIndicator
        - validUntil
        - frequencyPerDay
        - lastActionDate
        - consentStatus
      properties:
        access:
          $ref: '#/components/schemas/accountAccess'
        recurringIndicator:
          $ref: '#/components/schemas/recurringIndicator'
        validUntil:
          $ref: '#/components/schemas/validUntil'
        frequencyPerDay:
          $ref: '#/components/schemas/frequencyPerDay'
        lastActionDate:
          $ref: '#/components/schemas/lastActionDate'
        consentStatus:
          $ref: '#/components/schemas/consentStatus'
        _links:
          $ref: '#/components/schemas/_linksGetConsent'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    fxQuoteId:
      description: Resource identification of the generated FX quote.
      type: string
    fxRate:
      description: Rate of the generated FX quote.
      type: string
    fee:
      description: Fee of the generated FX quote.
      type: string
    totalAmount:
      description: Total amount of the generated FX quote.
      type: string
    validFrom:
      description: The FX quote is valid from this date.
      type: string
      format: date
    validTo:
      description: The FX quote is valid to this date.
      type: string
      format: date
    fxQuoteResponse-200:
      description: |
        Body of the JSON response for a successful get FX quote request.
      type: object
      required:
        - fxQuoteId
        - fxRate
        - fee
        - validFrom
        - validTo
      properties:
        fxQuoteId:
          $ref: '#/components/schemas/fxQuoteId'
        fxRate:
          $ref: '#/components/schemas/fxRate'
        fee:
          $ref: '#/components/schemas/fee'
        validFrom:
          $ref: '#/components/schemas/validFrom'
        validTo:
          $ref: '#/components/schemas/validTo'
    fxQuoteResponse-201:
      description: |
        Body of the JSON response for a successful create FX quote request.
      type: object
      required:
        - fxQuoteId
        - fxRate
        - fee
        - totalAmount
        - validFrom
        - validTo
      properties:
        fxQuoteId:
          $ref: '#/components/schemas/fxQuoteId'
        fxRate:
          $ref: '#/components/schemas/fxRate'
        fee:
          $ref: '#/components/schemas/fee'
        totalAmount:
          $ref: '#/components/schemas/totalAmount'
        validFrom:
          $ref: '#/components/schemas/validFrom'
        validTo:
          $ref: '#/components/schemas/validTo'
    readAccountBalanceResponse-200:
      description: >-
        Body of the response for a successful read balance for an account
        request.
      type: object
      required:
        - balances
      properties:
        account:
          $ref: '#/components/schemas/accountReference'
        balances:
          $ref: '#/components/schemas/balanceList'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    readCardAccountBalanceResponse-200:
      description: >-
        Body of the response for a successful read balance for a card account
        request.
      type: object
      required:
        - balances
      properties:
        cardAccount:
          $ref: '#/components/schemas/cardAccountDetails'
        balances:
          $ref: '#/components/schemas/balanceList'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    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.
      type: object
      properties:
        account:
          $ref: '#/components/schemas/accountReference'
        transactions:
          $ref: '#/components/schemas/accountReport'
        balances:
          $ref: '#/components/schemas/balanceList'
        _links:
          $ref: '#/components/schemas/_linksDownload'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    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.
      type: object
      properties:
        cardAccount:
          $ref: '#/components/schemas/cardAccountDetails'
        cardTransactions:
          $ref: '#/components/schemas/cardAccountReport'
        balances:
          $ref: '#/components/schemas/balanceList'
        _links:
          $ref: '#/components/schemas/_linksDownload'
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage2XX'
    camt.052:
      description: |
        camt.052 XML message
      type: string
    camt.053:
      description: |
        camt.053 XML message
      type: string
    camt.054:
      description: |
        camt.054 XML message
      type: string
    mt940:
      description: |
        Data MT940 format in a text structure. 
      type: string
    mt942:
      description: |
        Data MT942 format in a text structure.
      type: string
    _linksAll:
      description: |
        A _link object with all available link types
      type: object
      properties:
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        startAuthorisation:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuIdentification:
          $ref: '#/components/schemas/hrefType'
        updatePsuIdentification:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithProprietaryData:
          $ref: '#/components/schemas/hrefType'
        updateProprietaryData:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        updatePsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        updateEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithAuthenticationMethodSelection:
          $ref: '#/components/schemas/hrefType'
        selectAuthenticationMethod:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithTransactionAuthorisation:
          $ref: '#/components/schemas/hrefType'
        authoriseTransaction:
          $ref: '#/components/schemas/hrefType'
        self:
          $ref: '#/components/schemas/hrefType'
        status:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
        account:
          $ref: '#/components/schemas/hrefType'
        balances:
          $ref: '#/components/schemas/hrefType'
        transactions:
          $ref: '#/components/schemas/hrefType'
        transactionDetails:
          $ref: '#/components/schemas/hrefType'
        cardAccount:
          $ref: '#/components/schemas/hrefType'
        cardTransactions:
          $ref: '#/components/schemas/hrefType'
        first:
          $ref: '#/components/schemas/hrefType'
        next:
          $ref: '#/components/schemas/hrefType'
        previous:
          $ref: '#/components/schemas/hrefType'
        last:
          $ref: '#/components/schemas/hrefType'
        download:
          $ref: '#/components/schemas/hrefType'
        kycRedirect:
          $ref: '#/components/schemas/hrefType'
    _linksIsoPaymentInitiation:
      description: >
        A list of hyperlinks to be recognised by the TPP.

        Type of links admitted in this response:

        * 'confirmPayment':
          The link to the confirm endpoint, where a payment file is generated from the confirmed payment instructions.

        * 'self': 
          The link to the payment initiation resource created by this request.

    _linksPaymentInitiation:
      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 endpoint, where the authorisation sub-resource has to be generated while 
          uploading the PSU identification data.
        * 'startAuthorisationWithPsuAuthentication': 
          The link to the authorisation endpoint, where the authorisation sub-resource has to be generated while 
          uploading the PSU authentication data.
          * 'startAuthorisationWithEncryptedPsuAuthentication':
            Same as startAuthorisationWithPsuAuthentication where the authentication data need to be encrypted on 
            application layer in uploading.
        * 'startAuthorisationWithAuthenticationMethodSelection': 
          The link to the authorisation endpoint, 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 endpoint, 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.
      type: object
      properties:
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        startAuthorisation:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuIdentification:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithAuthenticationMethodSelection:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithTransactionAuthorisation:
          $ref: '#/components/schemas/hrefType'
        self:
          $ref: '#/components/schemas/hrefType'
        status:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
      example:
        scaRedirect:
          href: https://www.testbank.com/asdfasdfasdf
        self:
          href: /v1/payments/sepa-credit-transfers/1234-wertiq-983
    _linksPaymentInitiationCancel:
      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 cancellation authorisation end-point, 
            where the authorisation sub-resource has to be generated while uploading the PSU authentication data.
          * 'startAuthorisationWithEncryptedPsuAuthentication':
            Same as startAuthorisationWithPsuAuthentication 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'
      type: object
      properties:
        startAuthorisation:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuIdentification:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithAuthenticationMethodSelection:
          $ref: '#/components/schemas/hrefType'
    _linksUpdatePsuIdentification:
      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.
      type: object
      properties:
        scaStatus:
          $ref: '#/components/schemas/hrefType'
    _linksUpdatePsuAuthentication:
      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:
          * '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.
      type: object
      properties:
        selectAuthenticationMethod:
          $ref: '#/components/schemas/hrefType'
        authoriseTransaction:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
    _linksSelectPsuAuthenticationMethod:
      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.
        - "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.
        "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.
      type: object
      properties:
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        updatePsuIdentification:
          $ref: '#/components/schemas/hrefType'
        updatePsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        authoriseTransaction:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
    _linksStartScaProcess:
      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.
        - '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 startAuthorisationWithPsuAuthentication 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. 
      type: object
      properties:
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        updatePsuIdentification:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        selectAuthenticationMethod:
          $ref: '#/components/schemas/hrefType'
        authoriseTransaction:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
    _linksDownload:
      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.
      type: object
      required:
        - download
      properties:
        download:
          $ref: '#/components/schemas/hrefType'
    _linksConsents:
      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. 
          - '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 startAuthorisationWithPsuAuthentication 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.
      type: object
      properties:
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        startAuthorisation:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuIdentification:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithAuthenticationMethodSelection:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithTransactionAuthorisation:
          $ref: '#/components/schemas/hrefType'
        self:
          $ref: '#/components/schemas/hrefType'
        status:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
    _linksGetConsent:
      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.
      type: object
      properties:
        account:
          $ref: '#/components/schemas/hrefType'
        card-account:
          $ref: '#/components/schemas/hrefType'
    _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.
      type: object
      properties:
        scaRedirect:
          $ref: '#/components/schemas/hrefType'
        scaOAuth:
          $ref: '#/components/schemas/hrefType'
        startAuthorisation:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuIdentification:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithEncryptedPsuAuthentication:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithAuthenticationMethodSelection:
          $ref: '#/components/schemas/hrefType'
        startAuthorisationWithTransactionAuthorisation:
          $ref: '#/components/schemas/hrefType'
        self:
          $ref: '#/components/schemas/hrefType'
        status:
          $ref: '#/components/schemas/hrefType'
        scaStatus:
          $ref: '#/components/schemas/hrefType'
    _linksAccountReport:
      type: object
      required:
        - account
      properties:
        account:
          $ref: '#/components/schemas/hrefType'
        first:
          $ref: '#/components/schemas/hrefType'
        next:
          $ref: '#/components/schemas/hrefType'
        previous:
          $ref: '#/components/schemas/hrefType'
        last:
          $ref: '#/components/schemas/hrefType'
    _linksCardAccountReport:
      type: object
      required:
        - cardAccount
      properties:
        cardAccount:
          $ref: '#/components/schemas/hrefType'
        first:
          $ref: '#/components/schemas/hrefType'
        next:
          $ref: '#/components/schemas/hrefType'
        previous:
          $ref: '#/components/schemas/hrefType'
        last:
          $ref: '#/components/schemas/hrefType'
    _linksTransactionDetails:
      description: |
        Transaction-specific links:
          * "transactionDetails":
            further details about the transaction, only available in some banks.
          * "proofOfPayment":
            link to a downloadable proof of payment document, only available for booked cross-border payments.
      type: object
      properties:
        transactionDetails:
          $ref: '#/components/schemas/hrefType'
        proofOfPayment:
          $ref: '#/components/schemas/hrefType'
    _linksAccountDetails:
      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.
      type: object
      properties:
        balances:
          $ref: '#/components/schemas/hrefType'
        transactions:
          $ref: '#/components/schemas/hrefType'
    tppMessageCategory:
      description: Category of the TPP message category
      type: string
      enum:
        - INFORMATION
        - UNMAPPED
        - ERROR
        - WARNING
    tppMessageCategoryError:
      description: Category of the TPP message category
      type: string
      enum:
        - ERROR
    MessageCode2XX:
      description: Message codes for HTTP Error codes 2XX.
      type: string
      enum:
        - WARNING
        - RAW
    MessageCode_GetCreditorName2XX:
      description: Message codes for HTTP Error codes 2XX.
      type: string
      enum:
        - OCR_REF_INVALID
        - CREDITOR_ACCOUNT_INVALID
    MessageCode400_AIS:
      description: Message codes defined for AIS for HTTP Error code 400 (BAD_REQUEST).
      type: string
      enum:
        - FORMAT_ERROR
        - PARAMETER_NOT_CONSISTENT
        - PARAMETER_NOT_SUPPORTED
        - SERVICE_INVALID
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - RESOURCE_BLOCKED
        - TIMESTAMP_INVALID
        - PERIOD_INVALID
        - SCA_METHOD_UNKNOWN
        - CONSENT_UNKNOWN
        - SESSIONS_NOT_SUPPORTED
        - RAW
    MessageCode400_PIS:
      description: Message codes defined for PIS for HTTP Error code 400 (BAD_REQUEST).
      type: string
      enum:
        - FORMAT_ERROR
        - PARAMETER_NOT_CONSISTENT
        - PARAMETER_NOT_SUPPORTED
        - SERVICE_INVALID
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - RESOURCE_BLOCKED
        - TIMESTAMP_INVALID
        - PERIOD_INVALID
        - SCA_METHOD_UNKNOWN
        - CONSENT_UNKNOWN
        - PAYMENT_FAILED
        - EXECUTION_DATE_INVALID
        - RAW
    MessageCode400_PIIS:
      description: Message codes defined for PIIS for HTTP Error code 400 (BAD_REQUEST).
      type: string
      enum:
        - FORMAT_ERROR
        - PARAMETER_NOT_CONSISTENT
        - PARAMETER_NOT_SUPPORTED
        - SERVICE_INVALID
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - RESOURCE_BLOCKED
        - TIMESTAMP_INVALID
        - PERIOD_INVALID
        - SCA_METHOD_UNKNOWN
        - CONSENT_UNKNOWN
        - CARD_INVALID
        - NO_PIIS_ACTIVATION
        - RAW
    MessageCode400_SBS:
      description: >-
        Message codes defined for signing baskets for HTTP Error code 400
        (BAD_REQUEST).
      type: string
      enum:
        - FORMAT_ERROR
        - PARAMETER_NOT_CONSISTENT
        - PARAMETER_NOT_SUPPORTED
        - SERVICE_INVALID
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - RESOURCE_BLOCKED
        - TIMESTAMP_INVALID
        - PERIOD_INVALID
        - SCA_METHOD_UNKNOWN
        - CONSENT_UNKNOWN
        - REFERENCE_MIX_INVALID
        - RAW
    MessageCode401_PIS:
      description: Message codes defined for PIS for HTTP Error code 401 (UNAUTHORIZED).
      type: string
      enum:
        - CERTIFICATE_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
        - RAW
    MessageCode401_AIS:
      description: Message codes defined for AIS for HTTP Error code 401 (UNAUTHORIZED).
      type: string
      enum:
        - CERTIFICATE_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
        - RAW
    MessageCode401_PIIS:
      description: Message codes defined for PIIS for HTTP Error code 401 (UNAUTHORIZED).
      type: string
      enum:
        - CERTIFICATE_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
        - RAW
    MessageCode401_SBS:
      description: >-
        Message codes defined for signing baskets for HTTP Error code 401
        (UNAUTHORIZED).
      type: string
      enum:
        - CERTIFICATE_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
        - RAW
    MessageCode403_PIS:
      description: >-
        Message codes defined defined for PIS for PIS for HTTP Error code 403
        (FORBIDDEN).
      type: string
      enum:
        - CONSENT_UNKNOWN
        - SERVICE_BLOCKED
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - PRODUCT_INVALID
        - RAW
    MessageCode403_AIS:
      description: Message codes defined for AIS for HTTP Error code 403 (FORBIDDEN).
      type: string
      enum:
        - CONSENT_UNKNOWN
        - SERVICE_BLOCKED
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - RAW
    MessageCode403_PIIS:
      description: Message codes defined for PIIS for HTTP Error code 403 (FORBIDDEN).
      type: string
      enum:
        - CONSENT_UNKNOWN
        - SERVICE_BLOCKED
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - RAW
    MessageCode403_SBS:
      description: >-
        Message codes defined for signing baskets for HTTP Error code 403
        (FORBIDDEN).
      type: string
      enum:
        - CONSENT_UNKNOWN
        - SERVICE_BLOCKED
        - RESOURCE_UNKNOWN
        - RESOURCE_EXPIRED
        - RAW
    MessageCode404_PIS:
      description: Message codes defined for PIS for HTTP Error code 404 (NOT FOUND).
      type: string
      enum:
        - RESOURCE_UNKNOWN
        - PRODUCT_UNKNOWN
        - RAW
    MessageCode404_AIS:
      description: Message codes defined for AIS for HTTP Error code 404 (NOT FOUND).
      type: string
      enum:
        - RESOURCE_UNKNOWN
        - RAW
    MessageCode404_PIIS:
      description: Message codes defined for PIIS for HTTP Error code 404 (NOT FOUND).
      type: string
      enum:
        - RESOURCE_UNKNOWN
        - RAW
    MessageCode404_SBS:
      description: >-
        Message codes defined for signing baskets for HTTP Error code 404 (NOT
        FOUND).
      type: string
      enum:
        - RESOURCE_UNKNOWN
        - RAW
    MessageCode405_PIS:
      description: >-
        Message codes defined for payment cancellations PIS for HTTP Error code
        405 (METHOD NOT ALLOWED).
      type: string
      enum:
        - SERVICE_INVALID
        - RAW
    MessageCode405_PIS_CANC:
      description: >-
        Message codes defined for payment cancellations PIS for HTTP Error code
        405 (METHOD NOT ALLOWED).
      type: string
      enum:
        - CANCELLATION_INVALID
        - SERVICE_INVALID
        - RAW
    MessageCode405_AIS:
      description: >-
        Message codes defined for AIS for HTTP Error code 405 (METHOD NOT
        ALLOWED).
      type: string
      enum:
        - SERVICE_INVALID
        - RAW
    MessageCode405_PIIS:
      description: >-
        Message codes defined for PIIS for HTTP Error code 405 (METHOD NOT
        ALLOWED).
      type: string
      enum:
        - SERVICE_INVALID
        - RAW
    MessageCode405_SBS:
      description: >-
        Message codes defined for SBS for HTTP Error code 405 (METHOD NOT
        ALLOWED).
      type: string
      enum:
        - SERVICE_INVALID
        - RAW
    MessageCode406_AIS:
      description: Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE).
      type: string
      enum:
        - REQUESTED_FORMATS_INVALID
        - RAW
    MessageCode409_AIS:
      description: Message codes defined for AIS for HTTP Error code 409 (CONFLICT).
      type: string
      enum:
        - STATUS_INVALID
        - RAW
    MessageCode409_PIS:
      description: Message codes defined for PIS for HTTP Error code 409 (CONFLICT).
      type: string
      enum:
        - STATUS_INVALID
        - RAW
    MessageCode409_PIIS:
      description: Message codes defined for PIIS for HTTP Error code 409 (CONFLICT).
      type: string
      enum:
        - STATUS_INVALID
        - RAW
    MessageCode409_SBS:
      description: >-
        Message codes defined for signing baskets for HTTP Error code 409
        (CONFLICT).
      type: string
      enum:
        - REFERENCE_STATUS_INVALID
        - STATUS_INVALID
        - RAW
    MessageCode429_AIS:
      description: Message codes for HTTP Error code 429 (TOO MANY REQUESTS).
      type: string
      enum:
        - ACCESS_EXCEEDED
        - RAW
    MessageCode502_PIS:
      description: Message code for HTTP Error code 502 (BAD GATEWAY).
      type: string
      enum:
        - BANK_SERVICE_UNAVAILABLE
    tppMessageText:
      description: Additional explaining text to the TPP.
      type: string
      maxLength: 512
    tppMessage2XX:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode2XX'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage2XX_GetCreditorName:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode_GetCreditorName2XX'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage400_AIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode400_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage400_PIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode400_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage400_PIIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode400_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage400_SBS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode400_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage401_PIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode401_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage401_AIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode401_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage401_PIIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode401_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage401_SBS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode401_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage403_PIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode403_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage403_AIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode403_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage403_PIIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode403_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage403_SBS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode403_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage404_PIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode404_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage404_AIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode404_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage404_PIIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode404_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage404_SBS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode404_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage405_PIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode405_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage405_PIS_CANC:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode405_PIS_CANC'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage405_AIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode405_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage405_PIIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode405_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage405_SBS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode405_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage409_PIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode409_PIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage406_AIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode406_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage409_AIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode409_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage409_PIIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode409_PIIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage409_SBS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode409_SBS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage429_AIS:
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          $ref: '#/components/schemas/MessageCode429_AIS'
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage502_PIS:
      type: object
      required:
        - category
        - code
        - text
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategoryError'
        code:
          $ref: '#/components/schemas/MessageCode502_PIS'
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage_GENERIC-FORMAT_ERROR_400:
      description: >
        Format of certain request fields are not matching the XS2A requirements.

        An explicit path to the corresponding field might be added in the return
        message.
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - FORMAT_ERROR
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage_GENERIC-PARAMETER_NOT_SUPPORTED_400:
      description: |
        The parameter is not supported by the API provider.
        This code should only be used for parameters that are described as
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - PARAMETER_NOT_SUPPORTED
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage_GENERIC-RESOURCE_UNKNOWN_404_403_400:
      description: |
        The addressed resource is unknown relative to the TPP.
          - 404 (if parameter in path)
          - 403 (if other resource in path)
          - 400 (if payload)
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - RESOURCE_UNKNOWN
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage_GENERIC-RESOURCE_EXPIRED_403_400:
      description: >
        The addressed resource is associated with the TPP but has expired, not
        addressable anymore.
          - 403 (if path)
          - 400 (if payload)
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - RESOURCE_EXPIRED
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage_GENERIC-TOKEN_UNKNOWN_401:
      description: The OAuth2 token cannot be matched by the ASPSP relative to the TPP.
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - TOKEN_UNKNOWN
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage_GENERIC-TOKEN_INVALID_401:
      description: >-
        The OAuth2 token is associated to the TPP but is not valid for the
        addressed service/resource.
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - TOKEN_INVALID
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage_GENERIC-TOKEN_EXPIRED_401:
      description: >-
        The OAuth2 token is associated to the TPP but has expired and needs to
        be renewed.
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - TOKEN_EXPIRED
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage_GENERIC-SERVICE_BLOCKED_403:
      description: >
        This service is not reachable for the addressed PSU due to a channel
        independent blocking by the ASPSP.

        Additional information might be given by the ASPSP.
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - SERVICE_BLOCKED
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage_GENERIC-SERVICE_INVALID_400_405:
      description: >
        Message to the TPP: 

        The addressed service is not valid for the addressed resources or the
        submitted data.

          - 400 (if payload)
          - 405 (if HTTP method)
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - SERVICE_INVALID
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage-REQUESTED_FORMATS_INVALID_406:
      description: >
        Message to the TPP: 

        The requested formats in the Accept header entry are not matching the
        formats offered by the ASPSP.
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - REQUESTED_FORMATS_INVALID
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage_GENERIC-CONFLICT_409:
      description: >
        Message to the TPP: 

        The request could not be completed due to a conflict with the current
        state of the resource.
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - CONFLICT
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessage-ACCESS_EXCEEDED_429:
      description: >
        Message to the TPP: 

        The access on the account has been exceeding the consented multiplicity
        per day.
      type: object
      required:
        - category
        - code
      properties:
        category:
          $ref: '#/components/schemas/tppMessageCategory'
        code:
          type: string
          enum:
            - ACCESS_EXCEEDED
        path:
          type: string
        text:
          $ref: '#/components/schemas/tppMessageText'
    tppMessages400:
      description: Messages to the TPP on operational issues.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/tppMessage_GENERIC-FORMAT_ERROR_400'
              - $ref: >-
                  #/components/schemas/tppMessage_GENERIC-PARAMETER_NOT_SUPPORTED_400
              - $ref: '#/components/schemas/tppMessage_GENERIC-SERVICE_INVALID_400_405'
              - $ref: >-
                  #/components/schemas/tppMessage_GENERIC-RESOURCE_UNKNOWN_404_403_400
              - $ref: '#/components/schemas/tppMessage_GENERIC-RESOURCE_EXPIRED_403_400'
      example:
        - category: ERROR
          code: FORMAT_ERROR
          text: additional text information of the ASPSP up to 512 characters
        - category: ERROR
          code: FORMAT_ERROR
          text: >-
            Further additional text information of the ASPSP up to 512
            characters
    tppMessages401:
      description: Messages with HTTP error code 401 to the TPP on operational issues.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/tppMessage_GENERIC-TOKEN_UNKNOWN_401'
              - $ref: '#/components/schemas/tppMessage_GENERIC-TOKEN_INVALID_401'
              - $ref: '#/components/schemas/tppMessage_GENERIC-TOKEN_EXPIRED_401'
      example:
        - category: ERROR
          code: CERTIFICATE_INVALID
          text: additional text information of the ASPSP up to 512 characters
    tppMessages403:
      description: Messages with HTTP error code 403 to the TPP on operational issues.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/tppMessage_GENERIC-SERVICE_BLOCKED_403'
              - $ref: >-
                  #/components/schemas/tppMessage_GENERIC-RESOURCE_UNKNOWN_404_403_400
              - $ref: '#/components/schemas/tppMessage_GENERIC-RESOURCE_EXPIRED_403_400'
      example:
        - category: ERROR
          code: SERVICE_BLOCKED
          text: additional text information of the ASPSP up to 512 characters
    tppMessages404:
      description: Messages with HTTP error code 404 to the TPP on operational issues.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/tppMessage_GENERIC-RESOURCE_UNKNOWN_404_403_400'
      example:
        - category: ERROR
          code: PRODUCT_UNKNOWN
          text: additional text information of the ASPSP up to 512 characters
    tppMessages405:
      description: Messages with HTTP error code 405 to the TPP on operational issues.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/tppMessage_GENERIC-SERVICE_INVALID_400_405'
      example:
        - category: ERROR
          code: SERVICE_INVALID
          text: additional text information of the ASPSP up to 512 characters
    tppMessages406:
      description: Messages with HTTP error code 406 to the TPP on operational issues.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/tppMessage-REQUESTED_FORMATS_INVALID_406'
      example:
        - category: ERROR
          code: REQUESTED_FORMATS_INVALID
          text: additional text information of the ASPSP up to 512 characters
    tppMessages409:
      description: Messages with HTTP error code 409 to the TPP on operational issues.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/tppMessage_GENERIC-CONFLICT_409'
      example:
        - category: ERROR
          code: CONFLICT
          text: additional text information of the ASPSP up to 512 characters
    tppMessages429:
      description: Messages with HTTP error code 429 to the TPP on operational issues.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/tppMessage-ACCESS_EXCEEDED_429'
      example:
        - category: ERROR
          code: ACCESS_EXCEEDED
          text: additional text information of the ASPSP up to 512 characters
    tppErrorTitle:
      description: |
        Short human readable description of error type. 
        Could be in local language. 
        To be provided by ASPSPs.
      type: string
      maxLength: 70
    tppErrorDetail:
      description: >
        Detailed human readable text specific to this instance of the error. 

        XPath might be used to point to the issue generating the error in
        addition.

        Remark for Future: In future, a dedicated field might be introduced for
        the XPath.
      type: string
      maxLength: 512
    Error400_PIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 400 for PIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode400_PIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode400_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error400_AIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 400 for AIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode400_AIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode400_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error400_PIIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 400 for PIIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode400_PIIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode400_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error400_SBS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 400 for signing baskets.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode400_SBS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode400_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error401_PIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 401 for PIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode401_PIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode401_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error401_AIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 401 for AIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode401_AIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode401_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error401_PIIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 401 for PIIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode401_PIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode401_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error401_SBS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 401 for signing baskets.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode401_SBS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode401_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error403_PIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 403 for PIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode403_PIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode403_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error403_AIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 403 for AIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode403_AIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode403_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error403_PIIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 403 for PIIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode403_PIIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode403_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error403_SBS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 403 for signing baskets.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode403_SBS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode403_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error404_PIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 404 for PIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode404_PIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode404_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error404_AIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 404 for AIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode404_AIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode404_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error404_PIIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 404 for PIIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode404_PIIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode404_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error404_SBS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 404 for signing baskets.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode404_SBS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode404_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error405_PIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 405 for PIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode405_PIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode405_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error405_PIS_CANC:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 405 for a payment cancellation (PIS).
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode405_PIS_CANC'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode405_PIS_CANC'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error405_AIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 405 for AIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode405_AIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode405_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error405_PIIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 405 for PIIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode405_PIIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode405_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error405_SBS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 405 for signing baskets.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode405_SBS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode405_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error406_AIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 406 for AIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode406_AIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode406_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error409_PIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 409 for PIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode409_PIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode409_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error409_AIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 409 for AIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode409_AIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode409_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error409_PIIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 409 for PIIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode409_PIIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode409_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error409_SBS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 409 for signing baskets.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode409_SBS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >-
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807].
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode409_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error429_AIS:
      description: >
        Standardised definition of reporting error information according to
        [RFC7807] 

        in case of a HTTP error code 429 for AIS.
      type: object
      required:
        - type
        - code
      properties:
        type:
          description: >
            A URI reference [RFC3986] that identifies the problem type. 

            Remark For Future: These URI will be provided by NextGenPSD2 in
            future.
          type: string
          format: uri
          maxLength: 70
        title:
          description: |
            Short human readable description of error type. 
            Could be in local language. 
            To be provided by ASPSPs.
          type: string
          maxLength: 70
        detail:
          description: >
            Detailed human readable text specific to this instance of the
            error. 

            XPath might be used to point to the issue generating the error in
            addition.

            Remark for Future: In future, a dedicated field might be introduced
            for the XPath.
          type: string
          maxLength: 512
        code:
          $ref: '#/components/schemas/MessageCode429_AIS'
        additionalErrors:
          description: |
            Array of Error Information Blocks.

            Might be used if more than one error is to be communicated
          type: array
          items:
            description: >
              This is a data element to support the declaration of additional
              errors in the context of [RFC7807] 

              in case of a HTTP error code 429 for. 
            type: object
            required:
              - code
            properties:
              title:
                $ref: '#/components/schemas/tppErrorTitle'
              detail:
                $ref: '#/components/schemas/tppErrorDetail'
              code:
                $ref: '#/components/schemas/MessageCode429_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error400_NG_PIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 400.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage400_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error400_NG_AIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 400.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage400_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error400_NG_PIIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 400.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage400_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error400_NG_SBS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 400.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage400_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error401_NG_PIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 401.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage401_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error401_NG_AIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 401.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage401_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error401_NG_PIIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 401.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage401_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error401_NG_SBS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 401.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage401_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error403_NG_PIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 403.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage403_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
        psuMessage:
          maxLength: 512
          type: string
          nullable: true
    Error403_NG_AIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 403.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage403_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error403_NG_PIIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 403.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage403_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error403_NG_SBS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 403.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage403_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error404_NG_PIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 404.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage404_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error404_NG_AIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 404.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage404_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error404_NG_PIIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 404.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage404_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error404_NG_SBS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 404.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage404_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error405_NG_PIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 401.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage405_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error405_NG_PIS_CANC:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 401.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage405_PIS_CANC'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error405_NG_AIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 401.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage405_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error405_NG_PIIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 401.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage405_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error405_NG_SBS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 401.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage405_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error406_NG_AIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 406.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage406_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
    Error409_NG_PIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 409.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage409_PIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
      example:
        - category: ERROR
          code: STATUS_INVALID
          text: additional text information of the ASPSP up to 512 characters
    Error409_NG_AIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 409.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage409_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
      example:
        - category: ERROR
          code: STATUS_INVALID
          text: additional text information of the ASPSP up to 512 characters
    Error409_NG_PIIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 409.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage409_PIIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
      example:
        - category: ERROR
          code: STATUS_INVALID
          text: additional text information of the ASPSP up to 512 characters
    Error409_NG_SBS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 409.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage409_SBS'
        _links:
          $ref: '#/components/schemas/_linksAll'
      example:
        - category: ERROR
          code: STATUS_INVALID
          text: additional text information of the ASPSP up to 512 characters
    Error429_NG_AIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 429.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage429_AIS'
        _links:
          $ref: '#/components/schemas/_linksAll'
      example:
        - category: ERROR
          code: ACCESS_EXCEEDED
          text: additional text information of the ASPSP up to 512 characters
    Error502_NG_PIS:
      description: >
        NextGenPSD2 specific definition of reporting error information in case
        of a HTTP error code 502.
      type: object
      properties:
        tppMessages:
          type: array
          items:
            $ref: '#/components/schemas/tppMessage502_PIS'
      example:
        - category: ERROR
          code: BANK_SERVICE_UNAVAILABLE
          text: additional text information of the ASPSP up to 512 characters
    isoCountryCodes:
      description: Comma separated array of ISO country codes
      type: array
      items:
        type: string
      example: SE,UK,FI
    aspspList:
      description: List of ASPSPs
      type: object
      properties:
        aspsps:
          type: array
          items:
            $ref: '#/components/schemas/aspspListItem'
    aspsp:
      description: ASPSP
      type: object
      properties:
        bicFi:
          pattern: ^[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}$
          type: string
        name:
          maxLength: 140
          type: string
        logoUrl:
          type: string
        city:
          type: string
        country:
          type: string
        postalCode:
          maxLength: 20
          type: string
        streetAddress:
          maxLength: 140
          type: string
        companyNumber:
          type: string
        phone:
          type: string
        websiteUrl:
          type: string
        globalPaymentProducts:
          type: array
          items:
            type: string
        supportedAuthorizationMethods:
          $ref: '#/components/schemas/supportedAuthorizationMethods'
        affiliatedAspsps:
          $ref: '#/components/schemas/affiliatedAspsps'
    supportedAuthorizationMethods:
      description: Supported Authorization Methods
      type: array
      items:
        $ref: '#/components/schemas/supportedAuthorizationMethodItem'
    supportedAuthorizationMethodItem:
      description: Supported Authorization Method
      type: object
      properties:
        name:
          type: string
          description: Name of the authorization method
        uri:
          type: string
          description: Uri of the authorization method
      required:
        - name
        - uri
    affiliatedAspsps:
      description: Affiliated ASPSP
      type: array
      items:
        $ref: '#/components/schemas/affiliatedAspspItem'
    affiliatedAspspItem:
      description: Affiliated ASPSP
      type: object
      properties:
        id:
          type: string
          description: Id of the affiliated ASPSP
        name:
          type: string
          description: Name of the affiliated ASPSP
    aspspListItem:
      description: Basic ASPSP information
      type: object
      properties:
        bicFi:
          pattern: ^[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}$
          type: string
        name:
          maxLength: 140
          type: string
        logoUrl:
          type: string
    cityList:
      description: List of cities
      type: object
      properties:
        cities:
          type: array
          items:
            $ref: '#/components/schemas/city'
    city:
      description: City
      type: object
      properties:
        cityId:
          format: uuid
          type: string
        name:
          maxLength: 140
          type: string
        isoCountryCode:
          maxLength: 2
          type: string
    countryList:
      description: List of countries
      type: object
      properties:
        countries:
          type: array
          items:
            $ref: '#/components/schemas/country'
    country:
      description: Country
      type: object
      properties:
        isoCountryCode:
          pattern: ^[a-zA-Z]{2,2}$
          type: string
        name:
          maxLength: 140
          type: string
    XAttribute:
      type: object
      properties:
        baseUri:
          type: string
          nullable: true
          readOnly: true
        document:
          $ref: '#/components/schemas/XDocument'
        parent:
          $ref: '#/components/schemas/XElement'
        isNamespaceDeclaration:
          type: boolean
          readOnly: true
        name:
          $ref: '#/components/schemas/XName'
        nextAttribute:
          $ref: '#/components/schemas/XAttribute'
        nodeType:
          $ref: '#/components/schemas/XmlNodeType'
        previousAttribute:
          $ref: '#/components/schemas/XAttribute'
        value:
          type: string
          nullable: true
      additionalProperties: false
    XDeclaration:
      type: object
      properties:
        encoding:
          type: string
          nullable: true
        standalone:
          type: string
          nullable: true
        version:
          type: string
          nullable: true
      additionalProperties: false
    XDocument:
      type: object
      properties:
        baseUri:
          type: string
          nullable: true
          readOnly: true
        document:
          $ref: '#/components/schemas/XDocument'
        parent:
          $ref: '#/components/schemas/XElement'
        nextNode:
          $ref: '#/components/schemas/XNode'
        previousNode:
          $ref: '#/components/schemas/XNode'
        firstNode:
          $ref: '#/components/schemas/XNode'
        lastNode:
          $ref: '#/components/schemas/XNode'
        declaration:
          $ref: '#/components/schemas/XDeclaration'
        documentType:
          $ref: '#/components/schemas/XDocumentType'
        nodeType:
          $ref: '#/components/schemas/XmlNodeType'
        root:
          $ref: '#/components/schemas/XElement'
      additionalProperties: false
    XDocumentType:
      type: object
      properties:
        baseUri:
          type: string
          nullable: true
          readOnly: true
        document:
          $ref: '#/components/schemas/XDocument'
        parent:
          $ref: '#/components/schemas/XElement'
        nextNode:
          $ref: '#/components/schemas/XNode'
        previousNode:
          $ref: '#/components/schemas/XNode'
        internalSubset:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        nodeType:
          $ref: '#/components/schemas/XmlNodeType'
        publicId:
          type: string
          nullable: true
        systemId:
          type: string
          nullable: true
      additionalProperties: false
    XElement:
      type: object
      properties:
        baseUri:
          type: string
          nullable: true
          readOnly: true
        document:
          $ref: '#/components/schemas/XDocument'
        parent:
          $ref: '#/components/schemas/XElement'
        nextNode:
          $ref: '#/components/schemas/XNode'
        previousNode:
          $ref: '#/components/schemas/XNode'
        firstNode:
          $ref: '#/components/schemas/XNode'
        lastNode:
          $ref: '#/components/schemas/XNode'
        firstAttribute:
          $ref: '#/components/schemas/XAttribute'
        hasAttributes:
          type: boolean
          readOnly: true
        hasElements:
          type: boolean
          readOnly: true
        isEmpty:
          type: boolean
          readOnly: true
        lastAttribute:
          $ref: '#/components/schemas/XAttribute'
        name:
          $ref: '#/components/schemas/XName'
        nodeType:
          $ref: '#/components/schemas/XmlNodeType'
        value:
          type: string
          nullable: true
      additionalProperties: false
    XmlNodeType:
      enum:
        - None
        - Element
        - Attribute
        - Text
        - CDATA
        - EntityReference
        - Entity
        - ProcessingInstruction
        - Comment
        - Document
        - DocumentType
        - DocumentFragment
        - Notation
        - Whitespace
        - SignificantWhitespace
        - EndElement
        - EndEntity
        - XmlDeclaration
      type: string
    XName:
      type: object
      properties:
        localName:
          type: string
          nullable: true
          readOnly: true
        namespace:
          $ref: '#/components/schemas/XNamespace'
        namespaceName:
          type: string
          nullable: true
          readOnly: true
      additionalProperties: false
    XNamespace:
      type: object
      properties:
        namespaceName:
          type: string
          nullable: true
          readOnly: true
      additionalProperties: false
    XNode:
      type: object
      properties:
        baseUri:
          type: string
          nullable: true
          readOnly: true
        document:
          $ref: '#/components/schemas/XDocument'
        nodeType:
          $ref: '#/components/schemas/XmlNodeType'
        parent:
          $ref: '#/components/schemas/XElement'
        nextNode:
          $ref: '#/components/schemas/XNode'
        previousNode:
          $ref: '#/components/schemas/XNode'
      additionalProperties: false
  parameters:
    X-ISO-Fallback-Enabled:
      name: X-ISO-Fallback-Enabled
      in: header
      description: |
        If it equals "true", the TPP indicates that, once the specified consent expires, the PSU wishes to fetch account information via ISO 20022 for the ISO-onboarded accounts that were included in the consent creation. 

        This parameter should be included while the consent is valid and after it expires.
      required: false
      schema:
        type: string
        enum:
          - 'true'
          - 'false'
    paymentService:
      name: payment-service
      in: path
      description: |
        The specified payment service. See Statuses & Types documentation for descriptions of each payment service. 
      required: true
      schema:
        type: string
        enum:
          - payments
    paymentProduct:
      name: payment-product
      in: path
      description: >
        The specified payment product. See Statuses & Types documentation for descriptions of each payment product.
      required: true
      schema:
        type: string
        enum:
          - domestic
          - swedish-giro
          - sepa-credit-transfers
          - cross-border
    paymentId:
      name: paymentId
      in: path
      description: Resource identification of the generated payment initiation resource.
      required: true
      schema:
        $ref: '#/components/schemas/paymentId'
    cancellationId:
      name: cancellationId
      in: path
      description: Identification for cancellation resource.
      required: true
      schema:
        $ref: '#/components/schemas/cancellationId'
    authorisationId:
      name: authorisationId
      in: path
      description: Resource identification of the related SCA.
      required: true
      schema:
        $ref: '#/components/schemas/authorisationId'
    accountId:
      name: account-id
      in: path
      description: >
        This identification is denoting the addressed account. 

        The accountId is retrieved by using a "Read Account List" call. 

        The accountId is the "id" attribute of the account structure. 

        Its value is constant at least throughout the lifecycle of a given
        consent.
      required: true
      schema:
        $ref: '#/components/schemas/accountId'
    transactionId:
      name: transactionId
      in: path
      description: >
        This identification is given by the attribute transactionId of the
        corresponding entry of a transaction list.
      required: true
      schema:
        $ref: '#/components/schemas/transactionId'
    basketId_PATH:
      name: basketId
      in: path
      description: |
        This identification of the corresponding signing basket object.
      required: true
      schema:
        $ref: '#/components/schemas/basketId'
    consentId_PATH:
      name: consentId
      in: path
      description: >
        ID of the corresponding consent object as returned by an Account
        Information Consent Request.
      required: true
      schema:
        $ref: '#/components/schemas/consentId'
    fxQuoteId_PATH:
      name: fxQuoteId
      in: path
      description: Resource identification of the FX Quote.
      required: true
      schema:
        $ref: '#/components/schemas/fxQuoteId'
    consentId_HEADER_optional:
      name: Consent-ID
      in: header
      description: >
        The ID of the consent authorizing access to the PSU's account information. This data element may be contained if the payment initiation
        transaction is part of a session, i.e. combined AIS/PIS service.
      required: false
      schema:
        $ref: '#/components/schemas/consentId'
    consentId_HEADER_mandatory:
      name: Consent-ID
      in: header
      description: >
        The ID of the consent authorizing access to the PSU's account information. 
      required: true
      schema:
        $ref: '#/components/schemas/consentId'
    withBalanceQuery:
      name: withBalance
      in: query
      description: >
        If "true", the list of accessible payment accounts is retrieved including balances, if granted by the PSU in the related consent and if made available by the ASPSP. 
      required: false
      schema:
        type: boolean
    dateFrom:
      name: dateFrom
      in: query
      description: >
        Starting date of the transaction list. For booked transactions, this is the booking date. For pending transactions, this is the entry date, which may not be transparent in the API or other ASPSP channels.
      required: false
      schema:
        type: string
        format: date
    dateTo:
      name: dateTo
      in: query
      description: >
        End date of the transaction list. For booked transactions, this is the booking date. For pending transactions, this is the entry date, which may not be transparent in the API or other ASPSP channels.
      required: false
      schema:
        type: string
        format: date
    entryReferenceFrom:
      name: entryReferenceFrom
      in: query
      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.
      required: false
      schema:
        type: string
    bookingStatus:
      name: bookingStatus
      in: query
      description: >
        Booking status of the requested transactions. "booked" is always supported by the ASPSP. Supporting "pending" and "both" is optional for the ASPSP and an error code will be returned if not supported.
      required: true
      schema:
        type: string
        enum:
          - booked
          - pending
          - both
  #  deltaList:
  #    name: deltaList
  #    in: query
  #    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.
  #      type: boolean
    X-Request-ID:
      name: X-Request-ID
      in: header
      description: >-
        ID of the request, unique to the call, as determined by the initiating
        party.
      required: true
      example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
      schema:
        type: string
        format: uuid
    X-BicFi:
      name: X-BicFi
      in: header
      description: >-
        Unique ID of the financial institution. For Banks this is the same as the SWIFT code, i.e. SWEDSESS for Swedbank SE.
      required: true
      schema:
        type: string
        pattern: '[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}'
        example: AAAASEBB
    X-AffiliatedASPSP-ID:
      name: X-AffiliatedASPSP-ID
      in: header
      description: |
        Some ASPSPs have sub-branches. The ID of an affiliated ASPSP as related to the X-BicFi header
      schema:
        type: string
      required: false
      example: 8191
    Digest:
      name: Digest
      in: header
      description: >-
        Is contained if and only if the "Signature" element is contained in the
        header of the request.
      schema:
        type: string
      required: false
      example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=
    Signature:
      name: Signature
      in: header
      description: >
        A signature of the request by the TPP on application level. This might
        be mandated by ASPSP.
      schema:
        type: string
      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))"
    TPP-Signature-Certificate:
      name: TPP-Signature-Certificate
      in: header
      description: |
        The certificate used for signing the request, in base64 encoding. 
        Must be contained if a signature is contained.
      schema:
        type: string
        format: byte
      required: false
    TPP-Redirect-Preferred:
      name: TPP-Redirect-Preferred
      in: header
      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 may not support both types.
      schema:
        type: string
        enum:
          - 'true'
          - 'false'
      required: true
    TPP-Redirect-URI:
      name: TPP-Redirect-URI
      in: header
      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.
      schema:
        type: string
        format: uri
      required: false
    TPP-Nok-Redirect-URI:
      name: TPP-Nok-Redirect-URI
      in: header
      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.
      schema:
        type: string
        format: uri
      required: false
    TPP-Explicit-Authorisation-Preferred:
      name: TPP-Explicit-Authorisation-Preferred
      in: header
      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.
      schema:
        type: string
        enum:
          - 'true'
          - 'false'
      required: false
    TPP-Rejection-NoFunds-Preferred:
      name: TPP-Rejection-NoFunds-Preferred
      in: header
      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.
      schema:
        type: string
        enum:
          - 'true'
          - 'false'
      required: false
    TPP-Notification-URI:
      name: TPP-Notification-URI
      in: header
      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.
      schema:
        type: string
      required: false
    TPP-Notification-Content-Preferred:
      name: TPP-Notification-Content-Preferred
      in: header
      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.
      schema:
        type: string
      required: false
    PSU-ID:
      name: PSU-ID
      in: header
      description: >
        Client ID of the PSU in the ASPSP client interface. This is typically a local social security number or another unique login ID.
      schema:
        type: string
      required: true
      example: 199002092386
    PSU-ID-Type:
      name: PSU-ID-Type
      in: header
      description: >
        Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs
        as access possibility.
      schema:
        type: string
      required: false
    PSU-Authoriser-ID: 
      name: PSU-Authoriser-ID
      in: header
      description: >
        ID provided by certain ASPSPs to uniquely identify the authorising PSU, e.g. a customer ID. Only relevant if supported by the ASPSP.
      schema: 
        type: string
      required: false
    PSU-Corporate-ID:
      name: PSU-Corporate-ID
      in: header
      description: >
        Corporate Client ID for the ASPSP. This is typically the unique Corporate Id in the local format. E.g. Org. nummer for SE, KVK for NL. **Mandatory in the corporate scope**.
      schema:
        type: string
      required: false
      example: 5560160680
    PSU-Corporate-ID-Type:
      name: PSU-Corporate-ID-Type
      in: header
      description: >
        Might be mandated in the ASPSP's documentation. Only used in a corporate
        context.
      schema:
        type: string
      required: false
    PSU-IP-Address_mandatory:
      name: PSU-IP-Address
      in: header
      description: >
        The IP address of the PSU from the HTTP request between the PSU and the TPP.
      schema:
        type: string
        format: ipv4
      required: true
      example: 192.168.8.78
    PSU-IP-Address_optional:
      name: PSU-IP-Address
      in: header
      description: >
        The IP address of the PSU from the HTTP request between the PSU and the TPP.
      schema:
        type: string
        format: ipv4
      required: false
      example: 192.168.8.78
    PSU-IP-Address_conditionalForAis:
      name: PSU-IP-Address
      in: header
      description: >
        The IP address of the PSU from the HTTP request between the PSU and the TPP.
      schema:
        type: string
        format: ipv4
      required: false
      example: 192.168.8.78
    X-Consent-Type:
      name: X-Consent-Type
      in: header
      description: >
        When a special consent type is needed.
      schema:
        type: string
        enum:
          - sepaDirectDebit
      required: false
      example: SepaDirectDebit
    PSU-IP-Port:
      name: PSU-IP-Port
      in: header
      description: >
        The forwarded IP Port header field consists of the corresponding HTTP
        request IP Port field between PSU and TPP, if available.
      schema:
        type: string
      required: false
      example: '1234'
    PSU-Accept:
      name: PSU-Accept
      in: header
      description: >
        The forwarded IP Accept header fields consist of the corresponding HTTP
        request Accept header fields between PSU and TPP, if available.
      schema:
        type: string
      required: false
    PSU-Accept-Charset:
      name: PSU-Accept-Charset
      in: header
      description: >
        The forwarded IP Accept header fields consist of the corresponding HTTP
        request Accept header fields between PSU and TPP, if available.
      schema:
        type: string
      required: false
    PSU-Accept-Encoding:
      name: PSU-Accept-Encoding
      in: header
      description: >
        The forwarded IP Accept header fields consist of the corresponding HTTP
        request Accept header fields between PSU and TPP, if available.
      schema:
        type: string
      required: false
    PSU-Accept-Language:
      name: PSU-Accept-Language
      in: header
      description: >
        The forwarded IP Accept header fields consist of the corresponding HTTP
        request Accept header fields between PSU and TPP, if available.
      schema:
        type: string
      required: false
    PSU-User-Agent_optional:
      name: PSU-User-Agent
      in: header
      description: >
        The Agent header from the HTTP request between the PSU and the TPP, identifying the browser used by the PSU.
      schema:
        type: string
      required: false
    PSU-User-Agent_mandatory:
      name: PSU-User-Agent
      in: header
      description: >
        The Agent header from the HTTP request between the PSU and the TPP, identifying the browser used by the PSU.
      schema:
        type: string
      required: true
    PSU-Http-Method:
      name: PSU-Http-Method
      in: header
      description: |
        HTTP method used at the PSU ? TPP interface, if available.
        Valid values are:
        * GET
        * POST
        * PUT
        * PATCH
        * DELETE
      schema:
        type: string
        enum:
          - GET
          - POST
          - PUT
          - PATCH
          - DELETE
      required: false
    PSU-Device-ID:
      name: PSU-Device-ID
      in: header
      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.
      schema:
        type: string
        format: uuid
      required: false
      example: 99435c7e-ad88-49ec-a2ad-99ddcb1f5555
    PSU-Geo-Location:
      name: PSU-Geo-Location
      in: header
      description: >
        The forwarded Geo Location of the corresponding http request between PSU
        and TPP if available.
      schema:
        type: string
        pattern: GEO:-?[0-9]{1,2}\.[0-9]{6};-?[0-9]{1,3}\.[0-9]{6}
      required: false
      example: GEO:52.506931;13.144558
    FX-Quote-Id:
      name: FX-Quote-Id
      in: header
      description: >-
        ID of the FX Quote to be used for the payment. Used for cross-border
        payments only.
      required: false
      example: Q100000ABC
      schema:
        type: string
    FX-Quote-Id_mandatory:
      name: FX-Quote-Id
      in: header
      description: >-
        ID of the FX Quote to be used for the payment. Used for cross-border
        payments only.
      required: true
      example: Q100000ABC
      schema:
        type: string
    isoCountryCodesQuery:
      name: isoCountryCodes
      in: query
      description: |
        ISO Country Codes for the countries to get ASPSPs for
      required: false
      schema:
        $ref: '#/components/schemas/isoCountryCodes'
      example: SE,FI
    cityId:
      name: city-id
      in: path
      description: |
        The ID of the city
      required: true
      schema:
        type: string
        format: uuid
      example: 37efa883-c8ad-4ff7-927b-b11b02beb923
    isoCountryCode:
      name: isoCountryCode
      in: path
      description: |
        ISO Country Code for the country
      required: true
      schema:
        pattern: ^[a-zA-Z]{2,2}$
        type: string
      example: SE
    bicFi:
      name: bicFi
      in: path
      description: |
        The BICFI of the ASPSP
      required: true
      schema:
        pattern: ^[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}$
        type: string
      example: OPBKSE21
  requestBodies:
    confirmCrossBorderPaymentIntent:
      description: >
        JSON request body for a confirm cross-border payment intent request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/paymentInitiationCrossBorder_json'
          examples:
            example:
              $ref: '#/components/examples/confirmCrossBorderPaymentIntentExample'
    isoPaymentInitiation:
      description: >
        JSON request body for a payment initiation request message.
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/isoPaymentInitiation_json'
              - $ref: '#/components/schemas/isoPaymentInitiationSwedishGiro_json'
              - $ref: '#/components/schemas/isoPaymentInitiationSct_json'
          examples:
            'Example 1: Domestic Payment':
              $ref: '#/components/examples/paymentInitiationDomesticBody_payments_json'
            'Example 2: Swedish Giro Payment':
              $ref: '#/components/examples/paymentInitiationSwedishGiroBody_payments_json'
            'Example 3: SEPA Credit Transfer':
              $ref: '#/components/examples/paymentInitiationSctBody_payments_json'
    isoPaymentInitiationCrossBorder:
      description: >
        JSON request body for a cross-border payment initiation request message.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/isoPaymentInitiationCrossBorder_json'
          examples:
            'Example':
              $ref: '#/components/examples/paymentInitiationCrossBorderBody_payments_json'
    paymentInitiation:
      description: >
        JSON request body for a payment initiation request message.


        The following payment-products supported:
          * "domestic" with JSON-Body
          * "swedish-giro" with JSON-Body
          * "sepa-credit-transfers" with JSON-Body
          * "cross-border" with JSON-Body

        The following payment-services supported:
          * "payments"
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/paymentInitiation_json'
              - $ref: '#/components/schemas/paymentInitiationSwedishGiro_json'
              - $ref: '#/components/schemas/paymentInitiationCrossBorder_json'
              - $ref: '#/components/schemas/paymentInitiationSct_json'
          examples:
            'Example 1: ''payments'' - ''domestic''':
              $ref: '#/components/examples/paymentInitiationDomesticBody_payments_json'
            'Example 2: ''payments'' - ''swedish-giro''':
              $ref: '#/components/examples/paymentInitiationSwedishGiroBody_payments_json'   
            'Example 1: ''payments'' - ''cross-border''':
              $ref: '#/components/examples/paymentInitiationCrossBorderBody_payments_json'    
            'Example 4: ''payments'' - ''sepa-credit-transfers''':
              $ref: '#/components/examples/paymentInitiationSctBody_payments_json'
    signingBasket:
      description: >
        Request body for a confirmation of an establishing signing basket
        request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/signingBasket'
          examples:
            Example:
              $ref: '#/components/examples/signingBasketExample'
    confirmationOfFunds:
      description: |
        Request body for a confirmation of funds request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/confirmationOfFunds'
          examples:
            Example:
              $ref: '#/components/examples/confirmationOfFundsExample'
      required: true
    consents:
      description: |
        Requestbody for a consents request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/consents'
          examples:
            Basic Consent Request without access specification:
              $ref: '#/components/examples/consentsExample_without_Accounts'
            Consent Request on Dedicated Accounts:
              $ref: '#/components/examples/consentsExample_DedicatedAccounts'
            Consent on Account List of Available Accounts:
              $ref: '#/components/examples/consentsExample_AccountList'
    fxQuote:
      description: |
        Request body for a new FX Quote
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/fxQuote'
          examples:
            Example:
              $ref: '#/components/examples/fxQuoteExample'
  headers:
    X-Request-ID:
      description: >-
        ID of the request, unique to the call, as determined by the initiating
        party.
      required: true
      example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
      schema:
        type: string
        format: uuid
    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
        enum:
          - EMBEDDED
          - DECOUPLED
          - REDIRECT
        example: EMBEDDED
      required: false
    Location:
      description: |
        Location of the created resource.
      schema:
        type: string
        format: url
      required: false
  responses:
    OK_200_ConfirmCrossBorderPaymentIntent:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/confirmCrossBorderPaymentIntentResponse'
          examples:
            Example:
              $ref: '#/components/examples/confirmCrossBorderPaymentIntentResponseExample'
    getKycStatusResponse-200:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/getKycStatusResponse'
          examples:
            Example:
              $ref: '#/components/examples/getKycStatusResponseExample'
    OK_200_PaymentInitiationInformation:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/paymentInitiationWithStatusResponse'
          examples:
            'Example 1: ''payments'' - ''domestic''':
              $ref: '#/components/examples/paymentInitiationDomesticInformation_payments_json'
    OK_200_PaymentInitiationStatus:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/paymentInitiationStatusResponse-200_json'
          examples:
            simple:
              $ref: >-
                #/components/examples/paymentInitiationStatusResponse_json_Simple
            extended:
              $ref: >-
                #/components/examples/paymentInitiationStatusResponse_json_Extended
        application/xml:
          schema:
            $ref: '#/components/schemas/paymentInitiationStatusResponse-200_xml'
          examples:
            Payment Initiation Status Response Body XML for SCT:
              $ref: '#/components/examples/pain.002.001_SCT_singleTransaction'
    OK_200_Authorisations:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/authorisations'
          examples:
            Example:
              $ref: '#/components/examples/authorisationListExample'
    OK_200_ScaStatus:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/scaStatusResponse'
    OK_200_AccountList:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/accountList'
          examples:
            Example 1:
              $ref: '#/components/examples/accountListExample1'
            Example 2:
              $ref: '#/components/examples/accountListExample2'
            Example 3:
              $ref: '#/components/examples/accountListExample3'
    OK_200_CardAccountList:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/cardAccountList'
          examples:
            Example 1:
              $ref: '#/components/examples/cardAccountListExample1'
    OK_200_CancellationList:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/cancellationList'
          examples:
            Example 1:
              $ref: '#/components/examples/cancellationListExample'
    OK_200_AccountDetails:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/accountDetailsWithTppMessages'
          examples:
            Regular Account:
              $ref: '#/components/examples/accountDetailsRegularAccount'
            Multicurrency Account:
              $ref: '#/components/examples/accountDetailsMulticurrencyAccount'
    OK_200_CardAccountDetails:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/cardAccountDetails'
          examples:
            Card Account:
              $ref: '#/components/examples/cardAccountDetailsExample'
    OK_200_TransactionDetails:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/transactionDetailsWithTppMessages'
          examples:
            Example:
              $ref: '#/components/examples/transactionDetailsExample'
    OK_200_Balances:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/readAccountBalanceResponse-200'
          examples:
            'Example 1: Regular Account':
              $ref: '#/components/examples/balancesExample1_RegularAccount'
            'Example 2: Multicurrency Account':
              $ref: '#/components/examples/balancesExample2_MulticurrencyAcount'
    OK_200_CardAccountBalances:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/readCardAccountBalanceResponse-200'
          examples:
            'Example:':
              $ref: '#/components/examples/balancesExample_CardAccount'
    OK_200_AccountsTransactions:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/transactionsResponse-200_json'
          examples:
            Example 1:
              $ref: '#/components/examples/transactionsExample1_RegularAccount_json'
            Example 2:
              $ref: '#/components/examples/transactionsExample2_Download_json'
            Example 3:
              $ref: >-
                #/components/examples/transactionsExample3_MulticurrencyAccount_json
        application/xml:
          schema:
            description: >-
              Body of the XML response for a successful read transaction list
              request.

#              The body has the structure of a either a camt.052 or camt.053
#              message.

#              The camt.052 may include pending payments which are not yet
#              finally booked. The ASPSP will decide on the format due to the
#              chosen parameters, specifically on the chosen dates relative to
#              the time of the request. In addition the ASPSP might offer
#              camt.054x structure e.g. in a corporate setting.
            oneOf:
              - $ref: '#/components/schemas/camt.052'
              - $ref: '#/components/schemas/camt.053'
              - $ref: '#/components/schemas/camt.054'
        application/text:
          schema:
            description: >-
              Body of the Text response for a successful read transaction list
              request.

              The body has the structure of a MT94x message.

              The response body consists of an MT940 or MT942 format in a text
              structure. The MT942 may include pending payments which are not
              yet finally booked. The ASPSP will decide on the format due to the
              chosen parameters, specifically on the chosen dates relative to
              the time of the request.
            oneOf:
              - $ref: '#/components/schemas/mt940'
              - $ref: '#/components/schemas/mt942'
    OK_200_CardAccountsTransactions:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/cardAccountsTransactionsResponse200'
    OK_200_ConsentInformation:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/consentInformationResponse-200_json'
          examples:
            Example:
              $ref: '#/components/examples/consentsInformationResponseExample'
    OK_200_ConsentStatus:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/consentStatusResponse-200'
          examples:
            Example:
              $ref: '#/components/examples/consentStatusResponseExample1'
    OK_200_UpdatePsuData:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
        ASPSP-SCA-Approach:
          $ref: '#/components/headers/ASPSP-SCA-Approach'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/selectPsuAuthenticationMethodResponse'
          examples:
            Update PSU Identification - Payment Initiation (Decoupled Approach):
              $ref: >-
                #/components/examples/updatePsuIdentificationResponseExample_Decoupled_payments
            Update PSU Authentication - Payment Initiation (Embedded Approach):
              $ref: >-
                #/components/examples/updatePsuAuthenticationResponseExample_Embedded_payments
            Select PSU Authentication - Payment Initiation Method (Embedded Approach):
              $ref: >-
                #/components/examples/selectPsuAuthenticationMethodResponseExample_Embedded_payments
            Transaction Authorisation (Embedded Approach):
              $ref: '#/components/examples/transactionAuthorisationResponseExample'
    OK_200_GetSigningBasket:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/signingBasketResponse-200'
          examples:
            Example:
              $ref: '#/components/examples/getSigningBasketResponseExample1'
    OK_200_SigningBasketStatus:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/signingBasketStatusResponse-200'
    OK_200_ConfirmationOfFunds:
      description: OK
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            description: >
              Equals "true" if sufficient funds are available at the time of the
              request, 

              "false" otherwise.
            type: object
            required:
              - fundsAvailable
            properties:
              fundsAvailable:
                type: boolean
          examples:
            Example:
              $ref: '#/components/examples/confirmationOfFundsResponseExample'
    OK_200_GetFxQuote:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/fxQuoteResponse-200'
          examples:
            Example:
              $ref: '#/components/examples/getFxQuoteResponseExample'
    CREATED_201_SigningBasket:
      description: Created
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
        ASPSP-SCA-Approach:
          $ref: '#/components/headers/ASPSP-SCA-Approach'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/signingBasketResponse-201'
          examples:
            Response (always with explicit authorization start):
              $ref: '#/components/examples/createSigningBasketResponseExample1'
    CREATED_201_PaymentInitiation:
      description: Created
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
        Location:
          $ref: '#/components/headers/Location'
        ASPSP-SCA-Approach:
          $ref: '#/components/headers/ASPSP-SCA-Approach'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/paymentInitiationRequestResponse-201'
          examples:
            Response in case of a redirect with an implicitly created authorisation sub-resource:
              $ref: '#/components/examples/paymentInitiationExample_json_Redirect'
            Response in case of a redirect where an explicit authorisation start is needed:
              $ref: >-
                #/components/examples/paymentInitiationExample_json__RedirectExplicitAuthorisation
            Response in case of an OAuth2 SCA approach approach with implicitly creating an authorisation sub-resource:
              $ref: '#/components/examples/paymentInitiationExample_json_OAuth2'
            Response in case of the decoupled approach with explicit start of authorisation needed (will be done with the update PSU identification function):
              $ref: '#/components/examples/paymentInitiationExample_json_Decoupled'
            Response in case of the embedded approach with explicit start of authorisation:
              $ref: '#/components/examples/paymentInitiationExample_json_Embedded'
    CREATED_201_IsoPaymentInitiation:
      description: Created
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/isoPaymentInitiationRequestResponse-201'
          examples:
            Example:
              $ref: '#/components/examples/IsoPaymentInitiationResponseExample'
    CREATED_201_StartScaProcess:
      description: Created
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
        ASPSP-SCA-Approach:
          $ref: '#/components/headers/ASPSP-SCA-Approach'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/startScaprocessResponse'
          examples:
            'Example 1: payments - Decoupled Approach':
              $ref: '#/components/examples/startScaProcessResponseExample1'
    CREATED_201_Consents:
      description: Created
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
        ASPSP-SCA-Approach:
          $ref: '#/components/headers/ASPSP-SCA-Approach'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/consentsResponse-201'
          examples:
            Response in case of a redirect:
              $ref: '#/components/examples/consentResponseExample1a_Redirect'
            Response in case of a redirect with a dedicated start of the authorisation process:
              $ref: '#/components/examples/consentResponseExample1b_Redirect'
            Response in case of the OAuth2 approach with an implicit generated authorisation resource:
              $ref: '#/components/examples/consentResponseExample2_OAuth2'
            Response in case of the decoupled approach:
              $ref: '#/components/examples/consentResponseExample3_Decoupled'
            Response in case of the embedded approach:
              $ref: '#/components/examples/consentResponseExample4_Embedded'
    CREATED_201_FxQuote:
      description: Created
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
        Location:
          $ref: '#/components/headers/Location'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/fxQuoteResponse-201'
          examples:
            Example:
              $ref: '#/components/examples/createFxQuoteResponseExample'
    RECEIVED_202_PaymentInitiationCancel:
      description: Received
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/paymentInitiationCancelResponse-202'
          examples:
            Example:
              $ref: '#/components/examples/paymentInitiationCancelResponse-202'
    NO_CONTENT_204:
      description: No Content
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    OK_200_ASPSPList:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/aspspList'
          example:
            aspsps:
              - bicFi: OPBKSE21
                name: Demo Bank One (EUR)
                logoUrl: >-
                  https://openbankingplatform.blob.core.windows.net/image/OPBKSE21.png
    OK_200_ASPSP:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/aspsp'
          example:
            city: Stockholm
            country: Sweden
            postalCode: 105 34
            streetAddress: Landsvägen 40
            companyNumber: 502017-7753
            phone: +46-8-585 900 00
            websiteUrl: https://www.swedbank.se
            globalPaymentProducts:
              - domestic
              - swedish-giro
              - cross-border
            supportedAuthorizationMethods:
              - name: OAuth2
                uri: >-
                  https://auth.openbankingplatform.com/.well-known/openid-configuration
              - name: Decoupled
                uri: ''
            affiliatedAspsps:
              - id: '08999'
                name: Swedbank
              - id: '08257'
                name: Sörmlands Sparbank
            bicFi: SWEDSESS
            name: Swedbank
            logoUrl: https://opeopenbanking.blob.core.windows.net/images/SWEDSESS.png
    OK_200_CityList:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/cityList'
          example:
            cities:
              - cityId: 37efa883-c8ad-4ff7-927b-b11b02beb923
                name: Stockholm
                isoCountryCode: SE
    OK_200_City:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/city'
          example:
            cityId: 37efa883-c8ad-4ff7-927b-b11b02beb923
            name: Stockholm
            isoCountryCode: SE
    OK_200_CountryList:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/countryList'
          example:
            countries:
              - isoCountryCode: SE
                name: Sweden
    OK_200_Country:
      description: OK
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/country'
          example:
            isoCountryCode: SE
            name: Sweden
    ACCEPTED_202_SBS:
      description: Accepted
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/tppMessage2XX'
    BAD_REQUEST_400_AIS:
      description: Bad Request
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error400_NG_AIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error400_AIS'
    BAD_REQUEST_400_PIS:
      description: Bad Request
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error400_NG_PIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error400_PIS'
    BAD_REQUEST_400_PIIS:
      description: Bad Request
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error400_NG_AIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error400_AIS'
    BAD_REQUEST_400_SBS:
      description: Bad Request
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error400_NG_SBS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error400_SBS'
    UNAUTHORIZED_401_PIS:
      description: Unauthorized
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error401_NG_PIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error401_PIS'
    UNAUTHORIZED_401_AIS:
      description: Unauthorized
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error401_NG_AIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error401_AIS'
    UNAUTHORIZED_401_PIIS:
      description: Unauthorized
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error401_NG_PIIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error401_PIIS'
    UNAUTHORIZED_401_SBS:
      description: Unauthorized
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error401_NG_SBS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error401_SBS'
    FORBIDDEN_403_PIS:
      description: Forbidden
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error403_NG_PIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error403_PIS'
    FORBIDDEN_403_AIS:
      description: Forbidden
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error403_NG_AIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error403_AIS'
    FORBIDDEN_403_PIIS:
      description: Forbidden
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error403_NG_PIIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error403_PIIS'
    FORBIDDEN_403_SBS:
      description: Forbidden
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error403_NG_SBS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error403_SBS'
    NOT_FOUND_404_PIS:
      description: Not found
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error404_NG_PIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error404_PIS'
    NOT_FOUND_404_AIS:
      description: Not found
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error404_NG_AIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error404_AIS'
    NOT_FOUND_404_PIIS:
      description: Not found
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error404_NG_PIIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error404_PIIS'
    NOT_FOUND_404_SBS:
      description: Not found
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error404_NG_SBS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error404_SBS'
    METHOD_NOT_ALLOWED_405_PIS:
      description: Method Not Allowed
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error405_NG_PIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error405_PIS'
    METHOD_NOT_ALLOWED_405_PIS_CANC:
      description: Method Not Allowed
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error405_NG_PIS_CANC'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error405_PIS_CANC'
    METHOD_NOT_ALLOWED_405_AIS:
      description: Method Not Allowed
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error405_NG_AIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error405_AIS'
    METHOD_NOT_ALLOWED_405_PIIS:
      description: Method Not Allowed
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error405_NG_PIIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error405_PIIS'
    METHOD_NOT_ALLOWED_405_SBS:
      description: Method Not Allowed
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error405_NG_SBS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error405_SBS'
    NOT_ACCEPTABLE_406_PIS:
      description: Not Acceptable
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    NOT_ACCEPTABLE_406_AIS:
      description: Not Acceptable
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error406_NG_AIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error406_AIS'
    NOT_ACCEPTABLE_406_PIIS:
      description: Not Acceptable
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    NOT_ACCEPTABLE_406_SBS:
      description: Not Acceptable
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    REQUEST_TIMEOUT_408_PIS:
      description: Request Timeout
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    REQUEST_TIMEOUT_408_AIS:
      description: Request Timeout
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    REQUEST_TIMEOUT_408_PIIS:
      description: Request Timeout
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    REQUEST_TIMEOUT_408_SBS:
      description: Request Timeout
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    CONFLICT_409_PIS:
      description: Conflict
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error409_NG_PIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error409_PIS'
    CONFLICT_409_AIS:
      description: Conflict
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error409_NG_AIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error409_AIS'
    CONFLICT_409_PIIS:
      description: Conflict
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error409_NG_PIIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error409_PIIS'
    CONFLICT_409_SBS:
      description: Conflict
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error409_NG_SBS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error409_SBS'
    UNSUPPORTED_MEDIA_TYPE_415_AIS:
      description: Unsupported Media Type
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    UNSUPPORTED_MEDIA_TYPE_415_PIS:
      description: Unsupported Media Type
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    UNSUPPORTED_MEDIA_TYPE_415_PIIS:
      description: Unsupported Media Type
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    UNSUPPORTED_MEDIA_TYPE_415_SBS:
      description: Unsupported Media Type
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    TOO_MANY_REQUESTS_429_PIS:
      description: Too Many Requests
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    TOO_MANY_REQUESTS_429_AIS:
      description: Too Many Requests
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error429_NG_AIS'
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error429_AIS'
    TOO_MANY_REQUESTS_429_PIIS:
      description: Too Many Requests
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    TOO_MANY_REQUESTS_429_SBS:
      description: Too Many Requests
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    INTERNAL_SERVER_ERROR_500_PIS:
      description: Internal Server Error
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    INTERNAL_SERVER_ERROR_500_AIS:
      description: Internal Server Error
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    INTERNAL_SERVER_ERROR_500_PIIS:
      description: Internal Server Error
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    INTERNAL_SERVER_ERROR_500_SBS:
      description: Internal Server Error
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    BAD_GATEWAY_502_PIS:
      description: Bad Gateway
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error502_NG_PIS'
    SERVICE_UNAVAILABLE_503_PIS:
      description: Service Unavailable
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    SERVICE_UNAVAILABLE_503_AIS:
      description: Service Unavailable
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    SERVICE_UNAVAILABLE_503_PIIS:
      description: Service Unavailable
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    SERVICE_UNAVAILABLE_503_SBS:
      description: Service Unavailable
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    BAD_REQUEST_400_ASPSP:
      description: Bad Request
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/tppMessages400'
          example:
            tppMessages:
              - category: ERROR
                code: FORMAT_ERROR
                text: additional text information of the ASPSP up to 512 characters
    UNAUTHORIZED_401_ASPSP:
      description: Unauthorized
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/tppMessages401'
          example:
            tppMessages:
              - category: ERROR
                code: UNAUTHORIZED
                text: additional text information of the ASPSP up to 512 characters
    FORBIDDEN_403_ASPSP:
      description: Forbidden
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/tppMessages403'
          example:
            tppMessages:
              - category: ERROR
                code: SERVICE_BLOCKED
                text: additional text information of the ASPSP up to 512 characters
    NOT_FOUND_404_ASPSP:
      description: Not found
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/tppMessages404'
          example:
            tppMessages:
              - category: ERROR
                code: RESOURCE_NOT_FOUND
                text: additional text information of the ASPSP up to 512 characters
    METHOD_NOT_ALLOWED_405_ASPSP:
      description: Method Not Allowed
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/tppMessages405'
          example:
            tppMessages:
              - category: ERROR
                code: SERVICE_INVALID
                text: additional text information of the ASPSP up to 512 characters
    NOT_ACCEPTABLE_406_ASPSP:
      description: Not Acceptable
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/tppMessages406'
          example:
            tppMessages:
              - category: ERROR
                code: REQUESTED_FORMATS_INVALID
                text: additional text information of the ASPSP up to 512 characters
    REQUEST_TIMEOUT_408_ASPSP:
      description: Request Timeout
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    CONFLICT_409_ASPSP:
      description: Conflict
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/tppMessages409'
    PRECONDITION_FAILED_412_ASPSP:
      description: Precondition Failed
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    UNSUPPORTED_MEDIA_TYPE_415_ASPSP:
      description: Unsupported Media Type
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    TOO_MANY_REQUESTS_429_ASPSP:
      description: Too Many Requests
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/tppMessages429'
          example:
            tppMessages:
              - category: ERROR
                code: ACCESS_EXCEEDED
                text: additional text information of the ASPSP up to 512 characters
    INTERNAL_SERVER_ERROR_500_ASPSP:
      description: Internal Server Error
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
    SERVICE_UNAVAILABLE_503_ASPSP:
      description: Service Unavailable
      headers:
        Location:
          $ref: '#/components/headers/Location'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
  examples:
    IsoPaymentInitiationResponseExample:
      value:
        transactionStatus: RCVD
        paymentId: a3cf0daa-6d43-4156-afd4-1d859ad448a8
        _links:
          confirmPayment:
            href: /iso/payments/confirm
          self:
            href: /iso/payments/a3cf0daa-6d43-4156-afd4-1d859ad448a8
    ConfirmIsoPaymentRequestExample:
      value:
        paymentIds:
          - a3cf0daa-6d43-4156-afd4-1d859ad448a8
          - 186901d2-2022-412f-a321-60062ef1ba1c
          - 84b1133c-9ef8-41dd-8dc1-0b64a8d955d3
        batchBookingPreferred: false
    ConfirmIsoPaymentResponseExample:
      value:
        tppMessage:
          - category: INFORMATION
            code: FILE_UPLOADED
            text: OPE20250609T1057016350301Z
    GetGiroNumbersResponseExample:
      value:
        giros:
          - giroNumber: 1234-5678
            giroType: BANKGIRO
            name: Acme AB
    GetCreditorNameResponseExample:
      value:
        creditorName: Acme AB
    confirmCrossBorderPaymentIntentExample:
      value:
        instructedAmount: 
          amount: '130.00'
          currency: EUR
        debtorAccount:
          iban: SE4550000000058398257466
          currency: SEK
        creditorAccount:
          iban: FI2112345600000785
          currency: EUR
        creditorName: Acme AB
        creditorAddress:
          country: FI
        creditorAgent: NDEAFIHH
        creditorAgentName: Nordea Bank Abp
        requestedExecutionDate: 2025-11-10
        remittanceInformationUnstructured: Ref Number Merchant
    confirmCrossBorderPaymentIntentResponseExample:
      value:
        creditorAccount: 
          iban: SE1412000000000012345678
          currency: SEK
        creditorName: Open Payments FX
        debtorAccount:
          iban: SE4550000000058398257466
          currency: SEK
        instructedAmount:
          amount: '1440.53'
          currency: SEK
        creditorAddress:
          country: SE
        remittanceInformationUnstructured: OPESE12345
        requestedExecutionDate: 2025-11-10
    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
    maskedPanExample:
      value: 123456xxxxxx1234
    uuidExample:
      value: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721
    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>
    paymentInitiationSctBody_payments_json:
      value:
        instructedAmount:
          currency: EUR
          amount: '123.50'
        debtorAccount:
          iban: SE4550000000058398257466
          currency: EUR
        creditorName: Merchant123
        creditorAccount:
          iban: FI2112345600000785
          currency: EUR
        creditorAgent: NDEAFIHH
        creditorAgentName: Nordea Bank Abp
        remittanceInformationUnstructured: Ref Number Merchant
        debtorAccountMessage: Personal note
    paymentInitiationDomesticBody_payments_json:
      value:
        instructedAmount:
          currency: SEK
          amount: '123.50'
        debtorAccount:
          iban: SE4550000000058398257466
          currency: SEK
        creditorAccount:
          iban: SE1412000000000012345678
          currency: SEK
        creditorName: Merchant123
        remittanceInformationUnstructured: Ref Number Merchant
        debtorAccountMessage: Personal note
    paymentInitiationSwedishGiroBody_payments_json:
      value:
        instructedAmount:
          currency: SEK
          amount: '123.50'
        debtorAccount:
          iban: SE4550000000058398257466
          currency: SEK
        creditorGiro:
          giroNumber: 1234-5678
          giroType: BANKGIRO
        creditorName: Merchant123
        invoiceRef: Ref Number Merchant
        debtorAccountMessage: Personal note
    paymentInitiationCrossBorderBody_payments_json: 
      value:
        instructedAmount:
          currency: EUR
          amount: '123.50'
        debtorAccount:
          iban: SE4550000000058398257466
          currency: SEK
        creditorAccount:
          iban: FI2112345600000785
          currency: EUR
        creditorName: Merchant123
        creditorAddress:
          street: Example Street
          city: Helsinki
          postalCode: '10115'
          country: FI
        creditorAgent: NDEAFIHH
        creditorAgentName: Nordea Bank Abp
        remittanceInformationUnstructured: Ref Number Merchant
        debtorAccountMessage: Personal note
        purposeCode: SUPP
    paymentInitiationDomesticInformation_payments_json:
      value:
        transactionStatus: ACSC
        instructedAmount:
          currency: SEK
          amount: '123.50'
        debtorAccount:
          iban: SE4550000000058398257466
          currency: SEK
        creditorAccount:
          iban: SE1412000000000012345678
          currency: SEK
        creditorName: Merchant123
        remittanceInformationUnstructured: Ref Number Merchant
        debtorAccountMessage: Personal note
#    paymentInitiationSctBody_periodic-payments_json:
#      value:
#        instructedAmount:
#          currency: EUR
#          amount: '123'
#        debtorAccount:
#          iban: DE40100100103307118608
#        creditorName: Merchant123
#        creditorAccount:
#          iban: DE23100120020123456789
#        remittanceInformationUnstructured: Ref Number Abonnement
#        debtorAccountMessage: Personal note
#        startDate: '2018-03-01'
#        executionRule: preceding
#        frequency: monthly
#        dayOfExecution: '01'
#    paymentInitiationSctBody_bulk-payments_json:
#      value:
#        batchBookingPreferred: 'true'
#        debtorAccount:
#          iban: DE40100100103307118608
#        paymentInformationId: my-bulk-identification-1234
#        requestedExecutionDate: '2018-08-01'
#        payments:
#          - instructedAmount":
#              currency: EUR
#              amount: '123.50'
#            creditorName: Merchant123
#            creditorAccount:
#              iban: DE02100100109307118603
#            remittanceInformationUnstructured: Ref Number Merchant 1
#            debtorAccountMessage: Personal note 1
#          - instructedAmount":
#              currency: EUR
#              amount: '34.10'
#            creditorName: Merchant456
#            creditorAccount:
#              iban: FR7612345987650123456789014
#            remittanceInformationUnstructured: Ref Number Merchant 2
#            debtorAccountMessage: Personal note 2
    accountDetailsRegularAccount:
      description: Account Details for a regular Account
      value:
        resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
        iban: SE4550000000058398257466
        bban: '58398257466'
        currency: SEK
        product: Girokonto
        cashAccountType: CACC
        name: Main Account
        _links:
          balances:
            href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances
          transactions:
            href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions
    accountDetailsMulticurrencyAccount:
      description: Account Details for a multicurrency Account
      value:
        resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
        iban: SE4550000000058398257466
        bban: '58398257466'
        currency: XXX
        product: Multicurrency Account
        cashAccountType: CACC
        name: Aggregation Account
        _links:
          balances:
            href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances
          transactions:
            href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions
    accountListExample1:
      summary: Account list Example 1
      description: >-
        Response in case of an example, where the consent has been given on two
        different IBANs
      value:
        accounts:
          - resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
            iban: SE4550000000058398257466
            bban: '58398257466'
            currency: EUR
            product: Girokonto
            cashAccountType: CACC
            name: Main Account
            _links:
              balances:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances
              transactions:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions
          - resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e81g
            iban: SE1412000000000012345678
            bban: '12345678'
            currency: USD
            product: Valutakonto
            cashAccountType: CACC
            name: US Dollar Account
            _links:
              balances:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/balances
    accountListExample2:
      summary: Account list Example 2
      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
      value:
        accounts:
          - resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
            iban: SE4550000000058398257466
            currency: EUR
            product: Sub-account
            cashAccountType: CACC
            name: Main Account
            _links:
              balances:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances
              transactions:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions
          - resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e81g
            iban: SE1412000000000012345678
            currency: USD
            product: Sub-account
            cashAccountType: CACC
            name: US Dollar Account
            _links:
              balances:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/balances
              transactions:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/transactions
    accountListExample3:
      summary: Account list Example 3
      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
      value:
        accounts:
          - resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
            iban: SE4550000000058398257466
            currency: XXX
            product: Multi currency account
            cashAccountType: CACC
            name: Aggregation Account
            _links:
              balances:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e333/balances
              transactions:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e333/transactions
          - resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e80f
            iban: SE1412000000000012345678
            currency: EUR
            product: Sub-account
            cashAccountType: CACC
            name: Main Account
            _links:
              balances:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/balances
              transactions:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions
          - resourceId: 3dc3d5b3-7023-4848-9853-f5400a64e81g
            iban: SE3560000000000000000000
            currency: USD
            product: Valutakonto
            cashAccountType: CACC
            name: US Dollar Account
            _links:
              balances:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/balances
              transactions:
                href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e81g/transactions
    cardAccountListExample1:
      summary: Card account list example 1
      description: |
        Card account list example
      value:
        cardAccounts:
          - resourceId: 3d9a81b3-a47d-4130-8765-a9c0ff861b99
            maskedPan: 525412******3241
            currency: EUR
            name: Main
            product: Basic Credit
            status: enabled
            creditLimit:
              currency: EUR
              amount: '15000'
            balances:
              - balanceType: interimBooked
                balanceAmount:
                  currency: EUR
                  amount: '14355.78'
              - balanceType: nonInvoiced
                balanceAmount:
                  currency: EUR
                  amount: '4175.86'
            _links:
              transactions:
                href: >-
                  /psd2/accountinformation/v1/card-accounts/3d9a81b3-a47d-4130-8765-a9c0ff861b99/transactions
    cardAccountDetailsExample:
      summary: Card account details example 1
      description: |
        Card account details example
      value:
        cardAccount:
          resourceId: 3d9a81b3-a47d-4130-8765-a9c0ff861b99
          maskedPan: 525412******3241
          currency: EUR
          name: Main
          product: Basic Credit
          status: enabled
          creditLimit:
            currency: EUR
            amount: '15000'
          balances:
            - balanceType: interimBooked
              balanceAmount:
                currency: EUR
                amount: '14355.78'
            - balanceType: nonInvoiced
              balanceAmount:
                currency: EUR
                amount: '4175.86'
          _links:
            transactions:
              href: >-
                /psd2/accountinformation/v1/card-accounts/3d9a81b3-a47d-4130-8765-a9c0ff861b99/transactions
    startScaProcessResponseExample1:
      value:
        scaStatus: received
        authorisationId: b391be2a-5fa0-4da5-afa7-6778d7ca2dc0
        psuMessage: Please use your BankApp for transaction Authorisation.
        _links:
          scaStatus:
            href: >-
              /psd2/paymentinitiation/v1/payments/domestic/qwer3456tzui7890/authorisations/b391be2a-5fa0-4da5-afa7-6778d7ca2dc0
    signingBasketExample:
      description: JSON Body of a signing basket request
      value:
        paymentIds:
          - ac79a081-2261-49bc-b300-612a008bef91
          - aee7e45a-a5da-4075-ac93-f9f6a2e36b0a
    createSigningBasketResponseExample1:
      description: Response (always with explicit authorisation start)
      value:
        transactionStatus: RCVD
        basketId: c7197f20-4224-4c8c-b0fb-b3942105443b
        _links:
          self:
            href: >-
              /psd2/paymentinitiation/v1/signing-baskets/c7197f20-4224-4c8c-b0fb-b3942105443b
          status:
            href: >-
              /psd2/paymentinitiation/v1/signing-baskets/c7197f20-4224-4c8c-b0fb-b3942105443b/status
          startAuthorisation:
            href: >-
              /psd2/paymentinitiation/v1/signing-baskets/c7197f20-4224-4c8c-b0fb-b3942105443b/authorisations
    getSigningBasketResponseExample1:
      value:
        paymentIds:
          - ac79a081-2261-49bc-b300-612a008bef91
          - aee7e45a-a5da-4075-ac93-f9f6a2e36b0a
          - 0ba923a0-8970-4d10-954e-6cb52db1db1c
        transactionStatus: ACTC
    consentsExample_DedicatedAccounts:
      description: Consent request on dedicated accounts
      value:
        access:
          balances:
            - iban: SE4550000000058398257466
            - iban: SE1412000000000012345678
              currency: USD
            - iban: SE3560000000000000000000
          transactions:
            - iban: SE4550000000058398257466
            - maskedPan: 123456xxxxxx1234
        recurringIndicator: 'true'
        validUntil: '2022-09-02'
        frequencyPerDay: '4'
        combinedServiceIndicator: 'false'
    consentsExample_AccountList:
      description: Consent on Account List of Available Accounts
      value:
        access:
          availableAccounts: allAccounts
        recurringIndicator: 'false'
        validUntil: '2017-08-06'
        frequencyPerDay: '1'
    consentsExample_without_Accounts:
      description: Consent request on account list or without indication of accounts
      value:
        access:
         {}
        recurringIndicator: 'true'
        validUntil: '2099-12-31'
        frequencyPerDay: '4'
    updatePsuAuthenticationExample_Embedded:
      description: Update PSU Authentication request body for the embedded approach.
      value:
        psuData:
          password: start12
    selectPsuAuthenticationMethodExample_MbidAnimated:
      description: Select PSU Authentication Method request body for the mbid animated qr approach.
      value:
        authenticationMethodId: "mbid_animated_qr_token"
    transactionAuthorisationExample_Embedded:
      description: Transaction Authorisation request body for the embedded approach.
      value:
        scaAuthenticationData: '123456'
    consentsInformationResponseExample:
      description: Consent request on account list or without indication of accounts
      value:
        access:
          balances:
            - iban: SE4550000000058398257466
          transactions:
            - iban: SE4550000000058398257466
            - pan: 123456xxxxxx3457
        recurringIndicator: 'true'
        validUntil: '2017-11-01'
        frequencyPerDay: '4'
        consentStatus: valid
        _links:
          account:
            href: /psd2/accountinformation/v1/accounts
    consentResponseExample1a_Redirect:
      description: Consent request Response in case of a redirect
      value:
        consentStatus: received
        consentId: 1234-wertiq-983
        _links:
          scaRedirect:
            href: https://www.testbank.com/authentication/1234-wertiq-983
          status:
            href: /psd2/consent/v1/consents/1234-wertiq-983/status
          scaStatus:
            href: /psd2/consent/v1/consents/1234-wertiq-983/authorisations/123auth567
    consentResponseExample1b_Redirect:
      description: >-
        Consent request Response in case of a redirect with a dedicated start of
        the authorisation process
      value:
        consentStatus: received
        consentId: 1234-wertiq-983
        _links:
          startAuthorisation:
            href: /psd2/consent/v1/consents/1234-wertiq-983/authorisations
    consentResponseExample2_OAuth2:
      description: >-
        Response in case of the OAuth2 approach with an implicit generated
        authorisation resource
      value:
        consentStatus: received
        consentId: 1234-wertiq-983
        _links:
          self:
            href: /psd2/consent/v1/consents/1234-wertiq-983
          scaStatus:
            href: /psd2/consent/v1/consents/1234-wertiq-983/authorisations/123auth567
          scaOAuth:
            href: >-
              https://www.testbank.com/oauth/.well-known/oauth-authorization-server
    consentResponseExample3_Decoupled:
      description: Response in case of the decoupled approach
      value:
        consentStatus: received
        consentId: 1234-wertiq-983
        _links:
          startAuthorisationWithPsuIdentification:
            href: /psd2/consent/v1/consents/1234-wertiq-983/authorisations
    consentResponseExample4_Embedded:
      description: Response in case of the embedded approach
      value:
        consentStatus: received
        consentId: 1234-wertiq-983
        _links:
          startAuthorisationWithPsuAuthentication:
            href: /psd2/consent/v1/consents/1234-wertiq-983/authorisations
    consentStatusResponseExample1:
      description: Response for a consent status request.
      value:
        consentStatus: valid
    paymentInitiationExample_json_Redirect:
      description: >-
        Response in case of a redirect with an implicitly created authorisation
        sub-resource
      value:
        transactionStatus: RCVD
        paymentId: 1234-wertiq-983
        _links:
          scaRedirect:
            href: https://www.testbank.com/asdfasdfasdf
          self:
            href: /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983
          status:
            href: /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983/status
          scaStatus:
            href: >-
              /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983/authorisations/b391be2a-5fa0-4da5-afa7-6778d7ca2dc0
    paymentInitiationExample_json__RedirectExplicitAuthorisation:
      description: Response in case of a redirect with an explicit authorisation start
      value:
        transactionStatus: RCVD
        paymentId: 1234-wertiq-983
        _links:
          self:
            href: /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983
          status:
            href: /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983/status
          startAuthorisation:
            href: /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983/authorisations
    paymentInitiationExample_json_OAuth2:
      description: >-
        Response in case of an OAuth2 SCA approach approach with implicitly
        creating an authorisation sub-resource
      value:
        transactionStatus: RCVD
        paymentId: 1234-wertiq-983
        _links:
          scaOAuth:
            href: >-
              https://www.testbank.com/oauth/.well-known/oauth-authorization-server
          self:
            href: /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983
          status:
            href: /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983/status
          scaStatus:
            href: >-
              /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983/authorisations/b391be2a-5fa0-4da5-afa7-6778d7ca2dc0
    paymentInitiationExample_json_Decoupled:
      description: >-
        Response in case of the decoupled approach with explicit start of
        authorisation needed
      value:
        transactionStatus: RCVD
        paymentId: 1234-wertiq-983
        _links:
          startAuthorisationWithPsuIdentification:
            href: /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983/authorisations
          self:
            href: /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983
    paymentInitiationExample_json_Embedded:
      description: >-
        Response in case of the embedded approach with explicit start of
        authorisation
      value:
        transactionStatus: RCVD
        paymentId: 1234-wertiq-983
        _links:
          startAuthenticationWithPsuAuthentication:
            href: /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983/authorisations
          self:
            href: /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983
    paymentInitiationStatusResponse_json_Simple:
      value:
        transactionStatus: ACCP
    paymentInitiationCancelResponse-202:
      value:
        transactionStatus: ACTC
        _links:
          self:
            href: /psd2/paymentinitiation/v1/payments/domestic/123456scheduled789
          status:
            href: /psd2/paymentinitiation/v1/payments/domestic/123456scheduled789/status
          startAuthorisation:
            href: /psd2/paymentinitiation/v1/payments/domestic/123456scheduled789/cancellation-authorisations
    paymentInitiationStatusResponse_json_Extended:
      value: |
        { 
          "transactionStatus": "ACCP",
          "scaStatus": "Some SCA Status"
        }
    updatePsuIdentificationResponseExample_Decoupled_payments:
      description: >-
        Response of an Update PSU Identification for a payment initiation
        request for the decoupled approach.
      value:
        scatransactionStatus: psuIdentified
        psuMessage: Please use your BankApp for transaction Authorisation.
        _links:
          scaStatus:
            href: >-
              /psd2/paymentinitiation/v1/payments/domestic/qwer3456tzui7890/authorisations/b391be2a-5fa0-4da5-afa7-6778d7ca2dc0
    updatePsuAuthenticationResponseExample_Embedded_payments:
      description: >-
        Response of an Update PSU Authentication for a consent request for the
        embedded approach.
      value:
        scaStatus: psuAuthenticated
        _links:
          authoriseTransaction:
            href: >-
              /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983/authorisations/b391be2a-5fa0-4da5-afa7-6778d7ca2dc0
    selectPsuAuthenticationMethodResponseExample_Embedded_payments:
      description: >-
        Response of a Select PSU Authentication Method payment initiation
        request for the embedded approach
      value:
        scaStatus: scaMethodSelected
        chosenScaMethod:
          authenticationType: SMS_OTP
          authenticationMethodId: myAuthenticationID
        challengeData:
          otpMaxLength: '6'
          otpFormat: integer
        _links:
          authoriseTransaction:
            href: >-
              /psd2/paymentinitiation/v1/payments/domestic/1234-wertiq-983/authorisations/b391be2a-5fa0-4da5-afa7-6778d7ca2dc0
    transactionAuthorisationResponseExample:
      description: >-
        Response of a Transaction Authorisation request for the embedded
        approach.
      value:
        scaStatus: finalised
    confirmationOfFundsExample:
      description: Request body for a confirmation of funds.
      value:
        cardNumber: '12345678901234'
        account:
          iban: SE4550000000058398257466
        instructedAmount:
          currency: EUR
          amount: '123'
    confirmationOfFundsResponseExample:
      description: Response for a confirmation of funds request.
      value:
        fundsAvailable: 'true'
    createFxQuoteResponseExample:
      description: Response
      value:
        fxQuoteId: Q100000ABC
        fxRate: '11.05254986'
        fee: '1.50'
        totalAmount: '1440.53'
        validFrom: '2025-11-09T09:36:24.0142906Z'
        validTo: '2025-11-10T23:59:59.0000000Z'
    getFxQuoteResponseExample:
      value:
        fxQuoteId: Q100000ABC
        fxRate: '11.05254986'
        fee: '1.50'
        validFrom: '2025-11-09T09:36:24.0142906Z'
        validTo: '2025-11-10T23:59:59.0000000Z'
    balancesExample1_RegularAccount:
      description: Response for a read balance request in case of a regular account.
      value:
        balances:
          - balanceType: closingBooked
            balanceAmount:
              currency: EUR
              amount: '500.00'
            referenceDate: '2017-10-25'
          - balanceType: expected
            balanceAmount:
              currency: EUR
              amount: '900.00'
            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:
          - balanceType: closingBooked
            balanceAmount:
              currency: EUR
              amount: '500.00'
            referenceDate: '2017-10-25'
          - balanceType: expected
            balanceAmount:
              currency: EUR
              amount: '900.00'
            lastChangeDateTime: '2017-10-25T15:30:35.035Z'
          - balanceType: closingBooked
            balanceAmount:
              currency: USD
              amount: '350.00'
            referenceDate: '2017-10-25'
          - balanceType: expected
            balanceAmount:
              currency: USD
              amount: '350.00'
            lastChangeDateTime: '2017-10-24T14:30:21Z'
    balancesExample_CardAccount:
      description: |
        Response in case of card Acoount balance request
      value:
        cardAccount:
          maskedPan: 525412******3241
        balances:
          - balanceType: interimBooked
            balanceAmount:
              currency: EUR
              amount: '14355.78'
          - balanceType: nonInvoiced
            balanceAmount:
              currency: EUR
              amount: '4175.86'
    transactionsExample1_RegularAccount_json:
      description: Response in JSON format for an access on a regular account
      value:
        account:
          iban: SE4550000000058398257466
        transactions:
          booked:
            - transactionId: '1234567'
              creditorName: John Miles
              creditorAccount:
                iban: FI2112345600000785
              transactionAmount:
                currency: EUR
                amount: '256.67'
              balanceAfterTransaction:
                balanceAmount:
                  currency: EUR
                  amount: '14232.40'
                balanceType: interimBooked
              bookingDate: '2017-10-25'
              valueDate: '2017-10-26'
              remittanceInformationUnstructured: Example 1
            - transactionId: '1234568'
              debtorName: Paul Simpson
              debtorAccount:
                iban: FI2112345600000785
              transactionAmount:
                currency: EUR
                amount: '343.01'
              balanceAfterTransaction:
                balanceAmount:
                  currency: EUR
                  amount: '14489.07'
                balanceType: interimBooked
              bookingDate: '2017-10-25'
              valueDate: '2017-10-26'
              remittanceInformationUnstructured: Example 2
              _links:
                transactionDetails:
                  href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions/1234568
          pending:
            - transactionId: '1234569'
              creditorName: Claude Renault
              creditorAccount:
                iban: SE1412000000000012345678
              transactionAmount:
                currency: EUR
                amount: '-100.03'
              valueDate: '2017-10-26'
              remittanceInformationUnstructured: Example 3
          _links:
            account:
              href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f
            next:
              href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f/transactions?bookingStatus=booked&dateFrom=2017-10-26&dateTo=2017-10-26&continuationKey=0x2mIm9dx0KMO6elpHIJkg
    transactionsExample2_Download_json:
      description: Response in case of huge data amount as a download.
      value:
        _links:
          download:
            href: >-
              www.test-api.com/xs2a/v1/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: SE4550000000058398257466
        transactions:
          booked:
            - transactionId: '1234567'
              creditorName: John Miles
              creditorAccount:
                iban: FI2112345600000785
              transactionAmount:
                currency: EUR
                amount: '-256.67'
              bookingDate: '2017-10-25'
              valueDate: '2017-10-26'
              remittanceInformationUnstructured: Example 1
            - transactionId: '1234568'
              debtorName: Paul Simpson
              debtorAccount:
                iban: NL39RABO0300065264
              transactionAmount:
                currency: EUR
                amount: '343.01'
              bookingDate: '2017-10-25'
              valueDate: '2017-10-26'
              remittanceInformationUnstructured: Example 2
            - transactionId: '1234569'
              debtorName: Pepe Martin
              debtorAccount:
                iban: SE1412000000000012345678
              transactionAmount:
                currency: USD
                amount: '100'
              bookingDate: '2017-10-25'
              valueDate: '2017-10-26'
              remittanceInformationUnstructured: Example 3
          pending:
            - transactionId: '1234570'
              creditorName: Claude Renault
              creditorAccount:
                iban: FI4950009420002319
              transactionAmount:
                currency: EUR
                amount: '-100.03'
              valueDate: '2017-10-26'
              remittanceInformationUnstructured: Example 4
          _links:
            account:
              href: /psd2/accountinformation/v1/accounts/3dc3d5b3-7023-4848-9853-f5400a64e80f
    transactionDetailsExample:
      description: Example for transaction details
      value:
        transactionId: '1234567'
        creditorName: John Miles
        creditorAccount:
          iban: FI4950009420002319
        mandateId: Mandate-2018-04-20-1234
        transactionAmount:
          currency: EUR
          amount: '-256.67'
        bookingDate: '2017-10-25'
        valueDate: '2017-10-26'
        remittanceInformationUnstructured: Example 1
        bankTransactionCode: PMNT-RCVD-ESDD
    authorisationListExample:
      value:
        authorisationIds:
          - b391be2a-5fa0-4da5-afa7-6778d7ca2dc0
    cancellationListExample:
      value:
        cancellationIds:
          - b391be2a-5fa0-4da5-afa7-6778d7ca2dc0
    fxQuoteExample:
      description: JSON Body of an FX Quote request
      value:
        sourceCurrency: SEK
        targetCurrency: USD
        requestedExecutionDate: '2026-01-01'
        countryCode: US
        amount: '130.00'
    getKycStatusResponseExample:
      value:
        psuCorporateId: 123456-1234
        kycStatus: Valid
        kycValidUntil: '2024-09-06'
security:
  - {}
tags:
  - name: ASPSP Information Service
    description: |
      The ASPSP (Account Servicing Payment Service Providers) Information Service allows looking up information about banks and other account providers.
      The service offers the following services:
        * List All ASPSPs in a specific country
        * List all ASPSPs connected to the Open Banking Platform
        * Details about the ASPSP
  - name: Consent Service
    description: |
      The Consent Service offers the following services:
      * Create and authorize consents between the PSU and the TPP for use in the AIS services
      * Get status of consent and retrieve previously authorized consents
  - name: Account Information Service (AIS)
    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 accessable accounts or card account  relative to a granted consent
  - name: Payment Initiation Service (PIS)
    description: |
      Payment Initiation Service (PIS) offers the following services:
        * Create and authorize payments
        * Status information of payments and authorizations
        * Create and authorize baskets to efficiently sign multiple payments in one authorization
        * Cancel previously signed payments
        * Retrieve and create currency exchange (FX) quotes for cross-border transfers
  - name: KYC Service
    description: |-
      KYC Service offers the following services:
        * Initiation of a KYC process to access our KYC webform 
        * KYC status of a corporation
  - name: ISO Payments
    description: >-
      ISO Payments offers a direct and intuitive interface to the banks
      ISO 20022 products. By leveraging ISO 20022, you can automate and streamline
      a wide range of payment processes, including both domestic and
      international vendor payments and payroll.
  - name: Bulk Payments
    description: |
      Bulk Payments offers the following services:
        * Initiation and update of a payment request
        * Status information of a payment
  - name: Payout Service
    description: >-
      The Payout Service brings efficiency and security to a wide range of
      payment processes, including supplier invoices, payroll, refunds, and
      other forms of disbursement. The solution automates the entire workflow,
      minimizing manual errors while eliminating transaction limits and the need
      for manual banking procedures. Funds are first placed in our dedicated
      client account before final disbursement, providing an added layer of
      security and stability and enabling seamless integration with the national
      clearing system Bankgirot.
  - name: FX Connect
    description: >-
      FX Connect enables you to execute cross-border payments without integrating
      the Payment Initiation Service (PIS), operating seamlessly on top of your own existing bank integrations.
      With FX Connect, you can provide your users with real-time, transparent institutional FX rates for spot and forward transactions, 
      together with automated cross-border settlement — while continuing to use your platform's own bank connections to initiate payments.
x-tagGroups:
  - name: Core APIs
    tags:
      - ASPSP Information Service
      - Consent Service
      - Account Information Service (AIS)
      - Payment Initiation Service (PIS)
      - KYC Service
  - name: Alternative APIs
    tags:
      - ISO Payments
      - FX Connect
      - Bulk Payments
  - name: Premium APIs
    tags:
      - Bankgiro Lookup
      - Payout Service
      - SEPA Direct Debit