openapi: 3.1.0
info:
  title: debiX API
  version: 2.25.0
servers:
  - url: https://api.six-group.com/api/debix/bank/cardtoken/v2
    description: PROD - Internet
  - url: https://api-preprod.np.six-group.com/api/debix/bank/cardtoken/v2
    description: TEST - Internet
  - url: https://api.six.ssfn.ch/api/debix/bank/cardtoken/v2
    description: PROD - SSFN
  - url: https://api-preprod.np.six.ssfn.ch/api/debix/bank/cardtoken/v2
    description: TEST - SSFN
  - url: https://api.p2p.six-group.com/api/debix/bank/cardtoken/v2
    description: PROD - P2P
  - url: https://api-preprod.np.p2p.six-group.com/api/debix/bank/cardtoken/v2
    description: TEST - P2P
tags:
  - name: Health check
    description: >-
      Allows to verify the availability of the API, the access to it across all
      layers, as well as the client authentication.
  - name: Card lifecycle
    description: Orders new cards, retrieves and updates card data.
  - name: PIN management
    description: Sets and manages the PIN for a card.
  - name: Sensitive card data
    description: Retrieves sensitive card data.
  - name: 3DS lifecycle
    description: >-
      Allows card registrations and deregistrations for 3DS and updates
      3DS-related card data.
  - name: 3DS details
    description: Retrieves details for 3DS.
  - name: OTRC order
    description: Allows an OTRC to be created and delivered on demand.
  - name: Provisioning wallet encryption for scheme push provisioning (Beta)
    description: >-
      Provides encrypted card data for the Wallet In-App provisioning of cards
      via Mastercard.
  - name: Provisioning wallet encryption
    description: >-
      Provides encrypted card data for the Wallet In-App provisioning of cards
      via Thales SDK.
  - name: Provisioning C2P encryption
    description: >-
      Provides encrypted card data for the provisioning of cards for Click to
      Pay via Thales SDK.
  - name: Token lifecycle management
    description: Retrieves and manages digital cards (tokens) for cards.
  - name: Transaction list
    description: >-
      Retrieves not expired transactions of the last 120 days for cards and
      digital cards.
  - name: Merchant logo
    description: Retrieves merchant logo for transactions.
  - name: Visa Alias Directory (Beta)
    description: >-
      Visa Alias Directory related operations. Feature under development,
      subject to change.
  - name: Visa Click to Pay Issuer Offered
    description: >-
      Visa Click to Pay Issuer Offered operations to enroll and manage cards for
      Visa Click to Pay.
  - name: Mastercard Click to Pay (Beta)
    description: Provides an operation to enroll Mastercard Click to Pay.
  - name: Deprecated
    description: Deprecated endpoints.
