swagger: "2.0"
info:
  version: "2_1.5"
  title: "Polish API"
  description: "Interface specification for services provided by third parties based on access to payment accounts. Prepared by the Polish Bank Association and its affiliates"
host: goapi.bnpparibas.pl
basePath: /
schemes:
  - https
consumes:
  - application/json
produces:
  - application/json
tags:
- name: "AS"
  description: "Authorization Service"
- name: "AIS"
  description: "Account Information Service"
- name: "PIS"
  description: "Payment Initiation Services"
- name: "CAF"
  description: "Confirmation of the Availability of Funds"
parameters:
  authorizationParam:
    name: Authorization
    in: header
    required: true
    type: string
    description: "The value of the Authorization header should consist of 'type' + 'credentials', where for the approach using the 'type' token should be 'Bearer'."
  acceptEncodingParam:
    name: Accept-Encoding
    in: header
    required: true
    type: string
    enum:
      - gzip
      - deflate
    description: "Gzip, deflate"
  acceptLanguageParam:
    name: Accept-Language
    in: header
    required: true
    type: string
    description: "Prefered language of response"
  acceptCharsetParam:
    name: Accept-Charset
    in: header
    required: true
    type: string
    enum:
      - utf-8
    description: "UTF-8"
  # dateParam:
  #   name: Date
  #   in: header
  #   required: true
  #   type: string
  #   description: "Request date eg. Mon, 21 Oct 2019 07:50:31 GMT"
  xjwsSignatureParam:
    name: X-JWS-SIGNATURE
    in: header
    required: true
    type: string
    description: "Detached JWS signature of the body of the payload"
  xRequestIdParam:
    name: X-REQUEST-ID
    in: header
    required: true
    type: string
    description: "Identyfikator żądania nadawany przez TPP, unikalny w skali tego TPP. Wartość musi być zgodna z parametrem requestId przekazywanym w ciele każdego żądania. / Request identifier set by TPP and unique for this TPP only. Value of this header must be the same as for the requestId param passed inside request payload."
paths:
  /v2_1.5/auth/v2_1.5/authorize:
      x-swagger-router-controller: as
      post:
        summary: "Requests OAuth2 authorization code"
        description: "Requests OAuth2 authorization code"
        operationId: authorize-noprefix
        parameters:
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: authorizeRequest
          in: body
          description: "Data for OAuth2 Authorization Code Request"
          required: true
          schema:
            $ref: "#/definitions/AuthorizeRequest"
        tags:
          - AS
        responses:
          "200":
            description: Success
            schema:
              $ref: "#/definitions/AuthorizeResponse"
            headers:
              Content-Encoding:
                type: string
                description: "Gzip, deflate"
              X-JWS-SIGNATURE:
                type: string
                description: "Detached JWS signature of the body of the response"
          "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
          "405":
            description:  "Method Not Allowed"
            schema:
              $ref: "#/definitions/Error"
          "406":
            description:  "Not Acceptable"
            schema:
              $ref: "#/definitions/Error"
          "415":
            description:  "Unsupported Media Type"
            schema:
              $ref: "#/definitions/Error"
          "422":
            description:  "Unprocessable entity"
            schema:
              $ref: "#/definitions/Error"
          "500":
            description: "Internal Server Error"
            schema:
              $ref: "#/definitions/Error"
          "503":
            description: "Service Unavailable"
            schema:
              $ref: "#/definitions/Error"
  /{prefix}/v2_1.5/auth/v2_1.5/authorize:
      x-swagger-router-controller: as
      post:
        summary: "Requests OAuth2 authorization code"
        description: "Requests OAuth2 authorization code"
        operationId: authorize
        parameters:
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: prefix
          in: path
          description: "Choose ASPSP banking app: biznesplanet | goonline"
          required: true
          type: string
          enum:
#            - planet   #removed as of ver .2.19.4
            - biznesplanet
            - goonline
        - name: authorizeRequest
          in: body
          description: "Data for OAuth2 Authorization Code Request"
          required: true
          schema:
            $ref: "#/definitions/AuthorizeRequest"
        tags:
          - AS
        responses:
          "200":
            description: Success
            schema:
              $ref: "#/definitions/AuthorizeResponse"
            headers:
              Content-Encoding:
                type: string
                description: "Gzip, deflate"
              X-JWS-SIGNATURE:
                type: string
                description: "Detached JWS signature of the body of the response"
          "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
          "405":
            description:  "Method Not Allowed"
            schema:
              $ref: "#/definitions/Error"
          "406":
            description:  "Not Acceptable"
            schema:
              $ref: "#/definitions/Error"
          "415":
            description:  "Unsupported Media Type"
            schema:
              $ref: "#/definitions/Error"
          "422":
            description:  "Unprocessable entity"
            schema:
              $ref: "#/definitions/Error"
          "500":
            description: "Internal Server Error"
            schema:
              $ref: "#/definitions/Error"
          "503":
            description: "Service Unavailable"
            schema:
              $ref: "#/definitions/Error"
#  /v2_1.5/auth/v2_1.5/authorizeExt:
#      x-swagger-router-controller: as
#      post:
#        summary: "Requests OAuth2 authorization code based on One-time authorization code issued by External Authorization Tool"
#        description: "Requests OAuth2 authorization code based One-time authorization code issued by External Authorization Tool. Authorization code will be delivered to TPP as callback request from ASPSP if PSU authentication is confirmed by EAT. Callback function must provide similar notification also in case of unsuccessful authentication or its abandonment."
#        operationId: authorizeExt
#        parameters:
#        - $ref: "#/parameters/acceptEncodingParam"
#        - $ref: "#/parameters/acceptLanguageParam"
#        - $ref: "#/parameters/acceptCharsetParam"
#        - $ref: "#/parameters/xjwsSignatureParam"
#        - $ref: "#/parameters/xRequestIdParam"
#        - name: authorizeExtRequest
#          in: body
#          description: "Data for OAuth2 Authorization Code Request extended for EAT based authentication and callback response"
#          required: true
#          schema:
#            $ref: "#/definitions/EatCodeRequest"
#        tags:
#          - AS
#        responses:
#          "204":
#            description: Successful TPP and EAT Code verification
#            headers:
#              Content-Encoding:
#                type: string
#                description: "Gzip, deflate"
#          "400":
#            description:  "Bad request"
#            schema:
#              $ref: "#/definitions/Error"
#          "405":
#            description:  "Method Not Allowed"
#            schema:
#              $ref: "#/definitions/Error"
#          "406":
#            description:  "Not Acceptable"
#            schema:
#              $ref: "#/definitions/Error"
#          "415":
#            description:  "Unsupported Media Type"
#            schema:
#              $ref: "#/definitions/Error"
#          "422":
#            description:  "Unprocessable entity"
#            schema:
#              $ref: "#/definitions/Error"
#          "500":
#            description: "Internal Server Error"
#            schema:
#              $ref: "#/definitions/Error"
#          "503":
#            description: "Service Unavailable"
#            schema:
#              $ref: "#/definitions/Error"
  /v2_1.5/auth/v2_1.5/token:
      x-swagger-router-controller: as
      post:
        summary: "Requests OAuth2 access token value"
        description: "Requests OAuth2 access token value"
        operationId: token
        parameters:
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: tokenRequest
          in: body
          description: "Data for OAuth2 Access Token Request"
          required: true
          schema:
            $ref: "#/definitions/TokenRequest"
        tags:
          - AS
        responses:
          "200":
            description: Success
            schema:
              $ref: "#/definitions/TokenResponse"
            headers:
              Content-Encoding:
                type: string
                description: "Gzip, deflate"
              X-JWS-SIGNATURE:
                type: string
                description: "Detached JWS signature of the body of the response"
          "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
          "401":
            description:  "Unauthorized"
            schema:
              $ref: "#/definitions/Error"
          "405":
            description:  "Method Not Allowed"
            schema:
              $ref: "#/definitions/Error"
          "406":
            description:  "Not Acceptable"
            schema:
              $ref: "#/definitions/Error"
          "415":
            description:  "Unsupported Media Type"
            schema:
              $ref: "#/definitions/Error"
          "422":
            description:  "Unprocessable entity"
            schema:
              $ref: "#/definitions/Error"
          "500":
            description: "Internal Server Error"
            schema:
              $ref: "#/definitions/Error"
          "503":
            description: "Service Unavailable"
            schema:
              $ref: "#/definitions/Error"
  /v2_1.5/accounts/v2_1.5/deleteConsent:
      x-swagger-router-controller: ais
      post:
        summary: "Removes consent"
        description: "Removes consent"
        operationId: deleteConsent
        parameters:
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: deleteConsentRequest
          in: body
          description: "Data for delete Consent Request"
          required: true
          schema:
            $ref: "#/definitions/DeleteConsentRequest"
        tags:
          - AIS
        responses:
          "204":
            description: Success
            headers:
              Content-Encoding:
                type: string
                description: "Gzip, deflate"
          "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
          "401":
            description:  "Unauthorized"
            schema:
              $ref: "#/definitions/Error"
          "403":
            description:  "Forbidden"
            schema:
              $ref: "#/definitions/Error"
          "405":
            description:  "Method Not Allowed"
            schema:
              $ref: "#/definitions/Error"
          "406":
            description:  "Not Acceptable"
            schema:
              $ref: "#/definitions/Error"
          "415":
            description:  "Unsupported Media Type"
            schema:
              $ref: "#/definitions/Error"
          "422":
            description:  "Unprocessable entity"
            schema:
              $ref: "#/definitions/Error"
          "500":
            description: "Internal Server Error"
            schema:
              $ref: "#/definitions/Error"
          "503":
            description: "Service Unavailable"
            schema:
              $ref: "#/definitions/Error"
  /v2_1.5/accounts/v2_1.5/getAccounts:
      x-swagger-router-controller: ais
      post:
        summary: "Get information about all user's payment account"
        description: "User identification based on access token"
        operationId: getAccounts
        parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: getAccountsRequest
          in: body
          description: "Data for Accounts Request"
          required: true
          schema:
            $ref: "#/definitions/AccountsRequest"
        tags:
          - AIS
        responses:
          "200":
            description: Success
            schema:
              $ref: "#/definitions/AccountsResponse"
            headers:
              Content-Encoding:
                type: string
                description: "Gzip, deflate"
                #required: false
              X-JWS-SIGNATURE:
                type: string
                description: "Detached JWS signature of the body of the response"
          "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
          "401":
            description:  "Unauthorized"
            schema:
              $ref: "#/definitions/Error"
          "403":
            description:  "Forbidden"
            schema:
              $ref: "#/definitions/Error"
          "405":
            description:  "Method Not Allowed"
            schema:
              $ref: "#/definitions/Error"
          "406":
            description:  "Not Acceptable"
            schema:
              $ref: "#/definitions/Error"
          "415":
            description:  "Unsupported Media Type"
            schema:
              $ref: "#/definitions/Error"
          "422":
            description:  "Unprocessable entity"
            schema:
              $ref: "#/definitions/Error"
          "429":
            description:  "Request limit for the requested service exceeded"
            schema:
              $ref: "#/definitions/Error"
          "500":
            description: "Internal Server Error"
            schema:
              $ref: "#/definitions/Error"
          "503":
            description: "Service Unavailable"
            schema:
              $ref: "#/definitions/Error"
        security:
        - xs2a_auth_aspsp:
          - "ais-accounts"
        - xs2a_auth_decoupled:
          - "ais-accounts"
  /v2_1.5/accounts/v2_1.5/getAccount:
      x-swagger-router-controller: ais
      post:
        summary: "Get detailed information about user payment account"
        description: "User identification based on access token"
        operationId: getAccount
        parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: getAccountRequest
          in: body
          description: "Data for Account Request"
          required: true
          schema:
            $ref: "#/definitions/AccountInfoRequest"
        tags:
          - AIS
        responses:
          "200":
            description: Success
            schema:
              $ref: "#/definitions/AccountResponse"
            headers:
              Content-Encoding:
                type: string
                description: "Gzip, deflate"
              X-JWS-SIGNATURE:
                type: string
                description: "Detached JWS signature of the body of the response"
          "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
          "401":
            description:  "Unauthorized"
            schema:
              $ref: "#/definitions/Error"
          "403":
            description:  "Forbidden"
            schema:
              $ref: "#/definitions/Error"
          "405":
            description:  "Method Not Allowed"
            schema:
              $ref: "#/definitions/Error"
          "406":
            description:  "Not Acceptable"
            schema:
              $ref: "#/definitions/Error"
          "415":
            description:  "Unsupported Media Type"
            schema:
              $ref: "#/definitions/Error"
          "422":
            description:  "Unprocessable entity"
            schema:
              $ref: "#/definitions/Error"
          "429":
            description:  "Request limit for the requested service exceeded"
            schema:
              $ref: "#/definitions/Error"
          "500":
            description: "Internal Server Error"
            schema:
              $ref: "#/definitions/Error"
          "503":
            description: "Service Unavailable"
            schema:
              $ref: "#/definitions/Error"
        security:
        - xs2a_auth_aspsp:
          - "ais"
        - xs2a_auth_decoupled:
          - "ais"
  /v2_1.5/accounts/v2_1.5/getTransactionsDone:
      x-swagger-router-controller: ais
      post:
        summary: "Get list of user done transactions"
        description: ""
        operationId: getTransactionsDone
        parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: getTransactionsDoneRequest
          in: body
          description: "Data for Transactions Done Request"
          required: true
          schema:
            $ref: "#/definitions/TransactionInfoRequest"
        tags:
          - AIS
        responses:
          "200":
            description: Success
            schema:
              $ref: "#/definitions/TransactionsDoneInfoResponse"
            headers:
              Content-Encoding:
                type: string
                description: "Gzip, deflate"
              X-JWS-SIGNATURE:
                type: string
                description: "Detached JWS signature of the body of the response"
          "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
          "401":
            description:  "Unauthorized"
            schema:
              $ref: "#/definitions/Error"
          "403":
            description:  "Forbidden"
            schema:
              $ref: "#/definitions/Error"
          "405":
            description:  "Method Not Allowed"
            schema:
              $ref: "#/definitions/Error"
          "406":
            description:  "Not Acceptable"
            schema:
              $ref: "#/definitions/Error"
          "415":
            description:  "Unsupported Media Type"
            schema:
              $ref: "#/definitions/Error"
          "422":
            description:  "Unprocessable entity"
            schema:
              $ref: "#/definitions/Error"
          "429":
            description:  "Request limit for the requested service exceeded"
            schema:
              $ref: "#/definitions/Error"
          "500":
            description: "Internal Server Error"
            schema:
              $ref: "#/definitions/Error"
          "503":
            description: "Service Unavailable"
            schema:
              $ref: "#/definitions/Error"
        security:
        - xs2a_auth_aspsp:
          - "ais"
        - xs2a_auth_decoupled:
          - "ais"
  
  # /v2_1.5/accounts/v2_1.5/getTransactionsPending:
  #     x-swagger-router-controller: ais
  #     post:
  #       summary: "Get list of user's pending transactions"
  #       description: ""
  #       operationId: getTransactionsPending
  #       parameters:
  #       - $ref: "#/parameters/authorizationParam"
  #       - $ref: "#/parameters/acceptEncodingParam"
  #       - $ref: "#/parameters/acceptLanguageParam"
  #       - $ref: "#/parameters/acceptCharsetParam"
  #       - $ref: "#/parameters/dateParam"
  #       - $ref: "#/parameters/xjwsSignatureParam"
  #       - $ref: "#/parameters/xRequestIdParam"
  #       - name: getTransactionsPendingRequest
  #         in: body
  #         description: "Data for Transactions Pending Request"
  #         required: true
  #         schema:
  #           $ref: "#/definitions/TransactionInfoRequest"
  #       tags:
  #         - AIS
  #       responses:
  #         "200":
  #           description: Success
  #           schema:
  #             $ref: "#/definitions/TransactionPendingInfoResponse"
  #           headers:
  #             Content-Encoding:
  #               type: string
  #               description: "Gzip, deflate"
  #             X-JWS-SIGNATURE:
  #               type: string
  #               description: "Detached JWS signature of the body of the response"
  #         "400":
  #           description:  "Bad request"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "401":
  #           description:  "Unauthorized"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "403":
  #           description:  "Forbidden"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "405":
  #           description:  "Method Not Allowed"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "406":
  #           description:  "Not Acceptable"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "415":
  #           description:  "Unsupported Media Type"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "422":
  #           description:  "Unprocessable entity"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "429":
  #           description:  "Request limit for the requested service exceeded"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "500":
  #           description: "Internal Server Error"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "501":
  #           description: "Not Implemented"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "503":
  #           description: "Service Unavailable"
  #           schema:
  #             $ref: "#/definitions/Error"
  #       security:
  #       - xs2a_auth_aspsp:
  #         - "ais"
  #       - xs2a_auth_decoupled:
  #         - "ais"

  /v2_1.5/accounts/v2_1.5/getTransactionsRejected:
    x-swagger-router-controller: ais
    post:
      summary: "Get list of user's rejected transactions"
      description: ""
      operationId: getTransactionsRejected
      parameters:
      - $ref: "#/parameters/authorizationParam"
      - $ref: "#/parameters/acceptEncodingParam"
      - $ref: "#/parameters/acceptLanguageParam"
      - $ref: "#/parameters/acceptCharsetParam"
      - $ref: "#/parameters/xjwsSignatureParam"
      - $ref: "#/parameters/xRequestIdParam"
      - name: getTransactionsRejectedRequest
        in: body
        description: "Data for Transactions Rejected Request"
        required: true
        schema:
          $ref: "#/definitions/TransactionInfoRequest"
      tags:
        - AIS
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/TransactionRejectedInfoResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
          description:  "Bad request"
          schema:
            $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "429":
          description:  "Request limit for the requested service exceeded"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "ais"
      - xs2a_auth_decoupled:
        - "ais"
  
  # /v2_1.5/accounts/v2_1.5/getTransactionsCancelled:
  #     x-swagger-router-controller: ais
  #     post:
  #       summary: "Get list of user cancelled transactions"
  #       description: ""
  #       operationId: getTransactionsCancelled
  #       parameters:
  #       - $ref: "#/parameters/authorizationParam"
  #       - $ref: "#/parameters/acceptEncodingParam"
  #       - $ref: "#/parameters/acceptLanguageParam"
  #       - $ref: "#/parameters/acceptCharsetParam"
  #       - $ref: "#/parameters/dateParam"
  #       - $ref: "#/parameters/xjwsSignatureParam"
  #       - $ref: "#/parameters/xRequestIdParam"
  #       - name: getTransactionsCancelledRequest
  #         in: body
  #         description: "Data for Transactions Cancelled Request"
  #         required: true
  #         schema:
  #           $ref: "#/definitions/TransactionInfoRequest"
  #       tags:
  #         - AIS
  #       responses:
  #         "200":
  #           description: Success
  #           schema:
  #             $ref: "#/definitions/TransactionsCancelledInfoResponse"
  #           headers:
  #             Content-Encoding:
  #               type: string
  #               description: "Gzip, deflate"
  #             X-JWS-SIGNATURE:
  #               type: string
  #               description: "Detached JWS signature of the body of the response"
  #         "400":
  #           description:  "Bad request"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "401":
  #           description:  "Unauthorized"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "403":
  #           description:  "Forbidden"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "405":
  #           description:  "Method Not Allowed"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "406":
  #           description:  "Not Acceptable"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "415":
  #           description:  "Unsupported Media Type"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "422":
  #           description:  "Unprocessable entity"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "429":
  #           description:  "Request limit for the requested service exceeded"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "500":
  #           description: "Internal Server Error"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "501":
  #           description: "Not Implemented"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "503":
  #           description: "Service Unavailable"
  #           schema:
  #             $ref: "#/definitions/Error"
  #       security:
  #       - xs2a_auth_aspsp:
  #         - "ais"
  #       - xs2a_auth_decoupled:
  #         - "ais"
  # /v2_1.5/accounts/v2_1.5/getTransactionsScheduled:
  #     x-swagger-router-controller: ais
  #     post:
  #       summary: "Get list of user scheduled transactions"
  #       description: ""
  #       operationId: getTransactionsScheduled
  #       parameters:
  #       - $ref: "#/parameters/authorizationParam"
  #       - $ref: "#/parameters/acceptEncodingParam"
  #       - $ref: "#/parameters/acceptLanguageParam"
  #       - $ref: "#/parameters/acceptCharsetParam"
  #       - $ref: "#/parameters/dateParam"
  #       - $ref: "#/parameters/xjwsSignatureParam"
  #       - $ref: "#/parameters/xRequestIdParam"
  #       - name: getTransactionsScheduledRequest
  #         in: body
  #         description: "Data for Transactions Scheduled Request"
  #         required: true
  #         schema:
  #           $ref: "#/definitions/TransactionInfoRequest"
  #       tags:
  #         - AIS
  #       responses:
  #         "200":
  #           description: Success
  #           schema:
  #             $ref: "#/definitions/TransactionsScheduledInfoResponse"
  #           headers:
  #             Content-Encoding:
  #               type: string
  #               description: "Gzip, deflate"
  #             X-JWS-SIGNATURE:
  #               type: string
  #               description: "Detached JWS signature of the body of the response"
  #         "400":
  #           description:  "Bad request"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "401":
  #           description:  "Unauthorized"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "403":
  #           description:  "Forbidden"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "405":
  #           description:  "Method Not Allowed"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "406":
  #           description:  "Not Acceptable"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "415":
  #           description:  "Unsupported Media Type"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "422":
  #           description:  "Unprocessable entity"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "429":
  #           description:  "Request limit for the requested service exceeded"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "500":
  #           description: "Internal Server Error"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "501":
  #           description: "Not Implemented"
  #           schema:
  #             $ref: "#/definitions/Error"
  #         "503":
  #           description: "Service Unavailable"
  #           schema:
  #             $ref: "#/definitions/Error"
  #       security:
  #       - xs2a_auth_aspsp:
  #         - "ais"
  #       - xs2a_auth_decoupled:
  #         - "ais"
  
  /v2_1.5/accounts/v2_1.5/getHolds:
      x-swagger-router-controller: ais
      post:
        summary: Get list of user's holded operations
        description: ""
        operationId: getHolds
        parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: getHoldsRequest
          in: body
          description: "Data for hold Request"
          required: true
          schema:
            $ref: "#/definitions/HoldRequest"
        tags:
          - AIS
        responses:
          "200":
            description: Success
            schema:
              $ref: "#/definitions/HoldInfoResponse"
            headers:
              Content-Encoding:
                type: string
                description: "Gzip, deflate"
              X-JWS-SIGNATURE:
                type: string
                description: "Detached JWS signature of the body of the response"
          "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
          "401":
            description:  "Unauthorized"
            schema:
              $ref: "#/definitions/Error"
          "403":
            description:  "Forbidden"
            schema:
              $ref: "#/definitions/Error"
          "405":
            description:  "Method Not Allowed"
            schema:
              $ref: "#/definitions/Error"
          "406":
            description:  "Not Acceptable"
            schema:
              $ref: "#/definitions/Error"
          "415":
            description:  "Unsupported Media Type"
            schema:
              $ref: "#/definitions/Error"
          "422":
            description:  "Unprocessable entity"
            schema:
              $ref: "#/definitions/Error"
          "429":
            description:  "Request limit for the requested service exceeded"
            schema:
              $ref: "#/definitions/Error"
          "500":
            description: "Internal Server Error"
            schema:
              $ref: "#/definitions/Error"
          "503":
            description: "Service Unavailable"
            schema:
              $ref: "#/definitions/Error"
        security:
        - xs2a_auth_aspsp:
          - "ais"
        - xs2a_auth_decoupled:
          - "ais"
  /v2_1.5/accounts/v2_1.5/getTransactionDetail:
      x-swagger-router-controller: ais
      post:
        summary: "Get detailed information about user's single transaction"
        description: ""
        operationId: getTransactionDetail
        parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: getTransactionDetailRequest
          in: body
          description: "Data for transaction detail Request"
          required: true
          schema:
            $ref: "#/definitions/TransactionDetailRequest"
        tags:
          - AIS
        responses:
          "200":
            description: Success
            schema:
              $ref: "#/definitions/TransactionDetailResponse"
            headers:
              Content-Encoding:
                type: string
                description: "Gzip, deflate"
              X-JWS-SIGNATURE:
                type: string
                description: "Detached JWS signature of the body of the response"
          "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
          "401":
            description:  "Unauthorized"
            schema:
              $ref: "#/definitions/Error"
          "403":
            description:  "Forbidden"
            schema:
              $ref: "#/definitions/Error"
          "405":
            description:  "Method Not Allowed"
            schema:
              $ref: "#/definitions/Error"
          "406":
            description:  "Not Acceptable"
            schema:
              $ref: "#/definitions/Error"
          "415":
            description:  "Unsupported Media Type"
            schema:
              $ref: "#/definitions/Error"
          "422":
            description:  "Unprocessable entity"
            schema:
              $ref: "#/definitions/Error"
          "429":
            description:  "Request limit for the requested service exceeded"
            schema:
              $ref: "#/definitions/Error"
          "500":
            description: "Internal Server Error"
            schema:
              $ref: "#/definitions/Error"
          "503":
            description: "Service Unavailable"
            schema:
              $ref: "#/definitions/Error"
        security:
        - xs2a_auth_aspsp:
          - "ais"
        - xs2a_auth_decoupled:
          - "ais"
  /v2_1.5/payments/v2_1.5/domestic:
    x-swagger-router-controller: pis
    post:
      summary: "Initiate domestic transfer"
      description: ""
      operationId: domestic
      parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: domesticRequest
          in: body
          description: "Data for domestic transfer"
          required: true
          schema:
            $ref: "#/definitions/PaymentDomesticRequest"
      tags:
        - PIS
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/AddPaymentResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "pis"
      - xs2a_auth_decoupled:
        - "pis"
  /v2_1.5/payments/v2_1.5/EEA:
    x-swagger-router-controller: pis
    post:
      summary: "Initiate SEPA / TARGET foreign transfers"
      description: ""
      operationId: EEA
      parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: EEARequest
          in: body
          description: "Data for SEPA foreign transfer"
          required: true
          schema:
            $ref: "#/definitions/PaymentEEARequest"
      tags:
        - PIS
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/AddPaymentResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "pis"
      - xs2a_auth_decoupled:
        - "pis"
  /v2_1.5/payments/v2_1.5/nonEEA:
    x-swagger-router-controller: pis
    post:
      summary: "Initiate non SEPA foreign transfers"
      operationId: nonEEA
      parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: nonEEARequest
          in: body
          description: "Data for non SEPA foreign transfer"
          required: true
          schema:
            $ref: "#/definitions/PaymentNonEEARequest"
      tags:
        - PIS
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/AddPaymentResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "pis"
      - xs2a_auth_decoupled:
        - "pis"
  /v2_1.5/payments/v2_1.5/tax:
    x-swagger-router-controller: pis
    post:
      summary: "Initiate tax transfer"
      description: ""
      operationId: tax
      parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: taxRequest
          in: body
          description: "Data for tax transfer"
          required: true
          schema:
            $ref: "#/definitions/PaymentTaxRequest"
      tags:
        - PIS
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/AddPaymentResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "pis"
      - xs2a_auth_decoupled:
        - "pis"
  /v2_1.5/payments/v2_1.5/bundle:
    x-swagger-router-controller: pis
    post:
      summary: "Initiate many transfers as bundle"
      description: ""
      operationId: bundle
      parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: bundleRequest
          in: body
          description: "Data for bundle of transfers"
          required: true
          schema:
            $ref: "#/definitions/PaymentsBundleRequest"
      tags:
        - PIS
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/PaymentsBundleResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "pis"
      - xs2a_auth_decoupled:
        - "pis"
  /v2_1.5/payments/v2_1.5/recurring:
    x-swagger-router-controller: pis
    post:
      summary: "Defines new recurring payment"
      description: ""
      operationId: recurring
      parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: recurringRequest
          in: body
          description: "Data for recurring payment definition"
          required: true
          schema:
            $ref: "#/definitions/RecurringPaymentRequest"
      tags:
        - PIS
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/RecurringPaymentResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "pis"
      - xs2a_auth_decoupled:
        - "pis"
  /v2_1.5/payments/v2_1.5/getPayment:
    x-swagger-router-controller: pis
    post:
      summary: "Get the status of payment"
      operationId: getPayment
      parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: getPaymentRequest
          in: body
          description: "Payment ID"
          required: true
          schema:
            $ref: "#/definitions/PaymentRequest"
      tags:
        - PIS
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/GetPaymentResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "429":
          description:  "Request limit for the requested service exceeded"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "pis"
      - xs2a_auth_decoupled:
        - "pis"
  /v2_1.5/payments/v2_1.5/getBundle:
    x-swagger-router-controller: pis
    post:
      summary: "Get the status of bundle of payments"
      operationId: getBundle
      parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: getBundleRequest
          in: body
          description: "Bundle ID"
          required: true
          schema:
            $ref: "#/definitions/BundleRequest"
      tags:
        - PIS
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/BundleResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "429":
          description:  "Request limit for the requested service exceeded"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "pis"
      - xs2a_auth_decoupled:
        - "pis"
  /v2_1.5/payments/v2_1.5/getRecurringPayment:
    x-swagger-router-controller: pis
    post:
      summary: "Get the status of recurring payment"
      operationId: getRecurringPayment
      parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: getRecurringPaymentRequest
          in: body
          description: "Recurring payment identification"
          required: true
          schema:
            $ref: "#/definitions/RecurringPaymentStatusRequest"
      tags:
        - PIS
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/RecurringPaymentStatusResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "429":
          description:  "Request limit for the requested service exceeded"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "pis"
      - xs2a_auth_decoupled:
        - "pis"
  /v2_1.5/payments/v2_1.5/getMultiplePayments:
    x-swagger-router-controller: pis
    post:
      summary: "Get the status of multiple payments"
      description: ""
      operationId: getMultiplePayments
      parameters:
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: getMultiplePaymentsRequest
          in: body
          description: "Payments ID list"
          required: true
          schema:
            $ref: "#/definitions/PaymentsRequest"
      tags:
        - PIS
      responses:
        "200":
          description: "Success"
          schema:
            $ref: "#/definitions/PaymentsResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "429":
          description:  "Request limit for the requested service exceeded"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
  /v2_1.5/payments/v2_1.5/cancelPayments:
    x-swagger-router-controller: pis
    post:
      summary: "Cancelation of future dated payment"
      operationId: cancelPayments
      parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: cancelPaymentsRequest
          in: body
          description: "Payments to be cancelled - identification data"
          required: true
          schema:
            $ref: "#/definitions/CancelPaymentsRequest"
      tags:
        - PIS
      responses: 
        "200":
          description: Success. Operation pefrormed but some of transactions could not be cancelled.
          schema:
            $ref: "#/definitions/CancelPaymentsResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "204":
          description: Success. Operation pefrormed with no exceptions.
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "501":
            description: "Not Implemented"
            schema:
              $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "pis"
      - xs2a_auth_decoupled:
        - "pis"
  /v2_1.5/payments/v2_1.5/cancelRecurringPayment:
    x-swagger-router-controller: pis
    post:
      summary: "Cancelation of recurring payment"
      operationId: cancelRecurringPayment
      parameters:
        - $ref: "#/parameters/authorizationParam"
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: cancelRecurringPaymentRequest
          in: body
          description: "Recurring payment to be cancelled - identification data"
          required: true
          schema:
            $ref: "#/definitions/CancelRecurringPaymentRequest"
      tags:
        - PIS
      responses: 
        "200":
          description: Success
          schema:
            $ref: "#/definitions/CancelRecurringPaymentResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "401":
          description:  "Unauthorized"
          schema:
            $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
      security:
      - xs2a_auth_aspsp:
        - "pis"
      - xs2a_auth_decoupled:
        - "pis"
  /v2_1.5/confirmation/v2_1.5/getConfirmationOfFunds:
    x-swagger-router-controller: caf
    post:
      summary: "Confirmation of the availability of funds"
      description: "Confirming the availability on the payers account of the amount necessary to execute the payment transaction, as defined in Art. 65 PSD2."
      operationId: getConfirmationOfFunds
      parameters:
        - $ref: "#/parameters/acceptEncodingParam"
        - $ref: "#/parameters/acceptLanguageParam"
        - $ref: "#/parameters/acceptCharsetParam"
        #- $ref: "#/parameters/dateParam"
        - $ref: "#/parameters/xjwsSignatureParam"
        - $ref: "#/parameters/xRequestIdParam"
        - name: getConfirmationOfFundsRequest
          in: body
          description: "Object with amount to check"
          required: true
          schema:
            $ref: "#/definitions/ConfirmationOfFundsRequest"
      tags:
        - CAF
      responses:
        "200":
          description: Success
          schema:
            $ref: "#/definitions/ConfirmationOfFundsResponse"
          headers:
            Content-Encoding:
              type: string
              description: "Gzip, deflate"
            X-JWS-SIGNATURE:
              type: string
              description: "Detached JWS signature of the body of the response"
        "400":
            description:  "Bad request"
            schema:
              $ref: "#/definitions/Error"
        "403":
          description:  "Forbidden"
          schema:
            $ref: "#/definitions/Error"
        "405":
          description:  "Method Not Allowed"
          schema:
            $ref: "#/definitions/Error"
        "406":
          description:  "Not Acceptable"
          schema:
            $ref: "#/definitions/Error"
        "415":
          description:  "Unsupported Media Type"
          schema:
            $ref: "#/definitions/Error"
        "422":
          description:  "Unprocessable entity"
          schema:
            $ref: "#/definitions/Error"
        "429":
          description:  "Request limit for the requested service exceeded"
          schema:
            $ref: "#/definitions/Error"
        "500":
          description: "Internal Server Error"
          schema:
            $ref: "#/definitions/Error"
        "503":
          description: "Service Unavailable"
          schema:
            $ref: "#/definitions/Error"
securityDefinitions:
  xs2a_auth_aspsp:
    type: "oauth2"
    flow: "accessCode"
    authorizationUrl: "https://apiHost/v2_1.5/auth/v2_1.5/authorize"
    tokenUrl: "https://apiHost/v2_1.5/auth/v2_1.5/token"
    scopes:
      "ais-accounts": "Permission to retrieve the list of accounts through Account Information Service"
      "ais": "Permission to execute methods of Account Information Service in context of particular account"
      "pis": "Permission to initiate payments and check their statuses through Payment Initiation Service"
  xs2a_auth_decoupled:
    type: "oauth2"
    flow: "accessCode"
    authorizationUrl: "https://apiHost/auth/authorizeExt"
    tokenUrl: "https://apiHost/v2_1.5/auth/v2_1.5/token"
    scopes:
      "ais-accounts": "Permission to retrieve the list of accounts through Account Information Service"
      "ais": "Permission to execute methods of Account Information Service in context of particular account"
      "pis": "Permission to initiate payments and check their statuses through Payment Initiation Service"
definitions:
  AuthorizeRequest:
    description: "Klasa zapytania o uzyskanie kodu autoryzacyjnego zgodnego z OAuth2"
    type: object
    required:
      - requestHeader
      - response_type
      - client_id
      - redirect_uri
      - scope
      - scope_details
      - state
      #- ipAddress
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderWithoutTokenAS"
      response_type:
        type: string
        description: "Typ odpowiedzi. Wartość stała: code"
      client_id:
        type: string
        description: "Identyfikator aplikacji TPP"
      redirect_uri:
        type: string
        description: "Adres usługi TPP, na które zostanie wykonane przekierowanie po uwierzytelnieniu klienta ASPSP"
      scope:
        type: string
        description: "Typy zgód o które prosi TPP. Lista identyfikatorów zgodna ze specyfikacją standardu Polish API."
      scope_details:
        $ref: "#/definitions/ScopeDetailsInput"
      state:
        type: string
        maxLength: 128
        description: "Losowa, unikalna w ramach TPP wartość – zabezpieczenie przed atakiem Cross-Site Request Forgery"
    xml:
      name: AuthorizeRequest
  AuthorizeResponse:
    description: "Klasa odpowiedzi na zapytanie TPP o autoryzację PSU do wykonania usługi interfejsu XS2A"
    required:
      - responseHeader
      - aspspRedirectUri
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
      aspspRedirectUri:
        type: string
        description: "Adres po stronie ASPSP, na który TPP powinien dokonać przekierowania przeglądarki PSU w celu jego uwierzytelnienia"
    xml:
      name: AuthorizeResponse