security: []
paths:
  /healthcheck:
    get:
      tags:
        - Health check
      summary: Health check using GET method.
      description: Returns a status message of the system.
      operationId: healthcheckForGet
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthCheckResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    post:
      tags:
        - Health check
      summary: Health check using POST method.
      description: Returns the request body. This operation will not modify the system.
      operationId: healthCheckForPost
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
      requestBody:
        description: Any message which is expected in the response.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HealthCheckRequest'
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthCheckResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    put:
      tags:
        - Health check
      summary: Health check using PUT method.
      description: Returns the request body. This operation will not modify the system.
      operationId: healthCheckForPut
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
      requestBody:
        description: Any message which is expected in the response.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HealthCheckRequest'
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthCheckResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards:
    post:
      tags:
        - Card lifecycle
      summary: Orders a new card.
      description: >
        Orders a new virtual or physical card optionally with a reference to an
        existing parent card.


        In case the feature toggle values are not specified in the request,
        either directly, or by referencing a parentCard with the
        takeoverFeatureToggles set to true, the 

        feature toggles will receive the following default values:

        | Feature Flag                 | Default Value            |

        |------------------------------|--------------------------|

        | eCommerceAllowed             | true                     |

        | trxOnlyAsChipAndPin          | false                    |

        | magStripePaymentAllowed      | true                     |

        | automaticBilling             | true                     |

        | purchaseWithCashBackAllowed  | true                     |

        | merchantInitiatedTrxAllowed  | true                     |

        | atmAllowed                   | true                     |

        | posAllowed                   | true                     |

        | motoAllowed                  | true                     |

        | bypassGeoblocking            | true                     |

        | moneySendReceiveAllowance    | RECEIVE_AND_SEND_ALLOWED |

        | reservationAllowed           | true                     |

        | transactionPushEnabled       | true                     |

        | gamblingAndBettingAllowance  | ALLOWED                  |

        | blockedMerchantCategoryCodes | (empty List)             |

        | contactlessActivationStatus  | ACTIVATED_CONFIRMED      |        


        In addition to standard application error codes, the following codes can
        be returned:

        * 4432: BANK_CLEARING_NUMBER_NOT_CONFIGURED

        * 4443: UNKNOWN_PARENT_CARD

        * 4444: VIRTUAL_CARD_EQUALS_PARENT_CARD

        * 4445: CARD_ALREADY_EXISTING

        * 4446: DELIVERY_INFORMATION_FOR_OTRC_MISSING

        * 4462: DELIVERY_INFORMATION_FOR_CARD_OR_PIN_MISSING

        * 4463: CARD_EXPRESS_CODE_MISSING

        * 4464: PIN_EXPRESS_CODE_MISSING

        * 4465: PRODUCER_CODE_MISSING

        * 4466: CARDLINE1_MISSING

        * 4469: PIN_DELIVERY_NOT_ALLOWED_FOR_VIRTUAL_CARD
      operationId: orderCard
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
      requestBody:
        description: Configuration specifying the new card to be ordered.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardOrderRequest'
        required: true
      responses:
        '202':
          description: Accepted
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/clicktopay/mastercard/provisioning:
    post:
      tags:
        - Mastercard Click to Pay (Beta)
      summary: Enrolls a card in Mastercard Click to Pay.
      description: >
        Enrolls a card in Mastercard Click to Pay. As part of the request
        processing, a digital card will be generated for the enrolled card.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD        

        * 4436 - CARD_INACTIVE

        * 4449 - TOKENIZATION_NOT_SUPPORTED
      operationId: setClickToPayMastercardProvisioningData
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClickToPayMastercardProvisioningRequest'
        required: true
      responses:
        '204':
          description: Click to Pay provisioning was successful
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/apple-pay/provisioning-data:
    post:
      tags:
        - Provisioning wallet encryption for scheme push provisioning (Beta)
      summary: Get data for push provisioning of the given card to a Apple Pay wallet.
      description: >
        Returns the encrypted card data for the provisioning of a funding debit
        card, specified by its card token, into an Apple Pay wallet.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4432 - BANK_CLEARING_NUMBER_NOT_CONFIGURED

        * 4436 - CARD_INACTIVE

        * 4449 - TOKENIZATION_NOT_SUPPORTED

        * 4454 - EXCLUDED_WALLET_PROVIDER
      operationId: getMastercardApplePayProvisioningData
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplePayCardEncryptionRequest'
        required: true
      responses:
        '200':
          description: Successful
          headers:
            X-Request-ID:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplePayProvisioningResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/google-pay/provisioning-data:
    post:
      tags:
        - Provisioning wallet encryption for scheme push provisioning (Beta)
      summary: >-
        Get data for Mastercard push provisioning of the given card to a Google
        Pay wallet.
      description: >
        Returns the encrypted card data for the provisioning of a funding debit
        card, specified by its card token, into a Google Pay wallet.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4432 - BANK_CLEARING_NUMBER_NOT_CONFIGURED

        * 4436 - CARD_INACTIVE

        * 4449 - TOKENIZATION_NOT_SUPPORTED

        * 4454 - EXCLUDED_WALLET_PROVIDER
      operationId: getMastercardGooglePayProvisioningData
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GooglePayCardEncryptionRequest'
      responses:
        '200':
          description: Successful
          headers:
            X-Request-ID:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GooglePayProvisioningResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/samsung-pay/provisioning-data:
    post:
      tags:
        - Provisioning wallet encryption for scheme push provisioning (Beta)
      summary: >-
        Get data for push provisioning of the given card to a Samsung Pay
        wallet.
      description: >
        Returns the encrypted card data for the provisioning of a funding debit
        card, specified by its card token, into a Samsung Pay wallet.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4432 - BANK_CLEARING_NUMBER_NOT_CONFIGURED

        * 4436 - CARD_INACTIVE

        * 4449 - TOKENIZATION_NOT_SUPPORTED

        * 4454 - EXCLUDED_WALLET_PROVIDER
      operationId: getMastercardSamsungPayProvisioningData
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamsungPayCardEncryptionRequest'
      responses:
        '200':
          description: Successful
          headers:
            X-Request-ID:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamsungPayProvisioningResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/encrypt-card-data:
    post:
      tags:
        - Provisioning wallet encryption
        - Deprecated
      summary: Returns encrypted card data.
      description: >
        Deprecated, use one of `POST
        /cards/{cardToken}/apple-pay/provisioning-data`, 

        `POST /cards/{cardToken}/google-pay/provisioning-data`, 

        `POST /cards/{cardToken}/samsung-pay/provisioning-data` instead.


        Returns the encrypted card data for the provisioning of a funding debit
        card, specified by its card token, into a wallet with Thales SDK.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4432 - BANK_CLEARING_NUMBER_NOT_CONFIGURED

        * 4436 - CARD_INACTIVE

        * 4449 - TOKENIZATION_NOT_SUPPORTED
      operationId: getEncryptedCardData
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Card data to encrypt.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardEncryptionRequest'
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardEncryptionResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/encrypt-card-data/click-to-pay:
    post:
      tags:
        - Provisioning C2P encryption
      summary: Returns encrypted card data for Click to Pay.
      description: >
        Returns the encrypted card data for the provisioning of a funding debit
        card for Click to Pay into a wallet with Thales SDK.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4432 - BANK_CLEARING_NUMBER_NOT_CONFIGURED

        * 4436 - CARD_INACTIVE

        * 4449 - TOKENIZATION_NOT_SUPPORTED

        * 4460 - ECOMMERCE_FEATURE_TOGGLE_NOT_ACTIVATED

        * 4461 - INCOMPLETE_OR_MISSING_ADDRESS_DATA
      operationId: getEncryptedCardDataClickToPay
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Card data to encrypt.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClickToPayCardEncryptionRequest'
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClickToPayCardEncryptionResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/click-to-pay/status:
    post:
      tags:
        - Provisioning C2P encryption
      summary: Checks for existing Click to Pay registrations.
      description: >
        Returns the DPAN associated with the given card and email address for
        Click to Pay. Will return no DPAN if no association exists.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4432 - BANK_CLEARING_NUMBER_NOT_CONFIGURED

        * 4449 - TOKENIZATION_NOT_SUPPORTED
      operationId: getClickToPayStatus
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Email address for which to return the registered DPAN.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClickToPayStatusRequest'
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClickToPayStatusResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Card not found or deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/generate-authorization-code:
    post:
      tags:
        - Provisioning wallet encryption
        - Provisioning C2P encryption
      summary: Returns an authorization code.
      description: >
        Returns an authorization code for the provisioning of a funding debit
        card, specified by its card token, into a wallet with Thales SDK. 

        The code is valid for 20 seconds in the production environment and 60
        seconds in test environment.  


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4432 - BANK_CLEARING_NUMBER_NOT_CONFIGURED

        * 4433 - UNKNOWN_WALLET_PROVIDER

        * 4436 - CARD_INACTIVE

        * 4449 - TOKENIZATION_NOT_SUPPORTED

        * 4454 - EXCLUDED_WALLET_PROVIDER
      operationId: getAuthorizationCode
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: >-
          Card identifier and wallet for the generation of the authorization
          code.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizationCodeRequest'
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationCodeResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/3ds:
    post:
      tags:
        - 3DS lifecycle
      summary: Registers the card for 3DS.
      description: >
        If a card with the provided card data is not yet registered for 3DS, the
        registration will take place.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4434 - THREE_DS_NOT_ENABLED_FOR_ISSUER

        * 4435 - CARD_ALREADY_REGISTERED_FOR_THREE_DS

        * 4436 - CARD_INACTIVE

        * 4453 - THREE_DS_OOB_NOT_ENABLED_FOR_ISSUER

        * 4467 - THREE_DS_PASSWORD_NOT_ALLOWED
      operationId: threeDsRegister
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Card identifier and 3DS-related data.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThreeDsRegisterRequest'
        required: true
      responses:
        '204':
          description: The card was successfully registered for 3DS.
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    put:
      tags:
        - 3DS lifecycle
      summary: Updates the 3DS data.
      description: >
        If the request contains new information, the 3DS data will be updated
        for the given card.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4434 - THREE_DS_NOT_ENABLED_FOR_ISSUER

        * 4453 - THREE_DS_OOB_NOT_ENABLED_FOR_ISSUER
      operationId: threeDsUpdate
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Contains 3DS-related data.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThreeDsUpdateRequest'
        required: true
      responses:
        '204':
          description: >-
            The request was successfully processed (regardless of whether or not
            an update took place).
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    delete:
      tags:
        - 3DS lifecycle
      summary: Deregisters the given card from 3DS and deletes the corresponding data.
      description: >
        If a card with the provided identifier is known to debiX, it will be
        deregistered from 3DS and the corresponding data deleted.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD
      operationId: threeDsDelete
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      responses:
        '204':
          description: >-
            The request was successfully processed (regardless of whether an
            actual deregistration occurred).
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/3ds/details:
    post:
      tags:
        - 3DS details
      summary: Returns the 3DS details for the given card.
      description: >
        Returns the details for the current 3DS registration.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4432 - BANK_CLEARING_NUMBER_NOT_CONFIGURED

        * 4436 - CARD_INACTIVE

        * 4457 - CARD_NOT_REGISTERED_FOR_THREE_DS
      operationId: threeDsDetails
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Identifier of the card for which to return the 3DS details.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThreeDsDetailsRequest'
      responses:
        '200':
          description: The 3DS details were successfully fetched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThreeDsDetailsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/otrc:
    get:
      tags:
        - OTRC order
      summary: Orders an One-Time-Registration-Code (OTRC).
      description: >
        Get an online One-Time-Registration-Code (OTRC) for the given card.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD
      operationId: otrcOrder
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OtrcOrderResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/otrc-datamailer:
    post:
      tags:
        - OTRC order
      summary: Orders an One-Time-Registration-Code (OTRC) via datamailer.
      description: >
        Get a datamailer with the One-Time-Registration-Code (OTRC) for the
        specified card.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD
      operationId: otrcOrderDatamailer
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Details of the OTRC datamailer.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OtrcDatamailerOrderRequest'
      responses:
        '202':
          description: Accepted
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/credentials:
    post:
      tags:
        - Sensitive card data
      summary: Gets card credentials.
      description: >
        Get credentials (PAN, CVV) of the specified card.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4450 - NO_CERTIFICATE_FOUND

        * 4451 - INVALID_JWS_SIGNATURE
      operationId: getCardCredentials
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: >-
          Signed request for the credentials, containing card identifiers and
          encryption parameters.
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/CardCredentialsRequest'
            examples:
              JWS Header (decoded):
                value:
                  alg: ES256 (example)
                  typ: JWT
                  x5t#S256: 0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEp
              JWS Payload (decoded):
                value:
                  cardToken: CTK-85AB2A9FE2374A188A039F03F88E6EE1
                  cardTokenExtension:
                    cardSequenceNumber: 1
                    cardExpiry:
                      month: 6
                      year: 23
                  clientEphPubKey: SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
        required: true
      responses:
        '200':
          description: Successful
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/CardCredentialsResponse'
              examples:
                JWS Header (decoded):
                  value:
                    alg: none
                    typ: JWT
                JWS Payload (decoded):
                  value:
                    serverEphPubKey: QbTKxwRJSMeKKF2Q_T4fwpMeJf36POk6yJVadQssZi9
                    encryptedData: TG9yZW0gaXBzdW0gZG9sciBzaXI=
                Card Credentials (decrypted):
                  value:
                    fpan: 1234567812345678
                    cvv: 123
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/start-set-pin:
    post:
      tags:
        - PIN management
      summary: Starts a PIN set operation.
      description: >
        First call to be able to set the PIN for the specified card. debiX
        returns an ephemeral public key to encrypt the PIN on the issuer's side
        for the '/set-pin' call.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4440 - SET_PIN_NOT_ALLOWED_FOR_BLOCKED_OR_DELETED_CARD

        * 4442 - PIN_PREVIOUSLY_PASSED_TO_NEWER_CARD

        * 4450 - NO_CERTIFICATE_FOUND

        * 4451 - INVALID_JWS_SIGNATURE
      operationId: startSetPin
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: >-
          Signed request to get debiX's ephemeral public key, it contains card
          identifiers.
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/StartSetPinRequest'
            examples:
              JWS Header (decoded):
                value:
                  alg: ES256 (example)
                  typ: JWT
                  x5t#S256: 0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEp
              JWS Payload (decoded):
                value:
                  cardToken: CTK-85AB2A9FE2374A188A039F03F88E6EE1
                  cardTokenExtension:
                    cardSequenceNumber: 1
                    cardExpiry:
                      month: 6
                      year: 23
        required: true
      responses:
        '200':
          description: Successful
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StartSetPinResponse'
              examples:
                JWS Header (decoded):
                  value:
                    alg: ES256 (example)
                    typ: JWT
                JWS Payload (decoded):
                  value:
                    serverEphPubKey: QbTKxwRJSMeKKF2Q_T4fwpMeJf36POk6yJVadQssZi9
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/set-pin:
    post:
      tags:
        - PIN management
      summary: Sets the PIN for the given card.
      description: >
        Sets the PIN for the given card. The PIN is encrypted with the shared
        key derived from debiX's ephemeral public key from the '/start-set-pin'
        request 

        and the issuer's ephemeral private key corresponding to the issuer's
        ephemeral public key in this request (clientEphPubKey).  


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4440 - SET_PIN_NOT_ALLOWED_FOR_BLOCKED_OR_DELETED_CARD

        * 4442 - PIN_PREVIOUSLY_PASSED_TO_NEWER_CARD

        * 4450 - NO_CERTIFICATE_FOUND

        * 4451 - INVALID_JWS_SIGNATURE

        * 4452 - START_SET_PIN_NOT_CALLED
      operationId: setPin
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: >-
          Signed request for the PIN set operation, containing card identifiers,
          encryption parameters and encrypted PIN.
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/SetPinRequest'
            examples:
              JWS Header (decoded):
                value:
                  alg: ES256 (example)
                  typ: JWT
                  x5t#S256: 0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEp
              JWS Payload (decoded):
                value:
                  cardToken: CTK-85AB2A9FE2374A188A039F03F88E6EE1
                  cardTokenExtension:
                    cardSequenceNumber: 1
                    cardExpiry:
                      month: 6
                      year: 23
                  clientEphPubKey: SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
                  encryptedData: TG9yZW0gaXBzdW0gZG9sciBzaXI=
        required: true
      responses:
        '204':
          description: Set PIN was successful.
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/pin:
    post:
      tags:
        - PIN management
      summary: Gets the PIN for the given card.
      description: >
        Get PIN of the given card.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4450 - NO_CERTIFICATE_FOUND

        * 4451 - INVALID_JWS_SIGNATURE

        * 4458 - RETRIEVE_PIN_NOT_ALLOWED_FOR_DELETED_CARD
      operationId: getPin
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: >-
          Signed request for the PIN, containing card identifiers and encryption
          parameters.
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/GetPinRequest'
            examples:
              JWS Header (decoded):
                value:
                  alg: ES256 (example)
                  typ: JWT
                  x5t#S256: 0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEp
              JWS Payload (decoded):
                value:
                  cardToken: CTK-85AB2A9FE2374A188A039F03F88E6EE1
                  cardTokenExtension:
                    cardSequenceNumber: 1
                    cardExpiry:
                      month: 6
                      year: 23
                  clientEphPubKey: SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
        required: true
      responses:
        '200':
          description: Successful
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/GetPinResponse'
              examples:
                JWS Header (decoded):
                  value:
                    alg: ES256 (example)
                    typ: JWT
                JWS Payload (decoded):
                  value:
                    serverEphPubKey: QbTKxwRJSMeKKF2Q_T4fwpMeJf36POk6yJVadQssZi9
                    encryptedData: TG9yZW0gaXBzdW0gZG9sciBzaXI=
                PIN (decrypted):
                  value:
                    pin: 123456
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/pin-datamailer:
    post:
      tags:
        - PIN management
      summary: Orders a PIN datamailer for the specified card.
      description: >
        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD
      operationId: orderPinDatamailer
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Details of the PIN datamailer order.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PinDatamailerOrderRequest'
        required: true
      responses:
        '202':
          description: Accepted
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}:
    post:
      tags:
        - Card lifecycle
      summary: Returns the card's details.
      description: >
        Returns the status and the details of the given card.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4447 - NO_CARD_DETAILS_AVAILABLE
      operationId: getCardDetails
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Identifier of the card for which to return the details.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardDetailsRequest'
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardDetailsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    put:
      tags:
        - Card lifecycle
      summary: Modifies the data of a card.
      description: >
        Allows the modification of certain data fields belonging to a card.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4436 - CARD_INACTIVE

        * 4447 - NO_CARD_DETAILS_AVAILABLE
      operationId: mutateCardDetails
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Fields to modify. Not all fields are mandatory.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardMutationRequest'
        required: true
      responses:
        '202':
          description: Successful
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/card-token:
    post:
      tags:
        - Card lifecycle
      summary: Returns the card token.
      description: >
        Returns the unique card token of the specified card.


        In addition to standard application error codes, following codes can be
        returned:

        * 4430 - UNKNOWN_CARD
      operationId: getCardToken
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
      requestBody:
        description: Identifier of the card for which to return the card token.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardTokenRequest'
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardTokenResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/short-card-id:
    get:
      tags:
        - Card lifecycle
      summary: Returns the card identifier.
      description: >
        Returns the card identifier, i.e. short card id, of the given card.


        In addition to standard application error codes, following codes can be
        returned:

        * 4430 - UNKNOWN_CARD
      operationId: getCardIdentifier
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShortCardIdResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/status:
    put:
      tags:
        - Card lifecycle
      summary: Modifies the status of a card.
      description: >
        Modifies the status of the specified card.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4438 - CARD_STATUS_UPDATE_NOT_ALLOWED

        * 4439 - CARD_HAS_PENDING_STATUS
      operationId: updateCardStatus
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: >-
          Contains the new status to be set on the card. In case of a blocking
          action, contains also the block reason.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCardStatusRequest'
        required: true
      responses:
        '202':
          description: Accepted
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/authorizations:
    post:
      tags:
        - Transaction list
      summary: Returns a list of authorizations.
      description: >
        Returns a list of authorizations for the given card using filter
        arguments; only the authorizations of the last 120 days are available.
        The list is ordered by transaction date from newest to oldest.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4432 - BANK_CLEARING_NUMBER_NOT_CONFIGURED

        * 4456 - UNKNOWN_WALLET_TYPE
      operationId: getAuthorizations
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Filter arguments for the authorizations search.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizationsSearchRequestFilter'
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /digitalcards/{dpan}/authorizations:
    post:
      tags:
        - Transaction list
      summary: Returns a list of authorizations for a digital card.
      description: >
        Returns a list of authorizations for a digital card, specified by the
        dpan, using filter arguments; only the authorizations of the last 120
        days are available. The list is ordered by transaction date from newest
        to oldest.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD
      operationId: getAuthorizationsForDigitalCard
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: dpan
          description: Digital card number.
          required: true
          schema:
            $ref: '#/components/schemas/Dpan'
      requestBody:
        description: Filter arguments for the authorizations search.
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/DigitalCardAuthorizationsSearchRequestFilter
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /digitalcards/{dpan}:
    get:
      tags:
        - Token lifecycle management
      summary: Returns a digital card.
      description: >
        Returns the digital card specified by the dpan in the request.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD
      operationId: getDigitalCard
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: dpan
          description: Digital card number.
          required: true
          schema:
            $ref: '#/components/schemas/Dpan'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalCard'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/digitalcards:
    post:
      tags:
        - Token lifecycle management
      summary: Returns a list of digital cards.
      description: >
        Returns a list of digital cards for the given card using filter
        arguments.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4433 - UNKNOWN_WALLET_PROVIDER
      operationId: getDigitalCards
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Filter for the digital card search.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DigitalCardsSearchRequestFilter'
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalCardSearchResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/digitalcards/status:
    put:
      tags:
        - Token lifecycle management
      summary: Updates the status of digital cards of a card.
      description: >
        Updates the status of the digital cards of a funding debit card,
        specified by its card token. The status update is triggered only for
        those digital cards which can be updated.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4431 - DIGITAL_CARD_STATUS_UPDATE_NOT_ALLOWED

        * 4437 - DIGITAL_CARD_HAS_PENDING_STATUS
      operationId: updateDigitalCardsStatus
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Update request for the status of digital cards of a card.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DigitalCardsStatusUpdateRequest'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalCardStatusUpdateResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /digitalcards/{dpan}/status:
    put:
      tags:
        - Token lifecycle management
      summary: Updates the status of a digital card.
      description: >
        Triggers the status update of the digital card specified by the dpan in
        the request.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4431 - DIGITAL_CARD_STATUS_UPDATE_NOT_ALLOWED

        * 4437 - DIGITAL_CARD_HAS_PENDING_STATUS
      operationId: updateDigitalCardStatus
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: dpan
          description: Digital card number.
          required: true
          schema:
            $ref: '#/components/schemas/Dpan'
      requestBody:
        description: Update request for the status of the digital card.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DigitalCardStatusUpdateRequest'
        required: true
      responses:
        '202':
          description: Accepted
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /cards/{cardToken}/presentments:
    post:
      tags:
        - Transaction list
      summary: Returns a list of presentments.
      description: >
        Returns a list of presentments for the given card using filter
        arguments; only the presentments of the last 120 days are available. The
        list is ordered by transaction date from newest to oldest.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4432 - BANK_CLEARING_NUMBER_NOT_CONFIGURED

        * 4456 - UNKNOWN_WALLET_TYPE
      operationId: getPresentments
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      requestBody:
        description: Filter arguments for the presentment search.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PresentmentsSearchRequestFilter'
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresentmentsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /merchants/{merchantId}/logo:
    get:
      tags:
        - Merchant logo
      summary: Gets merchant logo of given merchant id.
      description: >
        Retrieves the merchant logo for a given merchant id, including

        its version. The logo is only returned, if the version given

        in the ImageVersionHeader parameter does not correspond to the version
        in debiX.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4455 - UNKNOWN_MERCHANT
      operationId: getMerchantLogo
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - $ref: '#/components/parameters/MerchantId'
        - $ref: '#/components/parameters/ImageVersionHeader'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantLogoResponse'
        '304':
          description: The given merchant logo version corresponds to the version in debiX.
        '400':
          description: Bad request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: No merchant or merchant logo found for given merchant id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /click-to-pay/visa/customers:
    post:
      tags:
        - Visa Click to Pay Issuer Offered
      summary: Initiates a new customer enrollment for Visa Click to Pay.
      description: >
        Starts the process of enrolling a new customer and a card for Visa Click
        to Pay,

        and provides a requestTraceId in the response to retrieve the status of
        the enrollment.

        As part of the request processing, a digital card will be generated for
        the enrolled card.

        The status of the customer is set to ACTIVE after a successful
        enrollment.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4436 - CARD_INACTIVE

        * 4501 - CUSTOMER_ALREADY_ENROLLED_FOR_C2P

        * 4504 - C2P_HAS_PENDING_REQUEST

        * 4506 - C2P_NOT_SUPPORTED_BY_ISSUER
      operationId: enrollCustomerVisaC2P
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
      requestBody:
        description: Request to enroll a customer and a card for Visa Click to Pay.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisaC2PEnrollCustomerRequest'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaC2PEnrollCustomerResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /click-to-pay/visa/customers/{customerId}:
    get:
      tags:
        - Visa Click to Pay Issuer Offered
      summary: Provides the customer's information along with the enrolled cards.
      description: >
        Retrieves all information about the customer stored in Visa Click to
        Pay, including their enrolled cards.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4502 - UNKNOWN_CUSTOMER

        * 4506 - C2P_NOT_SUPPORTED_BY_ISSUER
      operationId: getCustomerVisaC2P
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: customerId
          description: Identifier of the customer.
          required: true
          schema:
            $ref: '#/components/schemas/VisaC2PCustomerId'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaC2PGetCustomerResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    put:
      tags:
        - Visa Click to Pay Issuer Offered
      summary: Updates the customer's information in Visa Click to Pay.
      description: >
        Overwrites existing data for the specified customer,

        and provides a requestTraceId in the response to retrieve the status of
        this action.

        It is recommended to retrieve the latest customer information in Click
        to Pay and populate all data fields,

        including the ones that do not change. Therefore, the complete customer
        information need to be sent again if the customer is ACTIVE.

        If the status in the request is set to DISABLED, then the update will
        not be performed and Click to Pay will give an error.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4502 - UNKNOWN_CUSTOMER

        * 4504 - C2P_HAS_PENDING_REQUEST

        * 4506 - C2P_NOT_SUPPORTED_BY_ISSUER
      operationId: updateCustomerVisaC2P
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: customerId
          description: Identifier of the customer.
          required: true
          schema:
            $ref: '#/components/schemas/VisaC2PCustomerId'
      requestBody:
        description: Request to update the customer's information.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisaC2PUpdateCustomerRequest'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaC2PUpdateCustomerResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    delete:
      tags:
        - Visa Click to Pay Issuer Offered
      summary: Deletes an enrolled customer from Visa Click to Pay.
      description: >
        Deletes all data previously sent to Visa Click to Pay for the specified
        customer,

        including all linked cards and digital cards.

        Provides a requestTraceId in the response to retrieve the status of this
        action.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4502 - UNKNOWN_CUSTOMER

        * 4504 - C2P_HAS_PENDING_REQUEST

        * 4506 - C2P_NOT_SUPPORTED_BY_ISSUER
      operationId: deleteCustomerVisaC2P
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: customerId
          description: Identifier of the customer.
          required: true
          schema:
            $ref: '#/components/schemas/VisaC2PCustomerId'
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaC2PDeleteCustomerResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /click-to-pay/visa/customers/{customerId}/cards:
    post:
      tags:
        - Visa Click to Pay Issuer Offered
      summary: Enrolls a card for a customer in Visa Click to Pay.
      description: >
        Enrolls a card for an existing customer already registered with Visa
        Click to Pay,

        and provides a requestTraceId in the response to retrieve the status of
        this action.

        As part of the request processing, a digital card will be generated for
        the enrolled card.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4436 - CARD_INACTIVE

        * 4502 - UNKNOWN_CUSTOMER

        * 4503 - CARD_ALREADY_ENROLLED_FOR_C2P

        * 4504 - C2P_HAS_PENDING_REQUEST

        * 4506 - C2P_NOT_SUPPORTED_BY_ISSUER
      operationId: enrollCardVisaC2P
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: customerId
          description: Identifier of the customer.
          required: true
          schema:
            $ref: '#/components/schemas/VisaC2PCustomerId'
      requestBody:
        description: Request to enroll a card for Visa Click to Pay.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisaC2PEnrollCardRequest'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaC2PEnrollCardResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    put:
      tags:
        - Visa Click to Pay Issuer Offered
      summary: Updates the card information in Visa Click to Pay.
      description: >
        Updates existing data for the specified card,

        and provides a requestTraceId in the response to retrieve the status of
        this action.

        It is recommended to retrieve the latest card information in Click to
        Pay and populate all data fields,

        including the ones that do not change. Therefore, the complete card
        information need to be sent again.
         
        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4502 - UNKNOWN_CUSTOMER

        * 4504 - C2P_HAS_PENDING_REQUEST

        * 4506 - C2P_NOT_SUPPORTED_BY_ISSUER
      operationId: updateCardVisaC2P
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: customerId
          description: Identifier of the customer.
          required: true
          schema:
            $ref: '#/components/schemas/VisaC2PCustomerId'
      requestBody:
        description: Request to update the card information.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisaC2PUpdateCardRequest'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaC2PUpdateCardResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /click-to-pay/visa/customers/{customerId}/cards/{cardToken}:
    delete:
      tags:
        - Visa Click to Pay Issuer Offered
      summary: Deletes an enrolled card from Visa Click to Pay.
      description: >
        Deletes a card (including the digital card) from Visa Click to Pay,

        and provides a requestTraceId in the response to retrieve the status of
        this action.


        Note: Deleting a customer's last card does not automatically remove the
        customer from Visa Click to Pay.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4502 - UNKNOWN_CUSTOMER

        * 4504 - C2P_HAS_PENDING_REQUEST

        * 4506 - C2P_NOT_SUPPORTED_BY_ISSUER
      operationId: deleteCardVisaC2P
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: customerId
          description: Identifier of the customer.
          required: true
          schema:
            $ref: '#/components/schemas/VisaC2PCustomerId'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaC2PDeleteCardResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /click-to-pay/visa/status/{requestTraceId}:
    get:
      tags:
        - Visa Click to Pay Issuer Offered
      summary: Returns the status of a previously triggered action.
      description: >
        Provides the result of the operation corresponding to the requestTraceId
        from the previously initiated action.

        The requestTraceId is valid for 7 days from the time of receipt.

        If the action fails, the errorDetails will contain the errors received
        from Visa Click to Pay.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4505 - UNKNOWN_C2P_REQUEST_TRACE_ID

        * 4506 - C2P_NOT_SUPPORTED_BY_ISSUER
      operationId: getRequestStatusVisaC2P
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: requestTraceId
          description: Identifier of the request trace.
          required: true
          schema:
            $ref: '#/components/schemas/VisaC2PRequestTraceId'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaC2PStatusResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /visa-alias-directory/aliases:
    post:
      operationId: createAliasAndRegisterCardsVisaAD
      tags:
        - Visa Alias Directory (Beta)
      summary: Creates an alias in the Alias Directory.
      description: >
        Creates an alias in the Alias Directory and associates the specified
        cards with the alias.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4521 - ALIAS_ALREADY_EXISTS

        * 4523 - VISA_ALIAS_DIRECTORY_INVALID_CARD_EXPIRATION

        * 4524 - ISSUER_NOT_CONFIGURED_FOR_VISA_ALIAS_DIRECTORY
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisaADCreateAliasAndRegisterCardsRequest'
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaADCreateAliasAndRegisterCardsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found or card is deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /visa-alias-directory/aliases/{aliasId}:
    get:
      operationId: retrieveAliasVisaAD
      tags:
        - Visa Alias Directory (Beta)
      summary: Retrieves an alias from the Alias Directory.
      description: >
        Retrieves information about a specific alias.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4520 - UNKNOWN_ALIAS

        * 4524 - ISSUER_NOT_CONFIGURED_FOR_VISA_ALIAS_DIRECTORY
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: aliasId
          description: Identifier of the alias
          required: true
          schema:
            $ref: '#/components/schemas/VisaADAliasId'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaADGetAliasResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    put:
      operationId: updateAliasVisaAD
      tags:
        - Visa Alias Directory (Beta)
      summary: Updates an alias in the Alias Directory.
      description: >
        Updates the information associated with the alias such as the
        identification, profile, or consent.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4520 - UNKNOWN_ALIAS

        * 4524 - ISSUER_NOT_CONFIGURED_FOR_VISA_ALIAS_DIRECTORY
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: aliasId
          description: Identifier of the alias
          required: true
          schema:
            $ref: '#/components/schemas/VisaADAliasId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisaADUpdateAliasRequest'
      responses:
        '204':
          description: The alias information was successfully updated
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    delete:
      operationId: deleteAliasVisaAD
      tags:
        - Visa Alias Directory (Beta)
      summary: Deletes an alias in the Alias Directory.
      description: >
        Deletes a specified alias which entails a deletion of the corresponding
        Visa Alias Directory card registrations.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4520 - UNKNOWN_ALIAS

        * 4524 - ISSUER_NOT_CONFIGURED_FOR_VISA_ALIAS_DIRECTORY
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: aliasId
          description: Identifier of the alias
          required: true
          schema:
            $ref: '#/components/schemas/VisaADAliasId'
      responses:
        '204':
          description: The alias was successfully deleted
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /visa-alias-directory/aliases/{aliasId}/status:
    put:
      operationId: updateAliasStatusVisaAD
      tags:
        - Visa Alias Directory (Beta)
      summary: Updates the status of an alias in the Alias Directory.
      description: >
        Updates the status of the specified alias.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4520 - UNKNOWN_ALIAS

        * 4524 - ISSUER_NOT_CONFIGURED_FOR_VISA_ALIAS_DIRECTORY
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: aliasId
          description: Identifier of the alias
          required: true
          schema:
            $ref: '#/components/schemas/VisaADAliasId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisaADUpdateAliasStatusRequest'
      responses:
        '204':
          description: The alias information was successfully updated
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /visa-alias-directory/aliases/{aliasId}/cards:
    get:
      operationId: retrieveAllCardsVisaAD
      tags:
        - Visa Alias Directory (Beta)
      summary: Retrieves all the cards corresponding to an alias.
      description: >
        Retrieves all the cards corresponding to the alias of the specified
        Alias ID.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4520 - UNKNOWN_ALIAS

        * 4524 - ISSUER_NOT_CONFIGURED_FOR_VISA_ALIAS_DIRECTORY
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: aliasId
          description: Identifier of the alias
          required: true
          schema:
            $ref: '#/components/schemas/VisaADAliasId'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaADRetrieveAllCardsResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    post:
      operationId: registerCardVisaAD
      tags:
        - Visa Alias Directory (Beta)
      summary: Registers a card for Visa Alias Directory.
      description: >
        Registers the given card for Visa Alias Directory under the alias of the
        specified Alias ID.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4520 - UNKNOWN_ALIAS

        * 4423 - VISA_ALIAS_DIRECTORY_INVALID_CARD_EXPIRATION

        * 4524 - ISSUER_NOT_CONFIGURED_FOR_VISA_ALIAS_DIRECTORY
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: aliasId
          description: Identifier of the alias
          required: true
          schema:
            $ref: '#/components/schemas/VisaADAliasId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisaADRegisterCardRequest'
      responses:
        '204':
          description: The alias information was successfully updated
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    put:
      operationId: updateCardVisaAD
      tags:
        - Visa Alias Directory (Beta)
      summary: Updates a card in the Alias Directory.
      description: >
        Updates the given card for Visa Alias Directory under the alias of the
        specified Alias ID.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4520 - UNKNOWN_ALIAS

        * 4522 - CARD_NOT_REGISTERED_IN_VISA_ALIAS_DIRECTORY

        * 4423 - VISA_ALIAS_DIRECTORY_INVALID_CARD_EXPIRATION

        * 4524 - ISSUER_NOT_CONFIGURED_FOR_VISA_ALIAS_DIRECTORY
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: aliasId
          description: Identifier of the alias
          required: true
          schema:
            $ref: '#/components/schemas/VisaADAliasId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisaADUpdateCardRequest'
      responses:
        '204':
          description: The alias information was successfully updated
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
  /visa-alias-directory/aliases/{aliasId}/cards/{cardToken}:
    get:
      operationId: retrieveCardVisaAD
      tags:
        - Visa Alias Directory (Beta)
      summary: Retrieves a card registered in the Alias Directory.
      description: >
        Retrieves a specific card corresponding to the alias of the specified
        Alias ID.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4520 - UNKNOWN_ALIAS

        * 4522 - CARD_NOT_REGISTERED_IN_VISA_ALIAS_DIRECTORY

        * 4524 - ISSUER_NOT_CONFIGURED_FOR_VISA_ALIAS_DIRECTORY
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: aliasId
          description: Identifier of the alias
          required: true
          schema:
            $ref: '#/components/schemas/VisaADAliasId'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisaADRetrieveCardResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
    delete:
      operationId: deleteCardVisaAD
      tags:
        - Visa Alias Directory (Beta)
      summary: Deletes a card from the Alias Directory.
      description: >
        Deletes the given card from the alias of the specified Alias ID.


        In addition to standard application error codes, the following codes can
        be returned:

        * 4430 - UNKNOWN_CARD

        * 4520 - UNKNOWN_ALIAS

        * 4522 - CARD_NOT_REGISTERED_IN_VISA_ALIAS_DIRECTORY

        * 4524 - ISSUER_NOT_CONFIGURED_FOR_VISA_ALIAS_DIRECTORY
      parameters:
        - $ref: '#/components/parameters/RequestIdHeader'
        - in: path
          name: aliasId
          description: Identifier of the alias
          required: true
          schema:
            $ref: '#/components/schemas/VisaADAliasId'
        - in: path
          name: cardToken
          description: Card token
          required: true
          schema:
            $ref: '#/components/schemas/CardToken'
      responses:
        '204':
          description: The card was successfully deleted from the alias
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankApiError'
components:
  parameters:
    RequestIdHeader:
      in: header
      name: x-request-id
      description: A unique identifier for a request and response pair.
      schema:
        type: string
    MerchantId:
      description: A unique identifier corresponding to a merchant in debiX.
      name: merchantId
      in: path
      required: true
      schema:
        type: string
    ImageVersionHeader:
      description: Version of the image currently stored in the client.
      name: If-None-Match
      in: header
      schema:
        type: string
  schemas:
    VisaC2PEnrollCustomerRequest:
      description: Customer and card data to enroll to Visa Click to Pay.
      type: object
      required:
        - customer
        - card
      properties:
        customer:
          $ref: '#/components/schemas/VisaC2PEnrollingCustomer'
        card:
          $ref: '#/components/schemas/VisaC2PCard'
    VisaC2PEnrollingCustomer:
      description: Contains the information about a customer to be enrolled.
      type: object
      required:
        - email
        - locale
        - phone
        - lastName
        - firstName
        - countryCode
        - customerId
      properties:
        email:
          $ref: '#/components/schemas/VisaC2PCustomerEmail'
        locale:
          $ref: '#/components/schemas/VisaC2PCustomerLocale'
        phone:
          $ref: '#/components/schemas/VisaC2PCustomerPhone'
        lastName:
          $ref: '#/components/schemas/VisaC2PCustomerLastName'
        firstName:
          $ref: '#/components/schemas/VisaC2PCustomerFirstName'
        middleName:
          $ref: '#/components/schemas/VisaC2PCustomerMiddleName'
        countryCode:
          $ref: '#/components/schemas/VisaC2PCustomerCountryCode'
        customerId:
          $ref: '#/components/schemas/VisaC2PCustomerId'
        nationalIdentifier:
          $ref: '#/components/schemas/VisaC2PCustomerNationalIdentifier'
    VisaC2PUpdatingCustomer:
      description: Contains the information about the customer update.
      type: object
      required:
        - email
        - locale
        - phone
        - lastName
        - firstName
        - countryCode
      properties:
        email:
          $ref: '#/components/schemas/VisaC2PCustomerEmail'
        locale:
          $ref: '#/components/schemas/VisaC2PCustomerLocale'
        phone:
          $ref: '#/components/schemas/VisaC2PCustomerPhone'
        lastName:
          $ref: '#/components/schemas/VisaC2PCustomerLastName'
        firstName:
          $ref: '#/components/schemas/VisaC2PCustomerFirstName'
        middleName:
          $ref: '#/components/schemas/VisaC2PCustomerMiddleName'
        countryCode:
          $ref: '#/components/schemas/VisaC2PCustomerCountryCode'
        customerStatus:
          $ref: '#/components/schemas/VisaC2PCustomerStatus'
        nationalIdentifier:
          $ref: '#/components/schemas/VisaC2PCustomerNationalIdentifier'
    VisaC2PCustomer:
      description: Contains the information about the customer.
      type: object
      required:
        - email
        - locale
        - phone
        - lastName
        - firstName
        - countryCode
        - customerId
      properties:
        email:
          $ref: '#/components/schemas/VisaC2PCustomerEmail'
        locale:
          $ref: '#/components/schemas/VisaC2PCustomerLocale'
        phone:
          $ref: '#/components/schemas/VisaC2PCustomerPhone'
        lastName:
          $ref: '#/components/schemas/VisaC2PCustomerLastName'
        firstName:
          $ref: '#/components/schemas/VisaC2PCustomerFirstName'
        middleName:
          $ref: '#/components/schemas/VisaC2PCustomerMiddleName'
        countryCode:
          $ref: '#/components/schemas/VisaC2PCustomerCountryCode'
        customerId:
          $ref: '#/components/schemas/VisaC2PCustomerId'
        customerStatus:
          $ref: '#/components/schemas/VisaC2PCustomerStatus'
        nationalIdentifier:
          $ref: '#/components/schemas/VisaC2PCustomerNationalIdentifier'
    VisaC2PCustomerEmail:
      description: The customer's email address.
      type: string
      minLength: 1
      maxLength: 256
      examples:
        - peter.schweizer@mailbox.org
    VisaC2PCustomerLocale:
      description: The customer's locale.
      type: string
      minLength: 2
      maxLength: 5
      examples:
        - de_CH
    VisaC2PCustomerPhone:
      description: >-
        The customer's phone number in ITU-T E.164 format, without "+" symbol
        and leading zeros.
      type: string
      minLength: 1
      maxLength: 15
      examples:
        - '41791231212'
    VisaC2PCustomerLastName:
      description: The customer's last name.
      type: string
      minLength: 1
      maxLength: 35
      examples:
        - Muster
    VisaC2PCustomerFirstName:
      description: The customer's first name.
      type: string
      minLength: 1
      maxLength: 35
      examples:
        - Maximilian
    VisaC2PCustomerMiddleName:
      description: The customer's middle name.
      type: string
      minLength: 1
      maxLength: 35
      examples:
        - Alexander
    VisaC2PCustomerCountryCode:
      description: The customer's country code in the ISO 3166 (alpha 3) format.
      type: string
      minLength: 3
      maxLength: 3
      examples:
        - CHE
    VisaC2PCustomerNationalIdentifier:
      description: The customer's national identifier.
      type: object
      required:
        - type
        - value
      properties:
        type:
          description: The type of identification.
          type: string
          enum:
            - PASSPORT
            - DRIVING_LICENSE
            - NATIONAL_IDENTITY
        value:
          description: The number of identification.
          type: string
          minLength: 1
          maxLength: 24
          examples:
            - A123456
    VisaC2PCustomerStatus:
      description: The status of the enrolled customer.
      type: string
      enum:
        - ACTIVE
        - DISABLED
    VisaC2PCard:
      description: >-
        Contains the information about the card, which must be valid when
        enrolling for Click to Pay.
      type: object
      required:
        - nameOnCard
        - billingAddress
        - cardToken
        - expiration
      properties:
        nameOnCard:
          description: The name which is printed on the card.
          type: string
          minLength: 1
          maxLength: 120
          examples:
            - Peter Schweizer
        billingAddress:
          $ref: '#/components/schemas/VisaC2PBillingAddress'
        cardToken:
          $ref: '#/components/schemas/CardToken'
        expiration:
          $ref: '#/components/schemas/YearMonth'
    VisaC2PBillingAddress:
      description: The card's billing address.
      type: object
      required:
        - city
        - countryCode
        - postalCode
        - addressLine1
      properties:
        city:
          description: The city of the billing address.
          type: string
          minLength: 1
          maxLength: 32
          examples:
            - Winterthur
        state:
          description: The state of the billing address in the ISO 3166-2 format.
          type: string
          minLength: 1
          maxLength: 3
          examples:
            - ZH
        countryCode:
          description: >-
            The country code of the billing address in the ISO 3166-1-alpha3
            format.
          type: string
          minLength: 3
          maxLength: 3
          examples:
            - CHE
        postalCode:
          description: The postal or zip code of the billing address.
          type: string
          minLength: 1
          maxLength: 9
          examples:
            - '8400'
        addressLine1:
          description: First line of the billing address.
          type: string
          minLength: 1
          maxLength: 64
          examples:
            - Musterstrasse 12
        addressLine2:
          description: Second line of the billing address.
          type: string
          minLength: 1
          maxLength: 64
        addressLine3:
          description: Third line of the billing address.
          type: string
          minLength: 1
          maxLength: 64
    VisaC2PEnrollCustomerResponse:
      description: The response to a customer enrolment request.
      type: object
      required:
        - requestTraceId
      properties:
        requestTraceId:
          $ref: '#/components/schemas/VisaC2PRequestTraceId'
    VisaC2PRequestTraceId:
      description: Identifier of the request trace.
      type: string
      format: uuid
    VisaC2PGetCustomerResponse:
      description: The response received after getting a customer's information.
      type: object
      required:
        - customer
        - enrolledCards
      properties:
        customer:
          $ref: '#/components/schemas/VisaC2PCustomer'
        enrolledCards:
          type: array
          items:
            $ref: '#/components/schemas/VisaC2PEnrolledCard'
    VisaC2PEnrolledCard:
      description: Contains all information about a card and it's enrollment information.
      type: object
      required:
        - card
      properties:
        card:
          $ref: '#/components/schemas/VisaC2PCard'
        digitalCard:
          $ref: '#/components/schemas/VisaC2PDigitalCard'
        panReferenceId:
          description: Unique identifier for the card provided by Visa Click to Pay.
          type: string
          minLength: 1
          maxLength: 32
        paymentAccountReference:
          description: >-
            Unique payment account reference for the card provided by Visa Click
            to Pay.
          type: string
          minLength: 29
          maxLength: 50
        customerStatus:
          $ref: '#/components/schemas/VisaC2PCustomerStatus'
    VisaC2PDigitalCard:
      description: The information about the digital card created in the enrollment.
      type: object
      required:
        - tokenReferenceId
        - tokenRequestorId
      properties:
        tokenReferenceId:
          description: Identifier of the token.
          type: string
          minLength: 1
          maxLength: 50
        tokenRequestorId:
          description: Identifier of the token requestor.
          type: string
          minLength: 1
          maxLength: 11
    VisaC2PUpdateCustomerRequest:
      description: The latest information of the enrolled customer.
      type: object
      required:
        - customer
      properties:
        customer:
          $ref: '#/components/schemas/VisaC2PUpdatingCustomer'
    VisaC2PUpdateCustomerResponse:
      description: The response to a customer update request.
      type: object
      required:
        - requestTraceId
      properties:
        requestTraceId:
          $ref: '#/components/schemas/VisaC2PRequestTraceId'
    VisaC2PDeleteCustomerResponse:
      description: The response to a customer delete request.
      type: object
      required:
        - requestTraceId
      properties:
        requestTraceId:
          $ref: '#/components/schemas/VisaC2PRequestTraceId'
    VisaC2PEnrollCardRequest:
      description: The request to enroll a new card for a customer.
      type: object
      required:
        - card
      properties:
        card:
          $ref: '#/components/schemas/VisaC2PCard'
    VisaC2PEnrollCardResponse:
      description: The response to a card enrolment request.
      type: object
      required:
        - requestTraceId
      properties:
        requestTraceId:
          $ref: '#/components/schemas/VisaC2PRequestTraceId'
    VisaC2PUpdateCardRequest:
      description: The request to update an enrolled card.
      type: object
      required:
        - card
      properties:
        card:
          $ref: '#/components/schemas/VisaC2PCard'
    VisaC2PUpdateCardResponse:
      description: The response to a card update request.
      type: object
      required:
        - requestTraceId
      properties:
        requestTraceId:
          $ref: '#/components/schemas/VisaC2PRequestTraceId'
    VisaC2PDeleteCardResponse:
      description: The response to a card deletion request.
      type: object
      required:
        - requestTraceId
      properties:
        requestTraceId:
          $ref: '#/components/schemas/VisaC2PRequestTraceId'
    VisaC2PStatusResponse:
      description: The response to a request querying the status of a performed action.
      type: object
      required:
        - status
      properties:
        status:
          $ref: '#/components/schemas/VisaC2PRequestStatus'
        errors:
          description: List of error details.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/ErrorDetail'
    VisaC2PRequestStatus:
      description: The current status of a previously triggered action.
      type: string
      enum:
        - IN_PROGRESS
        - SUCCESS
        - FAILURE
    VisaC2PCustomerId:
      description: Unique identifier for the customer.
      type: string
      format: uuid
    DigitalCardsSearchRequestFilter:
      description: >-
        Contains the optional filters for the digital cards search. Expiry and
        provisioning date lower and upper bounds are inclusive.
      type: object
      properties:
        wallet:
          $ref: '#/components/schemas/WalletProvider'
        tokenRequestor:
          $ref: '#/components/schemas/TokenRequestor'
        digitalCardExpiryRange:
          $ref: '#/components/schemas/YearMonthRange'
        provisioningDateTimeRange:
          $ref: '#/components/schemas/DateTimeRange'
        status:
          $ref: '#/components/schemas/DigitalCardStatus'
        paging:
          $ref: '#/components/schemas/Paging'
    AuthorizationsResponse:
      description: >-
        Contains a list of authorizations, ordered by transaction date from
        newest to oldest.
      type: object
      properties:
        authorizations:
          type: array
          items:
            $ref: '#/components/schemas/Authorization'
        totalRecords:
          description: Total available records.
          type: integer
          format: int64
          examples:
            - 1021
    DigitalCardSearchResponse:
      description: >-
        Contains a list of digital cards corresponding to the request filter,
        sorted by provisioning date from newest to oldest.
      type: object
      properties:
        digitalCards:
          description: List of digital cards found.
          type: array
          items:
            $ref: '#/components/schemas/DigitalCard'
        totalRecords:
          description: Total available records.
          type: integer
          format: int64
          examples:
            - 1021
    DateRange:
      description: Date range lower and upper bounds (both inclusive).
      type: object
      properties:
        from:
          description: Start date (inclusive).
          type: string
          format: date
          examples:
            - '2024-01-01'
        to:
          description: End date (inclusive).
          type: string
          format: date
          examples:
            - '2024-12-31'
    DateTimeRange:
      description: Date-time range lower and upper bounds (both inclusive).
      type: object
      properties:
        from:
          description: Date-time lower bound (inclusive).
          type: string
          format: date-time
          examples:
            - '2022-01-01T00:00:00.000+02:00'
        to:
          description: Date-time upper bound (inclusive).
          type: string
          format: date-time
          examples:
            - '2022-12-31T23:59:59.999+02:00'
    YearMonthRange:
      description: Year-month range lower and upper bounds (both inclusive).
      type: object
      properties:
        from:
          $ref: '#/components/schemas/YearMonth'
        to:
          $ref: '#/components/schemas/YearMonth'
    DigitalCardsStatusUpdateRequest:
      description: Contains the new digital card status and the update reason.
      type: object
      required:
        - status
        - digitalCardStatusUpdateReason
      properties:
        status:
          $ref: '#/components/schemas/DigitalCardStatus'
        digitalCardStatusUpdateReason:
          $ref: '#/components/schemas/DigitalCardStatusUpdateReason'
    DigitalCardStatusUpdateRequest:
      description: Contains the new digital card status and the update reason.
      type: object
      required:
        - status
        - digitalCardStatusUpdateReason
      properties:
        status:
          $ref: '#/components/schemas/DigitalCardStatus'
        digitalCardStatusUpdateReason:
          $ref: '#/components/schemas/DigitalCardStatusUpdateReason'
    DigitalCardStatusUpdateResponse:
      description: >-
        Contains two lists of digital cards; one contains those for which the
        update was triggered, the other contains those for which the update is
        not possible due to business rules. Both lists are sorted in ascending
        order by the Dpan.
      type: object
      properties:
        commissionedDigitalCards:
          description: Lists of digital cards for which the update was triggered.
          type: array
          items:
            $ref: '#/components/schemas/Dpan'
        rejectedDigitalCards:
          description: >-
            Lists of digital cards for which the update is not possible due to
            business rules.
          type: array
          items:
            $ref: '#/components/schemas/RejectedDigitalCard'
    PresentmentsSearchRequestFilter:
      description: >-
        Contains the filters for the presentments search. The date range lower
        and upper bounds are inclusive.
      type: object
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        walletType:
          $ref: '#/components/schemas/WalletType'
        transactionDateRange:
          $ref: '#/components/schemas/DateRange'
        paging:
          $ref: '#/components/schemas/Paging'
    PresentmentsResponse:
      description: >-
        Contains a list of presentments, ordered by transaction date from newest
        to oldest.
      type: object
      properties:
        presentments:
          type: array
          items:
            $ref: '#/components/schemas/Presentment'
        totalRecords:
          description: Total available records.
          type: integer
          format: int64
          examples:
            - 1021
    HealthCheckRequest:
      type: object
      required:
        - message
      properties:
        message:
          description: Expected response message from health check.
          type: string
          minLength: 1
          maxLength: 100
          examples:
            - Any string
    HealthCheckResponse:
      type: object
      required:
        - message
        - requestDateTime
        - receivedHeaders
        - apiVersion
      properties:
        message:
          description: Response message from health check.
          type: string
          minLength: 1
          maxLength: 100
          examples:
            - >-
              The healthcheck GET request was successfully received and
              processed.
        requestDateTime:
          description: Date and time of the request.
          type: string
          format: date-time
          examples:
            - '2021-10-03T16:03:09.101+02:00'
        receivedHeaders:
          description: The headers received by the api backend.
          type: array
          items:
            $ref: '#/components/schemas/ReceivedHeader'
        apiVersion:
          description: Version of this API.
          type: string
          examples:
            - 1.0.0
    ReceivedHeader:
      type: object
      properties:
        headerName:
          description: Name of the received header.
          type: string
          examples:
            - x-correlation-id
        headerValue:
          description: Value of the received header.
          type: string
          examples:
            - 9bcd4351-4b7b-4017-9b63-9613414c6ff1
    Paging:
      description: Contains paging properties.
      type: object
      properties:
        pageNumber:
          description: Page number for paging starting with zero.
          type: integer
          format: int32
          default: 0
          examples:
            - 0
        pageSize:
          description: Limitation of the page size.
          type: integer
          format: int32
          minimum: 20
          maximum: 100
          default: 100
          examples:
            - 50
    Authorization:
      description: Authorization notification.
      type: object
      required:
        - processingType
        - transactionDateTime
        - transactionClass
        - transactionType
        - useCase
        - cardAcceptor
        - cardToken
        - cardTokenExtension
      properties:
        id:
          $ref: '#/components/schemas/TransactionId'
        processingType:
          description: |-
            - 0: Normal Trx/Presentment
            - 1: Representment
            - 2: Reversal/Storno
            - 3: Reversal of Representment
            - 4: Chargeback
            - 5: Reversal of Chargeback
            - 6: Partial Reversal
            - 7: Partial Chargeback
            - 8: Partial Representment
          type: integer
          format: int32
        dpan:
          $ref: '#/components/schemas/Dpan'
        schemeTransactionId:
          $ref: '#/components/schemas/SchemeTransactionId'
        approvalCode:
          $ref: '#/components/schemas/ApprovalCode'
        walletType:
          $ref: '#/components/schemas/WalletType'
        transactionDateTime:
          description: Date and time of the transaction.
          type: string
          format: date-time
          examples:
            - '2021-10-03T16:03:09.101+02:00'
        issuerResponseCode:
          description: Internal response code of SPS Issuing Frontoffice.
          type: integer
          format: int32
          examples:
            - 2103
        transactionState:
          description: >-
            - 0: Transaction purpose fulfilled, service performed

            - 1: Transaction purpose not fulfilled, for technical reasons, e.g.
            timeout

            - 2: Transaction purpose not fulfilled, for other reasons, e.g.
            incorrect PIN
          type: integer
          format: int32
        transactionClass:
          description: |-
            - 0: Authorisation & Capture
            - 1: Capture only
            - 2: Authorisation only
            - 3: Advice
            - 4: Authorisation & Capture (Clearing already done)
            - 5: Capture only (Clearing already done)
            - 9: Other
          type: integer
          format: int32
        transactionType:
          description: |-
            - 100: Cash withdrawal
            - 101: Retail purchase
            - 102: Credit
            - 103: ATM operator refund
            - 109: Deposit (ATM)
            - 117: P2P funding/debit transaction with IBAN
            - 118: P2P unload/credit with IBAN
            - 120: Balance query
            - 121: PIN change
            - 122: Check PIN/Amount/Blocking
            - 123: Check PIN/Blocking
            - 124: Check PIN
            - 125: Check Blocking
            - 127: PIN unblock
            - 128: EMV R script result advice
            - 130: Data capture after reservation
            - 132: Data capture mail order
            - 133: Data capture phone order
            - 136: Cash advance
            - 140: Reservation
            - 141: Reservation increase
            - 142: Authorization
            - 152: Recurring Authorization
            - 158: Purchase with Cashback
            - 160: Prepaid Mobile
            - 176: POS preauthorization
            - 189: P2P Payment
            - 194: Account verification
            - 212: Funding
            - 217: international POS preauthorization
            - 218: international POS preauthorization capture
            - 400: ATM card verification
            - 401: ATM account statements
            - 402: ATM inquiry exchange rate withdrawal
            - 403: ATM exchange rate deposit
            - 406: ATM inquiry general deposit data
            - 901: Normal topup transaction
          type: integer
          format: int32
          minimum: 0
          maximum: 999
          examples:
            - 101
        useCase:
          description: |-
            - 1  cash_withdrawal_atm
            - 4  mobile_voucher_atm
            - 5  balance_inquiry
            - 6  pin_check
            - 8  purchase_of_goods
            - 9  offline_purchase_of_goods
            - 10 preauthorization
            - 14 credit
            - 15 cash_advance
            - 19 atm_foreign_withdrawal
            - 20 foreign_purchase_of_goods
            - 21 foreign_cash_advance
            - 22 foreign_credit
            - 23 foreign_purchase_with_cashback
            - 24 payment_transaction
            - 26 foreign_preauthorization
            - 27 foreign_offline_purchase_of_goods
            - 29 international_pos_account_status_inquiry
            - 30 international_blocking_advice
            - 32 atm_operator_refund
            - 37 purchase_with_cash_back
            - 40 pin_change
            - 42 emv_script_confirmation
            - 43 card_verification_atm
            - 44 reservation
            - 45 foreign_reservation
            - 49 globaldepositdata
            - 51 notes_deposit
            - 52 coins_deposit
            - 53 pos_reservation_increase
          type: integer
          format: int32
        authorizationExpiryDate:
          description: The last date (inclusive) on which the authorization is valid.
          type: string
          format: date
          examples:
            - '2021-10-03'
        amount:
          $ref: '#/components/schemas/Amount'
        cardAcceptor:
          $ref: '#/components/schemas/CardAcceptor'
        merchant:
          $ref: '#/components/schemas/Merchant'
        cardholderAuthentication:
          description: >-
            - 0: n/a – not applicable (unknown)

            - 1: PBT (PIN Based Trx)

            - 2: no CVM (no Cardholder Verification Method)

            - 4: Mail/Telephone or electronic Commerce without authentication

            - 5: SBT (Signature Based Trx)

            - 6: e-commerce Transaction authenticated by cardholder certificate

            - 7: e-commerce Transaction authenticated by chip crypto (cardholder
            certificate not used)

            - 8: in-app or mobile eCom trx authenticated
          type: integer
          format: int32
        retrievalReference:
          $ref: '#/components/schemas/RetrievalReference'
        acquiringInstitutionId:
          description: Scheme's acquiring institution id.
          type: integer
          format: int64
          minimum: 0
          maximum: 99999999999
          examples:
            - 13445
        cardToken:
          $ref: '#/components/schemas/CardToken'
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        cardDataSource:
          description: Code that indicates where the card data originates from.
          type: integer
          format: int32
          minimum: 0
          maximum: 99
          examples:
            - 1
        threeDsAuthenticationLevel:
          description: |-
            - 2140: 3DS Authentication OTP SMS
            - 2141: 3DS Authentication TA
            - 2142: 3DS Authentication OOB
            - 2143: 3DS Authentication PWD
            - 2144: 3DS Authentication Frictionless
          type: integer
          format: int32
    ApplePayCardEncryptionRequest:
      description: Contains data for the Apple Pay card encryption.
      type: object
      required:
        - cardTokenExtension
        - cardholderName
        - nonce
        - nonceSignature
        - applePublicCertificates
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        cardholderName:
          $ref: '#/components/schemas/CardHolderName'
        nonce:
          type: string
          description: Nonce, passed back in the response.
        nonceSignature:
          type: string
          description: Nonce signature, passed back in the response.
        applePublicCertificates:
          type: array
          description: >-
            Apple's certificates to be used in the Diffie-Hellman key exchange.
            Base64 encoded DER certificate chain.
          items:
            type: string
            description: Base64 encoded DER certificate.
    ApplePayProvisioningResponse:
      description: Data required for push provisioning with a Apple Pay wallet.
      type: object
      required:
        - activationData
        - ephemeralPublicKey
        - encryptedData
      properties:
        activationData:
          description: base64 encoded tokenization authentication value.
          type: string
          examples:
            - >-
              for Mastercard see
              '#/components/schemas/MastercardTokenizationAuthenticationValue'
        ephemeralPublicKey:
          type: string
          description: >-
            debiX's ephemeral public key used in the Diffie-Hellman key
            exchange.
        encryptedData:
          type: string
          description: Encrypted card data, base64 encoded
          examples:
            - see '#/components/schemas/ApplePayCardCredentials'
    MastercardTokenizationAuthenticationValue:
      description: >-
        Tokenization Authentication Value for Mastercard push provisioning. The
        json is then base64 encoded.
      type: object
      required:
        - version
        - keyAlias
        - includedFieldsInOrder
        - dataValidUntilTimestamp
        - signatureAlgorithm
        - signature
      properties:
        version:
          type: string
          description: TAV version
        keyAlias:
          type: string
          description: >-
            Key alias of the key that is used to generate the signature. This
            must be the same as what was configured through the MDES Manager.
        includedFieldsInOrder:
          type: string
          description: >-
            fields that are used to build this TAV:
            dataValidUntilTimestamp|accountNumber|accountExpiry
        dataValidUntilTimestamp:
          type: string
          description: >-
            ISO 8601 format of the date and time with time zone that the TAV
            expires and is no longer honored. Include this time stamp field,
            otherwise the TAV validation fails. Note: Millisecond is not
            supported for this parameter.
          examples:
            - '2023-03-03T16:10:59Z'
        signatureAlgorithm:
          type: string
          description: Algorithm used for signature generation. RSA-SHA256 or RSA-SHA512
        signature:
          type: string
          description: >-
            Data, as specified in includedFieldsInOrder e.g.
            2018-07-3T16:10:59Z|5432123443211234|1224, is signed with the
            referenced key of keyAlias. The signature is base64 encoded.
    ApplePayCardCredentials:
      description: Card credentials used for Apple Pay push provisioning.
      type: object
      required:
        - primaryAccountNumber
        - expiration
        - name
        - nonce
        - nonceSignature
        - productType
        - version
      properties:
        primaryAccountNumber:
          type: string
          description: PAN of the card to be provisioned.
        expiration:
          type: string
          description: Expiration data of the card to be provisioned.
          pattern: ^(0[1-9]|1[0-2])/([0-9]{2})$
          examples:
            - 11/18
        name:
          type: string
          description: Cardholder name.
        nonce:
          type: string
          description: Nonce from the request.
        nonceSignature:
          type: string
          description: Nonce signature from the request.
        productType:
          type: string
          description: Always DEFAULT_MASTERCARD
        version:
          type: string
          description: Version of the credential format, always 1.
    GooglePayCardEncryptionRequest:
      description: Contains data for the Google Pay card encryption.
      type: object
      required:
        - cardTokenExtension
        - cardholderName
        - clientWalletAccountId
        - clientDeviceId
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        cardholderName:
          $ref: '#/components/schemas/CardHolderName'
        clientWalletAccountId:
          type: string
          description: >-
            The active wallet id of the current Google Pay wallet.
            Client-provided consumer ID that identifies the wallet account
            holder entity.
        clientDeviceId:
          type: string
          description: >-
            Stable device identification set by wallet provider. Could be a
            computer identifier or ID tied to hardware such as TEE_ID or SE_ID.
    GooglePayProvisioningResponse:
      description: Data required for push provisioning with a Google Pay wallet.
      type: object
      required:
        - base64GooglePayOpaquePaymentCard
      properties:
        base64GooglePayOpaquePaymentCard:
          description: Google Pay OpaquePaymentCard base64 encoded.
          type: string
          example: >-
            for Mastercard see
            '#/components/schemas/MastercardGooglePayOpaquePaymentCard'
    SamsungPayCardEncryptionRequest:
      description: Contains data for the Samsung Pay card encryption.
      type: object
      required:
        - cardTokenExtension
        - cardholderName
        - clientWalletAccountId
        - clientDeviceId
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        cardholderName:
          $ref: '#/components/schemas/CardHolderName'
        clientWalletAccountId:
          type: string
          description: >-
            The active wallet id of the current Samsung Pay wallet.
            Client-provided consumer ID that identifies the wallet account
            holder entity.
        clientDeviceId:
          type: string
          description: >-
            Stable device identification set by wallet provider. Could be a
            computer identifier or ID tied to hardware such as TEE_ID or SE_ID.
    SamsungPayProvisioningResponse:
      description: Data required for push provisioning with a Samsung Pay wallet.
      type: object
      required:
        - base64SamsungPayOpaquePaymentCard
      properties:
        base64SamsungPayOpaquePaymentCard:
          description: Samsung Pay OpaquePaymentCard base64 encoded.
          type: string
          examples:
            - >-
              for Mastercard see
              '#/components/schemas/MastercardGooglePayOpaquePaymentCard'
    MastercardGooglePayOpaquePaymentCard:
      description: Mastercard GooglePay OpaquePaymentCard unencoded.
      type: object
      required:
        - cardInfo
        - tokenizationAuthenticationValue
      properties:
        cardInfo:
          $ref: '#/components/schemas/MastercardGooglePayCardInfo'
        tokenizationAuthenticationValue:
          description: base64 encoded tokenization authentication value.
          type: string
          examples:
            - >-
              see
              '#/components/schemas/MastercardTokenizationAuthenticationValue'
    MastercardGooglePayCardInfo:
      description: >-
        Card info used for push provisioning with Mastercard and Google Pay or
        Samsung Pay
      type: object
      required:
        - encryptedData
        - publicKeyFingerprint
        - encryptedKey
        - oaepHashingAlgorithm
      properties:
        encryptedData:
          type: string
          description: Mastercard Google Pay or Samsung Pay EncryptedCardData
          examples:
            - see '#/components/schemas/MastercardGooglePayCardInfoData'
        publicKeyFingerprint:
          type: string
          description: Fingerprint of the public key used to encrypt the AES key.
        encryptedKey:
          type: string
          description: Encrypted AES key
        oaepHashingAlgorithm:
          type: string
          description: 'OAEP hashing algorithm, possible values: SHA256, SHA512'
        iv:
          type: string
          description: >-
            IV (initialization vector) used, if none is given, 0000000000000000
            is assumed
    ClickToPayMastercardProvisioningRequest:
      description: Request data to provision Mastercard Click to Pay.
      type: object
      required:
        - cardTokenExtension
        - consumer
        - complianceSettings
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        consumer:
          $ref: '#/components/schemas/ClickToPayMastercardConsumer'
        complianceSettings:
          $ref: '#/components/schemas/ClickToPayMastercardComplianceSettings'
    ClickToPayMastercardConsumer:
      description: Consumer details for Mastercard Click to Pay
      type: object
      required:
        - emailAddress
        - mobilePhoneNumber
        - mobilePhoneNumberCountryCode
        - languageCode
        - firstName
        - lastName
        - street
        - streetNo
        - postalCode
        - city
        - countryCode
      properties:
        emailAddress:
          description: The customer's email address.
          type: string
          minLength: 1
          maxLength: 256
          example: peter.schweizer@mailbox.org
        mobilePhoneNumber:
          description: The phone number without country code.
          type: string
          pattern: ^[0-9]{5,12}$
          example: '795625655'
        mobilePhoneNumberCountryCode:
          description: The country code of the phone number.
          type: string
          pattern: ^[1-9][0-9]{0,3}$
          example: '41'
        languageCode:
          description: Consumer-provided language choice. ISO 639-1 Code.
          minLength: 2
          type: string
          example: de
        firstName:
          description: Consumer-provided first name.
          type: string
          maxLength: 30
          example: John
        lastName:
          description: Consumer-provided last name.
          type: string
          maxLength: 30
          example: Doe
        street:
          description: Consumer-provided street name.
          type: string
          maxLength: 25
          example: Main Street
        streetNo:
          description: Consumer-provided street number.
          type: string
          maxLength: 5
          example: '123'
        postalCode:
          description: Postal or zip code of the address.
          type: string
          minLength: 1
          maxLength: 10
          example: '8005'
        city:
          description: The city of the address.
          type: string
          minLength: 1
          maxLength: 32
          example: Zürich
        countryCode:
          description: ISO 3166 alpha 2 country code.
          type: string
          minLength: 2
          maxLength: 2
          example: CH
    ClickToPayMastercardComplianceSettings:
      description: >-
        Contains URIs to the latest privacy policy and terms and conditions for
        Mastercard Click to Pay.
      type: object
      required:
        - privacyUri
        - termsAndConditionsUri
      properties:
        privacyUri:
          type: string
          minLength: 15
          description: Latest version of privacy policy URI.
          example: >-
            https://www.mastercard.com/global/click-to-pay/country-listing/privacy.html
        termsAndConditionsUri:
          type: string
          minLength: 15
          description: Latest version of terms and conditions URI.
          example: >-
            https://www.mastercard.com/global/click-to-pay/country-listing/terms.html
    MastercardGooglePayCardInfoData:
      description: >-
        EncryptedCardData used for push provisioning with Mastercard and Google
        Pay or Samsung Pay
      type: object
      required:
        - accountNumber
        - expiryMonth
        - expiryYear
        - source
        - cardholderName
      properties:
        accountNumber:
          type: string
          description: PAN of the card to be provisioned.
        expiryMonth:
          type: string
          description: Expiration month of the card to be provisioned.
        expiryYear:
          type: string
          description: Expiration year of the card to be provisioned.
        source:
          type: string
          description: Provisioning source, here always CARD_ADDED_VIA_APPLICATION.
        cardholderName:
          type: string
          description: Card holder name.
    CardEncryptionRequest:
      description: Contains data for the card encryption.
      type: object
      required:
        - cardTokenExtension
        - cardholderName
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        cardholderName:
          $ref: '#/components/schemas/CardHolderName'
    CardEncryptionResponse:
      description: >-
        Contains the encrypted card data for the provisioning of the card with
        Thales SDK.
      type: object
      required:
        - encryptedCardData
        - panSuffix
        - publicKeyId
      properties:
        encryptedCardData:
          description: |
            Encrypted card data in PKCS#7 format as specified by Thales SDK.
            Once deciphered, the JSON payload contains the following fields:
            - issuerCardRefId
            - fpan
            - exp
            - cardholderName
          type: string
          maxLength: 1500
        primaryAccountIdentifier:
          description: >-
            Primary account id; currently only for Apple Pay and only if the
            card has already been digitized on at least one Apple device.
          type: string
          minLength: 1
        panSuffix:
          description: Last four digits of the pan.
          type: string
          minLength: 4
          maxLength: 4
          examples:
            - '0123'
        publicKeyId:
          description: Id of the public key used to encrypt the card data.
          type: string
          examples:
            - tshKid
    ClickToPayCardEncryptionRequest:
      description: Contains data for the card encryption.
      type: object
      required:
        - cardTokenExtension
        - cardholderName
        - emailAddress
        - phoneNumber
        - phoneNumberCountryCode
        - address
        - issuerClientInformation
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        cardholderName:
          $ref: '#/components/schemas/CardHolderName'
        emailAddress:
          description: Email address to identify the customer.
          type: string
          minLength: 1
          examples:
            - peter.schweizer@mailbox.org
        phoneNumber:
          description: The phone number without country code.
          type: string
          pattern: ^[0-9]{5,12}$
          examples:
            - '795625655'
        phoneNumberCountryCode:
          description: The country code of the phone number.
          type: string
          pattern: ^[1-9][0-9]{0,3}$
          examples:
            - '41'
        address:
          $ref: '#/components/schemas/ClickToPayCardholderPostalAddress'
        issuerClientInformation:
          $ref: '#/components/schemas/ClickToPayIssuerClientInformation'
    ClickToPayCardholderPostalAddress:
      description: >-
        Postal address of cardholder as specified by the TSH Token Push and
        Control specification.
      required:
        - line1
        - city
        - postalCode
        - country
      type: object
      properties:
        line1:
          description: First line of address containing the street and street number.
          type: string
          minLength: 1
          maxLength: 64
          examples:
            - Hardturmstrasse 201
        city:
          description: The city of the address.
          type: string
          minLength: 1
          maxLength: 32
          examples:
            - Zürich
        postalCode:
          description: Postal or zip code of the address.
          type: string
          minLength: 1
          maxLength: 10
          examples:
            - '8005'
        country:
          description: 3-letter (alpha-3) country code as defined in ISO 3166-1.
          type: string
          minLength: 3
          maxLength: 3
          examples:
            - CHE
    ClickToPayIssuerClientInformation:
      type: object
      required:
        - firstName
        - lastName
      properties:
        issuerAccountID:
          description: This is not the card's PAN. It is required by VISA.
          type: string
          maxLength: 24
          examples:
            - '1234567890'
        firstName:
          type: string
          minLength: 1
          maxLength: 80
          examples:
            - Peter
        lastName:
          type: string
          minLength: 1
          maxLength: 80
          examples:
            - Meier
        locale:
          description: >
            Language in which to communicate with the customer. 

            This is the ISO639-1 language code followed by "_" separator then
            ISO 3166-1 alpha-2 country code.
          type: string
          minLength: 5
          maxLength: 5
          examples:
            - de_CH
        country:
          description: |
            2-letter (alpha-2) country code as defined in ISO 3166-1.
          type: string
          minLength: 2
          maxLength: 2
          examples:
            - CH
    ClickToPayCardEncryptionResponse:
      description: >-
        Contains the encrypted card data for the provisioning of the card with
        Thales SDK.
      type: object
      required:
        - encryptedCardData
        - scheme
        - publicKeyId
        - tokenRequestorId
      properties:
        encryptedCardData:
          description: |
            Encrypted card data in PKCS#7 format as specified by Thales SDK.
            Once deciphered, the JSON payload contains the following fields:
            - issuerCardRefId
            - fpan
            - exp
            - cardholderName
            - postalAddress
            - phoneNumber
            - phoneNumberCountryCode
            - email
            - issuerClientInformation
          type: string
        scheme:
          $ref: '#/components/schemas/Scheme'
        publicKeyId:
          description: Id of the public key used to encrypt the card data
          type: string
          examples:
            - tshKid
        tokenRequestorId:
          description: The Click to Pay token requestor id.
          type: string
          examples:
            - '40010075338'
    AuthorizationCodeRequest:
      description: >-
        Contains the card identifiers and wallet for the generation of the
        authorization code.
      type: object
      required:
        - cardTokenExtension
        - wallet
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        wallet:
          $ref: '#/components/schemas/WalletProvider'
    AuthorizationCodeResponse:
      description: >-
        Contains the authorization code for the provisioning of a card into a
        wallet with Thales SDK.
      type: object
      required:
        - authorizationCode
      properties:
        authorizationCode:
          description: A signed JSON Web Token (JWT/JWS) as specified by Thales SDK.
          type: string
    CardOrderRequest:
      description: Configuration specifying the new card to be ordered.
      type: object
      required:
        - cardOrderData
      properties:
        cardOrderData:
          $ref: '#/components/schemas/CardOrderData'
        parentCardReference:
          $ref: '#/components/schemas/ParentCardReference'
        bccData:
          $ref: '#/components/schemas/BccData'
        fraudConfiguration:
          $ref: '#/components/schemas/FraudConfiguration'
        isBlocked:
          description: Defines if the card is ordered blocked.
          type: boolean
          examples:
            - false
    PinData:
      description: Data needed to order the card with a PIN.
      type: object
      properties:
        pinDelivery:
          $ref: '#/components/schemas/PinDelivery'
        pinExpressCode:
          description: >-
            The quickness of the PIN delivery. Must be set for a physical card
            order and if the PIN is delivered to the cardholder.
          $ref: '#/components/schemas/DatamailerExpressCode'
        clientEphPubKey:
          $ref: '#/components/schemas/ClientEphPubKey'
        encryptedPin:
          $ref: '#/components/schemas/PinEncryptedData'
    PinDelivery:
      description: >-
        The destination of the PIN delivery. Must only be set for a physical
        card order.
      type: string
      enum:
        - DELIVER_TO_BANK
        - DELIVER_TO_CARDHOLDER
        - PIN_SET_WITH_ORDER
        - PIN_SET_WITH_SEPARATE_REQUEST
    PinDatamailerOrderRequest:
      description: Details of the PIN datamailer order request.
      type: object
      required:
        - cardTokenExtension
        - deliveryDestination
        - expressCode
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        deliveryDestination:
          description: Delivery destination of PIN.
          $ref: '#/components/schemas/DatamailerDeliveryDestination'
        expressCode:
          description: The quickness of the PIN delivery.
          $ref: '#/components/schemas/DatamailerExpressCode'
        deliveryInformation:
          description: >-
            The delivery information must be set if the PIN is delivered to the
            cardholder.
          $ref: '#/components/schemas/DeliveryInformation'
        mailerText:
          description: >-
            Selects the individual text container for printing onto the
            datamailer. Can be set if the PIN is delivered to the cardholder.
          type: integer
          format: int32
    ParentCardReference:
      description: Reference to a card from which settings can be inherited.
      type: object
      required:
        - cardToken
        - cardTokenExtension
        - shareLimits
        - deleteAfterFirstUse
        - takeoverPin
        - takeoverContactlessActivationStatus
        - takeoverFeatureToggles
        - takeoverBillingUpdater
      properties:
        cardToken:
          $ref: '#/components/schemas/CardToken'
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        shareLimits:
          description: Indicates if the limits should be shared with the parent card.
          type: boolean
        deleteAfterFirstUse:
          description: >-
            Indicates if the parent card shall be deleted after first use of new
            card.
          type: boolean
        takeoverPin:
          description: Indicates if the PIN shall be taken over from the parent card.
          type: boolean
        takeoverContactlessActivationStatus:
          description: >-
            Indicates if the contactless activation status shall be taken over
            from the parent card.
          type: boolean
        takeoverFeatureToggles:
          description: >-
            Indicates if the feature toggles shall be taken over from the parent
            card.
          type: boolean
        takeoverBillingUpdater:
          type: boolean
          description: >-
            Indicates if the new card shall be linked to the account of the
            parent card within the Mastercard automated billing updater (ABU)
            resp. the VISA Account Updater (VAU).
    CardOrderData:
      description: >-
        Card data needed to order the card. Online limits are required if they
        should not be taken over from the parent card. EMV-Profile must be set
        for a physical card order.
      type: object
      required:
        - cardId
        - accountNumber
        - onlineLimits
        - iban
        - cardMaterial
        - language
        - transactionAuthorizer
        - cardPlasticCode
      properties:
        cardId:
          $ref: '#/components/schemas/CardId'
        accountNumber:
          $ref: '#/components/schemas/AccountNumber'
        iban:
          $ref: '#/components/schemas/Iban'
        cardMaterial:
          $ref: '#/components/schemas/CardMaterial'
        language:
          $ref: '#/components/schemas/Language'
        chipApplication:
          $ref: '#/components/schemas/ChipApplication'
        branchNumber:
          $ref: '#/components/schemas/BranchNumber'
        transactionAuthorizer:
          $ref: '#/components/schemas/TransactionAuthorizer'
        cardDelivery:
          description: >-
            The destination of the card delivery. Must be set for a physical
            card order.
          $ref: '#/components/schemas/DatamailerDeliveryDestination'
        cardExpressCode:
          $ref: '#/components/schemas/CardExpressCode'
        subCardType:
          $ref: '#/components/schemas/SubCardType'
        onlineLimits:
          $ref: '#/components/schemas/OnlineLimits'
        featureToggles:
          $ref: '#/components/schemas/FeatureToggles'
        cardPlasticCode:
          $ref: '#/components/schemas/CardPlasticCode'
        otrcDelivery:
          $ref: '#/components/schemas/OtrcDelivery'
        otrcDatamailerDelivery:
          description: >-
            Delivery destination of OTRC datamailer. Only used for virtual
            cards.
          $ref: '#/components/schemas/DatamailerDeliveryDestination'
        otrcDatamailerExpressCode:
          description: >-
            Defines the express code of the OTRC datamailer delivery. Must only
            be set for a virtual card.
          $ref: '#/components/schemas/DatamailerExpressCode'
        deliveryInformation:
          description: >-
            Delivery address of card, PIN and OTRC; only required when OTRC,
            PIN, or card is delivered to cardholder.
          $ref: '#/components/schemas/DeliveryInformation'
        pinDatamailerDelivery:
          description: Delivery destination of the PIN. Only used for physical cards.
          $ref: '#/components/schemas/DatamailerDeliveryDestination'
        pinDatamailerExpressCode:
          description: >-
            The quickness of the PIN delivery. Must be set for a physical card
            order.
          $ref: '#/components/schemas/DatamailerExpressCode'
        producerCode:
          $ref: '#/components/schemas/ProducerCode'
        producerInfo:
          $ref: '#/components/schemas/ProducerInfo'
        emvProfile:
          $ref: '#/components/schemas/EmvProfile'
        cardholderDataTrack:
          $ref: '#/components/schemas/CardholderDataTrack'
        cardLine1:
          $ref: '#/components/schemas/CardLine'
        cardLine2:
          $ref: '#/components/schemas/CardLine'
    CardMutationRequest:
      description: >-
        Fields to modify. Fields that are set will be modified. Others will be
        ignored.
      type: object
      required:
        - cardTokenExtension
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        bccData:
          $ref: '#/components/schemas/CardMutationBccData'
        fraudConfiguration:
          $ref: '#/components/schemas/CardMutationFraudConfiguration'
        cardApplication:
          $ref: '#/components/schemas/CardMutationCardApplication'
        contactlessActivationStatus:
          $ref: '#/components/schemas/CardMutationContactlessActivationStatus'
        featureToggles:
          $ref: '#/components/schemas/CardMutationFeatureToggles'
    CardMutationBccData:
      description: Information about the cardholder to mutate.
      type: object
      required:
        - salutation
        - firstName
        - familyName
        - street
        - streetNo
        - city
        - postalCode
        - country
      properties:
        salutation:
          $ref: '#/components/schemas/Salutation'
        firstName:
          $ref: '#/components/schemas/FirstName'
        familyName:
          $ref: '#/components/schemas/FamilyName'
        street:
          description: Street name.
          type: string
          maxLength: 25
          examples:
            - Bahnhofstrasse
        streetNo:
          description: Street number.
          type: string
          maxLength: 5
          examples:
            - '1'
        city:
          description: Location city.
          type: string
          maxLength: 25
          examples:
            - Zürich
        postalCode:
          description: Postal code.
          type: string
          maxLength: 10
          examples:
            - '8001'
        country:
          $ref: '#/components/schemas/Country'
        phoneNumber:
          $ref: '#/components/schemas/PhoneNumber'
        birthdate:
          description: Birthdate to identify the customer.
          type: string
          format: date
          examples:
            - '2000-12-31'
        emailAddress:
          description: Email address to identify the customer.
          type: string
          examples:
            - peter.schweizer@mailbox.org
        customerRelationshipOpeningDate:
          description: >-
            Date when the customer relationship was opened; used to identify the
            customer.
          type: string
          format: date
          examples:
            - '2021-12-31'
        accountOpeningDate:
          description: Date when the account was opened; used to identify the customer.
          type: string
          format: date
          examples:
            - '2021-12-31'
        accountAuthorities:
          type: array
          minItems: 0
          maxItems: 4
          items:
            $ref: '#/components/schemas/AccountAuthority'
        individualIdentificationTag:
          description: Individual tag to identify the customer.
          type: string
          maxLength: 80
          examples:
            - Owner of a sailing boat
        ebankingContractNo:
          description: Ebanking contract number to identify the customer.
          type: string
          maxLength: 15
          examples:
            - ABC-56789012345
    CardMutationFraudConfiguration:
      description: Controls the fraud configuration of a card.
      type: object
      required:
        - restrictedRegions
      properties:
        restrictedRegions:
          $ref: '#/components/schemas/RestrictedRegions'
        restrictedCountries:
          $ref: '#/components/schemas/RestrictedCountries'
    CardMutationCardApplication:
      description: >-
        Controls card application settings for the EMV-Profile, online limits
        and transaction authorizer.
      type: object
      properties:
        emvProfile:
          $ref: '#/components/schemas/EmvProfile'
        onlineLimits:
          $ref: '#/components/schemas/OnlineLimits'
        transactionAuthorizer:
          $ref: '#/components/schemas/TransactionAuthorizer'
    CardMutationContactlessActivationStatus:
      description: Controls whether contactless is enabled.
      type: boolean
    CardMutationFeatureToggles:
      description: Feature Toggles to mutate.
      type: object
      properties:
        eCommerceAllowed:
          description: Indicates if the use of ecommerce is allowed.
          type: boolean
        trxOnlyAsChipAndPin:
          description: >-
            Indicates if cvm is active, i.e. card can do transaction only as
            Chip and PIN.
          type: boolean
        magStripePaymentAllowed:
          description: Defines if magnetic stripe payments are allowed.
          type: boolean
        automaticBilling:
          description: >-
            Indicates if the cardholder participates to the automatic billing
            update.
          type: boolean
        purchaseWithCashBackAllowed:
          description: Defines if purchase with cash back is allowed.
          type: boolean
        blockedMerchantCategoryCodes:
          description: List of blocked merchant category codes.
          type: array
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/MerchantCategoryCode'
        merchantInitiatedTrxAllowed:
          description: >-
            Indicates if merchant initiated transactions - such as Recurring,
            Installment, Unscheduled - are allowed.
          type: boolean
        atmAllowed:
          description: Defines if withdrawals are allowed at ATMs.
          type: boolean
        posAllowed:
          description: Defines if payments are allowed at POS terminals.
          type: boolean
        motoAllowed:
          description: Defines if mail or phone orders are allowed.
          type: boolean
        bypassGeoblocking:
          description: Defines if geo blocking is ignored for the card.
          type: boolean
        moneySendReceiveAllowance:
          $ref: '#/components/schemas/MoneySendReceiveAllowance'
        reservationAllowed:
          description: Defines if reservation transactions are allowed.
          type: boolean
        transactionPushEnabled:
          description: Defines if transactions are pushed to debiX.
          type: boolean
        gamblingAndBettingAllowance:
          $ref: '#/components/schemas/GamblingAndBettingAllowance'
    RestrictedRegions:
      description: A list of regions from which authorizations will be declined.
      type: array
      minItems: 1
      maxItems: 10
      items:
        $ref: '#/components/schemas/Region'
    RestrictedCountries:
      description: A list of countries from which authorizations will be declined.
      type: array
      minItems: 1
      maxItems: 300
      items:
        $ref: '#/components/schemas/Country'
    CardCredentialsRequest:
      type: string
      description: >
        JSON Web Token signed by the issuer, containing all parameters for
        securely retrieving sensitive card credentials. 

        * The algorithm of the JWS signature can be one of RS256/384/512,
        PS256/384/512, ES256/384/512 or EdDsa/Ed25519. ES256 is recommended.

        * The JOSE header must contain a 'x5t#S256' parameter with the X.509
        certificate SHA-256 thumbprint of the key used to sign the token.
        (https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.8)
      examples:
        - see "#/components/schemas/CardCredentialsRequestJwsPayload"
    CardCredentialsRequestJwsPayload:
      type: object
      required:
        - cardToken
        - cardTokenExtension
        - clientEphPubKey
      properties:
        cardToken:
          $ref: '#/components/schemas/CardToken'
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        clientEphPubKey:
          description: >-
            Ephemeral public key (base64 encoded) of the issuer. Used for
            Diffie-Hellman key exchange.
          type: string
          minLength: 1
          examples:
            - SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
    CardCredentialsResponse:
      type: string
      description: >
        JSON Web Token containing the encrypted card credentials and an
        ephemeral public key to complete the Diffie-Hellman key exchange. 

        * The algorithm of the JWS signature is 'none'.
      examples:
        - >-
          see unencrypted object at 
          "#/components/schemas/CardCredentialsResponseJwsPayload".
    CardCredentialsResponseJwsPayload:
      type: object
      required:
        - serverEphPubKey
        - encryptedData
      properties:
        serverEphPubKey:
          description: >-
            Ephemeral public key (base64 encoded) of the debiX backend. Used for
            the Diffie-Hellman key exchange.
          type: string
          minLength: 1
          examples:
            - QbTKxwRJSMeKKF2Q_T4fwpMeJf36POk6yJVadQssZi9
        encryptedData:
          description: >-
            CardCredentialsResponseUnencryptedData with card credentials, base64
            encoded and symmetrically encrypted with the shared Diffie-Hellman
            key.
          type: string
          minLength: 1
          examples:
            - >-
              see unencrypted object at
              "#/components/schemas/CardCredentialsResponseUnencryptedData".
    CardCredentialsResponseUnencryptedData:
      type: object
      required:
        - fpan
        - cvv
      properties:
        fpan:
          description: Funding Primary Account Number of the card.
          type: string
          pattern: ^\d{16}$
          examples:
            - '1234567812345678'
        cvv:
          description: Card Verification Value of the card.
          type: string
          pattern: ^\d{3}$
          examples:
            - '123'
    DeliveryInformation:
      description: Delivery address of card, PIN and OTRC.
      type: object
      required:
        - address
        - country
      properties:
        address:
          $ref: '#/components/schemas/UnstructuredAddress'
        country:
          $ref: '#/components/schemas/Country'
        salutationText:
          description: Salutation text for the delivery.
          type: string
          maxLength: 50
    StartSetPinRequest:
      type: string
      description: >
        JSON Web Token signed by the issuer to get an ephemeral public key from
        debiX for the given card. 

        * The algorithm of the JWS signature can be one of RS256/384/512,
        PS256/384/512, ES256/384/512 or EdDsa/Ed25519. ES256 is recommended.

        * The JOSE header must contain a 'x5t#S256' parameter with the X.509
        certificate SHA-256 thumbprint of the key used to sign the token.
        (https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.8)
      examples:
        - see "#/components/schemas/StartSetPinRequestJwsPayload"
    StartSetPinRequestJwsPayload:
      type: object
      required:
        - cardToken
        - cardTokenExtension
      properties:
        cardToken:
          $ref: '#/components/schemas/CardToken'
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
    StartSetPinResponse:
      type: string
      description: >
        JSON Web Token signed by debiX containing an ephemeral public key to
        complete the Diffie-Hellman key exchange, used to encrypt the new PIN to
        be set for this card. 

        * The algorithm of the JWS signature can be one of RS256/384/512,
        PS256/384/512, ES256/384/512 or EdDsa/Ed25519.

        * The JOSE header contains a 'x5t#S256' parameter with the X.509
        certificate SHA-256 thumbprint of the key used to sign the token.
        (https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.8)
      examples:
        - >-
          see unencrypted object at 
          "#/components/schemas/StartSetPinResponseJwsPayload"
    StartSetPinResponseJwsPayload:
      type: object
      required:
        - serverEphPubKey
      properties:
        serverEphPubKey:
          description: >-
            Ephemeral public key (base64 encoded) of the debiX backend. Used for
            the Diffie-Hellman key exchange.
          type: string
          minLength: 1
          examples:
            - QbTKxwRJSMeKKF2Q_T4fwpMeJf36POk6yJVadQssZi9
    SetPinRequest:
      type: string
      description: >
        JSON Web Token signed by the issuer to set the PIN for the given card.

        * The algorithm of the JWS signature can be one of RS256/384/512,
        PS256/384/512, ES256/384/512 or EdDsa/Ed25519. ES256 is recommended.

        * The JOSE header must contain a 'x5t#S256' parameter with the X.509
        certificate SHA-256 thumbprint of the key used to sign the token.
        (https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.8)
      examples:
        - see '#/components/schemas/SetPinRequestJwsPayload'
    SetPinRequestJwsPayload:
      type: object
      required:
        - cardToken
        - cardTokenExtension
        - clientEphPubKey
        - encryptedData
      properties:
        cardToken:
          $ref: '#/components/schemas/CardToken'
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        clientEphPubKey:
          $ref: '#/components/schemas/ClientEphPubKey'
        encryptedData:
          $ref: '#/components/schemas/PinEncryptedData'
    ClientEphPubKey:
      description: >-
        Ephemeral public key (base64 encoded) of the issuer. Used for the
        Diffie-Hellman key exchange.
      type: string
      minLength: 1
      examples:
        - SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
    PinEncryptedData:
      description: >-
        SetPinRequestUnencryptedData with new PIN, base64 encoded and
        symmetrically encrypted with the shared Diffie-Hellman key.
      type: string
      minLength: 1
      examples:
        - >-
          see unencrypted object at
          '#/components/schemas/SetPinRequestUnencryptedData'
    SetPinRequestUnencryptedData:
      type: object
      required:
        - pin
      properties:
        pin:
          type: string
          pattern: ^\d{4,6}$
          examples:
            - '123456'
    GetPinRequest:
      type: string
      description: >
        JSON Web Token signed by the issuer, containing all parameters for
        securely retrieving the PIN. 

        * The algorithm of the JWS signature can be one of RS256/384/512,
        PS256/384/512, ES256/384/512 or EdDsa/Ed25519. ES256 is recommended.

        * The JOSE header must contain a 'x5t#S256' parameter with the X.509
        certificate SHA-256 thumbprint of the key used to sign the token.
        (https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.8)
      examples:
        - see "#/components/schemas/GetPinRequestJwsPayload"
    GetPinRequestJwsPayload:
      type: object
      required:
        - cardToken
        - cardTokenExtension
        - clientEphPubKey
      properties:
        cardToken:
          $ref: '#/components/schemas/CardToken'
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        clientEphPubKey:
          description: >-
            Ephemeral public key (base64 encoded) of the issuer. Used for
            Diffie-Hellman key exchange.
          type: string
          minLength: 1
          examples:
            - SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
    GetPinResponse:
      type: string
      description: >
        JSON Web Token signed by debiX containing the encrypted PIN and an
        ephemeral public key to complete the Diffie-Hellman key exchange. 

        * The algorithm of the JWS signature can be one of RS256/384/512,
        PS256/384/512, ES256/384/512 or EdDsa/Ed25519.

        * The JOSE header contains a 'x5t#S256' parameter with the X.509
        certificate SHA-256 thumbprint of the key used to sign the token.
        (https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.8)
      examples:
        - >-
          see encrypted object at
          "#/components/schemas/GetPinResponseJwsPayload".
    GetPinResponseJwsPayload:
      type: object
      required:
        - serverEphPubKey
        - encryptedData
      properties:
        serverEphPubKey:
          description: >-
            Ephemeral public key (base64 encoded) of the debiX backend. Used for
            the Diffie-Hellman key exchange.
          type: string
          minLength: 1
          examples:
            - QbTKxwRJSMeKKF2Q_T4fwpMeJf36POk6yJVadQssZi9
        encryptedData:
          description: >-
            GetPinResponseUnencryptedData with PIN, base64 encoded and
            symmetrically encrypted with the shared Diffie-Hellman key.
          type: string
          minLength: 1
          examples:
            - >-
              see unencrypted object at
              "#/components/schemas/GetPinResponseUnencryptedData".
    GetPinResponseUnencryptedData:
      type: object
      required:
        - pin
      properties:
        pin:
          type: string
          pattern: ^\d{4,6}$
          examples:
            - '123456'
    ThreeDsRegisterRequest:
      description: >-
        Contains the card identifiers and 3DS-related data for the registration
        of a card.
      type: object
      required:
        - cardTokenExtension
        - threeDsData
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        threeDsData:
          $ref: '#/components/schemas/ThreeDsData'
    ThreeDsUpdateRequest:
      description: Contains the 3DS-related data to be updated.
      type: object
      required:
        - threeDsData
      properties:
        threeDsData:
          $ref: '#/components/schemas/PartialThreeDsData'
    ThreeDsDetailsRequest:
      description: Identifiers of the card for which to return the 3DS details.
      type: object
      required:
        - cardTokenExtension
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
    ThreeDsDetailsResponse:
      description: Contains detailed information about 3DS.
      type: object
      required:
        - language
        - threeDsStatus
      properties:
        phoneNumber:
          $ref: '#/components/schemas/PhoneNumber'
        language:
          $ref: '#/components/schemas/Language'
        userId:
          description: Identifier assigned to a particular user by the issuer.
          type: string
          minLength: 1
          examples:
            - '2345872'
        threeDsStatus:
          description: >-
            Describes if the card is active for 3DS. Will be inactive if the
            card is blocked or e-commerce is disabled.
          type: string
          enum:
            - ACTIVE
            - INACTIVE
          examples:
            - ACTIVE
        threeDsRegistrationDateTime:
          description: Date and time of the 3DS registration.
          type: string
          format: date-time
          examples:
            - '2021-10-03T16:03:09.101+02:00'
        smsFallback:
          description: Shows if SMS Fallback is active for the issuer.
          type: boolean
          examples:
            - true
        authenticationMethod:
          $ref: '#/components/schemas/ThreeDsAuthenticationMethod'
        otrcStatus:
          description: Shows the OTRC status
          type: string
          enum:
            - DISABLED
            - ENABLED
            - LOCKED
          examples:
            - DISABLED
        otrcValidity:
          description: Date and time of the OTRC expiry.
          type: string
          format: date-time
          examples:
            - '2021-10-03T16:03:09.101+02:00'
    ThreeDsAuthenticationMethod:
      description: >-
        User authentication method for either 3DS via debiX Api, via debiX+ App
        or via SMS.
      type: string
      enum:
        - PIN
        - BIOMETRIC
        - BIOMETRIC_WITH_PIN_FALLBACK
        - BIOMETRIC_AND_PIN
        - DELEGATED
        - SMS_ONLY
        - NONE
    CardTokenRequest:
      description: Contains the identifier of the card for which to return the card token.
      type: object
      required:
        - shortCardId
      properties:
        shortCardId:
          $ref: '#/components/schemas/ShortCardId'
    ShortCardIdResponse:
      description: >-
        Contains the identifier of the card that corresponds to the given card
        token.
      type: object
      required:
        - shortCardId
      properties:
        shortCardId:
          $ref: '#/components/schemas/ShortCardId'
    CardDetailsRequest:
      description: Contains identifiers of the card for which to return the details.
      type: object
      required:
        - cardTokenExtension
      properties:
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
    CardDetailsResponse:
      description: Contains detailed information about the card.
      type: object
      required:
        - commonCardInformation
        - threeDsInformation
      properties:
        aliasId:
          $ref: '#/components/schemas/VisaADAliasId'
        commonCardInformation:
          $ref: '#/components/schemas/CommonCardInformation'
        customerId:
          $ref: '#/components/schemas/VisaC2PCustomerId'
        bccData:
          $ref: '#/components/schemas/BccData'
        fraudConfiguration:
          $ref: '#/components/schemas/FraudConfiguration'
        featureToggles:
          $ref: '#/components/schemas/FeatureToggles'
        onlineLimits:
          $ref: '#/components/schemas/OnlineLimits'
        threeDsInformation:
          $ref: '#/components/schemas/ThreeDsInformation'
    CardTokenResponse:
      description: Contains the card token of the card.
      type: object
      required:
        - cardToken
      properties:
        cardToken:
          $ref: '#/components/schemas/CardToken'
    CommonCardInformation:
      description: Common information about the card.
      type: object
      required:
        - accountNumber
        - iban
        - cardMaterial
        - markedAsDelayedDelete
        - transactionAuthorizer
      properties:
        accountNumber:
          $ref: '#/components/schemas/AccountNumber'
        iban:
          $ref: '#/components/schemas/Iban'
        cardMaterial:
          $ref: '#/components/schemas/CardMaterial'
        plasticCode:
          $ref: '#/components/schemas/CardPlasticCode'
        subCardType:
          $ref: '#/components/schemas/SubCardType'
        language:
          $ref: '#/components/schemas/Language'
        status:
          $ref: '#/components/schemas/CardStatus'
        cardStatusUpdateReason:
          $ref: '#/components/schemas/CardStatusUpdateReason'
        blockInformation:
          $ref: '#/components/schemas/CardBlockInformation'
        pinRemainingRetries:
          description: The number of remaining PIN retries.
          type: integer
          format: int32
          minimum: 0
          maximum: 3
          examples:
            - 2
        pinRecoveryStatus:
          $ref: '#/components/schemas/PinRecoveryStatus'
        markedAsDelayedDelete:
          description: Flag indicating card is scheduled for delayed deletion.
          type: boolean
        transactionAuthorizer:
          $ref: '#/components/schemas/TransactionAuthorizer'
        cardOrderDateTime:
          description: Datetime when the card was ordered.
          type: string
          format: date-time
          examples:
            - '2024-04-13T08:30:00Z'
    OnlineLimits:
      description: The monthly and daily retail and cash transactions limits.
      type: object
      required:
        - totalLimitPerMonth
        - cashLimitPerMonth
        - totalLimitPerDay
        - cashLimitPerDay
      properties:
        totalLimitPerMonth:
          description: >-
            Total limit per month for retail and money in cash transactions in
            whole Swiss Francs.
          type: integer
          format: int32
          maximum: 99999999
          examples:
            - 20000
        cashLimitPerMonth:
          description: >-
            Limit per month for money in cash transactions in whole Swiss
            Francs.
          type: integer
          format: int32
          maximum: 99999999
          examples:
            - 10000
        totalLimitPerDay:
          description: >-
            Total limit per day for retail and money in cash transactions in
            whole Swiss Francs.
          type: integer
          format: int32
          maximum: 99999999
          examples:
            - 5000
        cashLimitPerDay:
          description: Limit per day for money in cash transactions in whole Swiss Francs.
          type: integer
          format: int32
          maximum: 99999999
          examples:
            - 1000
    BccData:
      description: Information about the cardholder from the bank card central.
      type: object
      required:
        - salutation
        - firstName
        - familyName
        - street
        - city
        - postalCode
        - country
      properties:
        salutation:
          $ref: '#/components/schemas/Salutation'
        firstName:
          $ref: '#/components/schemas/FirstName'
        familyName:
          $ref: '#/components/schemas/FamilyName'
        street:
          description: Street name.
          type: string
          maxLength: 25
          examples:
            - Bahnhofstrasse
        streetNo:
          description: Street number.
          type: string
          maxLength: 5
          examples:
            - '1'
        city:
          description: Location city.
          type: string
          maxLength: 25
          examples:
            - Zürich
        postalCode:
          description: Postal code.
          type: string
          maxLength: 10
          examples:
            - '8001'
        country:
          $ref: '#/components/schemas/Country'
        phoneNumber:
          $ref: '#/components/schemas/PhoneNumber'
        birthdate:
          description: Birthdate to identify the customer.
          type: string
          format: date
          examples:
            - '2000-12-31'
        emailAddress:
          description: Email address to identify the customer.
          type: string
          examples:
            - peter.schweizer@mailbox.org
        customerRelationshipOpeningDate:
          description: >-
            Date when the customer relationship was opened; used to identify the
            customer.
          type: string
          format: date
          examples:
            - '2021-12-31'
        accountOpeningDate:
          description: Date when the account was opened; used to identify the customer.
          type: string
          format: date
          examples:
            - '2021-12-31'
        accountAuthorities:
          type: array
          minItems: 0
          maxItems: 4
          items:
            $ref: '#/components/schemas/AccountAuthority'
        individualIdentificationTag:
          description: Individual tag to identify the customer.
          type: string
          maxLength: 80
          examples:
            - Owner of a sailing boat
        ebankingContractNo:
          description: Ebanking contract number to identify the customer.
          type: string
          maxLength: 15
          examples:
            - ABC-56789012345
    Salutation:
      description: Salutation code of a cardholder.
      type: string
      enum:
        - NOT_SET
        - MR
        - MS
        - FIRM
    TransactionAuthorizer:
      type: string
      description: Authorizer for retail and ATM transactions.
      enum:
        - ALWAYS_SIX
        - ISSUER_WITH_FALLBACK_SIX
        - SIX_WITH_FALLBACK_ISSUER
        - ISSUER_WITH_FALLBACK_SIX_AND_OTHER_LIMITS
    CardExpressCode:
      description: >-
        Defines the express code of the card delivery. Must be set for a
        physical card order and CardDelivery is DELIVER_TO_CARDHOLDER.
      type: string
      enum:
        - A_POST
        - B_POST
        - REGISTERED
        - COURIER
    FraudConfiguration:
      description: >-
        The fraud configuration, containing restrictions for countries and
        regions. Authorizations from a country will be declined if the country
        itself, or the region it belongs to, is restricted.
      type: object
      properties:
        restrictedRegions:
          description: A list of regions from which authorizations will be declined.
          type: array
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/Region'
        restrictedCountries:
          description: A list of countries from which authorizations will be declined.
          type: array
          minItems: 1
          maxItems: 300
          items:
            $ref: '#/components/schemas/Country'
        riskShieldListing:
          description: >-
            A list of monitoring lists in RiskShield on which a card can be
            listed.
          type: array
          minItems: 1
          maxItems: 100
          items:
            $ref: '#/components/schemas/RiskShieldList'
    Region:
      description: Region from where an authorization is requested.
      type: string
      enum:
        - SWITZERLAND_AND_LIECHTENSTEIN
        - EUROPE
        - EASTERN_EUROPE_AND_CENTRAL_ASIA
        - AFRICA
        - CANADA
        - USA_AND_MEXICO
        - LATIN_AMERICA_AND_CARIBBEAN
        - MIDDLE_EAST_ASIA_PACIFIC_AUSTRALIA
    Country:
      description: Country code in format ISO 3166-1 alpha 2.
      type: string
      pattern: '[A-Z]{2}'
      examples:
        - CH
    RiskShieldList:
      description: >-
        - "EXCLUSION_LIST": General whitelist, i.e. all rules that lead to
        RiskShield declines and automatic blockings are overridden.

        - "GREY_LIST_CNP": The non-secure card not present transactions are
        declined.

        - "GREY_LIST_F2F": Card present transactions are declined.

        - "INTERNAL_DECLINE_LIST": General blacklist, i.e. the transactions are
        declined.

        - "MONITORED_CARDS_LIST": For card present transactions an alert is
        generated.

        - "RULE_WHITE_CARD_LIST": Certain rules for cards are disabled, i.e. no
        transactions are declined and no alerts generated.
      type: string
    UnstructuredAddress:
      description: Unstructured address of simple address lines.
      type: array
      minItems: 1
      maxItems: 6
      items:
        type: string
        maxLength: 35
      examples:
        - - Peter Schweizer
          - Bahnhofstrasse 1
          - 8000 Zürich
    FeatureToggles:
      description: >-
        Contains the values of the feature toggles for the card. In card order
        requests, the contactlessActivationStatus will be ignored.
      type: object
      required:
        - eCommerceAllowed
        - trxOnlyAsChipAndPin
        - magStripePaymentAllowed
        - automaticBilling
        - purchaseWithCashBackAllowed
        - merchantInitiatedTrxAllowed
        - atmAllowed
        - posAllowed
        - motoAllowed
        - bypassGeoblocking
        - moneySendReceiveAllowance
        - reservationAllowed
        - transactionPushEnabled
        - gamblingAndBettingAllowance
      properties:
        eCommerceAllowed:
          description: Indicates if the use of ecommerce is allowed.
          type: boolean
        trxOnlyAsChipAndPin:
          description: >-
            Indicates if cvm is active, i.e. card can do transaction only as
            Chip and PIN.
          type: boolean
        magStripePaymentAllowed:
          description: Defines if magnetic stripe payments are allowed.
          type: boolean
        automaticBilling:
          description: >-
            Indicates if the cardholder participates to the automatic billing
            update.
          type: boolean
        purchaseWithCashBackAllowed:
          description: Defines if purchase with cash back is allowed.
          type: boolean
        blockedMerchantCategoryCodes:
          description: List of blocked merchant category codes.
          type: array
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/MerchantCategoryCode'
        merchantInitiatedTrxAllowed:
          description: >-
            Indicates if merchant initiated transactions - such as Recurring,
            Installment, Unscheduled - are allowed.
          type: boolean
        atmAllowed:
          description: Defines if withdrawals are allowed at ATMs.
          type: boolean
        posAllowed:
          description: Defines if payments are allowed at POS terminals.
          type: boolean
        motoAllowed:
          description: Defines if mail or phone orders are allowed.
          type: boolean
        bypassGeoblocking:
          description: Defines if geo blocking is ignored for the card.
          type: boolean
        moneySendReceiveAllowance:
          $ref: '#/components/schemas/MoneySendReceiveAllowance'
        reservationAllowed:
          description: Defines if reservation transactions are allowed.
          type: boolean
        transactionPushEnabled:
          description: Defines if transactions are pushed to debiX.
          type: boolean
        gamblingAndBettingAllowance:
          $ref: '#/components/schemas/GamblingAndBettingAllowance'
        contactlessActivationStatus:
          $ref: '#/components/schemas/ContactlessActivationStatus'
    AuthorizationsSearchRequestFilter:
      description: >-
        Contains the filters for the authorizations search. The date range lower
        and upper bounds are inclusive.
      type: object
      properties:
        cardTokenEntension:
          $ref: '#/components/schemas/CardTokenExtension'
        walletType:
          $ref: '#/components/schemas/WalletType'
        onlyDigitalCardBased:
          description: >-
            Determines if only digital card based authorizations should be
            returned.
          type: boolean
          default: true
        transactionDateRange:
          $ref: '#/components/schemas/DateRange'
        paging:
          $ref: '#/components/schemas/Paging'
    DigitalCardAuthorizationsSearchRequestFilter:
      description: >-
        Contains the filters for the authorizations search. The date range lower
        and upper bounds are inclusive.
      type: object
      properties:
        transactionDateRange:
          $ref: '#/components/schemas/DateRange'
        paging:
          $ref: '#/components/schemas/Paging'
    UpdateCardStatusRequest:
      description: >-
        Contains the request to update the status of the card. The card block
        reason is required when blocking the card. Only when blocking a card,
        the information in card block reason, card block origin and blocked card
        replacement are taken into account; in other cases, they are ignored.
      type: object
      required:
        - action
        - cardTokenExtension
        - cardStatusUpdateReason
      properties:
        action:
          $ref: '#/components/schemas/UpdateCardStatusAction'
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        cardStatusUpdateReason:
          $ref: '#/components/schemas/CardStatusUpdateReason'
        cardBlockReason:
          $ref: '#/components/schemas/CardBlockReason'
          description: >-
            The reason why the card was blocked. Note: cardBlockReason is a
            mandatory parameter which must be provided when action = BLOCK.
        cardBlockOrigin:
          $ref: '#/components/schemas/CardBlockOriginViaBank'
        blockedCardReplacement:
          $ref: '#/components/schemas/BlockedCardReplacement'
    ClickToPayStatusRequest:
      description: Contains the email address for which to return the DPAN.
      type: object
      required:
        - emailAddress
      properties:
        emailAddress:
          $ref: '#/components/schemas/EmailAddress'
    ClickToPayStatusResponse:
      description: The DPAN associated with the given arguments. None if none exists.
      type: object
      properties:
        dpan:
          $ref: '#/components/schemas/Dpan'
    UpdateCardStatusAction:
      description: Distinguishes the type of the card update.
      type: string
      enum:
        - BLOCK
        - UNBLOCK
        - DELETE_IMMEDIATELY
        - DELETE_AT_END_OF_NEXT_MONTH
    DigitalCard:
      description: Contains data of a digital card.
      type: object
      required:
        - digitalCardId
        - dpan
        - cardToken
        - scheme
        - status
        - digitalCardExpiry
        - wallet
        - productId
        - provisioningDate
      properties:
        digitalCardId:
          $ref: '#/components/schemas/DigitalCardId'
        dpan:
          $ref: '#/components/schemas/Dpan'
        cardToken:
          $ref: '#/components/schemas/CardToken'
        scheme:
          $ref: '#/components/schemas/Scheme'
        status:
          $ref: '#/components/schemas/DigitalCardStatus'
        pendingStatus:
          $ref: '#/components/schemas/DigitalCardPendingStatus'
        digitalCardExpiry:
          $ref: '#/components/schemas/YearMonth'
        wallet:
          $ref: '#/components/schemas/WalletProvider'
        tokenRequestor:
          $ref: '#/components/schemas/TokenRequestor'
        productId:
          description: Name of the card product.
          type: string
          examples:
            - Bank Card Gold
        provisioningDate:
          description: Provisioning date.
          type: string
          format: date-time
          examples:
            - '2021-10-03T16:03:09.101+02:00'
        deviceType:
          $ref: '#/components/schemas/DeviceType'
        deviceName:
          description: Name of the device that the device owner may use to identify it.
          type: string
          examples:
            - Peter's iPhone
        digitalCardStatusUpdateReason:
          $ref: '#/components/schemas/DigitalCardStatusUpdateReason'
    Presentment:
      description: Contains the data of a presentment.
      type: object
      required:
        - cardToken
        - settlementData
      properties:
        transactionType:
          description: |-
            - 100: Cash withdrawal
            - 101: Purchase of goods and services
            - 102: Refund to the cardholder
            - 103: ATM operator refund
            - 104: Cardholder change
            - 109: Deposit
            - 117: P2P payment charge sender
            - 118: P2P payment credit recipient
            - 132: Mail order
            - 133: Phone order
            - 136: Cash advance
            - 158: Purchase with Cashback (PwCB)
            - 189: Payment credit / Receive
            - 200: DCC cash withdrawal
            - 203: ATM operator refund DCC
          type: integer
          format: int32
          minimum: 0
          maximum: 999
          examples:
            - 101
        transactionDateTime:
          description: Date and time of the transaction.
          type: string
          format: date-time
          examples:
            - '2021-10-03T16:03:09.101+02:00'
        cardToken:
          $ref: '#/components/schemas/CardToken'
        cardTokenExtension:
          $ref: '#/components/schemas/CardTokenExtension'
        settlementData:
          $ref: '#/components/schemas/SettlementData'
        transactionDataDetails:
          $ref: '#/components/schemas/TransactionDataDetails'
        originalCurrencyData:
          $ref: '#/components/schemas/OriginalCurrencyData'
        reversalData:
          $ref: '#/components/schemas/ReversalData'
        matchFlag:
          description: >-
            Indicates if the presentment was successfully matched with a
            transaction authorization.
          type: boolean
          examples:
            - true
        authorizationReference:
          description: >-
            The authorization which is referenced by this presentment. This is
            equal to the TransactionId of the referenced authorization returned
            by the authorization endpoint.
          type: string
          examples:
            - 6f4a6efe-fd8e-411a-8f23-adbf4bc4a6b6
    SettlementData:
      type: object
      description: Data pertaining to the settlement of a presentment.
      properties:
        clearingDate:
          description: Date of the settlement clearing.
          type: string
          format: date
          examples:
            - '2023-12-31'
        totalAmountClearingType:
          $ref: '#/components/schemas/ClearingType'
        transactionAmountClearingType:
          $ref: '#/components/schemas/ClearingType'
        feesProcessingType:
          $ref: '#/components/schemas/ClearingType'
        feesType:
          description: >-
            - 0: None

            - 1: Interchange or service fee: Commission in favor of / at the
            expense of the issuer bank

            - 2: Compensation to the location bank for transactions with foreign
            cards
          type: integer
          format: int32
          minimum: 0
          maximum: 9
          examples:
            - 1
        settlementAmounts:
          $ref: '#/components/schemas/SettlementAmounts'
    SettlementAmounts:
      type: object
      description: Settlement amounts in card currency.
      required:
        - totalAmount
      properties:
        totalAmount:
          $ref: '#/components/schemas/Amount'
        transactionAmount:
          $ref: '#/components/schemas/Amount'
        feesAmount:
          $ref: '#/components/schemas/Amount'
        transactionCashbackAmount:
          $ref: '#/components/schemas/Amount'
        transactionSurchargeAmount:
          $ref: '#/components/schemas/Amount'
        transactionTipAmount:
          $ref: '#/components/schemas/Amount'
    TransactionDataDetails:
      type: object
      properties:
        retrievalReference:
          $ref: '#/components/schemas/RetrievalReference'
        schemeTransactionId:
          $ref: '#/components/schemas/SchemeTransactionId'
        approvalCode:
          $ref: '#/components/schemas/ApprovalCode'
        retrievalSituation:
          description: |-
            Customer and location transaction context.
            - "SIS": Swiss in Switzerland / Liechtensteiner in Liechtenstein
            - "AIS": Foreigner in Switzerland / Foreigner in Liechtenstein
            - "SIA": Swiss abroad / Liechtensteiner abroad
          type: string
          maxLength: 3
        transactionCapture:
          description: >-
            Information about the place of authorization and the conclusion of
            the transaction.

            - "ONL": Online (authorized by SIX)

            - "OFF": Offline (authorized at the terminal)

            - "PIA": Authorized via PIA link at the issuer

            - "SAF": Store and forward

            - "VIS": Authorized via Visa network at the issuer

            - "SIE": Stand-In authorized through MCI

            - "SIP": Stand-In authorized through SIX

            - "MCI": Authorized via MCI net authorized by issuer
          type: string
          maxLength: 3
        captureMethod:
          description: |-
            Method by which the card was captured.
            - "MAG": Magnetic stripe
            - "EMV": Chip
            - "EFB": EMV fallback
            - "MAN": Manual entering 
            - "ECO": Electronic acquisition (e-commerce)
            - "CLS": Contactless
            - "QRC": QR code reader
            - "COF": Credential on file
          type: string
          maxLength: 3
        cardDataSource:
          description: |-
            Source of the card data
            - "CPR": Cardholder present
            - "CNP": Cardholder not present or unknown
            - "MOR": Order via mail
            - "TOR": Order via telephone
            - "MTO": Order via mail or telephone
            - "REC": Recurring transaction
            - "ECO": E-commerce
          type: string
          maxLength: 3
        multipleClearingIndicator:
          description: Indicates whether multiple clearings exist or it is a single booking
          type: boolean
          examples:
            - true
        settlementIndicator:
          description: Indicates whether the transaction is a settlement
          type: boolean
          examples:
            - true
        paymentTransactionType:
          description: |-
            - 0: Unknown
            - 1: Person to person
            - 2: Account to account
            - 3: Agent cash out
            - 4: Credit card bill payment
            - 5: Business disbursement
            - 6: Government/non-profit disbursement
            - 7: Merchant settlement
            - 8: Online gambling payout
            - 9: Other
            - 10: Business to business transfer
            - 11: Payroll pension disbursements
            - 12: Loyalty payments
            - 13: Gambling payout
            - 14: Cash to card
            - 901: Person to business
          type: integer
          format: int32
          minimum: 0
          maximum: 999
          examples:
            - 1
        cardAcceptor:
          $ref: '#/components/schemas/CardAcceptor'
        merchant:
          $ref: '#/components/schemas/Merchant'
        dpan:
          $ref: '#/components/schemas/Dpan'
        walletType:
          $ref: '#/components/schemas/WalletType'
        threeDsIndicator:
          description: |-
            - 0: 3DS not supported by merchant
            - 1: 3DS supported by merchant but not provided by issuer
            - 2: Full 3DS transaction
            - 3: 3DS supported by merchant (Maestro Adv.Reg.Prog)
            - 4: Data only
            - 5: Issuer risk-based decisioning (only for Wallet transactions)
            - 6: Merchant risk-based decisioning
            - 7: Partial shipment or recurring payment
            - 8: ACQ SCA exemption no authentication
            - 9: Not applicable
          type: integer
          format: int32
          minimum: 0
          maximum: 9
          examples:
            - 1
    OriginalCurrencyData:
      type: object
      properties:
        originalTransactionAmounts:
          type: object
          properties:
            originalAmount:
              $ref: '#/components/schemas/Amount'
            cashbackAmount:
              $ref: '#/components/schemas/Amount'
            surchargeAmount:
              $ref: '#/components/schemas/Amount'
            tipAmount:
              $ref: '#/components/schemas/Amount'
        exchangeRate:
          description: Customer exchange rate for the original transaction
          type: string
          maxLength: 12
          examples:
            - '1.211226'
        referenceCountryCode:
          description: Country code of reference country according to ISO 3166
          type: integer
          format: int32
          minimum: 1
          maximum: 999
          examples:
            - 756
    ReversalData:
      type: object
      properties:
        reversalType:
          description: |-
            - 0: Normal booking
            - 1: Second presentment
            - 2: (Partial) Reversal of presentment
            - 3: Reversal of second presentment
            - 4: Chargeback
            - 5: Reversal of chargeback
            - 7: Partial chargeback
            - 8: Partial second presentment
          type: integer
          format: int32
          maximum: 9
          examples:
            - 7
        originalTransactionDateTime:
          description: Datetime of the original transaction
          type: string
          format: date-time
          examples:
            - '2021-10-03T16:03:09.101+02:00'
        issuerReference:
          description: Card issuer reference
          type: integer
          format: int32
          maximum: 999999
          examples:
            - 230776
        chargebackReasonCode:
          description: Reason for a chargeback transaction
          type: integer
          format: int32
          maximum: 9999
          examples:
            - 4555
    DeviceType:
      description: |-
        Type of the device where the digital card is stored. 
        - "HCE"
        - "SPAY_PHONE"
        - "SPAY_TABLET"
        - "SPAY_WATCH"
        - "SPAY_TV"
        - "IPHONE"
        - "IWATCH"
        - "APPLE_WATCH"
        - "IPAD"
        - "MAC_BOOK"
        - "ANDROID_PHONE"
        - "ANDROID_TABLET"
        - "ANDROID_WATCH"
        - "MOBILE_PHONE"
        - "TABLET"
        - "WATCH"
        - "MOBILE_PHONE_OR_TABLET"
        - "BRACELET"
        - "PC"
        - "HOUSEHOLD"
        - "WEARABLE"
        - "AUTOMOBILE"
        - "UNKNOWN"
      type: string
      examples:
        - IPHONE
    CardId:
      description: >-
        Complex object representing a card consisting of bank clearing number,
        card number, card type, card sequence number and card expiry.
      type: object
      required:
        - bankClearingNumber
        - cardNumber
        - cardType
        - cardSequenceNumber
        - cardExpiry
      properties:
        bankClearingNumber:
          $ref: '#/components/schemas/BankClearingNumber'
        cardNumber:
          $ref: '#/components/schemas/CardNumber'
        cardType:
          $ref: '#/components/schemas/CardType'
        cardSequenceNumber:
          $ref: '#/components/schemas/CardSequenceNumber'
        cardExpiry:
          $ref: '#/components/schemas/YearMonth'
    ShortCardId:
      description: >-
        Complex object representing a card consisting of bank clearing number,
        card number and card type.
      type: object
      required:
        - bankClearingNumber
        - cardNumber
        - cardType
      properties:
        bankClearingNumber:
          $ref: '#/components/schemas/BankClearingNumber'
        cardNumber:
          $ref: '#/components/schemas/CardNumber'
        cardType:
          $ref: '#/components/schemas/CardType'
    BankClearingNumber:
      description: >-
        Unique number used to identify each bank agency or branch in the bank
        directory.
      type: integer
      format: int32
      minimum: 100
      maximum: 99999
      examples:
        - 50000
    AccountNumber:
      description: Unique number identifying a bank account.
      type: string
      minLength: 1
      maxLength: 16
      examples:
        - AB-4567890123456
    Iban:
      description: IBAN of the bank account for which the card was issued.
      type: string
      minLength: 21
      maxLength: 21
      examples:
        - CH3456789012345678901
    CardMaterial:
      description: Distinguishes physical from virtual cards.
      type: string
      enum:
        - PHYSICAL
        - VIRTUAL
    CardPlasticCode:
      description: Plastic code of the card.
      type: string
      minLength: 2
      maxLength: 2
      examples:
        - F0
    BranchNumber:
      description: Branch number of the site where the account was initially created.
      type: integer
      format: int32
      minimum: 0
      maximum: 9999
      examples:
        - 1
    SubCardType:
      description: >-
        Sub card type that is linked to a dedicated BIN range and specifies a
        product like 'Platinum', 'EUR' or 'Student'. It must be configured in
        bank master data, otherwise field can not be used.
      type: string
      minLength: 2
      maxLength: 2
      examples:
        - A1
    CardStatus:
      description: The status of the card.
      type: string
      enum:
        - ACTIVE
        - SUSPENDED
        - DELETED
        - SUSPENSION_PENDING
        - RESUMPTION_PENDING
        - DELETE_PENDING
    CardNumber:
      description: Card number of the card.
      type: integer
      format: int32
      minimum: 1
      maximum: 99999999
      examples:
        - 12345678
    CardType:
      description: |-
        A single digit that distinguishes the card types of the schemes.
        - 1: Debit mastercard
        - 3: Visa debit
      type: integer
      format: int32
      minimum: 1
      maximum: 3
    CardSequenceNumber:
      description: Sequence number of the card.
      type: integer
      format: int32
      minimum: 0
      maximum: 9
      examples:
        - 2
    CardToken:
      description: Unique card token of a card.
      type: string
      pattern: ^CTK-[0-9a-fA-F]{32}$
      minLength: 36
      maxLength: 36
      examples:
        - CTK-54716A6080B14CF19CEA3C170F85B1DD
    CardTokenExtension:
      description: Extension to card token to identify a card.
      type: object
      required:
        - cardExpiry
        - cardSequenceNumber
      properties:
        cardExpiry:
          $ref: '#/components/schemas/YearMonth'
        cardSequenceNumber:
          $ref: '#/components/schemas/CardSequenceNumber'
    DigitalCardStatusUpdateReason:
      description: The reason for the status update of the digital card.
      type: string
      enum:
        - ISSUER_DECISION
        - USER_DECISION
    CardStatusUpdateReason:
      description: The reason for the status update of the card.
      type: string
      enum:
        - ISSUER_DECISION
        - USER_DECISION
    CardBlockInformation:
      description: Contains information about blocked cards.
      type: object
      properties:
        blockReason:
          $ref: '#/components/schemas/CardBlockReason'
        blockOrigin:
          $ref: '#/components/schemas/CardBlockOrigin'
        blockInterface:
          $ref: '#/components/schemas/CardBlockInterface'
        blockedCardReplacement:
          $ref: '#/components/schemas/BlockedCardReplacement'
        unblockCardByCardholderAllowed:
          description: |
            Defines if the cardholder is allowed to unblock the card.
          type: boolean
          examples:
            - true
    CardBlockReason:
      description: The reason why the card was blocked.
      type: string
      enum:
        - NO_INFORMATION
        - CARD_LOST_WITHOUT_PIN
        - CARD_STOLEN_WITHOUT_PIN
        - FRAUD
        - CREDIT_STANDING
        - TOO_MANY_INVALID_PIN_ATTEMPTS
        - CARD_LOST_WITH_PIN
        - CARD_STOLEN_WITH_PIN
        - PICK_UP_BM_TM
        - CARD_DID_NOT_ARRIVE
        - PIN_DID_NOT_ARRIVE
        - FRAUD_SUSPECTED_ANALYSIS
        - FRAUD_SUSPECTED_CARDHOLDER_FEEDBACK_REQUIRED
        - TECHNICAL_REASON
        - DEFECTIVE_CARD
        - CARD_TEMPORARILY_BLOCKED
    CardBlockOrigin:
      description: Initiator and channel of the card blocking.
      type: string
      enum:
        - ONLINE_BANKING_BY_CARDHOLDER
        - MOBILE_BANKING_BY_CARDHOLDER
        - THREE_DS_CARDMANAGEMENT_APP_BY_CARDHOLDER
        - BACKEND_OF_BANK_BY_BANK
        - BACKEND_OF_BANK_BY_CARDHOLDER
        - BANK_DEBIT_ONLINE_WEB_BY_BANK
        - BANK_DEBIT_ONLINE_WEB_BY_CALL_CARDHOLDER
        - SIX_CALLCENTER_BY_CALL_CARDHOLDER
        - SIX_CALLCENTER_DEBIT_ONLINE_WEB_VIA_BLOCKING_MASK_BY_CALL_CARDHOLDER
        - SIX_BY_THIRD_PARTY_ORDER
        - SIX_DEBIT_ONLINE_WEB_VIA_BLOCKING_MASK_BY_THIRD_PARTY_ORDER
        - SIX_DEBIT_ONLINE_WEB_VIA_CARD_MASK_BY_THIRD_PARTY_ORDER
        - SIX_FRAUD_BY_RISKSHIELD_MANUAL
        - SIX_FRAUD_BY_RISKSHIELD_AUTOMATIC
        - SIX_FRAUD_BY_DEBIX
        - SIX_BY_BLOCKING_APPLICATION
    CardBlockOriginViaBank:
      description: >-
        Initiator and channel of the card blocking when the card is blocked via
        the bank.
      type: string
      enum:
        - ONLINE_BANKING_BY_CARDHOLDER
        - MOBILE_BANKING_BY_CARDHOLDER
        - THREE_DS_CARDMANAGEMENT_APP_BY_CARDHOLDER
        - BACKEND_OF_BANK_BY_BANK
        - BACKEND_OF_BANK_BY_CARDHOLDER
    CardBlockInterface:
      description: The interface used for blocking the card.
      type: string
      enum:
        - DEBIX_API
        - DEBIX_APP
        - DEBIX_PORTAL
        - DEBIT_ONLINE_WEB
        - DEBIT_ONLINE_XML
        - BLOCKING_APPLICATION_GENERATED_BY_SIX
    BlockedCardReplacement:
      description: >-
        Indicates the need of a card replacement when the card has been blocked.
        This is only an indicator and does not trigger the actual card
        replacement.
      type: string
      enum:
        - NO_REPLACEMENT
        - CARD
        - CARD_WITH_PIN_MAILER
        - CARD_WITH_PIN_AND_OTRC_MAILER
        - CARD_WITH_OTRC_MAILER
        - CARD_WITH_UNKNOWN_MAILER
    PinRecoveryStatus:
      description: The status of the PIN recovery.
      type: string
      enum:
        - NO_PIN_ORDERED
        - NEW_PIN_ORDERED_PIN_CHANGE_REQUIRED
        - NEW_PIN_ORDERED_RECOVERY_PROCESSED
        - NEW_PIN_ORDERED_RECOVERY_CONFIRMED
        - NEW_PIN_ORDERED_RECOVERY_NOK
    DigitalCardStatus:
      description: The status of the digital card.
      type: string
      enum:
        - ACTIVE
        - SUSPENDED
        - DELETED
    DigitalCardPendingStatus:
      description: The requested but pending status of the digital card.
      type: string
      enum:
        - RESUMPTION_PENDING
        - SUSPENSION_PENDING
        - DELETION_PENDING
    MerchantCategoryCode:
      description: >-
        The merchant category code. In a whitelist, the presence of 0 signifies
        that all merchant category codes are allowed.
      type: integer
      format: int32
      minimum: 0
      maximum: 9999
      examples:
        - 7995
    MoneySendReceiveAllowance:
      description: >-
        Defines conditions if money send to and receive from another cardholder
        is allowed.
      type: string
      enum:
        - NOT_ALLOWED
        - RECEIVE_ALLOWED
        - SEND_ALLOWED
        - RECEIVE_AND_SEND_ALLOWED
    GamblingAndBettingAllowance:
      description: Defines condition when gambling and betting transactions are allowed.
      type: string
      enum:
        - ALLOWED
        - NOT_ALLOWED
        - CARD_NOT_PRESENT_NOT_ALLOWED
        - CARD_PRESENT_NOT_ALLOWED
    ContactlessActivationStatus:
      description: Describes the contactless activation status of the card.
      type: string
      enum:
        - UNKNOWN
        - ACTIVATED_CONFIRMED
        - CARD_WITHOUT_CONTACTLESS
        - DEACTIVATED_UNCONFIRMED
        - DEACTIVATED_CONFIRMED
        - DEACTIVATION_PENDING
        - ACTIVATED_UNCONFIRMED
        - ACTIVATION_PENDING
        - NEVER_ACTIVATED
    WalletProvider:
      description: |-
        - "WALLET"
        - "ECOM"
        - "APPLE_PAY"
        - "SAMSUNG_PAY"
        - "GOOGLE_PAY"
        - "GARMIN_PAY"
        - "FITBIT_PAY"
        - "FACEBOOK"
        - "VISA_CHECKOUT"
        - "NETFLIX"
        - "ASIA_PAY_LIMITED"
        - "CYBERSOURCE"
        - "CHERRI_TECH"
        - "ADYEN"
        - "AMAZON"
        - "MENA_FZ_LLC"
        - "GLOBAL_PYT_AUSTRALIA"
        - "PAYSCOUT"
        - "SAFECHARGE"
        - "SECURECO"
        - "WORLDPAY"
        - "PAYPAL"
        - "BAMBORA_ONLINE"
        - "MYOB"
        - "HUAWEI_PAY"
      type: string
      examples:
        - APPLE_PAY
    WalletType:
      description: |-
        - "A": Apple Pay
        - "F": Fitbit
        - "G": G&D Wallet ErsteBank
        - "I": Raipay
        - "L": LAKS/Disiseq
        - "M": Merchant Tokenization
        - "O": Google Pay
        - "P": PSA-Wallet
        - "R": Garmin/Fitpay
        - "S": Samsung Pay
        - "T": Tappy
        - "W": Fidesmo
        - "X": Xiaomi
        - "Z": Zepp1
        - "?": Unknown Wallet Type
      type: string
      maxLength: 1
      examples:
        - A
    TokenRequestor:
      description: Information about the token requestor.
      type: object
      properties:
        id:
          description: The id of the token requestor.
          type: string
          maxLength: 11
          examples:
            - '1111111111'
        name:
          description: The name of the token requestor.
          type: string
          maxLength: 64
          examples:
            - Zalando
    YearMonth:
      type: object
      required:
        - month
        - year
      properties:
        month:
          description: The two digit number of the month starting at 01 for January.
          type: string
          examples:
            - '01'
        year:
          description: The last two digits of the year.
          type: string
          examples:
            - '21'
    Scheme:
      description: Scheme of the card.
      type: string
      enum:
        - MASTERCARD
        - VISA
    Dpan:
      description: Number of the digital card.
      type: string
      pattern: ^[4,5][0-9]{15}$
      minLength: 16
      maxLength: 16
      examples:
        - '4234567890123456'
    RejectedDigitalCard:
      type: object
      properties:
        dpan:
          $ref: '#/components/schemas/Dpan'
        error:
          $ref: '#/components/schemas/ErrorDetail'
    DigitalCardId:
      description: debiX id of the digital card.
      type: string
      examples:
        - eb404f8d-656b-4e51-8872-88c42fa55536
    TransactionId:
      description: Worldline unique id of the authorization.
      type: string
      maxLength: 36
      examples:
        - 9e19df54-47cb-494b-84dc-1c126e95a05c
    Amount:
      description: Original transaction amount.
      type: object
      required:
        - currency
        - unscaledAmount
        - scale
      properties:
        currency:
          $ref: '#/components/schemas/Currency'
        unscaledAmount:
          description: Original unscaled transaction amount.
          type: integer
          format: int64
          examples:
            - 2000
        scale:
          description: Scale of transaction amount.
          type: integer
          format: int32
          examples:
            - 1
    Currency:
      description: The currency according to ISO 4217.
      type: string
      maxLength: 3
      examples:
        - CHF
    CardAcceptor:
      description: The card acceptor, e.g. merchant, as assigned by the acquirer.
      type: object
      required:
        - id
        - merchantCategoryCode
      properties:
        id:
          description: Identification of the card acceptor.
          type: string
          minLength: 1
          maxLength: 15
          examples:
            - '87040'
        name:
          description: Name.
          type: string
          examples:
            - Meier Gmbh
        streetName:
          description: Location street name.
          type: string
        postalCode:
          description: Location postal code.
          type: string
        city:
          description: Location city.
          type: string
        regionCode:
          description: Location region code.
          type: string
        countryCode:
          description: Location country code.
          type: string
        merchantCategoryCode:
          description: Category code of the merchant.
          type: string
    Merchant:
      description: >-
        The enriched merchant data, only delivered if the issuer is enabled for
        enriched merchant data.
      type: object
      required:
        - id
        - logoAvailable
      properties:
        id:
          description: Identification of the merchant.
          type: string
          minLength: 1
          maxLength: 36
          examples:
            - '496'
        name:
          description: Pretty name of the merchant.
          type: string
          examples:
            - Yallo
        merchantCategory:
          description: Merchant category name.
          type: string
          examples:
            - Telco
        logoAvailable:
          description: Indicates if a merchant logo is available.
          type: boolean
          examples:
            - true
        address:
          $ref: '#/components/schemas/Address'
        location:
          $ref: '#/components/schemas/Location'
        contact:
          $ref: '#/components/schemas/Contact'
    Location:
      type: object
      required:
        - longitude
        - latitude
      properties:
        longitude:
          description: Longitude
          type: number
          format: double
          examples:
            - 8.5426102
        latitude:
          description: Latitude
          type: number
          format: double
          examples:
            - 47.3717597
    Contact:
      type: object
      properties:
        website:
          description: Website
          type: string
          minLength: 1
          examples:
            - www.myshop.ch
        phoneNumber:
          description: Phone number
          type: string
          minLength: 1
          examples:
            - '+41795625655'
    Address:
      type: object
      properties:
        street:
          description: Street name and street number
          type: string
          minLength: 1
          examples:
            - Hardturmstrasse 201
        postalCode:
          description: Postal code
          type: string
          minLength: 1
          examples:
            - '8004'
        city:
          description: City name
          type: string
          minLength: 1
          examples:
            - Zürich
        countryCode:
          description: Country code (ISO 3166 alpha-2 or alpha-3)
          type: string
          minLength: 2
          maxLength: 3
          examples:
            - CH
    MerchantLogoResponse:
      type: object
      properties:
        merchantLogo:
          $ref: '#/components/schemas/Image'
    RetrievalReference:
      description: Reference number assigned by acquirer.
      type: string
      maxLength: 12
      examples:
        - '120909092386'
    SchemeTransactionId:
      description: Transaction id assigned by the scheme during the first authorization.
      type: string
      maxLength: 36
      examples:
        - MDSJ9CC6I1134
    ApprovalCode:
      description: >-
        Series of characters that can be set by the issuer when the
        authorization takes place.
      type: string
      maxLength: 6
      examples:
        - '803051'
    ClearingType:
      description: Payment clearing type.
      type: string
      enum:
        - DEBIT
        - CREDIT
    Image:
      description: Image used for the merchant logo.
      required:
        - image
        - version
        - mimeType
      type: object
      properties:
        image:
          description: Base64-encoded image
          type: string
          format: byte
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          examples:
            - >-
              2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT=
        width:
          description: Width of the image in number of pixels.
          type: integer
          examples:
            - 1000
        height:
          description: Height of the image in number of pixels.
          type: integer
          examples:
            - 600
        version:
          description: >-
            Version of the current image. The value changes when image is
            changed. This value will be compared with value from 'If-None-Match'
            to find out if the image is in sync with the client.
          type: string
          examples:
            - be5d87a6-1c76-49d7-9a7f-75fa411b7e96
        mimeType:
          description: MIME type of the current image.
          type: string
          examples:
            - image/svg+xml
    FirstName:
      description: First name
      type: string
      maxLength: 25
      examples:
        - Peter
    FamilyName:
      description: Family name
      type: string
      maxLength: 25
      examples:
        - Schweizer
    DatamailerDeliveryDestination:
      description: Specifies the delivery destination for OTRC, PIN, and card datamailer.
      type: string
      enum:
        - DELIVER_TO_BANK
        - DELIVER_TO_CARDHOLDER
    DatamailerExpressCode:
      description: Defines the express code of OTRC, PIN, and card datamailer delivery.
      type: string
      enum:
        - A_POST
        - B_POST
        - REGISTERED
      default: A_POST
    OtrcDelivery:
      description: Delivery type of OTRC. Only used for virtual cards.
      type: string
      enum:
        - NONE
        - DATAMAILER
        - ONLINE
      default: NONE
    ProducerCode:
      description: >-
        Defines the producer of the ordered card. Must only be set for a
        physical card order.
      type: string
      enum:
        - THALES
        - EXCEET_GERMANY
        - EXCEET_SWITZERLAND
        - NID
    ProducerInfo:
      description: >-
        Information for the producer of the card. E.g. to print the EUR-label on
        the card.
      type: string
    EmvProfile:
      description: >-
        Information about the EMV-Profile. Must be set for a physical card
        order.
      type: object
      required:
        - emvCurrency
      properties:
        emvCurrency:
          $ref: '#/components/schemas/Currency'
        emvProfileId:
          description: >-
            The identifier of an EMV-Profile. Must correspond to the field
            ChipApplication.
          type: integer
          examples:
            - 4
    CardholderDataTrack:
      description: >
        A formatted combination of family name, name and title. Must only be set
        for a Mastercard physical card order.

        Valid formats include:
          - FAMILYNAME/
          - FAMILYNAME/NAME
          - FAMILYNAME/NAME.DR
          - FAMILYNAME/.DR
      type: string
      maxLength: 26
      minLength: 2
      examples:
        - SCHWEIZER/PETER
    CardLine:
      description: >-
        This line will be printed on the front side of the card. At least the
        first card line is required for a physical card order.
      type: string
    Birthdate:
      description: Date of birth.
      type: string
      format: date
      examples:
        - '2000-12-31'
    AccountAuthority:
      description: Indicates who has the right to draw on the account.
      type: object
      properties:
        firstName:
          $ref: '#/components/schemas/FirstName'
        familyName:
          $ref: '#/components/schemas/FamilyName'
        birthdate:
          $ref: '#/components/schemas/Birthdate'
    PhoneNumber:
      description: >-
        Mobile or landline phone number. Note: phoneNumber is a mandatory
        parameter which must be provided to register a card with authentication
        method SMS_ONLY, PIN, BIOMETRIC or BIOMETRIC_WITH_PIN_FALLBACK.
        Furthermore, phoneNumber must also be provided in case the issuer
        desires to register a card for DELEGATED as primary authentication
        method, with additionally SMS as fallback (as secondary authentication
        method).  For issuers with special regulations (e.g. PSD2), please refer
        to the additional indications provided under the “password” field.
      type: string
      pattern: ^([+]|00)[1-9][0-9]{8,18}$
      examples:
        - '+41797778899'
    Language:
      description: Correspondence language.
      type: string
      enum:
        - DE
        - FR
        - IT
        - EN
    ChipApplication:
      description: >-
        Indicates what chip will be applied to the card. If no chipApplication
        is provided, EMVI20 will be applied in the order.
      type: string
      enum:
        - EMVI20
        - EMVI24
    ThreeDsInformation:
      description: Contains 3DS data provided by Worldline.
      type: object
      required:
        - paymentAuthenticationMethods
      properties:
        paymentAuthenticationMethods:
          $ref: '#/components/schemas/PaymentAuthenticationMethods'
        mobilePhoneNumber:
          $ref: '#/components/schemas/PhoneNumber'
    PaymentAuthenticationMethods:
      description: Container for the available authentication methods.
      type: object
      required:
        - oob
        - ta
        - otp
        - password
      properties:
        oob:
          description: Details of the Out Of Band (OOB) authentication method.
          type: object
          required:
            - status
          properties:
            status:
              $ref: '#/components/schemas/AuthenticationMethodStatus'
            id:
              description: OOB id.
              type: string
              maxLength: 36
        ta:
          description: >-
            Details of the Trusted Authentication via separate app (TA)
            authentication method.
          type: object
          required:
            - status
          properties:
            status:
              $ref: '#/components/schemas/AuthenticationMethodStatus'
            id:
              description: TA user id.
              type: string
              maxLength: 36
        otp:
          type: object
          description: Details of the One Time Password (OTP) authentication method.
          required:
            - status
          properties:
            status:
              $ref: '#/components/schemas/AuthenticationMethodStatus'
        password:
          type: object
          description: Details about the password authentication method.
          required:
            - status
          properties:
            status:
              $ref: '#/components/schemas/AuthenticationMethodStatus'
    AuthenticationMethodStatus:
      description: Status of an authentication method.
      type: string
      enum:
        - ENABLED
        - DISABLED
        - BLOCKED
    ThreeDsData:
      description: >-
        Relevant data to register a card for 3DS with a specific authentication
        method based on the setup desired by the issuer (i.e. for 3DS via SIX
        SDK or 3DS OOB).
      type: object
      required:
        - language
        - authenticationMethod
      properties:
        userId:
          description: >-
            Identifier assigned to a particular user by the issuer. Note: userId
            is a mandatory parameter when registering a card with authentication
            method PIN, BIOMETRIC or BIOMETRIC_WITH_PIN_FALLBACK.
          type: string
          minLength: 1
          examples:
            - '2345872'
        phoneNumber:
          $ref: '#/components/schemas/PhoneNumber'
        language:
          $ref: '#/components/schemas/Language'
        authId:
          $ref: '#/components/schemas/AuthId'
        authenticationMethod:
          $ref: '#/components/schemas/AuthenticationMethod'
        biometricType:
          $ref: '#/components/schemas/BiometricType'
        pinCode:
          $ref: '#/components/schemas/PinCode'
        password:
          $ref: '#/components/schemas/Password'
    PartialThreeDsData:
      description: Partial data pertaining to a 3DS registration.
      type: object
      properties:
        userId:
          description: >-
            Identifier assigned to a particular user by the issuer. Note: userId
            is a mandatory parameter when registering a card with authentication
            method PIN, BIOMETRIC or BIOMETRIC_WITH_PIN_FALLBACK.
          type: string
          minLength: 1
          examples:
            - '2345872'
        phoneNumber:
          $ref: '#/components/schemas/PhoneNumber'
        language:
          $ref: '#/components/schemas/Language'
        authId:
          $ref: '#/components/schemas/AuthId'
        authenticationMethod:
          $ref: '#/components/schemas/AuthenticationMethod'
        biometricType:
          $ref: '#/components/schemas/BiometricType'
        pinCode:
          $ref: '#/components/schemas/PinCode'
        password:
          $ref: '#/components/schemas/Password'
    OtrcDatamailerOrderRequest:
      description: Details of the OTRC datamailer order request.
      type: object
      required:
        - delivery
        - expressCode
      properties:
        delivery:
          description: Delivery destination of the OTRC datamailer.
          $ref: '#/components/schemas/DatamailerDeliveryDestination'
        expressCode:
          description: Defines the express code of the OTRC datamailer delivery.
          $ref: '#/components/schemas/DatamailerExpressCode'
        deliveryInformation:
          description: Delivery information for the OTRC datamailer.
          $ref: '#/components/schemas/DeliveryInformation'
        mailerText:
          description: >-
            Selects the individual text container for printing onto the
            datamailer.
          type: integer
          format: int32
    AuthenticationMethod:
      description: >-
        User authentication method. For 3DS Out-of-Band (OOB), authentication
        method DELEGATED must be selected.
      type: string
      enum:
        - PIN
        - BIOMETRIC
        - BIOMETRIC_WITH_PIN_FALLBACK
        - DELEGATED
        - SMS_ONLY
        - NONE
    AuthId:
      description: >-
        Identifier for the device used for 3DS. Note: authId is a mandatory
        parameter which must be provided when registering a card with
        authentication method PIN, BIOMETRIC, BIOMETRIC_WITH_PIN_FALLBACK or
        DELEGATED.
      type: string
      minLength: 1
      maxLength: 36
      examples:
        - '480463608'
    BiometricType:
      description: >-
        Type of biometric authentication; required for authentication method
        BIOMETRIC and BIOMETRIC_WITH_PIN_FALLBACK.
      type: string
      enum:
        - ANDROID_BIOMETRIC
        - IOS_BIOMETRIC
    PinCode:
      description: >-
        PIN code used for 3DS authentication; required for authentication method
        PIN and BIOMETRIC_WITH_PIN_FALLBACK.
      type: string
      minLength: 1
      examples:
        - '12345'
    Password:
      description: >-
        This parameter must be used exclusively by issuers with special
        regulations (e.g., PSD2). It must be provided if the issuer intends to
        register a card for 3DS with SMS as secondary authentication method
        (i.e. SMS as fallback) or if the issuer intends to register a card with
        SMS_ONLY as primary and unique authentication method. In these cases,
        the phoneNumber field must also be provided.
      type: string
      minLength: 1
      examples:
        - password
    CardHolderName:
      description: The cardholder name as printed on the card.
      type: string
      minLength: 2
      maxLength: 26
      examples:
        - Peter Meier
    EmailAddress:
      description: Email address to identify the customer.
      type: string
      minLength: 1
      examples:
        - peter.schweizer@mailbox.org
    BankApiError:
      description: Information about an error on API requests.
      type: object
      required:
        - applicationError
        - errorCode
      properties:
        applicationError:
          description: The name of the application error.
          type: string
          examples:
            - OPERATION_FAILED
        errorCode:
          description: Code describing the error.
          type: integer
          format: int32
          examples:
            - 5001
        description:
          description: >-
            A human readable explanation specific to this occurrence of the
            problem.
          type: string
          examples:
            - The requested operation failed.
        errors:
          description: List of error details.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/ErrorDetail'
        errorToken:
          description: >-
            A generated error token referencing the actual error and logged on
            the server.
          type: string
          examples:
            - 618503aa-7beb-4d3d-986e-36f1fdbd0e13
    ErrorDetail:
      type: object
      required:
        - errorCode
      properties:
        errorCode:
          description: Code describing the error.
          type: integer
          format: int32
          examples:
            - 42
        description:
          description: The message describing the error.
          type: string
          examples:
            - >-
              The answer to the great question of Life, the Universe and
              Everything.
    OtrcOrderResponse:
      description: Contains the OTRC information.
      type: object
      required:
        - otrc
        - otrcExpirationDateTime
      properties:
        otrc:
          description: Value of the OTRC.
          type: integer
        otrcExpirationDateTime:
          description: Date and time when the OTRC will expire.
          type: string
          format: date-time
          examples:
            - '2024-10-03T16:03:09.101+02:00'
    VisaADCreateAliasAndRegisterCardsRequest:
      description: Create Alias and Register Cards request.
      type: object
      required:
        - aliasType
        - aliasValue
        - consent
        - profile
        - cards
      properties:
        aliasType:
          $ref: '#/components/schemas/VisaADAliasType'
        aliasValue:
          $ref: '#/components/schemas/VisaADAliasValue'
        consent:
          $ref: '#/components/schemas/VisaADConsent'
        profile:
          $ref: '#/components/schemas/VisaADProfile'
        cards:
          type: array
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/VisaADCard'
    VisaADCreateAliasAndRegisterCardsResponse:
      description: Create Alias and Register Cards response.
      type: object
      required:
        - aliasId
      properties:
        aliasId:
          $ref: '#/components/schemas/VisaADAliasId'
    VisaADGetAliasResponse:
      description: Get Alias response.
      type: object
      required:
        - aliasValue
        - consent
        - profile
      properties:
        aliasValue:
          $ref: '#/components/schemas/VisaADAliasValue'
        consent:
          $ref: '#/components/schemas/VisaADConsent'
        profile:
          $ref: '#/components/schemas/VisaADProfile'
        aliasType:
          $ref: '#/components/schemas/VisaADAliasType'
        aliasStatus:
          $ref: '#/components/schemas/VisaADAliasStatus'
    VisaADUpdateAliasRequest:
      description: Update Alias request.
      type: object
      required:
        - consent
        - profile
      properties:
        consent:
          $ref: '#/components/schemas/VisaADConsent'
        profile:
          $ref: '#/components/schemas/VisaADProfile'
    VisaADUpdateAliasStatusRequest:
      description: Update Alias Status request.
      type: object
      required:
        - aliasStatus
      properties:
        aliasStatus:
          $ref: '#/components/schemas/VisaADAliasUpdatingStatus'
    VisaADRegisterCardRequest:
      description: Register Card request.
      type: object
      required:
        - card
      properties:
        card:
          $ref: '#/components/schemas/VisaADCard'
    VisaADUpdateCardRequest:
      description: Update Card request.
      type: object
      required:
        - card
      properties:
        card:
          $ref: '#/components/schemas/VisaADCard'
    VisaADRetrieveCardResponse:
      description: Retrieve Card response.
      type: object
      required:
        - card
      properties:
        card:
          $ref: '#/components/schemas/VisaADCard'
    VisaADRetrieveAllCardsResponse:
      description: Retrieve All Card response.
      type: object
      required:
        - cards
      properties:
        cards:
          type: array
          items:
            $ref: '#/components/schemas/VisaADCard'
    VisaADConsent:
      description: Consent details.
      type: object
      required:
        - presenter
        - validFromDateTime
        - version
      properties:
        presenter:
          description: Identifies the presenter of consent to the consumer.
          type: string
          examples:
            - Bank A
        validFromDateTime:
          description: >-
            Date and time from which on the consent is valid, in ISO UTC format
            YYYY-MM-DDThh:mm:ss.000Z. Only accepts present and past dates.
          type: string
          format: date-time
          examples:
            - '2021-12-01T10:00:00Z'
        version:
          description: >-
            Specific version of the terms and conditions that the customer
            accepts for the user solution.
          type: string
          minLength: 1
          maxLength: 9
          examples:
            - '1.0'
    VisaADCard:
      description: Card in the context of Visa Alias Directory.
      type: object
      required:
        - nameOnCard
        - billingAddress
        - cardToken
      properties:
        nameOnCard:
          $ref: '#/components/schemas/VisaADNameOnCard'
        cardType:
          $ref: '#/components/schemas/VisaADCardType'
        billingAddress:
          $ref: '#/components/schemas/VisaADBillingAddress'
        cardToken:
          $ref: '#/components/schemas/CardToken'
        preferredFor:
          $ref: '#/components/schemas/VisaADPreferredFor'
    VisaADNameOnCard:
      description: The name which is printed on the card.
      type: string
      minLength: 1
      maxLength: 120
      examples:
        - Peter Schweizer
    VisaADCardType:
      description: >-
        Card type description. Reference to Field 62.23—Product ID of available
        card products.
      type: string
      minLength: 1
      maxLength: 70
      examples:
        - Visa Platinum
    VisaADPreferredFor:
      description: >
        Indicates if a payment credential is a preferred **Receiving**,
        **Sending**, or **Paying** account. 

        **Receiving** allows for funds to be pushed into the payment
        credential. 

        **Sending** allows for funds to be sent from the payment credential. 

        **Paying** allows for the payment credential to be used for purchases. 

        More than one preferred type can be used.
      type: array
      minItems: 1
      maxItems: 3
      items:
        $ref: '#/components/schemas/VisaADPreferredForType'
    VisaADPreferredForType:
      type: string
      enum:
        - RECEIVE
        - SEND
        - PAY
      examples:
        - RECEIVE
    VisaADBillingAddress:
      type: object
      required:
        - country
      properties:
        city:
          description: |
            City

            ISO20022 element name: Creditor -> Postal Address -> Town Name
          type: string
          minLength: 1
          maxLength: 35
          examples:
            - Zürich
        state:
          description: State (ISO 3166-2)
          type: string
          minLength: 1
          maxLength: 16
          format: We recommend to use the ISO 3166-2
          examples:
            - CH-ZH
        country:
          description: |
            Country code using 3-character ISO 3166 (Alpha 3) format.

            ISO20022 element name: Creditor -> Postal Address -> Country
          type: string
          minLength: 3
          maxLength: 3
          format: We recommend to use the Alpha-3 format
          examples:
            - CHE
        postalCode:
          description: |
            Postal code number of the addresses
            ISO20022 element name: Creditor -> Postal Address -> Postal Code
          type: string
          minLength: 1
          maxLength: 16
          examples:
            - '8000'
        streetName:
          description: Street Name
          type: string
          minLength: 1
          maxLength: 60
          examples:
            - Bahnhofstrasse
        addressLine1:
          description: |
            Address line 1.

            ISO20022 element name: Creditor -> Postal Address -> Address Line
          type: string
          minLength: 0
          maxLength: 99
          examples:
            - Zurich Coffee Shop
        addressLine2:
          description: |
            Address line 2.

            ISO20022 element name: Creditor -> Postal Address -> Address Line
          type: string
          minLength: 0
          maxLength: 99
          examples:
            - z. H. Hans Ruedi Rüdisüli
        buildingNumber:
          description: |
            Building number.

            ISO20022 element name: Creditor -> Postal Address -> Building Number
          type: string
          minLength: 1
          maxLength: 60
          examples:
            - '18'
        minorSubdivisionCode:
          description: >
            Minor Subdivision Code.


            ISO20022 element name: Creditor -> Postal Address -> Country Sub
            Division
          type: string
          examples:
            - ZH
          minLength: 1
          maxLength: 50
    VisaADDateOfBirth:
      description: Date ISO-8601 Format https://www.w3.org/TR/NOTE-datetime.
      type: string
      minLength: 10
      maxLength: 10
      pattern: ^\d\d\d\d\-\d\d\-\d\d$
      examples:
        - '1947-02-01'
    VisaADAliasId:
      description: The UUID generated by Alias Directory which identifies the alias.
      type: string
      minLength: 36
      maxLength: 36
      examples:
        - e336c8c8-2945-4be3-af3e-951ec2d01219
    VisaADAliasUpdatingStatus:
      description: The updating status of an alias.
      type: string
      enum:
        - ACTIVE
        - DISABLED
      examples:
        - ACTIVE
    VisaADAliasStatus:
      description: The status of an alias.
      type: string
      enum:
        - ACTIVE
        - DISABLED
        - BLOCKED
        - EXPIRED
      examples:
        - ACTIVE
    VisaADAliasType:
      description: The type of alias provided in aliasValue.
      type: string
      enum:
        - PHONE
        - EMAIL
      examples:
        - PHONE
    VisaADAliasValue:
      description: >
        The value of the alias, e.g., phone number or email address. 

        If phone number is used for alias, this should be provided in accordance
        with ITU-T E.164 (2010) number structure. 

        Please note that in the E.164 format, the "+" prefix or leading zeros
        are not included.
      type: string
      minLength: 1
      maxLength: 128
      examples:
        - '41791112233'
    VisaADProfile:
      description: Profile details for the customer that owns the alias.
      type: object
      required:
        - firstName
        - lastName
      properties:
        lastName:
          description: >
            Last name in English. Clients in CEMEA and the EU must use only one
            first letter of customer’s last name followed by dot symbol to
            create or modify an Alias record.

            For example, Alias record for customer John Smith should be created
            or modified by the issuer with First and Last name fields as 'John
            S.'


            ISO20022 element name: Creditor -> Name
          type: string
          minLength: 1
          maxLength: 35
          examples:
            - R.
        firstName:
          description: |
            First name in English

            ISO20022 element name: Creditor -> Name
          type: string
          minLength: 1
          maxLength: 35
          examples:
            - Hans
        middleName:
          description: Middle name in English
          type: string
          minLength: 1
          maxLength: 35
          examples:
            - Ruedi
        contactInfo:
          description: Contact information.
          minItems: 1
          maxItems: 2
          type: array
          items:
            type: object
            required:
              - type
              - value
            properties:
              type:
                $ref: '#/components/schemas/VisaADAliasType'
              value:
                $ref: '#/components/schemas/VisaADAliasValue'
        dateOfBirth:
          $ref: '#/components/schemas/VisaADDateOfBirth'
        lastNameLocal:
          description: >
            Last name in local language. Clients in CEMEA and the EU must use
            only one first letter of customer’s last name followed by dot symbol
            to create or modify an Alias record. 

            For example, Alias record for customer John Smith should be created
            or modified by the issuer with First and Last name fields as 'John
            S.'
          type: string
          minLength: 1
          maxLength: 35
          examples:
            - R.
        preferredName:
          description: Preferred name (or the 'known-as' name).
          type: string
          examples:
            - Hansruedi
        firstNameLocal:
          description: First name in local language.
          type: string
          minLength: 1
          maxLength: 35
          examples:
            - Hans
        middleNameLocal:
          description: Middle name in local language.
          type: string
          minLength: 1
          maxLength: 35
          examples:
            - Ruedi