#  EatCodeRequest:
#    description: "Klasa zapytania o uzyskanie kodu autoryzacyjnego zgodnego z OAuth2 na podstawie przekazanego kodu jednorazowego, wygenerowanego w EAT"
#    type: object
#    required:
#      - requestHeader
#      #- requestId
#      - response_type
#      - eatCode
#      - client_id
#      #- callbackURL
#      #- apiKey
#      - scope
#      - scope_details
#    properties:
#      requestHeader:
#        $ref: "#/definitions/RequestHeaderWithoutTokenCallbackAS"
#      response_type:
#        type: string
#        description: "Typ odpowiedzi. Wartość stała: code"
#      eatCode: 
#        type: string
#        description: "Jednorazowy kod autoryzacyjny wygenerowany przez EAT"
#      eatType: 
#        $ref: "#/definitions/DictionaryItem"
#        #description: "Typ narzędzia EAT, w którym został wygenerowany kod jednorazowy / Type of EAT that One-Time Code origins from"
#      client_id: 
#        type: string
#        description: "Identyfikator aplikacji TPP"
#      scope:
#        type: string
#        description: "Typy zgód o które prosi TPP. Lista identyfikatorów zgodna ze specyfikacją standardu Polish API."
#      scope_details:
#        $ref: "#/definitions/ScopeDetailsInput"
#      state:
#        type: string
#        description: "Losowa, unikalna w ramach TPP wartość – zabezpieczenie przed atakiem Cross-Site Request Forgery"
#    xml:
#      name: EatCodeRequest
  TokenRequest:
    description: "Klasa zapytania o uzyskanie tokena dostępowego zgodnego z OAuth2"
    type: object
    required:
      - grant_type
      - client_id
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderWithoutTokenAS"
      grant_type:
        type: string
        description: "Typ zastosowanej autoryzacji. Jedna z wartości: authorization_code, refresh_token, exchange_token (rozszerzenie standardu OAuth2)"
      Code:
        type: string
        description: "Kod autoryzacji uzyskany podczas żądania do usługi /authorize OAuth2. Wymagany dla grant_type=authorization_code."
      redirect_uri:
        type: string
        description: "Adres usługi TPP, na które zostanie wykonane przekierowanie po wygenerowaniu tokena dostępowego przez ASPSP. Wymagany dla grant_type=authorization_code."  
      client_id:
        type: string
        description: "Identyfikator aplikacji TPP."
      refresh_token:
        type: string
        description: "Wartość tokena, który służy do uzyskania nowego tokena dostępowego dla tego samego zakresu zgód (scope, scope_details) - w przypadku gdy pierwotny token utraci swoją ważność, lub dla zawężonego zakresu zgód. Wymagany dla grant_type=refresh_token."
      exchange_token:
        type: string
        description: "Wartość tokena, który służy do uzyskania nowego tokena dostępowego dla innego zakresu zgód (scope, scope_details). Wartością tego parametru powinien być token dostępowy ważnej sesji komuikacyjnej z interfejsem XS2A. Wymagany dla grant_type=exchange_token."
      scope:
        type: string
        description: "Typy zgód o które prosi TPP. Lista identyfikatorów zgodna ze specyfikacją standardu Polish API. Wymagany dla grant_type=exchange_token."
      scope_details:
        $ref: "#/definitions/ScopeDetailsInput"
      is_user_session:
        type: boolean
        description: "Określa czy dana sesja jest związana z interakcją z PSU – wartości true/false. Rozszerzenie standardu OAuth2."
      user_ip:
        type: string
        description: "IP przeglądarki użytkownika (informacja na potrzeby fraud detection). Rozszerzenie standardu OAuth2. Wymagany dla is_user_session = true."
      user_agent:
        type: string
        description: "Informacja dotycząca wersji przeglądarki użytkownika (informacja na potrzeby fraud detection). Rozszerzenie standardu OAuth2. Wymagany dla is_user_session = true."
    xml:
      name: TokenRequest
  TokenResponse:
    description: "Klasa odpowiedzi na zapytanie TPP o wygenerowanie tokena dostępowego"
    required:
      - responseHeader
      - access_token
      - token_type
      - expires_in
      - scope_details
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
      access_token:
        type: string
        description: "Wartość wygenerowanego tokena dostępowego"
      token_type:
        type: string
        description: "Typ tokena dostępowego. Dozwolona wartość to Bearer."  
      expires_in:
        type: string
        description: "Czas ważności tokena dostępowego, po którym zostanie on unieważniony. Wartość wyrażona w sekundach, od momentu wygenerowania odpowiedzi."
      refresh_token:
        type: string
        description: "Wartość wygenerowanego tokena służącego do uzyskania nowego tokena dostępowego bez konieczności ponownej autoryzacji"
      scope:
        type: string
        description: "Typy zgód które uzyskał TPP. Lista identyfikatorów zgodna ze specyfikacją standardu Polish API."
      scope_details:
        $ref: "#/definitions/ScopeDetailsOutput"
  DeleteConsentRequest:
    description: "Klasa zapytania o usunięcie zgody na dostęp do AIS"
    type: object
    required:
      - requestHeader
      - consentId
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderWithoutToken"
      consentId:
        type: string
        description: "Identyfikator zgody / Consent ID"
    xml:
      name: DeleteConsentRequest
  AccountsRequest:
    description: "Klasa zapytania o rachunki / Accounts Request Class"
    type: object
    required:
      - requestHeader
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderAISCallback"
      pageId:
        type: string
        description: "Używane w celu stronicowania danych: identyfikator strony, która ma zostać zwrócona w odpowiedzi / Used for paging the results. Identifier of the page to be returned in the response."
      perPage:
        type: integer
        format: int32
        minimum: 1
        description: "Używane w celu stronicowania danych: wielkość strony danych / Page size (paging info)"
    xml:
      name: AccountsRequest
  AccountResponse:
    description: "Klasa odpowiedzi na zapytania o konto PSU / PSU's Account Response Class"
    required:
      - responseHeader
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
      account:
        $ref: "#/definitions/AccountInfo"
  AccountsResponse:
    description: "Klasa odpowiedzi na zapytania o wiele kont PSU / PSU's Multiple Accounts Response Class"
    required:
      - responseHeader
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
      accounts:
        type: array
        items:
          $ref: "#/definitions/AccountBaseInfo"
      pageInfo:
        $ref: "#/definitions/PageInfo"
  AccountBaseInfo:
      description: "Klasa informacji o koncie / Account Information Class"
      type: object
      required:
        - accountNumber
        - accountTypeName
        - accountType
      properties:
        accountNumber:
          type: string
          description: "Numer rachunku (częściowo zamaskowany) / Account number (partly masked)"
        accountTypeName:
          type: string
          maxLength: 32
          description: "Nazwa typu rachunku (definiowana przez ASPSP) / Account's type name (defined by ASPSP)"
        accountType:
          $ref: "#/definitions/DictionaryItem"
          #description: "Typ rachunku / Account’s type"
      xml:
        name: AccountBaseInfo
  AccountInfo:
    description: "Klasa informacji o koncie / Account Information Class"
    type: object
    required:
      - accountNumber
      - nameAddress
      - availableBalance
      - bookingBalance
      - currency
      - accountType
      #- accountHolderType
    properties:
      accountNumber:
        type: string
        description: "Numer rachunku / Account number"
      nameAddress:
        $ref: "#/definitions/NameAddress"
        #description: "Obiekt klasy NameAddress - Imię Nazwisko lub Nazwa PSU  / NameAddress class object - Given name nad surname or name of the company"
      accountType:
        $ref: "#/definitions/DictionaryItem"
        #description: "Typ rachunku / Account’s type"
      accountTypeName:
        type: string
        maxLength: 32
        description: "Nazwa typu rachunku (definiowana przez ASPSP) / Account's type name (defined by ASPSP)"
      accountHolderType:
        type: string
        enum:
          - individual
          - corporation
        description: "Rodzaj posiadacza rachunku: osoba fizyczna lub osoba prawna / Account holder type: individual person or corporation"
      #accountNameClient:
      #  type: string
      #  maxLength: 32
      #  description: "Nazwa konta ustawiona przez klienta / Account name set by the client"
      currency:
        type: string
        maxLength: 3
        description: "Waluta rachunku / Currency"
      availableBalance:
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Dostępne środki - po wykonaniu transakcji / Available funds"
      bookingBalance:
        type: string
        pattern: '^-?(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Saldo księgowe rachunku - po wykonaniu transakcji / Book balance of the account"
      #bank:
      #  $ref: "#/definitions/BankAccountInfo"
      #auxData:
      #  $ref: "#/definitions/Map"
      #  #description: "Dodatkowe dane w postaci mapy klucz wartość/ Additional data as key-value map"
    xml:
      name: AccountInfo
  AccountInfoRequest:
    description: "Klasa zapytania o pojedynczy rachunek / Account Information Request Class"
    type: object
    required:
      - requestHeader
      - accountNumber
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderAIS"
      accountNumber:
        type: string
        description: "Numer rachunku / Account number"
    xml:
      name: AccountInfoRequest
  ItemInfoRequestBase:
    description: "Bazowa klasa dla zapytań o elementy takie jak transakcja i blokada / Element (transaction or hold) Information Request Base Class"
    type: object
    properties: 
      requestHeader:
        $ref: "#/definitions/RequestHeaderAISCallback"
      accountNumber:
        type: string
        description: "Numer rachunku / Account number"
      itemIdFrom:
        type: string
        maxLength: 64
        description: "Element filtru: elementy od podanego identyfikatora (transakcji lub blokady) / Filter element - id of transaction or hold to start from"
      transactionDateFrom:
        type: string
        format: date
        maxLength: 10
        description: "Element filtru: data transakcji od, YYYY-MM-DD / Filter element"
      transactionDateTo:
        type: string
        format: date
        maxLength: 10
        description: "Element filtru: data transakcji do, YYYY-MM-DD / Filter element"
      bookingDateFrom:
        type: string
        format: date
        maxLength: 10
        description: "Element filtru: data księgowania od, YYYY-MM-DD. Ignorowane w przypadku pobierania listy blokad. / Filter element. Ignored during list of holds retrieval."
      bookingDateTo:
        type: string
        format: date
        maxLength: 10
        description: "Element filtru: data księgowania do, YYYY-MM-DD. Ignorowane w przypadku pobierania listy blokad. / Filter element. Ignored during list of holds retrieval."
      minAmount:
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Element filtru: kwota od / Filter element"
      maxAmount:
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Element filtru: kwota do / Filter element"
      pageId:
        type: string
        description: "Używane w celu stronicowania danych: identyfikator strony, która ma zostać zwrócona w odpowiedzi / Used for paging the results. Identifier of the page to be returned in the response."
      perPage:
        type: integer
        format: int32
        minimum: 1
        description: "Używane w celu stronicowania danych: wielkość strony danych / Page size (paging info)"
    xml:
      name: ItemInfoRequestBase
  TransactionInfoRequest:
    description: "Klasa zapytania o transakcje / Transaction Information Request Class"
    allOf:
      - "$ref": "#/definitions/ItemInfoRequestBase"
      - type: object
        required: 
          - requestHeader
          - accountNumber
        properties: 
          type:
            type: string
            enum:
            - CREDIT
            - DEBIT
            description: "Element filtru: transakcji / Filter element"
    xml:
      name: TransactionInfoRequest
  HoldRequest:
    description: "Klasa zapytania o elementy (transakcje lub blokady) / Element (transaction or hold) Information Request Class"
    allOf:
      - "$ref": "#/definitions/ItemInfoRequestBase"
      - type: object  
        required: 
          - requestHeader
          - accountNumber
        properties: 
          type:
            type: string
            enum:
            - DEBIT
            description: "Element filtru: transakcji / Filter element"
    xml:
      name: HoldRequest
  ItemInfoBase:
    description: "Klasa bazowa informacji o elemencie (transakcji lub blokadzie) / Element (transaction or hold) Information Base Class"
    type: object
    required:
      - itemId
      - amount
    properties: 
      itemId:
        type: string
        maxLength: 64
        description: "ID elementu (transakcji lub blokadzie) nadany przez ASPSP / Element (transaction or hold) ID (ASPSP)"
      amount:
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Kwota transakcji / Amount of the transaction"
      currency:
        type: string
        maxLength: 3
        description: "Kod ISO waluty transakcji / Currency (ISO)"
      description:
        type: string
        maxLength: 140
        description: "Tytuł transakcji / Description of the transaction"
      transactionType:
        type: string
        maxLength: 100
        description: "Typ transakcji / Transaction type"
      tradeDate:
        type: string
        format: date
        maxLength: 10
        description: "Data operacji, YYYY-MM-DD / Date of the operation"
      #mcc: 
      #  type: string
      #  description: "Kod dla każdej transakcji/operacji wykonanej przy użyciu karty / A code of each transaction performed by card"
      #auxData:
      #  $ref: "#/definitions/Map"
  HoldInfo:
    description: "Klasa opisująca blokadę na rachunku / Hold info class"
    allOf:
      - "$ref": "#/definitions/ItemInfoBase"
      - type: object
        required:
          - itemId
          - amount
        properties:
          holdExpirationDate:
            type: string
            format: date
            maxLength: 10
            description: "Data ważności blokady, YYYY-MM-DD"
      #    initiator:
      #      $ref: "#/definitions/NameAddress"
          sender:
            $ref: "#/definitions/SenderRecipient"
          recipient:
            $ref: "#/definitions/SenderRecipient"
    xml:
      name: HoldInfo
  # TransactionPendingInfo:
  #   description: "Klasa opisująca oczekującą transakcję płatniczą. Jest to transakcja niezaksięgowana, niemodyfikowalna, wpływającej na dostępne środki (saldo dostępne)."
  #   allOf:
  #     - "$ref": "#/definitions/ItemInfoBase"
  #     - type: object  
  #       required:
  #         - itemId
  #         - amount
  #         - transactionCategory
  #       properties:
  #         transactionCategory:
  #           type: string
  #           enum:
  #           - CREDIT
  #           - DEBIT
  #           description: "Kategoria transakcji uznanie/obciążenie / Transaction category (credit/debit)"
  #     #    initiator:
  #     #      $ref: "#/definitions/NameAddress"
  #         sender:
  #           $ref: "#/definitions/SenderRecipient"
  #         recipient:
  #           $ref: "#/definitions/SenderRecipient"
  #   xml:
  #     name: TransactionPendingInfo
  TransactionRejectedInfo:
    description: "Klasa opisująca odrzuconą transakcję płatniczą"
    allOf:
      - "$ref": "#/definitions/ItemInfoBase"
      - type: object
        required:
          - itemId
          - amount
          - transactionCategory
        properties:
          transactionCategory:
            type: string
            enum:
            - CREDIT
            - DEBIT
            description: "Kategoria transakcji uznanie/obciążenie / Transaction category (credit/debit)"
      #    initiator:
      #      $ref: "#/definitions/NameAddress"
          sender:
            $ref: "#/definitions/SenderRecipient"
          recipient:
            $ref: "#/definitions/SenderRecipient"
          rejectionReason:
            type: string
            maxLength: 140
            description: Powod odrzucenia
          rejectionDate:
            type: string
            format: date
            description: "Data odrzucenia, YYYY-MM-DD"
    xml:
      name: TransactionRejectedInfo
  TransactionInfo:
    description: "Klasa opisująca transakcję płatniczą"
    allOf:
      - "$ref": "#/definitions/ItemInfoBase"
      - type: object  
        required:
          - itemId
          - amount
          - transactionCategory
        properties:
          transactionCategory:
            type: string
            enum:
            - CREDIT
            - DEBIT
            description: "Kategoria transakcji uznanie/obciążenie / Transaction category (credit/debit)"
          transactionStatus:
            $ref: "#/definitions/DictionaryItem"
            #description: "Status transakcji / Transaction status"
      #    initiator:
      #      $ref: "#/definitions/NameAddress"
          sender:
            $ref: "#/definitions/SenderRecipient"
          recipient:
            $ref: "#/definitions/SenderRecipient"
          bookingDate:
            type: string
            format: date
            maxLength: 10
            description: "Data księgowania, YYYY-MM-DD. Wymagane warunkowo - w przypadku transakcji zaksięgowanych."
          postTransactionBalance:
            type: string
            pattern: '^-?(0|([1-9][0-9]{0,}))\.\d{2}$'
            description: "Saldo rachunku po transakcji. Wymagane warunkowo - w przypadku transakcji zaksięgowanych."
    xml:
      name: TransactionInfo
  # TransactionCancelledInfo:
  #   description: "Klasa opisująca odwołaną transakcję płatniczą"
  #   allOf:
  #     - "$ref": "#/definitions/ItemInfoBase"
  #     - type: object  
  #       required:
  #         - itemId
  #         - amount
  #         - transactionCategory
  #       properties:
  #         transactionCategory:
  #           type: string
  #           enum:
  #           - CREDIT
  #           - DEBIT
  #           description: "Kategoria transakcji uznanie/obciążenie / Transaction category (credit/debit)"
  #         transactionStatus:
  #           $ref: "#/definitions/DictionaryItem"
  #           #description: "Status transakcji / Transaction status"
  #     #    initiator:
  #     #      $ref: "#/definitions/NameAddress"
  #         sender:
  #           $ref: "#/definitions/SenderRecipient"
  #         recipient:
  #           $ref: "#/definitions/SenderRecipient"
  #   xml:
  #     name: TransactionCancelledInfo
  # TransactionScheduledInfo:
  #   description: "Klasa opisująca zaplanowaną transakcję płatniczą"
  #   allOf:
  #     - "$ref": "#/definitions/ItemInfoBase"
  #     - type: object  
  #       required:
  #         - itemId
  #         - amount
  #         - transactionCategory
  #       properties:
  #         transactionCategory:
  #           type: string
  #           enum:
  #           - CREDIT
  #           - DEBIT
  #           description: "Kategoria transakcji uznanie/obciążenie / Transaction category (credit/debit)"
  #         transactionStatus:
  #           $ref: "#/definitions/DictionaryItem"
  #           #description: "Status transakcji / Transaction status"
  #     #    initiator:
  #     #      $ref: "#/definitions/NameAddress"
  #         sender:
  #           $ref: "#/definitions/SenderRecipient"
  #         recipient:
  #           $ref: "#/definitions/SenderRecipient"
  #   xml:
  #     name: TransactionScheduledInfo
  TransactionsDoneInfoResponse:
    description: "Klasa odpowiedzi zawierająca listę transakcji done / Done Transaction Information Response Class"
    required:
      - responseHeader
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
      transactions:
        type: array
        items:
          $ref: "#/definitions/TransactionInfo"
      pageInfo:
        $ref: "#/definitions/PageInfo"
    xml:
      name: TransactionsDoneInfoResponse
  # TransactionsCancelledInfoResponse:
  #   description: "Klasa odpowiedzi zawierająca listę transakcji cancelled / Cancelled Transaction Information Response Class"
  #   required:
  #     - responseHeader
  #   properties:
  #     responseHeader:
  #       $ref: "#/definitions/ResponseHeader"
  #     transactions:
  #       type: array
  #       items:
  #         $ref: "#/definitions/TransactionCancelledInfo"
  #     pageInfo:
  #       $ref: "#/definitions/PageInfo"
  #   xml:
  #     name: TransactionsCancelledInfoResponse
  # TransactionsScheduledInfoResponse:
  #   description: "Klasa odpowiedzi zawierająca listę transakcji scheduled / Scheduled Transaction Information Response Class"
  #   required:
  #     - responseHeader
  #   properties:
  #     responseHeader:
  #       $ref: "#/definitions/ResponseHeader"
  #     transactions:
  #       type: array
  #       items:
  #         $ref: "#/definitions/TransactionScheduledInfo"
  #     pageInfo:
  #       $ref: "#/definitions/PageInfo"
  #   xml:
  #     name: TransactionsScheduledInfoResponse
  # TransactionPendingInfoResponse:
  #   description: "Klasa odpowiedzi zawierająca listę transakcji pending / Pending Transaction Information Response Class"
  #   required:
  #     - responseHeader
  #   properties:
  #     responseHeader:
  #       $ref: "#/definitions/ResponseHeader"
  #     transactions:
  #       type: array
  #       items:
  #         $ref: "#/definitions/TransactionPendingInfo"
  #     pageInfo:
  #       $ref: "#/definitions/PageInfo"
  #   xml:
  #     name: TransactionPendingInfoResponse
  TransactionRejectedInfoResponse:
    description: "Klasa odpowiedzi zawierająca listę transakcji rejected / Rejected Transaction Information Response Class"
    required:
      - responseHeader
    properties:
      responseHeader:
          $ref: "#/definitions/ResponseHeader"
      transactions:
        type: array
        items:
          $ref: "#/definitions/TransactionRejectedInfo"
      pageInfo:
        $ref: "#/definitions/PageInfo"
    xml:
      name: TransactionRejectedInfoResponse
  HoldInfoResponse:
    description: "Klasa odpowiedzi zawierająca listę blokad na rachunku / Hold Information Response Class"
    required:
      - responseHeader
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
      holds:
        type: array
        items:
          $ref: "#/definitions/HoldInfo"
      pageInfo:
        $ref: "#/definitions/PageInfo"
    xml:
      name: HoldInfoResponse
  TransactionDetailRequest:
    description: "Klasa zapytania o pojedynczą transakcję / Transaction Detail Request Class"
    type: object
    required:
      - requestHeader
      - itemId
      - accountNumber
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderAIS"
      itemId:
        type: string
        maxLength: 64
        description: "ID elementu (transakcji lub blokadzie) nadany przez ASPSP / Element (transaction or hold) ID (ASPSP)"
      accountNumber:
        type: string
        maxLength: 34
        description: "Numer konta nadawcy / Sender account number"
      bookingDate:
        type: string
        format: date
        maxLength: 10
        description: "Data zaksięgowania operacji, YYYY-MM-DD / Transaction booking date"
    xml:
      name: TransactionDetailRequest
  Payor:
    description: "Klasa informacji o płatniku do US / Tax Payor Information Class"
    type: object
    required: 
      - payorId
      - payorIdType
    properties:
      payorId:
        type: string
        maxLength: 20
        description: "Identyfikator płatnika / Payor ID"
      payorIdType:
        type: string
        description: "Typ identyfikatora płatnika / Payor ID type"
        enum:
          - 'N'
          - 'P'
          - 'R'
          - '1'
          - '2'
          - '3'
        x-ms-enum:
          name: payorIdType
          values:
          - value: N
            description: NIP
          - value: P
            description: Pesel
          - value: R
            description: Regon
          - value: 1
            description: Dowód osobisty
          - value: 2
            description: Paszport
          - value: 3
            description: Inny
    xml:
      name: Payor
  SocialSecurityPayor:
    description: "Klasa informacji o płatniku do ZUS / Polish Social Security Institution (ZUS) Payor Information Class"
    type: object
    properties:
      nip:
        type: string
        maxLength: 10
        description: "Numer Identyfikacji Podatkowej / Payor's Tax Identification Number"
      additionalPayorId:
        type: string
        maxLength: 20
        description: "Dodatkowy numer identyfikacyjny płatnika / Payor's additional identification number"
      additionalPayorIdType:
        type: string
        description: "Typ dodatkowego identyfikatora płatnika / Payor's additional identifier type"
        enum:
          - 'P'
          - 'R'
          - '1'
          - '2'
        x-ms-enum:
          name: additionalPayorIdType
          values:
          - value: P
            description: Pesel
          - value: R
            description: Regon
          - value: 1
            description: Dowód osobisty
          - value: 2
            description: Paszport
    xml:
      name: SocialSecurityPayor
  TransactionInfoZUS:
    description: "Klasa informacji danych dla przelewu do ZUS / ZUS Transfer Information Class"
    type: object
    properties:
      payerInfo:
        $ref: "#/definitions/SocialSecurityPayor"
      contributionType:
        type: string
        maxLength: 1
        description: "Typ wpłaty / Contribution type"
      contributionId:
        type: string
        maxLength: 2
        description: "Numer deklaracji / Contribution identifier"
      contributionPeriod:
        type: string
        maxLength: 6
        description: "Okres deklaracji / Contribution period, Format: MMYYYY"
      paymentTypeId:
        type: string
        maxLength: 1
        description: "Identyfikator typu płatności / Payment type ID"
      obligationId:
        type: string
        maxLength: 40
        description: "Numer tytułu wykonawczego / Obligation identifier or number"
    xml:
      name: TransactionInfoZUS
  TransactionInfoTax:
    description: "Klasa informacji danych dla przelewu podatkowego do Urzędu Skarbowego lub Izby Celnej / Tax Transfer"
    type: object
    required:
      - payerInfo
      - formCode
    properties:
      payerInfo:
        $ref: "#/definitions/Payor"
      formCode:
        type: string
        maxLength: 7
        description: "Symbol formularza Urzędu Skarbowego lub Izby Celnej / Tax authority form symbol"
      periodId:
        type: string
        maxLength: 7
        description: "Numer okresu. Wymagany warunkowo - w zależności od wartości parametru formCode. / Period number. Required conditionally - depending on formCode parameter value."
      periodType:
        type: string
        enum:
         - 'R'
         - 'P'
         - 'K'
         - 'M'
         - 'D'
         - 'J'
        description: "Typ okresu. Wymagany warunkowo - w zależności od wartości parametru formCode. / Period type. Required conditionally - depending on formCode parameter value. Wartości: R - rok, P - półrocze, K - kwartał, M - miesiąc, D - dekada, J - dzień."
      year:
        type: integer
        format: int32
        maximum: 9999
        description: "Rok okresu. Wymagany warunkowo - w zależności od wartości parametru formCode. / Period year. Required conditionally - depending on formCode parameter value."
      month:
        type: integer
        format: int32
        minimum: 1
        maximum: 12
        description: "Miesiąc okresu. Wymagany warunkowo - w zależności od wartości parametru periodType. / Period month. Required conditionally - depending on periodType parameter value."
      obligationId:
        type: string
        maxLength: 40
        description: "Identyfikator zobowiązania, z którego wynika należność podatku np. decyzja, tytuł wykonawczy, postanowienie / Obligation ID"
    xml: 
      name: TransactionInfoTax
  TransactionInfoCard:
    type: object
    description: "Klasa reprezentująca informacje o karcie w ramach transakcji / Transaction Card Information Class"
    properties:
      #cardHolder:
      #  type: string
      #  description: "Właściciel karty / Card holder"
      cardNumber:
        type: string
        description: "Numer karty / Card number"
  TransactionDetailResponse:
    description: "Klasa odpowiedzi na zapytanie o transakcję /  Transaction Detail Response Class"
    type: object
    required:
      - responseHeader
      - baseInfo
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
        #description: "Obiekt klasy ResponseHeader / ResponseHeader Class object
      baseInfo:
        $ref: "#/definitions/TransactionInfo"
        #description: "Obiekt klasy TransactionInfo / TransactionInfo Class object
      #zusInfo:
      #  $ref: "#/definitions/TransactionInfoZUS"
      #  #description: "Obiekt klasy TransactionInfoZUS / TransactionInfoZUS Class object
      #usInfo:
      #  $ref: "#/definitions/TransactionInfoTax"
      #  #description: "Obiekt klasy TransactionInfoTax / TransactionInfoTax Class object
      cardInfo:
        $ref: "#/definitions/TransactionInfoCard"
        #description: "Obiekt klasy TransactionInfoCard / TransactionInfoCard Class object
      currencyDate:
        type: string
        format: date
        maxLength: 10
        description: "Data kursu waluty, YYYY-MM-DD / Date of the currency exchange rate"
      transactionRate:
        type: array
        items:
          $ref: "#/definitions/CurrencyRate"
        #description: "Kursy transakcji / Currency exchange rates"
      baseCurrency:
        type: string
        maxLength: 3
        description: "Waluta oryginalna transakcji, kod ISO / Currency of the transaction, ISO code"
      amountBaseCurrency:
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Kwota w oryginalnej walucie / Amount of the transaction"
      usedPaymentInstrumentId:
        type: string
        maxLength: 32
        description: "Unikalny identyfikator instrumentu płatniczego, za którego pomocą wykonano transakcję / Payment Instrument ID"
      tppTransactionId:
        type: string
        maxLength: 64
        description: "Unikalny identyfikator transakcji po stronie TPP / Transaction ID (TPP)"
      tppName:
        type: string
        maxLength: 32
        description: "Nazwa TPP / TPP name"
      #rejectionReason:
      #  type: string
      #  maxLength: 140
      #  description: "Przyczyna odrzucenia / Reason for rejection"
      holdExpirationDate:
        type: string
        format: date
        maxLength: 10
        description: "Data ważności blokady, YYYY-MM-DD / Hold expiration date"
    xml:
      name: TransactionDetailResponse
      
  AuxBnppEEAData:
    description: Klasa grupująca dodatkowe parametry BNPP dla przelewów EEA
    type: object
    required:
    - recipientBankCountryCode
    properties:
      senderIdCode:
        $ref: "#/definitions/SenderRecipientIdCode"
        #description: Kod nadawcy
      senderIdValue:
        description: Wartość kodu nadawcy
        type: string
        maxLength: 35
      recipientIdCode:
        $ref: "#/definitions/SenderRecipientIdCode"
        #description: Kod nadawcy
      recipientIdValue:
        description: Wartość kodu odbiorcy
        type: string
        maxLength: 35
      recipientCountryCode:
        description: Kod kraju odbiorcy wg 3166-1 kod alfa-2. Wymagany dla systemu Target. / Required for system=Target.
        type: string
        maxLength: 2
      recipientCity:
        description: Miasto odbiorcy przelewu / Recipient city
        type: string
        maxLength: 30
      recipientBankCode:
        description: Numer rozliczeniowy banku odbiorcy (ABA, FedWire, etc.)
        type: string
        maxLength: 35
      recipientBankCountryCode:
        description: Kod kraju banku odbiorcy wg 3166-1 kod alfa-2
        type: string
        maxLength: 2
      recipientBankBicOrSwift:
        description: Numer BIC/SWIFT Banku. Wymagany dla systemu Target. / BIC/SWIFT number. Required for system=Target.
        type: string
        minLength: 8
        maxLength: 11
      paymentReference:
        description: ReferencjeTransakcji
        type: string
        maxLength: 35
      commissionAccountNumber:
        description: Rachunek do prowizji
        type: string
        maxLength: 28
      transferCharges:
        description: Klauzula kosztowa. Wymagana dla systemu Target/SEPA. Dla systemu SEPA akceptowana wartość tylko SHA / The cost clause. Required for system Target/SEPA. For SEPA only SHA is accepted value.
        type: string
        enum: 
          - SHA
          - OUR
          - BEN
     
  AuxBnppNonEEAData:
    description: Klasa grupująca dodatkowe parametry BNPP dla przelewów nonEEA
    type: object
    required:
    - recipientCountryCode
    - recipientBankCountryCode
    - recipientBankName
    - recipientBankCity
    properties:
      recipientCountryCode:
        description: Kod kraju odbiorcy wg 3166-1 kod alfa-2
        type: string
        maxLength: 2
      recipientBankCode:
        description: Numer rozliczeniowy banku odbiorcy (ABA, FedWire, etc.) 
        type: string
        maxLength: 35
      recipientBankName:
        description: Nazwa banku odbiorcy
        type: string
        maxLength: 35
      recipientBankCountryCode:
        description: Kod kraju banku odbiorcy wg 3166-1 kod alfa-2
        type: string
        maxLength: 2
      recipientBankCity:
        description: Miejscowość banku odbiorcy
        type: string
        maxLength: 35
      # paymentReference:
      #   description: ReferencjeTransakcji
      #   type: string
      #   maxLength: 35
      intermediaryBankName:
        description: Nazwa banku pośredniczącego
        type: string
        maxLength: 35
      intermediaryBankCity:
        description: Miejscowość banku pośredniczącego
        type: string
        maxLength: 35
      intermediaryBankCountry:
        description: Kraj banku pośredniczącego
        type: string
        maxLength: 35
      intermediaryBankBicOrSwift:
        description: Numer BIC/SWIFT banku pośredniczącego
        type: string
        minLength: 8
        maxLength: 11
      commissionAccountNumber:
        description: Rachunek do prowizji
        type: string
        maxLength: 28
      rusBankBIK:
        description: Numer BIK banku beneficjenta (wymagane dla waluty RUB)
        type: string
        minLength: 9
        maxLength: 9
      rusBankNr:
        description: Numer rachunku banku beneficjenta w banku centralnym Rosji (wymagane dla waluty RUB)
        type: string
        minLength: 20
        maxLength: 20
      rusStatCode:
        description: Kod statystyczny wg nomenklatury rosyjskiej (wymagane dla waluty RUB)
        type: string
        minLength: 7
        maxLength: 7
      rusInn:
        description: Numer INN beneficjenta w Rosji (wymagane dla waluty RUB)
        type: string
        minLength: 9
        maxLength: 12
      cnyPaymentCode:
        description: Kod płatności (wymagane dla waluty CNY) (TRP) - Trade related Payment / Platnosc handlowa, (RTRP) - Return of a Trade related Payment / Zwrot platnosci handlowej, (SRP) - Service related Payment / Platnosc za uslugi, (RSRP) - Return of a Service related Payment / Zwrot platnosci za uslugi, (CIRP) - Capital item related Payment / Platnosc dotyczaca kapitalu, (RCIRP) - Return of a Capital item related Payment / Zwrot platnosci dotyczacej kapitalu, (IP) - Individual Payment / Platnosc indywidualna, (RIP) - Return of an Individual Payment / Zwrot indywidualnej platnosci, (ORRP) - Other recurrent item related payments / Inne platnosci cykliczne, (ICBT) - Inter-bank cross-border funding transfer (new) ) / Miedzynarodowy transgraniczny przelew srodkow
        type: string
        enum:
          - TRP
          - RTRP
          - SRP
          - RSRP
          - CIRP
          - RCIRP
          - IP
          - RIP
          - ORRP
          - ICBT


  SenderRecipientIdCode:
    description: |
      Typ identyfikatora nadawcy/odbiorcy
      * BIC - Kod BIC/SWIFT /  BIC (SWIFT) code
      * IBEI - Numer IBEI (International Business Entity Identifier) /  International Business Entity Identifier
      * BEI - Numer BEI (Business Entity Identifier) /  Business Entity Identifier
      * EANG - EANGLN Globalny numer lokalizacyjny /  EANGLN Global Location Number
      * USCH - CHIPS  UID /  CHIPS  UID
      * DUNS - Identyfikator DUNS (Dun & Bradstreet) /  Data Universal Numbering System
      * BPID - Identyfikator kontrahenta banku /  Bank Party Identification
      * OTXI - Tax Identification Number /  Numer Identyfikacji Podatkowej
      * OPII - Proprietary Identification - Issuer /  Proprietary Identification - Issuer
      * DLNB - Numer prawa jazdy /  Driving License Number
      * CTNB - Numer klienta /  Customer Number
      * SSNB - Social Security Number /  Numer ubezpieczenia społecznego
      * ARNB - Numer Rejestracyjny Cudzoziemca /  Alien Registration Number
      * PPNB - Passport Number /  Numer paszportu
      * PTXI - Tax Identification Number /  Numer Identyfikacji Podatkowej
      * ICNB - Numer dowodu osobistego /  Identity Card Number
      * MPNB - Numer identyfikacyjny pracownika /  Employee Identification Number
      * DPOB - Date and Place of Birth /  Data i miejsce urodzenia
    type: string
    enum:
    - BIC
    - IBEI
    - BEI 
    - EANG 
    - USCH 
    - DUNS 
    - BPID 
    - OTXI 
    - OPII 
    - DLNB 
    - CTNB 
    - SSNB 
    - ARNB 
    - PPNB 
    - PTXI 
    - ICNB 
    - MPNB 
    - DPOB 
  
  PaymentDomesticRequest:
    description: "Klasa zlecenia przelewu krajowego / Domestic Transfer Request Class"
    type: object
    required:
      - requestHeader
      - recipient
      - sender
      - transferData
      - tppTransactionId
      - deliveryMode
      - system
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderCallback"
        #description: "Obiekt klasy RequestHeaderCallback / RequestHeaderCallback Class object
      paymentId:
        type: string
        description: "Identyfikator płatności nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      recipient:
        $ref: "#/definitions/RecipientPIS"
        #description: "Obiekt klasy RecipientPIS / RecipientPIS Class object"
      sender:
        $ref: "#/definitions/SenderPISDomestic"
        #description: "Obiekt klasy SenderPISDomestic / SenderPISDomestic Class object"
      transferData:
        $ref: "#/definitions/TransferDataDomestic"
        #description: "Obiekt klasy TransferDataDomestic / TransferDataDomestic Class object"
      tppTransactionId:
        type: string
        maxLength: 64
        description: "ID transakcji nadany przez TPP / Transaction ID (TPP)"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - StandardD1
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - Elixir
          - ExpressElixir
          - Sorbnet
          #- BlueCash
          - Internal
      hold:
        description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
        type: boolean
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
      splitPayment:
        description: "Czy płatność jest podzielona (true / false) / Indicates if payment is split (true / false)"
        type: boolean
        default: false
      transactionInfoSp:
        $ref: "#/definitions/TransactionInfoSp"
        #description: "Dane dotyczące płatności podzielonej. Wymagane w przypadku użycia mechanizmu Split payment. / Split Payment additional data. Required when Split Payment is used."
    xml:
      name: PaymentDomesticRequest
  PaymentDomesticRequestBundled: 
    description: "Klasa zlecenia przelewu krajowego w ramach paczki / Domestic Transfer inside bundle Request Class"
    type: object
    required: 
      - recipient
      - sender
      - transferData
      - tppTransactionId
      - deliveryMode
      - system
    properties: 
      recipient:
        $ref: "#/definitions/RecipientPIS"
        #description: "Obiekt klasy RecipientPIS / RecipientPIS Class object"
      sender:
        $ref: "#/definitions/SenderPISDomestic"
        #description: "Obiekt klasy SenderPISDomestic / SenderPISDomestic Class object"
      transferData:
        $ref: "#/definitions/TransferDataDomestic"
        #description: "Obiekt klasy TransferDataDomestic / TransferDataDomestic Class object"
      tppTransactionId:
        type: string
        maxLength: 64
        description: "ID transakcji nadany przez TPP / Transaction ID (TPP)"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - StandardD1
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - Elixir
          - ExpressElixir
          - Sorbnet
          #- BlueCash
          - Internal
      hold:
        description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
        type: boolean
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
      splitPayment:
        description: "Czy płatność jest podzielona (true / false) / Indicates if payment is split (true / false)"
        type: boolean
        default: false
      transactionInfoSp:
        $ref: "#/definitions/TransactionInfoSp"
        #description: "Dane dotyczące płatności podzielonej. Wymagane w przypadku użycia mechanizmu Split payment. / Split Payment additional data. Required when Split Payment is used."
    xml:
      name: PaymentDomesticRequestBundled
  RecurringDomesticPayment: 
    description: "Struktura danych przelewu krajowego, użyta do zdefinowania nowej płatności cyklicznej. / Data structure of domestic payment that is to be used to define new recurring payment."
    type: object
    required: 
      - recipient
      - sender
      - transferData
      - deliveryMode
      - system
    properties: 
      recipient:
        $ref: "#/definitions/RecipientPIS"
        #description: "Obiekt klasy RecipientPIS / RecipientPIS Class object"
      sender:
        $ref: "#/definitions/SenderPISDomestic"
        #description: "Obiekt klasy SenderPISDomestic / SenderPISDomestic Class object"
      transferData:
        $ref: "#/definitions/TransferDataRecurring"
        #description: "Obiekt klasy TransferDataRecurring / TransferDataRecurring Class object"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          #- ExpressD0
          - StandardD1
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - Elixir
          #- ExpressElixir
          #- Sorbnet
          #- BlueCash
          - Internal
      #hold:
        #description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
        #type: boolean
    xml:
      name: RecurringDomesticPayment        
  PaymentEEARequest:
    description: "Klasa zlecenia przelewu zagranicznego SEPA / EEA Transfer Request Class"
    type: object
    required:
      - requestHeader
      - recipient
      - sender
      - transferData
      - aux
      - tppTransactionId
      - deliveryMode
      - system
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderCallback"
        #description: "Obiekt klasy RequestHeaderCallback / RequestHeaderCallback Class object"
      paymentId:
        type: string
        description: "Identyfikator płatności nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      recipient:
        $ref: "#/definitions/RecipientPISForeign"
        #description: "Obiekt klasy RecipientPISForeign / RecipientPISForeign Class object"
      sender:
        $ref: "#/definitions/SenderPISForeign"
        #description: "Obiekt klasy SenderPISForeign / SenderPISForeign Class object"
      transferData:
        $ref: "#/definitions/TransferDataEEA"
        #description: "Obiekt klasy TransferDataEEA / TransferDataEEA Class object"
      aux:
        $ref: "#/definitions/AuxBnppEEAData"
      tppTransactionId:
        type: string
        maxLength: 64
        description: "ID transakcji nadany przez TPP / Transaction ID (TPP)"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - UrgentD1
          - StandardD2
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - SEPA
          #- InstantSEPA
          - Target
      hold:
        description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
        type: boolean
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
    xml:
      name: PaymentEEARequest
  PaymentEEARequestBundled: 
    description: "Klasa zlecenia przelewu zagranicznego SEPA w ramach paczki / EEA Transfer inside bundle Request Class"
    type: object
    required: 
      - recipient
      - sender
      - transferData
      - aux
      - tppTransactionId
      - deliveryMode
      - system
    properties:
      recipient:
        $ref: "#/definitions/RecipientPISForeign"
        #description: "Obiekt klasy RecipientPISForeign / RecipientPISForeign Class object"
      sender:
        $ref: "#/definitions/SenderPISForeign"
        #description: "Obiekt klasy SenderPISForeign / SenderPISForeign Class object"
      transferData:
        $ref: "#/definitions/TransferDataEEA"
        #description: "Obiekt klasy TransferDataEEA / TransferDataEEA Class object"
      aux:
        $ref: "#/definitions/AuxBnppEEAData"
      tppTransactionId:
        type: string
        maxLength: 64
        description: "ID transakcji nadany przez TPP / Transaction ID (TPP)"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - UrgentD1
          - StandardD2
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - SEPA
          #- InstantSEPA
          - Target
      hold:
        description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
        type: boolean
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
    xml:
      name: PaymentEEARequestBundled
  # RecurringEEAPayment: 
    # description: "Struktura danych przelewu zagranicznego SEPA, użyta do zdefinowania nowej płatności cyklicznej. / Data structure of EEA payment that is to be used to define new recurring payment."
    # type: object
    # required: 
      # - recipient
      # - sender
      # - transferData
      # - deliveryMode
      # - system
    # properties:
      # recipient:
        # $ref: "#/definitions/RecipientPISForeign"
        ##description: "Obiekt klasy RecipientPISForeign / RecipientPISForeign Class object"
      # sender:
        # $ref: "#/definitions/SenderPISForeign"
        ##description: "Obiekt klasy SenderPISForeign / SenderPISForeign Class object"
      # transferData:
        # $ref: "#/definitions/TransferDataEEA"
        ##description: "Obiekt klasy TransferDataEEA / TransferDataEEA Class object"
      # aux:
        # $ref: "#/definitions/AuxBnppEEAData"
      # deliveryMode:
        # description: "Tryb pilności / Urgency mode"
        # type: string
        # enum:
          # - ExpressD0
          # - StandardD1
      # system:
        # description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        # type: string
        # enum:
          # - SEPA
          ##- InstantSEPA
          ##- Target
      # hold:
        # description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
        # type: boolean
    # xml:
      # name: RecurringEEAPayment
  PaymentNonEEARequest:
    description: "Klasa zlecenia przelewu zagranicznego innego niż SEPA / NonEEA Transfer Request Class"
    type: object
    required:
      - requestHeader
      - recipient
      - recipientBank
      - sender
      - transferData
      - aux
      - transferCharges
      - tppTransactionId
      - deliveryMode
      - system
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderCallback"
        #description: "Obiekt klasy RequestHeaderCallback / RequestHeaderCallback Class object"
      paymentId:
        type: string
        description: "Identyfikator płatności nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      recipient:
        $ref: "#/definitions/RecipientPISForeign"
        #description: "Obiekt klasy RecipientPISForeign / RecipientPISForeign Class object"
      recipientBank:
        $ref: "#/definitions/Bank"
        #description: "Obiekt klasy Bank / Bank Class object"
      sender:
        $ref: "#/definitions/SenderPISForeign"
        #description: "Obiekt klasy SenderPISForeign / SenderPISForeign Class object"
      transferData:
        $ref: "#/definitions/TransferDataNonEEA"
        #description: "Obiekt klasy TransferDataNonEEA / TransferDataNonEEA Class object"
      aux:
        $ref: "#/definitions/AuxBnppNonEEAData"
      transferCharges:
        type: string
        maxLength: 3
        description: "Klauzula kosztowa / The cost clause"
        enum:
          - SHA
          - OUR
          - BEN
      tppTransactionId:
        type: string
        maxLength: 64
        description: "ID transakcji nadany przez TPP / Transaction ID (TPP)"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - UrgentD1
          - StandardD2
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - Swift
      hold:
       description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
       type: boolean
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
    xml:
      name: PaymentNonEEARequest
  PaymentNonEEARequestBundled: 
    description: "Klasa zlecenia przelewu zagranicznego innego niż SEPA w ramach paczki / NonEEA Transfer inside bundle Request Class"
    type: object
    required: 
      - recipient
      - recipientBank
      - sender
      - transferData
      - aux
      - transferCharges
      - tppTransactionId
      - deliveryMode
      - system
    properties: 
      recipient:
        $ref: "#/definitions/RecipientPISForeign"
        #description: "Obiekt klasy RecipientPISForeign / RecipientPISForeign Class object"
      recipientBank:
        $ref: "#/definitions/Bank"
        #description: "Obiekt klasy Bank / Bank Class object"
      sender:
        $ref: "#/definitions/SenderPISForeign"
        #description: "Obiekt klasy SenderPISForeign / SenderPISForeign Class object"
      transferData:
        $ref: "#/definitions/TransferDataNonEEA"
        #description: "Obiekt klasy TransferDataNonEEA / TransferDataNonEEA Class object"
      aux:
        $ref: "#/definitions/AuxBnppNonEEAData"
      transferCharges:
        type: string
        maxLength: 3
        description: "Klauzula kosztowa / The cost clause"
      tppTransactionId:
        type: string
        maxLength: 64
        description: "ID transakcji nadany przez TPP / Transaction ID (TPP)"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - UrgentD1
          - StandardD2
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - Swift
      hold:
       description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
       type: boolean
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
    xml:
      name: PaymentNonEEARequestBundled
  # RecurringNonEEAPayment: 
    # description: "Struktura danych przelewu zagranicznego innego niż SEPA, użyta do zdefinowania nowej płatności cyklicznej. / Data structure of non EEA payment that is to be used to define new recurring payment."
    # type: object
    # required: 
      # - recipient
      # - recipientBank
      # - sender
      # - transferData
      # - deliveryMode
      # - system
    # properties: 
      # recipient:
        # $ref: "#/definitions/RecipientPISForeign"
        ##description: "Obiekt klasy RecipientPISForeign / RecipientPISForeign Class object"
      # recipientBank:
        # $ref: "#/definitions/Bank"
        ##description: "Obiekt klasy Bank / Bank Class object"
      # sender:
        # $ref: "#/definitions/SenderPISForeign"
        ##description: "Obiekt klasy SenderPISForeign / SenderPISForeign Class object"
      # transferData:
        # $ref: "#/definitions/TransferDataNonEEA"
        ##description: "Obiekt klasy TransferDataNonEEA / TransferDataNonEEA Class object"
      # aux:
        # $ref: "#/definitions/AuxBnppNonEEAData"
      # transferCharges:
        # type: string
        # maxLength: 3
        # description: "Klauzula kosztowa / The cost clause"
      # deliveryMode:
        # description: "Tryb pilności / Urgency mode"
        # type: string
        # enum:
          # - ExpressD0
          # - UrgentD1
          # - StandardD2
      # system:
        # description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        # type: string
        # enum:
          # - Swift
      # hold:
       # description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
       # type: boolean
    # xml:
      # name: RecurringNonEEAPayment
  PaymentTaxRequest: 
    description: "Klasa zlecenia przelewu podatkowego / Tax Transfer Request Class"
    type: object
    required:
      - requestHeader
      - recipient
      - sender
      - transferData
      - tppTransactionId
      - deliveryMode
      - system
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderCallback"
        #description: "Obiekt klasy RequestHeaderCallback / RequestHeaderCallback Class object"
      paymentId:
        type: string
        description: "Identyfikator płatności nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      recipient:
        $ref: "#/definitions/RecipientPISTax"
        #description: "Obiekt klasy RecipientPISTax / RecipientPISTax Class object"
      sender:
        $ref: "#/definitions/SenderPISDomestic"
        #description: "Obiekt klasy SenderPISDomestic / SenderPISDomestic Class object"
      transferData:
        $ref: "#/definitions/TransferDataTax"
        #description: "Obiekt klasy TransferDataTax / TransferDataTax Class object"
      usInfo:
        $ref: "#/definitions/TransactionInfoTax"
        #description: "Obiekt klasy TransactionInfoTax / TransactionInfoTax Class object"
      tppTransactionId:
        type: string
        maxLength: 64
        description: "ID transakcji nadany przez TPP / Transaction ID (TPP)"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - StandardD1
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - Elixir
          - ExpressElixir
      hold:
       description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
       type: boolean
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
    xml:
      name: PaymentTaxRequest
  PaymentTaxRequestBundled: 
    description: "Klasa zlecenia przelewu podatkowego w ramach paczki / Tax Transfer inside bundle Request Class"
    type: object
    required: 
      - recipient
      - sender
      - transferData
      - tppTransactionId
      - deliveryMode
      - system
    properties: 
      recipient:
        $ref: "#/definitions/RecipientPISTax"
        #description: "Obiekt klasy RecipientPISTax / RecipientPISTax Class object"
      sender:
        $ref: "#/definitions/SenderPISDomestic"
        #description: "Obiekt klasy SenderPISDomestic / SenderPISDomestic Class object"
      transferData:
        $ref: "#/definitions/TransferDataTax"
        #description: "Obiekt klasy TransferDataTax / TransferDataTax Class object"
      usInfo:
        $ref: "#/definitions/TransactionInfoTax"
        #description: "Obiekt klasy TransactionInfoTax / TransactionInfoTax Class object"
      tppTransactionId:
        type: string
        maxLength: 64
        description: "ID transakcji nadany przez TPP / Transaction ID (TPP)"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - StandardD1
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - Elixir
          - ExpressElixir
      hold:
       description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
       type: boolean
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
    xml:
      name: PaymentTaxRequestBundled
  # RecurringTaxPayment: 
    # description: "Struktura danych przelewu do urzędu podatkowego, użyta do zdefinowania nowej płatności cyklicznej. / Data structure of tax payment that is to be used to define new recurring payment."
    # type: object
    # required: 
      # - recipient
      # - sender
      # - transferData
      # - deliveryMode
      # - system
    # properties: 
      # recipient:
        # $ref: "#/definitions/RecipientPISTax"
        ##description: "Obiekt klasy RecipientPISTax / RecipientPISTax Class object"
      # sender:
        # $ref: "#/definitions/SenderPISDomestic"
        ##description: "Obiekt klasy SenderPISDomestic / SenderPISDomestic Class object"
      # transferData:
        # $ref: "#/definitions/TransferDataTax"
        ##description: "Obiekt klasy TransferDataTax / TransferDataTax Class object"
      # usInfo:
        # $ref: "#/definitions/TransactionInfoTax"
        ##description: "Obiekt klasy TransactionInfoTax / TransactionInfoTax Class object"
      # deliveryMode:
        # description: "Tryb pilności / Urgency mode"
        # type: string
        # enum:
          # - ExpressD0
          # - StandardD1
      # system:
        # description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        # type: string
        # enum:
          # - Elixir
          # - ExpressElixir
      # hold:
       # description: "Czy założyć blokadę (w przypadku np. zlecenia przelewu w dniu wolnym) / Indicates if payment should be holded"
       # type: boolean
    # xml:
      # name: RecurringTaxPayment
  PaymentRequest:
    description: "Klasa zapytania o status płatności / Payment Request Class"
    required:
      - requestHeader
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeader"
        #description: "Obiekt klasy RequestHeader / RequestHeader Class object"
      paymentId:
        type: string
        maxLength: 64
        description: "Identyfikator płatności. Wymagany warunkowo - jeśli TPP otrzymał ten identyfikator od ASPSP. / Identifier of the payment. Conditionally required - in case TPP has received this identifier from ASPSP."
      tppTransactionId:
        type: string
        maxLength: 64
        description: "Identyfikator transakcji nadany przez TPP. Wymagany warunkowo - jeśli TPP nie otrzymał identyfikatora paymentId od ASPSP. / Identifier of transaction established by TPP. Conditionally required - in case TPP has not received paymentId from ASPSP."
    xml:
      name: PaymentRequest
  BundleRequest:
    description: "Klasa zapytania o status paczki płatności / Bundle Request Class"
    required:
      - requestHeader
      - transactionsIncluded
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeader"
        #description: "Obiekt klasy RequestHeader / RequestHeader Class object"
      bundleId:
        description: "Identyfikator paczki przelewów. Wymagany warunkowo - jeśli TPP otrzymał ten identyfikator od ASPSP. / Bundle of payments identifier.Conditionally required - in case TPP has received this identifier from ASPSP."
        type: string
        maxLength: 64
      tppBundleId:
        description: "Identyfikator paczki przelewów nadany przez TPP. Wymagany warunkowo - jeśli TPP nie otrzymał identyfikatora bundleId od ASPSP. / Bundle of payments identifier set by TPP. Conditionally required - in case TPP has not received bundleId from ASPSP."
        type: string
        maxLength: 64
      transactionsIncluded:
        type: boolean
        description: "(true / false) Znacznik oznaczający czy w odpowiedzi mają być uwzględnione statusy transakcji wchodzące w skład paczki / Indicates if statuses of payments from the bundle should be included"
    xml:
      name: BundleRequest
  RecurringPaymentStatusRequest:
    description: "Klasa zapytania o status płatności cyklicznej / Recurring payment status Request Class"
    required:
      - requestHeader
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeader"
        #description: "Obiekt klasy RequestHeader / RequestHeader Class object"
      recurringPaymentId:
        description: "Identyfikator płatności cyklicznej nadany przez ASPSP. Wymagany warunkowo - jeśli TPP otrzymał ten identyfikator od ASPSP. / Recurring payment identifier set by ASPSP. Conditionally required - in case TPP has received this identifier from ASPSP."
        type: string
        maxLength: 64
      tppRecurringPaymentId:
        description: "Identyfikator płatności cyklicznej nadany przez TPP. Wymagany warunkowo - jeśli TPP nie otrzymał identyfikatora recurringPaymentId od ASPSP. / Recurring payment identifier set by TPP. Conditionally required - in case TPP has not received recurringPaymentId from ASPSP."
        type: string
        maxLength: 64
    xml:
      name: RecurringPaymentStatusRequest   
  PaymentsBundleRequest:
    description: "Klasa zlecenia paczki przelewów / Bundle of payments Request Class"
    type: object
    required:
      - requestHeader
      - tppBundleId
      - transfersTotalAmount
      - typeOfTransfers
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderCallback"
      bundleId:
        type: string
        description: "Identyfikator paczki płatności nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      tppBundleId:
        description: "Identyfikator paczki przelewów nadany przez TPP / Bundle of payments identifier set by TPP"
        type: string
        maxLength: 64
      transfersTotalAmount:
        description: "Łączna kwota wszystkich przelewów z paczki / The total amount of all transfers from bundle"
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
      typeOfTransfers: 
        description: "Typ przelewów, które zostaną zlecone w ramach paczki / The type of transfers that will be initiated through the bundle"
        type: string
        enum: 
          - domestic
          - EEA
          - nonEEA
          - tax
      domesticTransfers: 
        description: "Lista struktur danych przelewów zwykłych, które zostaną zlecone. Wymagane gdy typeOfTransfers = domestic. / The list of data structures of domestic transfers to be initiated. Required when typeOfTransfers = domestic."
        type: array
        items:
          $ref: "#/definitions/PaymentDomesticRequestBundled"
      EEATransfers: 
        description: "Lista struktur danych przelewów zagranicznych SEPA, które zostaną zlecone. Wymagane gdy typeOfTransfers = EEA. / The list of data structures of SEPA foreign transfers to be initiated. Required when typeOfTransfers = EEA."
        type: array
        items:
          $ref: "#/definitions/PaymentEEARequestBundled"
      nonEEATransfers: 
        description: "Lista struktur danych przelewów zagranicznych innych niż SEPA, które zostaną zlecone. Wymagane gdy typeOfTransfers = nonEEA. / The list of data structures of non SEPA foreign transfers to be initiated. Required when typeOfTransfers = nonEEA."
        type: array
        items:
          $ref: "#/definitions/PaymentNonEEARequestBundled"
      taxTransfers: 
        description: "Lista struktur danych przelewów do urzędu podatkowego, które zostaną zlecone. Wymagane gdy typeOfTransfers = tax. / The list of data structures of tax transfers to be initiated. Required when typeOfTransfers = tax."
        type: array
        items:
          $ref: "#/definitions/PaymentTaxRequestBundled"
    xml:
      name: PaymentsBundleRequest
  RecurringPaymentRequest:
    description: "Klasa zlecenia zdefiniowania nowej płatności cyklicznej / Recurring payment definition Request Class"
    type: object
    required:
      - requestHeader
      - tppRecurringPaymentId
      - recurrence
      - typeOfPayment
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderCallback"
      recurringPaymentId:
        type: string
        description: "Identyfikator płatności cyklicznej nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      tppRecurringPaymentId:
        description: "Identyfikator płatności cyklicznej nadany przez TPP / Recurring payment identifier set by TPP"
        type: string
        maxLength: 64
      recurrence: 
        $ref: "#/definitions/RecurringTransferParameters"
        #description: "Dane określające parametry płatności cyklicznej. / Data defining parameters of recurring payment."
      typeOfPayment: 
        description: "Typ przelewu, który zostanie wykorzystany do zdefiniowania nowej płatności cyklicznej  / The type of payment that is to be used to define new recurring payment"
        type: string
        enum: 
          - domestic
          #- EEA
          #- nonEEA
          #- tax
      domesticPayment: 
        $ref: "#/definitions/RecurringDomesticPayment"
        #description: "Struktura danych przelewu krajowego, użyta do zdefinowania nowej płatności cyklicznej. Wymagane gdy typeOfPayment = domestic. / Data structure of domestic payment that is to be used to define new recurring payment. Required when typeOfPayment = domestic."
      #EEAPayment:
        #$ref: "#/definitions/RecurringEEAPayment" 
        #description: "Struktura danych przelewu zagranicznego SEPA, użyta do zdefinowania nowej płatności cyklicznej. Wymagane gdy typeOfPayment = EEA. / Data structure of EEA payment that is to be used to define new recurring payment. Required when typeOfPayment = EEA."
      #nonEEAPayment: 
        #$ref: "#/definitions/RecurringNonEEAPayment"
        #description: "Struktura danych przelewu zagranicznego innego niż SEPA, użyta do zdefinowania nowej płatności cyklicznej. Wymagane gdy typeOfPayment = nonEEA. / Data structure of non EEA payment that is to be used to define new recurring payment. Required when typeOfPayment = nonEEA."
      #taxPayment:
        #$ref: "#/definitions/RecurringTaxPayment" 
        #description: "Struktura danych przelewu do urzędu podatkowego, użyta do zdefinowania nowej płatności cyklicznej. Wymagane gdy typeOfPayment = tax. / Data structure of tax payment that is to be used to define new recurring payment. Required when typeOfPayment = tax."
    xml:
      name: RecurringPaymentRequest
  PaymentsBundleResponse: 
    description: "Klasa odpowiedzi na żądanie inicjacji paczki przelewów. Zawiera dane o statusach poszczególnych przelewów oraz status paczki. / Class describing statuses of each payment inside the bundle and the bundle itself."
    properties:
      bundleId:
        description: "Identyfikator paczki przelewów / Bundle of payments identifier"
        type: string
        maxLength: 64
      bundleStatus: 
        description: "Status paczki przelewów / Bundle of payments status"
        type: string
        enum:
          - inProgress #description: "Paczka przelewów jest w trakcie realizacji / Bundle of payments is being executed"
          - cancelled #description: "Paczka przelewów zostałą odowłana / Bundle of payments has been cancelled"
          - done #description: "Paczka przelewów została zrealizowana / Bundle of payments has been executed"
          - partiallyDone #description: "Paczka przelewów została zrealizowana częściowo / Bundle of payments has been executed partially"
      payments: 
        type: array
        items: 
          $ref: "#/definitions/PaymentInfo"
    xml:
      name: PaymentsBundleResponse
  RecurringPaymentResponse: 
    description: "Klasa odpowiedzi na żądanie zdefiniowania nowej płatności cyklicznej. / Data returned for the request of creation of new recurring payment"
    properties:
      recurringPaymentId:
        description: "Identyfikator płatności cyklicznej nadany przez ASPSP / Recurring payment identifier set by ASPSP"
        type: string
        maxLength: 64
      recurrence: 
        $ref: "#/definitions/RecurringTransferParameters"
        #description: "Dane określające parametry płatności cyklicznej. / Data defining parameters of recurring payment."
      recurringPaymentStatus: 
        description: "Status płatności cyklicznej / Status of recurring payment"
        type: string
        enum:
          - pending #description: "Definicja płatności cyklicznej została wysłana prawidłowo i oczekuje na autoryzację zgodnie ze schematem / The definition of recurring payment has been sent correctly and is pending authorization"
          - pendingAuthorization #description: "Definicja płatności cyklicznej została wysłana prawidłowo i oczekuje na autoryzację zgodnie ze schematem / The definition of recurring payment has been sent correctly and is pending authorization"
          - submitted #description: "Definicja płatności cyklicznej została wysłana prawidłowo i przyjęta po stronie ASPSP / The definition of recurring payment has been sent correctly and accepted for implementation by ASPSP"
          - inProgress #description: "Płatność cykliczna jest prawidłowo zdefiniowana i realizowana zgodnie z harmonogramem / Recurring payment has been implemented correctly by ASPSP and is being executed according to the schedule"
          - cancelled #description: "Definicja płatności cyklicznej została anulowana i nie jest realizowana / The definition of recurring payment has been cancelled and is not being executed"
          - close #description: "Definicja płatności cyklicznej posiada datę końcową, która już minęła i nie jest już realizowana / The definition of recurring payment has end date that expired and that's why is not being executed anymore"
    xml:
      name: RecurringPaymentResponse
  CancelPaymentsRequest: 
    description: "Klasa zapytania o odwołanie przelewu lub paczki przelewów.  Wymagany warunkowo jeden z atrybutów - transactionId lub bundleId / Payment or bundle of payments cancelation request class. One of the following attributes is required: transactionId or bundleId"
    required:
      - requestHeader
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeader"
        #description: "Obiekt klasy RequestHeader / RequestHeader Class object"
      paymentId:
        type: string
        maxLength: 64
        description: "Identyfikator płatności / Payment ID"
      bundleId: 
        type: string
        description: "Identyfikator paczki przelewów / Bundle of payments ID"
    xml:
      name: CancelPaymentsRequest
  CancelRecurringPaymentRequest: 
    description: "Klasa zapytania o anulowanie płatności cyklicznej. / Recurring payment cancelation request class."
    required:
      - requestHeader
      - recurringPaymentId
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeader"
        #description: "Obiekt klasy RequestHeader / RequestHeader Class object"
      recurringPaymentId:
        type: string
        maxLength: 64
        description: "Identyfikator płatności cyklicznej nadany przez ASPSP / Recurring payment identifier set by ASPSP"
    xml:
      name: CancelRecurringPaymentRequest    
  CancelPaymentsResponse:
    description: "Klasa odpowiedzi na żądanie odwołania przelewów. Zawiera dane przelewów, które nie mogły być odwołane. / Class describing payments that could not have been cancelled."
    properties:
      payments:
        type: array
        items: 
          $ref: "#/definitions/PaymentInfo"
    xml:
      name: CancelPaymentsResponse
  CancelRecurringPaymentResponse:
    description: "Klasa odpowiedzi na żądanie anulowania płatności cyklicznej / Cancel recurring payment response class"
    required:
      - responseHeader
      - recurringPaymentId
      - tppRecurringPaymentId
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
        #description: "Obiekt klasy ResponseHeader / ResponseHeader Class object"
      recurringPaymentId:
        description: "Identyfikator płatności cyklicznej nadany przez APSP / Recurring payment identifier set by ASPSP"
        type: string
        maxLength: 64
      #tppRecurringPaymentId:
        #description: "Identyfikator płatności cyklicznej nadany przez TPP. / Recurring payment identifier set by TPP."
        #type: string
        #maxLength: 64
      recurringPaymentStatus: 
        description: "Status płatności cyklicznej / Recurring payment status"
        type: string
        enum:
          - pending #description: "Definicja płatności cyklicznej została wysłana prawidłowo i oczekuje na autoryzację zgodnie ze schematem / The definition of recurring payment has been sent correctly and is pending authorization"
          - pendingAuthorization #description: "Definicja płatności cyklicznej została wysłana prawidłowo i oczekuje na autoryzację zgodnie ze schematem / The definition of recurring payment has been sent correctly and is pending authorization"
          - submitted #description: "Definicja płatności cyklicznej została wysłana prawidłowo i przyjęta po stronie ASPSP / The definition of recurring payment has been sent correctly and accepted for implementation by ASPSP"
          - inProgress #description: "Płatność cykliczna jest prawidłowo zdefiniowana i realizowana zgodnie z harmonogramem / Recurring payment has been implemented correctly by ASPSP and is being executed according to the schedule"
          - cancelled #description: "Definicja płatności cyklicznej została anulowana i nie jest realizowana / The definition of recurring payment has been cancelled and is not being executed"
          - close #description: "Definicja płatności cyklicznej posiada datę końcową, która już minęła i nie jest już realizowana / The definition of recurring payment has end date that expired and that's why is not being executed anymore"
  PaymentsRequest:
    description: "Klasa zapytania o statusy wielu płatności / Payments Request Class"
    required:
      - requestHeader
      - payments
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderWithoutToken"
        #description: "Obiekt klasy RequestHeaderWithoutToken / RequestHeaderWithoutToken Class object"
      payments: 
        type: array
        items: 
          $ref: "#/definitions/PaymentTokenEntry"
          #description: "Lista płatności / List of payments"
    xml:
      name: PaymentsRequest
  PaymentTokenEntry:
    description: "Klasa opisująca informacje wymagane do pobrania informacji o statusie zainicjowanej płatności w ramach zapytania zbiorczego / Class defining a pair of information required to retreive the status of initiated payment"
    required:
      - accessToken
    properties:
      paymentId:
        type: string
        maxLength: 64
        description: "Identyfikator płatności. Wymagany warunkowo - jeśli TPP otrzymał ten identyfikator od ASPSP. / Identifier of the payment. Conditionally required - in case TPP has received this identifier from ASPSP."
      tppTransactionId:
        type: string
        maxLength: 64
        description: "Identyfikator transakcji nadany przez TPP. Wymagany warunkowo - jeśli TPP nie otrzymał identyfikatora paymentId od ASPSP. / Identifier of transaction established by TPP. Conditionally required - in case TPP has not received paymentId from ASPSP."
      accessToken: 
        type: string
        description: "Access token użyty do zainicjowania płatności / Access token used to initiate payment"
  AddPaymentResponse:
    description: "Klasa odpowiedzi zlecenia płatności / Payment Add Response Class"
    required:
      - responseHeader
      - paymentId
      - generalStatus
      - detailedStatus
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
        #description: "Obiekt klasy ResponseHeader / ResponseHeader Class object"
      paymentId:
        type: string
        description: "Identyfikator płatności / Payment ID"
      generalStatus:
        $ref: "#/definitions/PaymentStatus"
        #description: "Obiekt klasy PaymentStatus / PaymentStatus class object"
      detailedStatus:
        type: string
        description: "Status płatności / Detailed payment status"
  PaymentInfo:
    description: "Klasa informacji o płatności / Payment Information Class"
    required:
      - paymentId
      - tppTransactionId
      - generalStatus
      - detailedStatus
      - executionMode
    properties:
      paymentId:
        type: string
        description: "Identyfikator płatności / Payment ID"
      tppTransactionId:
        type: string
        description: "ID transakcji nadany przez TPP / Transaction ID (TPP)"
      generalStatus:
        $ref: "#/definitions/PaymentStatus"
        #description: "Obiekt klasy PaymentStatus / PaymentStatus class object"
      detailedStatus:
        type: string
        description: "Szczegółowy status płatności / Detailed payment status"
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
  GetPaymentResponse:
    description: "Klasa odpowiedzi na pytanie o płatność / Payment Get Response Class"
    allOf:
      - "$ref": "#/definitions/PaymentInfo"
      - type: object  
        required:
          - responseHeader
          - paymentId
          - generalStatus
          - detailedStatus
        properties:
          responseHeader:
            $ref: "#/definitions/ResponseHeader"
            #description: "Obiekt klasy ResponseHeader / ResponseHeader Class object"
  BundleResponse:
    description: "Klasa odpowiedzi na pytanie o status paczki płatności / Response data with status of bundle of payments"
    required:
      - responseHeader
      - bundleId
      - tppBundleId
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
        #description: "Obiekt klasy ResponseHeader / ResponseHeader Class object"
      bundleId:
        description: "Identyfikator paczki przelewów / Bundle of payments identifier"
        type: string
        maxLength: 64
      tppBundleId:
        description: "Identyfikator paczki przelewów nadany przez TPP. / Bundle of payments identifier set by TPP."
        type: string
        maxLength: 64
      bundleStatus: 
        description: "Status paczki przelewów / Bundle of payments status"
        type: string
        enum:
          - inProgress #description: "Paczka przelewów jest w trakcie realizacji / Bundle of payments is being executed"
          - cancelled #description: "Paczka przelewów zostałą odowłana / Bundle of payments has been cancelled"
          - done #description: "Paczka przelewów została zrealizowana / Bundle of payments has been executed"
          - partiallyDone #description: "Paczka przelewów została zrealizowana częściowo / Bundle of payments has been executed partially"
      payments: 
        type: array
        items: 
          $ref: "#/definitions/PaymentInfo"
  RecurringPaymentStatusResponse:
    description: "Klasa odpowiedzi na pytanie o status płatności cyklicznej / Response data with status of recurring payment"
    required:
      - responseHeader
      - recurringPaymentId
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
        #description: "Obiekt klasy ResponseHeader / ResponseHeader Class object"
      recurringPaymentId:
        description: "Identyfikator płatności cyklicznej nadany przez APSP / Recurring payment identifier set by ASPSP"
        type: string
        maxLength: 64
      tppRecurringPaymentId:
        description: "Identyfikator płatności cyklicznej nadany przez TPP. / Recurring payment identifier set by TPP."
        type: string
        maxLength: 64
      recurringPaymentStatus: 
        description: "Status płatności cyklicznej / Recurring payment status"
        type: string
        enum:
          - pending #description: "Definicja płatności cyklicznej została wysłana prawidłowo i oczekuje na autoryzację zgodnie ze schematem / The definition of recurring payment has been sent correctly and is pending authorization"
          - pendingAuthorization #description: "Definicja płatności cyklicznej została wysłana prawidłowo i oczekuje na autoryzację zgodnie ze schematem / The definition of recurring payment has been sent correctly and is pending authorization"
          - submitted #description: "Definicja płatności cyklicznej została wysłana prawidłowo i przyjęta po stronie ASPSP / The definition of recurring payment has been sent correctly and accepted for implementation by ASPSP"
          - inProgress #description: "Płatność cykliczna jest prawidłowo zdefiniowana i realizowana zgodnie z harmonogramem / Recurring payment has been implemented correctly by ASPSP and is being executed according to the schedule"
          - cancelled #description: "Definicja płatności cyklicznej została anulowana i nie jest realizowana / The definition of recurring payment has been cancelled and is not being executed"
          - close #description: "Definicja płatności cyklicznej posiada datę końcową, która już minęła i nie jest już realizowana / The definition of recurring payment has end date that expired and that's why is not being executed anymore"
  PaymentsResponse:
    description: "Klasa odpowiedzi na pytanie o wiele płatności"
    required:
      - responseHeader
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
        #description: "Obiekt klasy ResponseHeader / ResponseHeader Class object"
      payments:
        type: array
        items:
          $ref: "#/definitions/PaymentInfo"
        #description: "Lista elementów typu: PaymentInfo / PaymentInfo type elements list"
  ConfirmationOfFundsRequest:
    description: "Klasa zapytania o dostępne środki płatnicze na rachunku / Confirmation of Funds Request Class"
    type: object
    required:
      - requestHeader
      - accountNumber
      - amount
      - currency
    properties:
      requestHeader:
        $ref: "#/definitions/RequestHeaderWithoutTokenCAF"
        #description: "Obiekt klasy RequestHeaderWithoutTokenCAF / RequestHeaderWithoutTokenCAF Class object"
      accountNumber:
        type: string
        maxLength: 34
        description: "Numer konta / Account number"
      amount:
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Wielkość środków której dotyczy zaptanie / Amount of the transaction"
      currency:
        type: string
        maxLength: 3
        description: "Kod ISO Waluty (waluta transakcji) / Currency of transaction (ISO)"
        enum:
          - AUD
          - BGN
          - CAD
          - CHF
          - CNY
          - CZK
          - DKK
          - EUR
          - GBP
          - HRK
          - HUF
          - JPY
          - NOK
          - NZD
          - PLN
          - RON
          - RSD
          - RUB
          - SEK
          - TRY
          - USD
          - ZAR

    xml:
      name: ConfirmationOfFundsRequest
  ConfirmationOfFundsResponse:
    description: "Klasa odpowiedzi na zapytanie o dostępne środki płatnicze na rachunku / Confirmation of Funds Response Class"
    required:
      - responseHeader
      - fundsAvailable
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
        #description: "Obiekt klasy ResponseHeader / ResponseHeader Class object"
      fundsAvailable:
        description: "Status - Czy środki są dostępne / Status - are funds available"
        type: boolean
        enum:
          - true
          - false
  Error:
    description: "Klasa zawierająca informacje o zwracanym błędzie / Error class"
    properties:
      responseHeader:
        $ref: "#/definitions/ResponseHeader"
        #description: "Obiekt klasy ResponseHeader / ResponseHeader Class object"
      code:
        type: string
        description: "Kod błędu / Error code"
      message:
        type: string
        description: "Opis błędu / Error message"
  AccountNumber:
    description: "Numer konta"
    type: string
    maxLength: 34
  AccountForeign:
    description: "Numer konta, format dla przelewów zagranicznych"
    type: string
    maxLength: 34
  RequestHeaderWithoutToken:
      description: "Klasa zawierająca informacje o PSU / PSU Information Class"
      type: object
      required:
        - requestId
        - client_id
      properties: 
        requestId:
          type: string
          description: "Identyfikator żądania / Request ID"
        client_id:
          type: string
          description: "Identyfikator aplikacji TPP"
        userAgent:
          type: string
          description: "Browser agent dla PSU / PSU browser agent"
        ipAddress:
          type: string
          description: "Adres IP końcowego urządzenia PSU. Wymagany dla isDirectPsu=true. / IP address of PSU's terminal device. Required when isDirectPsu=true."
        sendDate:
          type: string
          format: date-time
          description: "Oryginalna data wysłania, format: YYYY-MM-DDThh:mm:ss[.mmm] / Send date"
        tppId:
          type: string
          description: "Identyfikator TPP / TPP ID"
  RequestHeaderWithoutTokenCAF:
      description: "Klasa zawierająca informacje o PSU na potrzeby CAF / PSU Information Class for CAF"
      type: object
      required:
        - requestId
        - client_id
        - tppId
      properties: 
        requestId:
          type: string
          description: "Identyfikator żądania / Request ID"
        client_id:
          type: string
          description: "Identyfikator aplikacji TPP"
        userAgent:
          type: string
          description: "Browser agent dla PSU / PSU browser agent"
        ipAddress:
          type: string
          description: "Adres IP końcowego urządzenia PSU. Wymagany dla isDirectPsu=true. / IP address of PSU's terminal device. Required when isDirectPsu=true."
        sendDate:
          type: string
          format: date-time
          description: "Oryginalna data wysłania, format: YYYY-MM-DDThh:mm:ss[.mmm] / Send date"
        tppId:
          type: string
          description: "Identyfikator TPP / TPP ID"
  RequestHeaderWithoutTokenAS: 
    description: "Klasa zawierająca informacje o PSU na potrzeby usług autoryzacji / PSU Information Class dedicated for authorization services"
    type: object
    required:
      - requestId
    properties:
      requestId:
        type: string
        description: "Identyfikator żądania / Request ID"
      userAgent:
        type: string
        description: "Browser agent dla PSU / PSU browser agent"
      ipAddress:
        type: string
        description: "Adres IP końcowego urządzenia PSU. Wymagany dla isDirectPsu=true. / IP address of PSU's terminal device. Required when isDirectPsu=true."
      sendDate:
        type: string
        format: date-time
        description: "Oryginalna data wysłania, format: YYYY-MM-DDThh:mm:ss[.mmm] / Send date"
      tppId:
        type: string
        description: "Identyfikator TPP / TPP ID"      
      isCompanyContext: 
        type: boolean
        description: "(true / false) Znacznik oznaczający czy żądanie jest wysyłane w kontekście PSU korporacyjnego"
      psuIdentifierType:
        type: string
        description: "Typ identyfikatora PSU, służy do wskazania przez TPP na podstawie jakiej informacji zostanie zidentyfikowany PSU, który będzie podlegał uwierzytelnieniu. Wartość słownikowa. / PSU identifier type, used by TPP to indicate type of information based on which the PSU is to be authenticated. Dictionary value."
      psuIdentifierValue:
        type: string
        description: "Wartość identyfikatora PSU. Wymagany warunkowo - w przypadku gdy została przekazana niepusta wartość typu identyfikatora PSU. / The value of the PSU's identifier. Required conditionally - in case non empty value of PSU identifier type was passed."
      psuContextIdentifierType:
        type: string
        description: "Typ identyfikatora kontekstu w jakim występuje PSU. Wartość słownikowa. / Identifier of context that is used by PSU. Dictionary value."
        enum:
          - N
          - R
      psuContextIdentifierValue:
        type: string
        description: "Wartość identyfikatora kontekstu w jakim występuje PSU. / The value of context that is used by PSU."  
  RequestHeaderWithoutTokenCallbackAS: 
    description: "Klasa zawierająca informacje o PSU and callback URL / PSU and callback URL Information Class"
    allOf:
      - "$ref": "#/definitions/RequestHeaderWithoutTokenAS"
      - type: object  
        required:
          - callbackURL, apiKey
        properties:
          callbackURL:
            type: string
            description: "adres funkcji zwrotnej / callback URL"
          apiKey:
            type: string
            description: "API key dla wywołania funkcji zwrotnej / callback API key"
  RequestHeaderCallback:
    description: "Klasa zawierająca informacje o PSU and callback URL / PSU and callback URL Information Class"
    allOf:
      - "$ref": "#/definitions/RequestHeaderWithoutToken"
      - type: object  
        required:
          - token
        properties: 
          token:
            type: string
            description: "Token autoryzacyjny / Authorization token"
          callbackURL:
            type: string
            description: "adres funkcji zwrotnej / callback URL"
          apiKey:
            type: string
            description: "API key dla wywołania funkcji zwrotnej / callback API key"
  RequestHeader:
    description: "Klasa zawierająca informacje o PSU / PSU Information Class"
    allOf:
      - "$ref": "#/definitions/RequestHeaderWithoutToken"
      - type: object  
        required: 
          - token
        properties: 
          token:
            type: string
            description: "Token autoryzacyjny / Authorization token"
  RequestHeaderAIS:
    description: "Klasa zawierająca informacje o PSU / PSU Information Class"
    allOf:
      - "$ref": "#/definitions/RequestHeaderWithoutToken"
      - type: object  
        required: 
        - token
        properties: 
          token:
            type: string
            description: "Token autoryzacyjny / Authorization token"
          isDirectPsu:
              type: boolean
              description: "(true/false) Znacznik informujący czy request jest przesłany bezpośrednio przez PSU. Domyślna wartość to false. / Is request sent by PSU directly. false is default value."
  RequestHeaderAISCallback:
    description: "Klasa zawierająca informacje o PSU and callback URL / PSU and callback URL Information Class"
    allOf:
      - "$ref": "#/definitions/RequestHeaderWithoutToken"
      - type: object  
        required: 
          - token
        properties: 
          token:
            type: string
            description: "Token autoryzacyjny / Authorization token"
          isDirectPsu:
             type: boolean
             description: "(true/false) Znacznik informujący czy request jest przesłany bezpośrednio przez PSU. Domyślna wartość to false. / Is request sent by PSU directly. false is default value."
          callbackURL:
            type: string
            description: "adres funkcji zwrotnej / callback URL"
          apiKey:
            type: string
            description: "API key dla wywołania funkcji zwrotnej / callback API key"
  ResponseHeader:
      description: "Klasa zawierająca zwrotne metadane / Metadata Class"
      properties:
        requestId:
          type: string
          format: uuid
          description: "Identyfikator żądania w formacie UUID (Wariant 1, Wersja 1) zgodnym ze standardem RFC 4122 / Request ID using UUID format (Variant 1, Version 1) described in RFC 4122 standard"
        sendDate:
          type: string
          format: date-time
          description: "Data odpowiedzi, format: YYYY-MM-DDThh:mm:ss[.mmm] / Send date"
        isCallback:
          type: boolean
          description: "Znacznik określający czy odpowiedz zostanie przekazana w formie wywołania zwrotnego. true - gdy odpowiedz w formie wywołania zwrotnego. Inna dopuszczalna wartość to false."
  SenderPISForeign: 
    description: "Klasa zawierająca dane nadawcy przelewu zagranicznego używana w żądaniach PIS / Foreign PIS services Sender Data Class"
    properties:
      accountNumber:
        $ref: "#/definitions/AccountNumber"
        #description: "Obiekt klasy AccountNumber / AccountNumber class object"
      nameAddress: 
        $ref: "#/definitions/NameAddress"
        #description: "Nazwa i adres nadawcy - Obiekt klasy NameAddress / Sender's name and address - NameAddress class object"
  SenderPISDomestic: 
    description: "Klasa zawierająca dane nadawcy przelewu krajowego używana w żądaniach PIS / Domestic PIS services Sender Data Class"
    properties:
      accountNumber:
        $ref: "#/definitions/AccountNumber"
        #description: "Obiekt klasy AccountNumber / AccountNumber class object"
      nameAddress: 
        $ref: "#/definitions/NameAddress"
        #description: "Nazwa i adres nadawcy - Obiekt klasy NameAddress / Sender's name and address - NameAddress class object"
  Bank:
    description: "Klasa zawierająca dane banku używana w żądaniach AIS / AIS Bank Data Class"
    properties:
      bicOrSwift:
        type: string
        minLength: 8
        maxLength: 11
        description: "Numer BIC/SWIFT Banku / BIC/SWIFT number"
      name:
        type: string
        maxLength: 70
        description: "Nazwa Banku / Bank's name"
      code:
        type: string
        maxLength: 10
        description: "Kod Banku, dla przelewów zagranicznych / Bank's code"
      countryCode:
        type: string
        maxLength: 2
        description: "Kod kraju 3166-1 / Country code"
      #address:
      #  $ref: "#/definitions/Address"
      #  #description: "Obiekt klasy Address / Address class object"
  BankAccountInfo:
    description: "Klasa zawierająca dane banku / Bank Data Class"
    properties:
      bicOrSwift:
        type: string
        minLength: 8
        maxLength: 11
        description: "Numer BIC/SWIFT Banku / BIC/SWIFT number"
      name:
        type: string
        maxLength: 70
        description: "Nazwa Banku / Bank's name"
      address:
        $ref: "#/definitions/Address"
        #description: "Obiekt klasy Address / Address class object"
  RecurringTransferParameters: 
    description: "Klasa definiująca parametry płatności cyklicznej / A class defining recurring payment parameters"
    type: object
    required: 
      - recurringTransferType
      - startDate
      - frequency
      - dayOffOffsetType
    properties:
      recurringTransferType:
        type: string
        description: "Typ płatności cyklicznej: amount - podana kwota" #, availableBalance - do wysokości salda, availableBalanceOverAmount- saldo powyżej podanej kwoty"
        enum:
          - amount
#          - availableBalance   # removed as of ver .2.20
#          - availableBalanceOverAmount # removed as of ver .2.20
      startDate: 
        type: string
        format: date
        maxLength: 10
        description: "Data wykonania pierwszej płatności w definiowanym cyklu. Format: YYYY-MM-DD / First payment execution date (of the defined cycle)."
      frequency: 
        $ref: "#/definitions/RecurringTransferFrequency"
      endDate: 
        type: string
        format: date
        maxLength: 10
        description: "Ostatnia możliwa data wykonania płatności w definiowanym cyklu. Format: YYYY-MM-DD / The last possible payment execution date (of the defined cycle)."
      dayOffOffsetType: 
        type: string
        description: "Rodzaj przesunięcia, który należy zastosować do wykonania przelewu w przypadku, gdy dzień wolny jest planowaną datą przelewu / Type of offset that should be used for transfer execution in case of day off being the planned date of transfer"
        enum:
        #- before #description: "Przelew powinien zostać wykonany w ostatnim możliwym dniu niebędącym dniem wolnym od pracy ale przed wyznaczoną datą / The transfer should be made on the last possible day that is not a day off from work, but before the designated date"
        - after #description: "Przelew powinien zostać wykonany w pierwszym możliwym dniu niebędącym dniem wolnym od pracy ale po wyznaczonej dacie / The transfer should be made on the first possible day that is not a day off from work, but after the designated date"
  RecurringTransferFrequency:
    description: "Klasa opisująca parametry częstotliwości wykonywania płatności cyklicznej / A class defining parameters of the frequency of recurring paymenets"
    type: object
    required:
      - periodType
      #- periodValue
    properties:
      periodType: 
        type: string
        description: "Typ jednostki okresu czasu / The type of unit of time period"
        enum:
          - day
          - week
          - month
          - quarter
          - halfyear
          - year
      periodValue: 
        type: string
        description: "Wartość jednostki okresu czasu, znaczenie zależy od typu okresu: week -> dzień tygodnia (od 01-poniedziałek do 05-piątek); month -> dzień miesiąca; quarter -> dzień miesiąca; halfyear -> dzień miesiąca; year -> dzień miesiąca"
      monthOfYear:
        type: string
        description: "Miesiąc, w którym ma być dokonywana płatność roczna: 01 = styczeń, 02 = luty itd. Wartość wymagana dla periodType=year."
        enum:
          - "01"
          - "02"
          - "03"
          - "04"
          - "05"
          - "06"
          - "07"
          - "08"
          - "09"
          - "10"
          - "11"
          - "12"
      monthOfHalfYear:
        type: string
        description: "Miesiące, w których ma być dokonywana płatność półroczna: 01 = styczeń + lipiec, 02 = luty + sierpień itd. Wartość wymagana dla periodType=halfyear."
        enum:
          - "01"
          - "02"
          - "03"
          - "04"
          - "05"
          - "06"
      monthOfQuarter:
        type: string
        description: "Miesiące, w których ma być dokonywana płatność kwartalna: 01 = styczeń + kwiecień + lipiec + październik, 02 = luty + maj + sierpień + listopad, 03 = marzec + czerwiec + wrzesień + grudzień. Wartość wymagana dla periodType=quarter"
        enum:
          - "01"
          - "02"
          - "03"
  TransferDataBase: 
    description: "Bazowa klasa dla płatności / TransferData Base Class"
    type: object
    properties: 
      description:
        type: string
        maxLength: 140
        description: "Pole opisujące przelew / Description"
      amount:
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Kwota przelewu / Amount"
      executionDate: 
        type: string
        format: date
        maxLength: 10
        description: "Data wykonania przelewu. Wymagany pod warunkiem przekazania wartości FutureDated w atrybucie executionMode. Format: YYYY-MM-DD / Date when the transfer is to be executed (YYYY-MM-DD). Required conditionally if executionMode attribute has value FutureDated."
  TransferDataDomestic:
    description: "Klasa zawierająca dane przelewu domestic / Domestic Transfer Data Class"
    allOf:
      - "$ref": "#/definitions/TransferDataBase"
      - type: object  
        required: 
          - description
          - amount
          - currency
        properties: 
          currency:
            type: string
            maxLength: 3
            description: "Waluta, wymagana wartość PLN / Currency - PLN value required"
            enum:
              - PLN
  TransferDataEEA:
    description: "Klasa zawierająca dane przelewu EEA / EEA Transfer Data Class"
    allOf:
      - "$ref": "#/definitions/TransferDataBase"
      - type: object  
        required: 
          - description
          - amount
          - currency
        properties: 
          currency:
            type: string
            maxLength: 3
            description: "Waluta, wymagana wartość EUR / Currency - EUR value required"
            enum:
              - EUR
  TransferDataNonEEA:
    description: "Klasa zawierająca dane przelewu NonEEA / NonEEA Transfer Data Class"
    allOf:
      - "$ref": "#/definitions/TransferDataBase"
      - type: object  
        required: 
          - description
          - amount
          - currency
        properties: 
          currency:
            type: string
            maxLength: 3
            description: "Waluta / Currency"
            enum:
              - AUD
              - BGN
              - CAD
              - CHF
              - CNY
              - CZK
              - DKK
              - EUR
              - GBP
              - HRK
              - HUF
              - JPY
              - NOK
              - NZD
              - PLN
              - RON
              - RSD
              - RUB
              - SEK
              - TRY
              - USD
              - ZAR

  TransferDataTax:
    description: "Klasa zawierająca dane przelewu / Transfer Data Class"
    type: object
    required: 
      - amount
      - currency
    properties: 
      amount:
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Kwota przelewu / Amount"
      currency:
        type: string
        maxLength: 3
        description: "Waluta, wymagana wartość PLN / Currency - PLN value required"
        enum:
          - PLN
      executionDate: 
        type: string
        format: date
        maxLength: 10
        description: "Data wykonania przelewu. Wymagany pod warunkiem przekazania wartości FutureDated w atrybucie executionMode. Format: YYYY-MM-DD / Date when the transfer is to be executed (YYYY-MM-DD). Required conditionally if executionMode attribute has value FutureDated."
  TransferDataRecurring:
    description: "Klasa zawierająca dane przelewu cyklicznego domestic / Recurring Domestic Transfer Data Class"
    type: object
    required: 
      - description
      - currency
      - amount
    properties: 
      description:
        type: string
        maxLength: 140
        description: "Pole opisujące przelew / Description"
      amount:
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Kwota przelewu dla  płatności cyklicznej typu: 'amount - podana kwota'" #; Kwota pozostawiona na rachunku dla płatności cyklicznej typu 'availableBalanceOverAmount - saldo powyżej podanej kwoty'"
      firstAmount:
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Kwota pierwszej płatności tylko dla płatności cyklicznej typu: 'amount - podana kwota'"
      lastAmount:
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
        description: "Kwota ostatniej płatności tylko dla płatności cyklicznej typu: 'amount - podana kwota'"
      currency:
        type: string
        maxLength: 3
        description: "Waluta, wymagana wartość PLN / Currency - PLN value required"
        enum:
          - PLN
 
  SenderRecipient:
    description: "Klasa zawierająca dane nadawcy/odbiorcy używana w żądaniach AIS / AIS Sender Recipient Data Class"
    properties:
      accountNumber:
        type: string
        description: "Numer konta nadawcy/odbiorcy / Account number"
      #accountMassPayment:
      #  type: string
      #  description: "Numer wirtualny rachunku odbiorcy w formacie / Virtual account name"
      bank:
        $ref: "#/definitions/Bank"
        #description: "Obiekt klasy Bank / Bank class object"
      nameAddress:
        $ref: "#/definitions/NameAddress"
        #description: "Obiekt klasy NameAddress / NameAddress class object"
  RecipientPIS:
    description: "Klasa zawierająca dane odbiorcy używana w żądaniach PIS / PIS Recipient Data Class"
    required:
      - nameAddress
      - accountNumber
    properties:
      accountNumber:
        $ref: "#/definitions/AccountNumber"
        #description: "Obiekt klasy AccountNumber / AccountNumber class object"
      nameAddress: 
        $ref: "#/definitions/NameAddress"
        #description: "Nazwa i adres odbiorcy - Obiekt klasy NameAddress / Recipient's name and address - NameAddress class object"
  RecipientPISTax:
    description: "Klasa zawierająca dane odbiorcy używana w żądaniach PIS dla operacji podatkowych / PIS Tax Recipient Data Class"
    required:
      - nameAddress
      - accountNumber
    properties:
      accountNumber:
        $ref: "#/definitions/AccountNumber"
        #description: "Obiekt klasy AccountNumber / AccountNumber class object"
      nameAddress: 
        $ref: "#/definitions/NameAddress"
        #description: "Nazwa i adres odbiorcy - Obiekt klasy NameAddress / Recipient's name and address - NameAddress class object"
  RecipientPISForeign:
    description: "Klasa zawierająca dane odbiorcy używana w żądaniach PIS dla operacji zagranicznych / PIS foreign Recipient Data Class"
    required:
      - nameAddress
      - accountNumber
    properties:
      accountNumber:
        $ref: "#/definitions/AccountForeign"
        #description: "Obiekt klasy AccountForeign / AccountForeign class object"
      nameAddress: 
        $ref: "#/definitions/NameAddress"
        #description: "Nazwa i adres odbiorcy - Obiekt klasy NameAddress / Recipient's name and address - NameAddress class object"
  Address:
    description: "Klasa zawierająca dane adresu pocztowego / Postal address Class"
    type: array
    minItems: 1
    maxItems: 4
    items:
      type: string
      maxLength: 35
  NameAddress:
    description: "Klasa zawierająca dane nazwy i adresu w postaci czterech linii danych / Simple name and  postal address Class"
    properties: 
      value: 
        type: array
        minItems: 1
        maxItems: 4
        items:
          type: string
          maxLength: 35
  PageInfo:
    description: "Klasa zawierająca dane pozwalajace na korzystanie z mechanizmu stronicowania / Paging Information Class"
    properties:
      previousPage:
        type: string
        description: "Użyte w celu stronicowania danych: Identyfikator poprzedniej strony rezultatów / Used for paging the results. Identifier of the previous page."
      nextPage:
        type: string
        description: "Użyte w celu stronicowania danych:  Identyfikator następnej strony rezultatów / Used for paging the results. Identifier of the next page."
  CurrencyRate:
    description: "Klasa zawierająca kursy przewalutowań / Currency rate"
    properties:
      rate:
        type: number
        format: double
        pattern: '^(0|([1-9][0-9]{0,}))(\.[0-9]{1,7})?$'
        description: "Kursy przewalutowania / Currency exchange rate"
      fromCurrency:
        type: string
        maxLength: 3
        description: "Waluta rachunku, kod ISO / from Currency, ISO code"
      toCurrency:
        type: string
        maxLength: 3
        description: "Waluta rachunku, kod ISO / to Currency, ISO code"
  PaymentStatus:
    description: "Słownik statusów płatności"
    type: string
    enum:
      - submitted
      - cancelled
      - pending
      - done
      - rejected
      - scheduled
      - pendingAuthorization
  Map:
    description: "Klasa mapy <string, string> / Map (Dictionary) class"
    type : object
    additionalProperties:
      type: string
  DictionaryItem:
    description: "Klasa zawierająca dane elementu/pozycji słownika / Dictionary Item Class"
    properties:
      code:
        type: string
        description: "Kod pozycji słownika / Code"
      description:
        type: string
        description: "Opis pozycji słownika / Description"
  TransactionInfoSp:
    description: "Klasa opisująca szczegóły transakcji dla płatności podzielonej / Split Payment transaction info class"
    required:
      - spInvoiceNumber
      - spTaxIdentificationNumber
      - spTaxAmount
      - onlyVatAccount
    properties:
      spInvoiceNumber:
        type: string
        description: "Numer faktury / Invoice number"
      spTaxIdentificationNumber:
        type: string
        description: "Identyfikator odbiorcy, np. numer NIP / Payment recipient identifier i.e. Tax Identification Number"
      spTaxAmount:
        type: string
        description: "Kwota podatku VAT / Amount of VAT"
      spDescription:
        type: string
        description: "Opis dodatkowy / Additional description"
      onlyVatAccount:
        type: boolean
        default: false
        description: "Flaga, czy Vat zostanie pobrany tylko z konta VAT / VAT only from the VAT account"
  ScopeDetailsInput: 
    description: Zakres, limity, parametry i czas ważności zgód, o które prosi TPP. / Scope, limits, parameters and expiration time of consents requested by TPP
    type: object
    required:
    - consentId
    - scopeGroupType
    - scopeTimeLimit
    - throttlingPolicy
    properties:
      privilegeList:
        type: array
        items:
          "$ref": "#/definitions/ScopeDetailsInputPrivilegeList"
        description: The list of structures describing details of consent. Conditionally required - in case of process of obtaining new consent. 
      scopeGroupType:
        type: string
        description: Type of consent
        enum:
        - ais-accounts
        - ais
        - pis
      consentId:
        type: string
        description: Id of consent
      scopeTimeLimit:
        type: string
        format: date-time
        description: Data ważności zgody / consent valid until, YYYY-MM-DDThh:mm:ss[.mmm]
      throttlingPolicy:
        type: string
        description: Throttling policy
        enum:
        - psd2Regulatory
  ScopeDetailsOutput:
    description: Zakres, limity, parametry i czas ważności zgód, które potwierdza ASPSP / Scope, limits, parameters and expiration time of consents that are confimed by ASPSP
    type: object
    required:
    - consentId
    - scopeTimeLimit
    - throttlingPolicy
    properties:
      privilegeList:
        type: array
        items: 
          "$ref": "#/definitions/ScopeDetailsOutputPrivilegeList"
        description: The list of structures describing details of consent obtained by TPP.
      consentId:
        type: string
        description: Id of consent
      scopeTimeLimit:
        type: string
        format: date-time
        description: Data ważności zgody / consent valid until, YYYY-MM-DDThh:mm:ss[.mmm]
      throttlingPolicy:
        type: string
        description: Throttling policy
        enum:
        - psd2Regulatory
    example:
      consentId: "consentId"
      scopeTimeLimit: "2019-12-31T00:00:00.000Z"
      throttlingPolicy: "psd2Regulatory"
      privilegeList:
        - accountNumber: "someIban"
          ais:getTransactionsDone:
            scopeUsageLimit: "multiple"
            maxAllowedHistoryLong: 90
          ais:getHolds:
            scopeUsageLimit: "multiple"
            maxAllowedHistoryLong: 90
        - accountNumber: "anotherIban"
          ais:getAccount:
            scopeUsageLimit: "multiple"

  PrivilegeAisAspspInSimple: 
    description: Lista atrybutów uprawnienia usługi AIS będących przedmiotem zapytania o zgodę PSU / The list of attributes of the privilege of the AIS service that are the subject of the request for PSU's consent
    type: object
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        - multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
  PrivilegeAisAspspIn: 
    description: Lista atrybutów uprawnienia usługi AIS będących przedmiotem zapytania o zgodę PSU / The list of attributes of the privilege of the AIS service that are the subject of the request for PSU's consent
    type: object
    required:
    - maxAllowedHistoryLong
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        - multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      maxAllowedHistoryLong:
        type: integer
        description: Ilość dni wstecz, liczona od momentu wysłania przez TPP żądania o pobranie historii transakcji rachunku płatnicznego, jaką może obejmować odpowiedź na to żądanie / How much account's transaction history is allowed to retrieve in days. This value should be used for calculation based on date of sending the request.
        minimum: 1
        maximum: 1460
  PrivilegeAisAspspOutSimple: 
    description: Lista atrybutów uprawnienia usługi AIS dla których została wyrażona zgoda przez PSU / The list of attributes of the privilege of the AIS service that the PSU's consent has been confirmed
    type: object
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        - multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
  PrivilegeAisAspspOut: 
    description: Lista atrybutów uprawnienia usługi AIS dla których została wyrażona zgoda przez PSU / The list of attributes of the privilege of the AIS service that the PSU's consent has been confirmed
    type: object
    required:
    - maxAllowedHistoryLong
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        - multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      maxAllowedHistoryLong:
        type: integer
        description: Ilość dni wstecz, liczona od momentu wysłania przez TPP żądania o pobranie historii transakcji rachunku płatnicznego, jaką może obejmować odpowiedź na to żądanie / How much account's transaction history is allowed to retrieve in days. This value should be used for calculation based on date of sending the request.
        minimum: 1
        maximum: 1460
    example: 
      scopeUsageLimit: single
      maxAllowedHistoryLong: 90
  PrivilegePayment: 
    description: Lista atrybutów uprawnienia do żądania statusu płatności / The list of attributes of the payment status request privilege
    type: object
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        - multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      paymentId: 
        type: string
        description: Identyfikator płatności / Payment ID
      tppTransactionId:
        type: string
        description: "Identyfikator transakcji nadany przez TPP. / Identifier of transaction established by TPP."
  PrivilegeBundle: 
    description: Lista atrybutów uprawnienia do żądania statusu paczki płatności / The list of attributes of the bundle of payments status request privilege
    type: object
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        - multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      bundleId: 
        type: string
        description: Identyfikator paczki płatności / Bundle of payments ID
      tppBundleId:
        type: string
        description: "Identyfikator paczki przelewów nadany przez TPP. / Bundle of payments identifier set by TPP."
  PrivilegeRecurringPaymentStatus: 
    description: Lista atrybutów uprawnienia do żądania statusu płatności cyklicznej / The list of attributes of recurring payment status request privilege
    type: object
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        - multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      recurringPaymentId: 
        type: string
        description: "Identyfikator płatności cyklicznej nadany przez APSP / Recurring payment identifier set by ASPSP"
      tppRecurringPaymentId:
        type: string
        description: "Identyfikator płatności cyklicznej nadany przez TPP / Recurring payment identifier set by TPP"
  PrivilegeDomesticTransfer: 
    description: Lista atrybutów uprawnienia do inicjacji przelewu zwykłego / The list of attributes of the domestic transfer request initiation privilege
    type: object
    required:
      - sender
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        #- multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      paymentId:
        type: string
        description: "Identyfikator płatności nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      recipient:  
        "$ref": "#/definitions/RecipientPIS"
      sender: 
        "$ref": "#/definitions/SenderPISDomestic"
      transferData: 
        "$ref": "#/definitions/TransferDataDomestic"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - StandardD1
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - Elixir
          - ExpressElixir
          - Sorbnet
          #- BlueCash
          - Internal
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
      splitPayment:
        description: "Czy płatność jest podzielona (true / false) / Indicates if payment is split (true / false)"
        type: boolean
        default: false
      transactionInfoSp:
        $ref: "#/definitions/TransactionInfoSp"
        #description: "Dane dotyczące płatności podzielonej. Wymagane w przypadku użycia mechanizmu Split payment. / Split Payment additional data. Required when Split Payment is used."
  PrivilegeForeignTransferEEA: 
    description: Lista atrybutów uprawnienia do inicjacji przelewu zagranicznego EEA / The list of attributes of the EEA foreign transfer request initiation privilege
    type: object
    required:
      - recipient
      - sender
      - transferData
      - aux
      - deliveryMode
      - system    
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        #- multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      paymentId:
        type: string
        description: "Identyfikator płatności nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      recipient:  
        "$ref": "#/definitions/RecipientPISForeign"
      sender: 
        "$ref": "#/definitions/SenderPISForeign"
      transferData: 
        "$ref": "#/definitions/TransferDataEEA"
      aux:
        $ref: "#/definitions/AuxBnppEEAData"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - UrgentD1
          - StandardD2
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - SEPA
          #- InstantSEPA
          - Target
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
  PrivilegeForeignTransferNonEEA: 
    description: Lista atrybutów uprawnienia do inicjacji przelewu zagranicznego bez EEA / The list of attributes of the non-EEA foreign transfer request initiation privilege
    type: object
    required:
      - recipient
      - recipientBank
      - sender
      - transferData
      - aux
      - transferCharges
      - deliveryMode
      - system
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        #- multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      paymentId:
        type: string
        description: "Identyfikator płatności nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      recipient:  
        "$ref": "#/definitions/RecipientPISForeign"
      recipientBank:  
        "$ref": "#/definitions/Bank"
      sender: 
        "$ref": "#/definitions/SenderPISForeign"
      transferData: 
        "$ref": "#/definitions/TransferDataNonEEA"
      aux:
        $ref: "#/definitions/AuxBnppNonEEAData"
      transferCharges:
        type: string
        maxLength: 3
        description: "Klauzula kosztowa / The cost clause"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - UrgentD1
          - StandardD2
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - Swift
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
  PrivilegeTaxTransfer: 
    description: Lista atrybutów uprawnienia do inicjacji przelewu urzędu podatkowego / The list of attributes of the tax transfer request initiation privilege
    type: object
    required:
      - sender
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        #- multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      paymentId:
        type: string
        description: "Identyfikator płatności nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      recipient:
        "$ref": "#/definitions/RecipientPISTax"
      sender: 
        "$ref": "#/definitions/SenderPISDomestic"
      transferData: 
        "$ref": "#/definitions/TransferDataTax"
      usInfo: 
        "$ref": "#/definitions/TransactionInfoTax"
      deliveryMode:
        description: "Tryb pilności / Urgency mode"
        type: string
        enum:
          - ExpressD0
          - StandardD1
      system:
        description: "Droga jaką przelew ma być rozliczony / The way the transfer should be settled"
        type: string
        enum:
          - Elixir
          - ExpressElixir
      executionMode: 
        description: "Tryb realizacji płatności. Nadrzędna informacja decydująca o tym w jakim trybie zostanie zrealizowana płatność. / Payment execution mode. The superior information deciding which mode is to be used to execute payment."
        type: string
        enum:
          - Immediate #description: "The payment is to be executed immediately"
          - FutureDated #description: "The payment is to be executed according to specific date in the future required to pass by TPP"
  PrivilegeCancelPayment: 
    description: Lista atrybutów uprawnienia do odwołania zainicjowanego przelewu / The list of attributes of the cancel initiated payment request privilege
    type: object
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        #- multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      paymentId:
        type: string
        maxLength: 64
        description: "Identyfikator płatności / Payment ID"
      bundleId: 
        type: string
        description: "Identyfikator paczki przelewów / Bundle of payments ID"
  PrivilegeCancelRecurringPayment: 
    description: Lista atrybutów uprawnienia do anulowania płatności cyklicznej / The list of attributes of the cancel recurring payment request privilege
    type: object
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        #- multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      recurringPaymentId:
        type: string
        maxLength: 64
        description: "Identyfikator płatności cyklicznej nadany przez ASPSP / Recurring payment identifier set by ASPSP"
  PrivilegeBundleTransfers:
    description: Lista atrybutów uprawnienia do zainicjowania paczki przelewu / The list of attributes of the initiate bundle of payments request privilege
    type: object
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        #- multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      bundleId:
        type: string
        description: "Identyfikator paczki płatności nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      transfersTotalAmount:
        description: "Łączna kwota wszystkich przelewów z paczki / The total amount of all transfers from bundle"
        type: string
        pattern: '^(0|([1-9][0-9]{0,}))\.\d{2}$'
      typeOfTransfers: 
        description: "Typ przelewów, które zostaną zlecone w ramach paczki / The type of transfers that will be initiated through the bundle"
        type: string
        enum: 
          - domestic
          - EEA
          - nonEEA
          - tax
      domesticTransfers: 
        description: "Lista struktur danych przelewów zwykłych, które zostaną zlecone. Wymagane gdy typeOfTransfers = domestic. / The list of data structures of domestic transfers to be initiated. Required when typeOfTransfers = domestic."
        type: array
        items:
          $ref: "#/definitions/PaymentDomesticRequestBundled"
      EEATransfers: 
        description: "Lista struktur danych przelewów zagranicznych SEPA, które zostaną zlecone. Wymagane gdy typeOfTransfers = EEA. / The list of data structures of SEPA foreign transfers to be initiated. Required when typeOfTransfers = EEA."
        type: array
        items:
          $ref: "#/definitions/PaymentEEARequestBundled"
      nonEEATransfers: 
        description: "Lista struktur danych przelewów zagranicznych innych niż SEPA, które zostaną zlecone. Wymagane gdy typeOfTransfers = nonEEA. / The list of data structures of non SEPA foreign transfers to be initiated. Required when typeOfTransfers = nonEEA."
        type: array
        items:
          $ref: "#/definitions/PaymentNonEEARequestBundled"
      taxTransfers: 
        description: "Lista struktur danych przelewów do urzędu podatkowego, które zostaną zlecone. Wymagane gdy typeOfTransfers = tax. / The list of data structures of tax transfers to be initiated. Required when typeOfTransfers = tax."
        type: array
        items:
          $ref: "#/definitions/PaymentTaxRequestBundled"
  PrivilegeRecurringPayment:
    description: Lista atrybutów uprawnienia do zdefiniowania nowej płatności cyklicznej / The list of attributes of definition of new recurring payment request privilege
    type: object
    properties:
      scopeUsageLimit:
        type: string
        enum:
        - single #description: "Udzielona zgoda pozwala na jendokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for single use of XS2A interface"
        #- multiple #description: "Udzielona zgoda pozwala na wielokrotne użycie w komunikacji z interfejsem XS2A / Consent has been accepted for multiple use of XS2A interface"
        description: Rodzaj limitu zgody (brak uzupełnienia oznacza wartość single) / Usage limit (single if not specified)
      recurringPaymentId:
        type: string
        description: "Identyfikator płatności cyklicznej nadany przez ASPSP (wymagane tylko, gdy żądanie dotyczy kolejnej autoryzacji dla wcześniej zarejestrowanej zgody w procesie wielopodpisu)"
      recurrence: 
        $ref: "#/definitions/RecurringTransferParameters"
        #description: "Dane określające parametry płatności cyklicznej. / Data defining parameters of recurring payment."
      typeOfPayment: 
        description: "Typ przelewu, który zostanie wykorzystany do zdefiniowania nowej płatności cyklicznej  / The type of payment that is to be used to define new recurring payment"
        type: string
        enum: 
          - domestic
          #- EEA
          #- nonEEA
          #- tax
      domesticPayment: 
        $ref: "#/definitions/RecurringDomesticPayment"
        #description: "Struktura danych przelewu krajowego, użyta do zdefinowania nowej płatności cyklicznej. Wymagane gdy typeOfPayment = domestic. / Data structure of domestic payment that is to be used to define new recurring payment. Required when typeOfPayment = domestic."
      #EEAPayment:
        #$ref: "#/definitions/RecurringEEAPayment"
        #description: "Struktura danych przelewu zagranicznego SEPA, użyta do zdefinowania nowej płatności cyklicznej. Wymagane gdy typeOfPayment = EEA. / Data structure of EEA payment that is to be used to define new recurring payment. Required when typeOfPayment = EEA."
      #nonEEAPayment: 
        #$ref: "#/definitions/RecurringNonEEAPayment"
        #description: "Struktura danych przelewu zagranicznego innego niż SEPA, użyta do zdefinowania nowej płatności cyklicznej. Wymagane gdy typeOfPayment = nonEEA. / Data structure of non EEA payment that is to be used to define new recurring payment. Required when typeOfPayment = nonEEA."
      #taxPayment:
        #$ref: "#/definitions/RecurringTaxPayment"
        #description: "Struktura danych przelewu do urzędu podatkowego, użyta do zdefinowania nowej płatności cyklicznej. Wymagane gdy typeOfPayment = tax. / Data structure of tax payment that is to be used to define new recurring payment. Required when typeOfPayment = tax."
  ScopeDetailsInputPrivilegeList:
    description: Pełna lista uprawnień będących przedmiotem zapytania o zgodę PSU / The list of all privileges that are the subject of the request for PSU's consent
    properties:
      accountNumber:
        "$ref": "#/definitions/AccountNumber" #description "Numer konta, którego dotyczą wyrażone zgody / Account number that consents have been given to"
      ais-accounts:getAccounts:
        "$ref": "#/definitions/PrivilegeAisAspspInSimple"
      ais:getAccount: 
        "$ref": "#/definitions/PrivilegeAisAspspInSimple"
      ais:getHolds:
        "$ref": "#/definitions/PrivilegeAisAspspIn"
      ais:getTransactionsDone:
        "$ref": "#/definitions/PrivilegeAisAspspIn"
      # ais:getTransactionsPending:
      #   "$ref": "#/definitions/PrivilegeAisAspspIn"
      ais:getTransactionsRejected:
        "$ref": "#/definitions/PrivilegeAisAspspIn"
      # ais:getTransactionsCancelled:
      #   "$ref": "#/definitions/PrivilegeAisAspspIn"
      # ais:getTransactionsScheduled:
      #   "$ref": "#/definitions/PrivilegeAisAspspIn"
      ais:getTransactionDetail:
        "$ref": "#/definitions/PrivilegeAisAspspInSimple"
      pis:getPayment:
        "$ref": "#/definitions/PrivilegePayment"
      pis:getBundle:
        "$ref": "#/definitions/PrivilegeBundle"
      pis:domestic:
        "$ref": "#/definitions/PrivilegeDomesticTransfer"
      pis:EEA: 
        "$ref": "#/definitions/PrivilegeForeignTransferEEA"
      pis:nonEEA: 
        "$ref": "#/definitions/PrivilegeForeignTransferNonEEA"
      pis:tax:
        "$ref": "#/definitions/PrivilegeTaxTransfer"
      pis:cancelPayment:
        "$ref": "#/definitions/PrivilegeCancelPayment"
      pis:bundle: 
        "$ref": "#/definitions/PrivilegeBundleTransfers"
      pis:recurring: 
        "$ref": "#/definitions/PrivilegeRecurringPayment"
      pis:getRecurringPayment: 
        "$ref": "#/definitions/PrivilegeRecurringPaymentStatus"
      pis:cancelRecurringPayment: 
        "$ref": "#/definitions/PrivilegeCancelRecurringPayment"
  ScopeDetailsOutputPrivilegeList:
    description: Pełna lista uprawnień, dla których została wyrażona zgoda przez PSU / The list of all privileges that the PSU's consent has been confirmed
    properties:
      accountNumber:
        "$ref": "#/definitions/AccountNumber" #description "Numer konta, którego dotyczą wyrażone zgody / Account number that consents have been given to"
      ais-accounts:getAccounts:
        "$ref": "#/definitions/PrivilegeAisAspspOutSimple"
      ais:getAccount: 
        "$ref": "#/definitions/PrivilegeAisAspspOutSimple"
      ais:getHolds:
        "$ref": "#/definitions/PrivilegeAisAspspOut"
      ais:getTransactionsDone:
        "$ref": "#/definitions/PrivilegeAisAspspOut"
      # ais:getTransactionsPending:
      #   "$ref": "#/definitions/PrivilegeAisAspspOut"
      ais:getTransactionsRejected:
        "$ref": "#/definitions/PrivilegeAisAspspOut"
      # ais:getTransactionsCancelled:
      #   "$ref": "#/definitions/PrivilegeAisAspspOut"
      # ais:getTransactionsScheduled:
      #   "$ref": "#/definitions/PrivilegeAisAspspOut"
      ais:getTransactionDetail:
        "$ref": "#/definitions/PrivilegeAisAspspOutSimple"
      pis:getPayment:
        "$ref": "#/definitions/PrivilegePayment"
      pis:getBundle:
        "$ref": "#/definitions/PrivilegeBundle"
      pis:domestic:
        "$ref": "#/definitions/PrivilegeDomesticTransfer"
      pis:EEA: 
        "$ref": "#/definitions/PrivilegeForeignTransferEEA"
      pis:nonEEA: 
        "$ref": "#/definitions/PrivilegeForeignTransferNonEEA"
      pis:tax:
        "$ref": "#/definitions/PrivilegeTaxTransfer"
      pis:cancelPayment:
        "$ref": "#/definitions/PrivilegeCancelPayment"
      pis:bundle: 
        "$ref": "#/definitions/PrivilegeBundleTransfers"
      pis:recurring: 
        "$ref": "#/definitions/PrivilegeRecurringPayment"
      pis:getRecurringPayment: 
        "$ref": "#/definitions/PrivilegeRecurringPaymentStatus"
      pis:cancelRecurringPayment: 
        "$ref": "#/definitions/PrivilegeCancelRecurringPayment"
    example:
      ais:getTransactionsDone:
        scopeUsageLimit: "multiple"
        maxAllowedHistoryLong: 90
      ais:getHolds:
        scopeUsageLimit: "multiple"
        maxAllowedHistoryLong: 90
      ais:getTransactionDetail:
        scopeUsageLimit: "multiple"
        maxAllowedHistoryLong: 90
