info:
  contact:
    name: stephane.chretien@gemalto.com
  termsOfService: Copyright (c) 2021 Thales DIS. All Rights Reserved
  title: Gemalto TSH Issuer Gateway  API
  version: 2.8.7
  description: ''
paths:
  /getCardInfo:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: Get virtual card  list information
      description: >-
        This method can be used to retrieve the list of virtual card(s) that
        belongs to a funding card.
      operationId: getCardInfo
      parameters:
        - $ref: '#/components/parameters/x-correlation-id-header'
        - $ref: '#/components/parameters/x-issuer-id-header'
      responses:
        '200':
          description: getCardInfo response payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getCardInfoRes'
          x-gitbook-description-html: <p>getCardInfo response payload</p>
        '400':
          description: >-
            Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorRes'
          x-gitbook-description-html: >-
            <p>Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter</p>
        '500':
          description: Internal Server Error
          x-gitbook-description-html: <p>Internal Server Error</p>
      tags:
        - Get Card Info
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/getCardInfoReq'
        description: getCardInfo request payload
        required: true
        x-gitbook-description-html: <p>getCardInfo request payload</p>
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      This method can be used to retrieve the list of virtual
                      card(s) that belongs to a funding card.
                    marks: []
                key: huER5z6ZrARM
            key: 9fqUhy5ZkteP
        key: 86BdpvyKHWRk
      x-gitbook-description-html: >-
        <p>This method can be used to retrieve the list of virtual card(s) that
        belongs to a funding card.</p>
  /getTokenInfo:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: Get Token Info
      description: >-
        This method can be used to retrieve information associated to a specific
        token, including the token value itself, if available.

        <br/>
      operationId: getTokenInfo
      parameters:
        - $ref: '#/components/parameters/x-correlation-id-header'
        - $ref: '#/components/parameters/x-issuer-id-header'
      responses:
        '200':
          description: getTokenInfo response payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getTokenInfoRes'
          x-gitbook-description-html: <p>getTokenInfo response payload</p>
        '400':
          description: >-
            Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter
          content:
            application/json:
              schema:
                type: object
                required:
                  - responseCode
                properties:
                  responseCode:
                    type: string
                    description: |-
                      Error Response code to the request
                      |Error code | Description|
                      |-------|-------|
                      |111|Missing mandatory parameter|
                      |112|Bad parameter format|
                      |113|Unknown issuer|
                      |116|Unknown card|
                      |119|Unknown Token|could u pls share this mapping
                      |911|Unexpected server error|
                      |921|Operation failed|
                    x-gitbook-description-html: >-
                      <p>Error Response code to the request</p>






































                      <table><thead><tr><th>Error
                      code</th><th>Description</th></tr></thead><tbody><tr><td>111</td><td>Missing
                      mandatory parameter</td></tr><tr><td>112</td><td>Bad
                      parameter format</td></tr><tr><td>113</td><td>Unknown
                      issuer</td></tr><tr><td>116</td><td>Unknown
                      card</td></tr><tr><td>119</td><td>Unknown
                      Token</td></tr><tr><td>911</td><td>Unexpected server
                      error</td></tr><tr><td>921</td><td>Operation
                      failed</td></tr></tbody></table>
                  errorMessage:
                    type: string
                    maxLength: 256
                    description: Textual error message
                    x-gitbook-description-html: <p>Textual error message</p>
          x-gitbook-description-html: >-
            <p>Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter</p>
        '500':
          description: Internal Server Error
          x-gitbook-description-html: <p>Internal Server Error</p>
      tags:
        - Get Token Info
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/getTokenInfoReq'
        description: getCardInfo request payload
        required: true
        x-gitbook-description-html: <p>getCardInfo request payload</p>
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >
                      This method can be used to retrieve information associated
                      to a specific token, including the token value itself, if
                      available.
                    marks: []
                key: 0bmnoqG5Pbe3
            key: Ap3duj0BIMwz
        key: 7i1KpapXEZNw
      x-gitbook-description-html: >-
        <p>This method can be used to retrieve information associated to a
        specific token, including the token value itself, if available.<br></p>
    parameters: []
  /updateCard:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: Update funding card information
      description: >
        This method can be used by the Issuer to update either the card funding
        data OR the card metadata information:<br/>

        - new expiry date value (in case of card renewal) or new PAN and expiry
        date (in case of card replacement)


        OR

        - new productId (in case of card replacement) (Not supported for
        Discover)


        OR

        - card metadata update (Not supported for Mastercard, American Express
        and Discover)


        **NOTE**:

        *it is not possible to update at the same time funding card data and
        card metadata.*


        **The issuer receives a notifyVirtualCardChange per virtualCard (active
        or suspended) linked to the funding card that is updated.**<br/>
      operationId: updateCard
      parameters:
        - $ref: '#/components/parameters/x-correlation-id-header'
        - $ref: '#/components/parameters/x-issuer-id-header'
      responses:
        '200':
          description: Successful (no response body)
          x-gitbook-description-html: <p>Successful (no response body)</p>
        '400':
          description: >-
            Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorRes'
          x-gitbook-description-html: >-
            <p>Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter</p>
        '500':
          description: Internal Server Error
          x-gitbook-description-html: <p>Internal Server Error</p>
      tags:
        - Update Card
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateCardReq'
        description: updateCard request payload
        required: true
        x-gitbook-description-html: <p>updateCard request payload</p>
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >
                      This method can be used by the Issuer to update either the
                      card funding data OR the card metadata information:
                    marks: []
                key: 9lWKVNlcau37
            key: g7uO7mVs6z1F
          - object: block
            type: list-unordered
            isVoid: false
            data: {}
            nodes:
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: >-
                              new expiry date value (in case of card renewal) or
                              new PAN and expiry date (in case of card
                              replacement)
                            marks: []
                        key: jLEs82WlaKVm
                    key: HJSynR5nCwQz
                key: 2sBmxcuXDIBE
            key: F8486CNyLR7k
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: OR
                    marks: []
                key: 81vcwSNDxezr
            key: LXooDZSyNkUM
          - object: block
            type: list-unordered
            isVoid: false
            data: {}
            nodes:
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: >-
                              new productId (in case of card replacement) (Not
                              supported for Discover)
                            marks: []
                        key: vCuGdNv1XahX
                    key: k2Z6VkjoJSwt
                key: 4vTXUzyGFxDd
            key: g7GoTyAsyTu7
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: OR
                    marks: []
                key: PX5pIZO4cebK
            key: MQXcIuRw2nJF
          - object: block
            type: list-unordered
            isVoid: false
            data: {}
            nodes:
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: >-
                              card metadata update (Not supported for
                              Mastercard, American Express and Discover)
                            marks: []
                        key: SxRVALyZnKkR
                    key: HqpUA14KEAWq
                key: mijl4Oal3OsG
            key: XxcKjVyIE53e
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: NOTE
                    marks:
                      - object: mark
                        type: bold
                        data: {}
                  - object: leaf
                    text: ': '
                    marks: []
                  - object: leaf
                    text: >-
                      it is not possible to update at the same time funding card
                      data and card metadata.
                    marks:
                      - object: mark
                        type: italic
                        data: {}
                key: JwTEFYks8F7V
            key: mGyg15HecziA
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      The issuer receives a notifyVirtualCardChange per
                      virtualCard (active or suspended) linked to the funding
                      card that is updated.
                    marks:
                      - object: mark
                        type: bold
                        data: {}
                  - object: leaf
                    text: |+

                    marks: []
                key: JzegxojeRm89
            key: hSIzGaTCfhMG
        key: MtCvo4wcA0KA
      x-gitbook-description-html: >-
        <p>This method can be used by the Issuer to update either the card
        funding data OR the card metadata information:<br></p><ul><li>new expiry
        date value (in case of card renewal) or new PAN and expiry date (in case
        of card replacement)</li></ul><p>OR</p><ul><li>new productId (in case of
        card replacement) (Not supported for
        Discover)</li></ul><p>OR</p><ul><li>card metadata update (Not supported
        for Mastercard, American Express and
        Discover)</li></ul><p><strong>NOTE</strong>: <em>it is not possible to
        update at the same time funding card data and card
        metadata.</em></p><p><strong>The issuer receives a
        notifyVirtualCardChange per virtualCard (active or suspended) linked to
        the funding card that is updated.</strong><br></p>
  /updateCardState:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: Update virtual card state
      description: >
        This method is used by the Issuer to update the status of:

        - a specific virtual card 

        - all the virtual cards associated to a funding PAN on every device



        The issuer can use the request GetCardInfo to retrieve id of the card or
        virtual card etc of user in order to call UpdateCardState.


        Status of operation is notified to the Issuer through
        NotifyCardStatusChange 
      operationId: updateCardState
      parameters:
        - $ref: '#/components/parameters/x-correlation-id-header'
        - $ref: '#/components/parameters/x-issuer-id-header'
      responses:
        '200':
          description: Successful (no response body)
          x-gitbook-description-html: <p>Successful (no response body)</p>
        '400':
          description: >-
            Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorRes'
          x-gitbook-description-html: >-
            <p>Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter</p>
        '500':
          description: Internal Server Error
          x-gitbook-description-html: <p>Internal Server Error</p>
      tags:
        - Update Card State
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateCardStateReq'
        description: updateCardState request payload
        required: true
        x-gitbook-description-html: <p>updateCardState request payload</p>
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: 'This method is used by the Issuer to update the status of:'
                    marks: []
                key: caTkqMD7zc5s
            key: zJrq7vWucY5N
          - object: block
            type: list-unordered
            isVoid: false
            data: {}
            nodes:
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: a specific virtual card
                            marks: []
                        key: fID1hRnuHMi3
                    key: K9ZNT5LSORLq
                key: IgJZnFEEVKCg
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: >-
                              all the virtual cards associated to a funding PAN
                              on every device
                            marks: []
                        key: FNHmiHTTxiKd
                    key: xePncUDdBqCq
                key: 4jkcnzW6dM9f
            key: PSMeuDyj4meY
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      The issuer can use the request GetCardInfo to retrieve id
                      of the card or virtual card etc of user in order to call
                      UpdateCardState.
                    marks: []
                key: XmCfbkSwIDt4
            key: liSNkwn3i7M0
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Status of operation is notified to the Issuer through
                      NotifyCardStatusChange
                    marks: []
                key: tjhNEtzJeDQH
            key: B10pwUh3HZfn
        key: mKTBuCGWXZEE
      x-gitbook-description-html: >-
        <p>This method is used by the Issuer to update the status
        of:</p><ul><li>a specific virtual card</li><li>all the virtual cards
        associated to a funding PAN on every device</li></ul><p>The issuer can
        use the request GetCardInfo to retrieve id of the card or virtual card
        etc of user in order to call UpdateCardState.</p><p>Status of operation
        is notified to the Issuer through NotifyCardStatusChange</p>
  /sendMessage:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: send a text message to the wallet
      description: >
        # Overview

        This method is used by the Issuer to send a textual message to the user,
        handle by the wallet application


        **This feature is only supported by Apple Pay and when Thales acts as a
        OEM broker for domestic schemes**

        # Deep Link

        The "Deep Link mechanism" consist in having the wallet application
        launching issuer mobile banking application when the end user press on
        message displayed .

        The Wallet application will launch the application and provides, as a
        parameter, the 'messageToken' to the issuer application so it can
        identifyc the message.
      operationId: sendMessage
      parameters:
        - $ref: '#/components/parameters/x-correlation-id-header'
        - $ref: '#/components/parameters/x-issuer-id-header'
      responses:
        '200':
          description: sendMessage response payload
          x-gitbook-description-html: <p>sendMessage response payload</p>
        '400':
          description: >-
            Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorRes'
          x-gitbook-description-html: >-
            <p>Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter</p>
        '500':
          description: Internal Server Error
          x-gitbook-description-html: <p>Internal Server Error</p>
      tags:
        - Send Message
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sendMessageReq'
        description: sendMessage request payload
        required: true
        x-gitbook-description-html: <p>sendMessage request payload</p>
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: heading-1
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Overview
                    marks: []
                key: RV6vKlsQYAib
            key: fJM80EHxVNB4
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      This method is used by the Issuer to send a textual
                      message to the user, handle by the wallet application
                    marks: []
                key: KHftVntHih58
            key: JkHIcUA2XgdT
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      This feature is only supported by Apple Pay and when
                      Thales acts as a OEM broker for domestic schemes
                    marks:
                      - object: mark
                        type: bold
                        data: {}
                key: rkoFoYxTfBNP
            key: E9EtvIKYtonI
          - object: block
            type: heading-1
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Deep Link
                    marks: []
                key: 7Td3E1dIkT9H
            key: Np4LDlgRU8Md
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      The "Deep Link mechanism" consist in having the wallet
                      application launching issuer mobile banking application
                      when the end user press on message displayed . The Wallet
                      application will launch the application and provides, as a
                      parameter, the 'messageToken' to the issuer application so
                      it can identifyc the message.
                    marks: []
                key: tjaGfip3oz4R
            key: M329eWJOB0SV
        key: QSYI384K7Lc5
      x-gitbook-description-html: >-
        <h1>Overview</h1><p>This method is used by the Issuer to send a textual
        message to the user, handle by the wallet application</p><p><strong>This
        feature is only supported by Apple Pay and when Thales acts as a OEM
        broker for domestic schemes</strong></p><h1>Deep Link</h1><p>The "Deep
        Link mechanism" consist in having the wallet application launching
        issuer mobile banking application when the end user press on message
        displayed . The Wallet application will launch the application and
        provides, as a parameter, the 'messageToken' to the issuer application
        so it can identifyc the message.</p>
  /healthCheck:
    get:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: check if TSH is healthy
      description: >-
        This method is used by TSH to monitor Issuer health for monitoring
        purpose
      operationId: healthCheck
      parameters:
        - $ref: '#/components/parameters/x-correlation-id-header'
        - $ref: '#/components/parameters/x-issuer-id-header'
      responses:
        '204':
          description: succesfull
          x-gitbook-description-html: <p>succesfull</p>
        '400':
          description: >-
            Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorRes'
          x-gitbook-description-html: >-
            <p>Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter</p>
        '500':
          description: Internal Server Error
          x-gitbook-description-html: <p>Internal Server Error</p>
      tags:
        - Health check
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      This method is used by TSH to monitor Issuer health for
                      monitoring purpose
                    marks: []
                key: vef5IoRIXoVy
            key: fjbRPkEzu2O7
        key: MJvUGEmeAumJ
      x-gitbook-description-html: >-
        <p>This method is used by TSH to monitor Issuer health for monitoring
        purpose</p>
tags:
  - name: getCardInfo
  - name: updateCard
  - name: sendMessage
  - name: updateCardState
  - name: healthCheck
  - name: Get Card Info
  - name: Health check
  - name: Send Message
  - name: Update Card
  - name: Update Card State
openapi: 3.1.1
servers:
  - url: https://api.dbp.thalescloud.io/gtep/igwapi/v2.0
components:
  schemas:
    getCardInfoReq:
      type: object
      required:
        - issuerCardRefId
      properties:
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
    getTokenInfoReq:
      type: object
      properties:
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
        virtualCardId:
          $ref: '#/components/schemas/virtualCardId'
      required:
        - issuerCardRefId
        - virtualCardId
    getCardInfoRes:
      type: object
      required:
        - issuerCardRefId
      properties:
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
        virtualCardList:
          type: array
          items:
            type: object
            required:
              - virtualCardId
              - issuerCardRefId
              - walletProviderId
              - deviceInformation
              - status
            properties:
              virtualCardId:
                $ref: '#/components/schemas/virtualCardId'
              issuerCardRefId:
                $ref: '#/components/schemas/issuerCardRefId'
              walletProviderId:
                $ref: '#/components/schemas/walletProviderId'
              walletCardRefId:
                $ref: '#/components/schemas/walletCardRefId'
              walletVirtualCardId:
                $ref: '#/components/schemas/walletVirtualCardId'
              deviceInformation:
                $ref: '#/components/schemas/deviceInformation'
              deviceBindingList:
                type: array
                description: List of all device (reference) binded to the token (VTS only)
                items:
                  type: object
                  properties:
                    deviceBindingReference:
                      type: string
                      maxLength: 64
                      description: >-
                        reference of the device binding process/link to the
                        Virtual Card.The deviceBindingReference is used only
                        with action **UNBIND_DEVICE** and
                        **APPROVE_DEVICE_BINDING** (VTS only. Note that this
                        field corresponds to the deviceIndex)
                      x-gitbook-description-html: >-
                        <p>reference of the device binding process/link to the
                        Virtual Card.The deviceBindingReference is used only
                        with action <strong>UNBIND_DEVICE</strong> and
                        <strong>APPROVE_DEVICE_BINDING</strong> (VTS only. Note
                        that this field corresponds to the deviceIndex)</p>
                x-gitbook-description-html: >-
                  <p>List of all device (reference) binded to the token (VTS
                  only)</p>
              cardholderVerificationList:
                type: array
                x-stoplight:
                  id: zaw5npuyw48b9
                description: "Cardholder verification list\r\n\r\nOnly applicable to VISA/VTS\r\n\r\nThe list is provided in case there is at least one pending cardholder verification session linked to the token"
                items:
                  x-stoplight:
                    id: jpagtb46uol6r
                  type: object
                  properties:
                    status:
                      x-stoplight:
                        id: gvyfvbep8c00o
                      enum:
                        - PENDING
                      description: Status of the Cardholder verification session
                      x-gitbook-description-html: <p>Status of the Cardholder verification session</p>
                    timestamp:
                      type: string
                      x-stoplight:
                        id: y0jtc9y4bl8yu
                      description: "Timestamp logged when issuer has replied that wants to perform the verification\r\n\r\nIn format **ISO 8601 YYYY-MM-DDThh:mm:ssTZD**"
                      maxLength: 32
                      x-gitbook-description-html: >-
                        <p>Timestamp logged when issuer has replied that wants
                        to perform the verification</p>

                        <p>In format <strong>ISO 8601
                        YYYY-MM-DDThh:mm:ssTZD</strong></p>
                    lifeCycleTraceID:
                      type: integer
                      x-stoplight:
                        id: o8vm92l5ryysf
                      description: >-
                        A message identifier associated with the  Cardholder
                        verification session
                      x-gitbook-description-html: >-
                        <p>A message identifier associated with the  Cardholder
                        verification session</p>
                x-gitbook-description-html: >-
                  <p>Cardholder verification list</p>

                  <p>Only applicable to VISA/VTS</p>

                  <p>The list is provided in case there is at least one pending
                  cardholder verification session linked to the token</p>
              provisioningTime:
                type: string
                description: |
                  If available, the provisioning time the Virtual card<br/>
                  In format **ISO 8601 YYYY-MM-DDThh:mm:ssTZD**
                maxLength: 32
                x-gitbook-description-html: |-
                  <p>If available, the provisioning time the Virtual card<br>
                  In format <strong>ISO 8601 YYYY-MM-DDThh:mm:ssTZD</strong></p>
              lastReplenishTime:
                type: string
                description: |
                  If available, the provisioning time the Virtual card<br/>
                  In format **ISO 8601 YYYY-MM-DDThh:mm:ssTZD**
                maxLength: 32
                x-gitbook-description-html: |-
                  <p>If available, the provisioning time the Virtual card<br>
                  In format <strong>ISO 8601 YYYY-MM-DDThh:mm:ssTZD</strong></p>
              isPrimary:
                type: boolean
                description: >-
                  It is a boolean information that inform if the Virtual card is
                  a primary virtual card or if it is an Auxiliary virtual card
                x-gitbook-description-html: >-
                  <p>It is a boolean information that inform if the Virtual card
                  is a primary virtual card or if it is an Auxiliary virtual
                  card</p>
              status:
                type: string
                description: virtual card current status
                maxLength: 32
                enum:
                  - DEPLOYMENT_ONGOING
                  - SUSPENDING
                  - DELETING
                  - RESUMING
                  - SUSPENDED
                  - RESUMED
                  - DELETED
                  - INACTIVE
                x-gitbook-description-html: <p>virtual card current status</p>
              tokenAssuranceLevel:
                $ref: '#/components/schemas/tokenAssuranceLevel'
    getTokenInfoRes:
      type: object
      properties:
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
        virtualCardId:
          $ref: '#/components/schemas/virtualCardId'
        walletCardRefId:
          $ref: '#/components/schemas/walletCardRefId'
        walletProviderId:
          $ref: '#/components/schemas/walletProviderId'
        walletVirtualCardId:
          $ref: '#/components/schemas/walletVirtualCardId'
        tokenRequestor:
          $ref: '#/components/schemas/tokenRequestor'
        deviceInformation:
          $ref: '#/components/schemas/deviceInformationGTI'
        deviceBindingList:
          type: array
          description: >-
            Reference of the device binding process/link to the Virtual Card.

            The deviceBindingReference is used only with action
            **UNBIND_DEVICE** and **APPROVE_DEVICE_BINDING** (VTS only. Note
            that this field corresponds to the deviceIndex)
          items:
            type: object
            properties:
              deviceBindingReference:
                type: string
                maxLength: 64
          x-gitbook-description-html: >-
            <p>Reference of the device binding process/link to the Virtual Card.

            The deviceBindingReference is used only with action
            <strong>UNBIND_DEVICE</strong> and
            <strong>APPROVE_DEVICE_BINDING</strong> (VTS only. Note that this
            field corresponds to the deviceIndex)</p>
        tokenSuffix:
          type: string
          minLength: 4
          maxLength: 4
          description: Last 4 digits of the token
          x-gitbook-description-html: <p>Last 4 digits of the token</p>
        tokenDetails:
          $ref: '#/components/schemas/tokenDetails'
        tokenType:
          $ref: '#/components/schemas/tokenType'
        productId:
          type: string
          minLength: 1
          maxLength: 32
          description: >-
            Unique identifier of the card product associated to the token. Provided for domestic scheme.
          x-gitbook-description-html: <p>Unique identifier of the card product associated to the token. Provided for domestic scheme.</p>
        publicKeyIdentifier:
          type: string
          minLength: 1
          maxLength: 32
          description: Identifier of the publick key used to secure the tokenDetails
          x-gitbook-description-html: <p>Identifier of the publick key used to secure the tokenDetails</p>
        provisioningTime:
          type: string
          description: >-
            If available, the provisioning time the Virtual card. In format
            **ISO 8601 YYYY-MM-DDThh:mm:ssTZD**
          maxLength: 32
          x-gitbook-description-html: >-
            <p>If available, the provisioning time the Virtual card. In format
            <strong>ISO 8601 YYYY-MM-DDThh:mm:ssTZD</strong></p>
        lastReplenishTime:
          type: string
          description: >-
            If available, the last replenishment time of the Virtual card
            credentials. In format **ISO 8601 YYYY-MM-DDThh:mm:ssTZD**
          maxLength: 32
          x-gitbook-description-html: >-
            <p>If available, the last replenishment time of the Virtual card
            credentials. In format <strong>ISO 8601
            YYYY-MM-DDThh:mm:ssTZD</strong></p>
        lastStatusChangeTime:
          type: string
          description: >-
            If available, the time of the last change occured on the token
            state. In format **ISO 8601 YYYY-MM-DDThh:mm:ssTZD**
          maxLength: 32
          x-gitbook-description-html: >-
            <p>If available, the time of the last change occured on the token
            state. In format <strong>ISO 8601
            YYYY-MM-DDThh:mm:ssTZD</strong></p>
        status:
          type: string
          enum:
            - DEPLOYMENT_ONGOING
            - SUSPENDING
            - DELETING
            - RESUMING
            - SUSPENDED
            - RESUMED
            - DELETED
            - INACTIVE
          description: Current status of the token
          x-gitbook-description-html: <p>Current status of the token</p>
        tokenAssuranceLevel:
          $ref: '#/components/schemas/tokenAssuranceLevel'
        isPrimary:
          type: boolean
          default: true
          description: Boolean Flag indicating whether the token is primary or auxiliary.
          x-gitbook-description-html: >-
            <p>Boolean Flag indicating whether the token is primary or
            auxiliary.</p>
      required:
        - issuerCardRefId
        - virtualCardId
        - walletProviderId
        - tokenRequestor
        - tokenSuffix
        - status
    updateCardReq:
      type: object
      properties:
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
        newIssuerCardRefId:
          type: string
          description: >
            New issuerCardRefId to be updated, provided only if the
            issuerCardRefId change after a PAN,exp or productId
            replacement.<br/>

            Note, the **newIssuerCardRefId** is not mandatory and it is
            preferable to keep the same issuerCardRefId after updateCard<br/>

            This field has been added to the API for issuers that are not able
            to manage the same identifier following a PAN/exp date update. 
          minLength: 1
          maxLength: 48
          x-gitbook-description-html: >-
            <p>New issuerCardRefId to be updated, provided only if the
            issuerCardRefId change after a PAN,exp or productId replacement.<br>

            Note, the <strong>newIssuerCardRefId</strong> is not mandatory and
            it is preferable to keep the same issuerCardRefId after
            updateCard<br>

            This field has been added to the API for issuers that are not able
            to manage the same identifier following a PAN/exp date update.</p>
        fpanDetails:
          type: string
          description: >-
            Old and new FPAN details (for example in case of card renewal)<br/>

            This value is encrypted using the PKCS#7 encryption scheme defined
            in RFC 2315/5652 using following encryption parameters:<br/>


            * The content encryption algorithm used is AES256/CBC/PKCS7Padding

            * The key encryption algorithm is
            RSA/NONE/OAEPWithSHA256AndMGF1Padding (with MGF1 using SHA-256)
            using the TSH certificate provided during onboarding.

            * The encryption result shall be provided as hexadecimal
            string.<br/>



            The format of the data is:<br/>
              {<br/>
               "oldFPAN": "[0-9]{16,19}",<br/>
               "oldExpDate": "MMYY",<br/>
             "oldPSN": "[a-fA-F0-9]{2}",<br/>
              "newFPAN": "[0-9]{16,19}", <br/>
               "newExpDate": "MMYY",<br/>
             "newPSN": "[a-fA-F0-9]{2}"<br/>
              }<br/>
            NOTE1: all fields are MANDATORY...<br/>

            NOTE2: oldPSN and newPSN apply ONLY to AMEX
          maxLength: 8192
          pattern: ^[a-fA-F0-9]+
          x-gitbook-description-html: >-
            <p>Old and new FPAN details (for example in case of card
            renewal)<br>

            This value is encrypted using the PKCS#7 encryption scheme defined
            in RFC 2315/5652 using following encryption parameters:<br></p>

            <ul>

            <li>The content encryption algorithm used is
            AES256/CBC/PKCS7Padding</li>

            <li>The key encryption algorithm is
            RSA/NONE/OAEPWithSHA256AndMGF1Padding (with MGF1 using SHA-256)
            using the TSH certificate provided during onboarding.</li>

            <li>The encryption result shall be provided as hexadecimal
            string.<br></li>

            </ul>

            <p>The format of the data is:<br>

            {<br>

            "oldFPAN": "[0-9]{16,19}",<br>

            "oldExpDate": "MMYY",<br>

            "oldPSN": "[a-fA-F0-9]{2}",<br>

            "newFPAN": "[0-9]{16,19}", <br>

            "newExpDate": "MMYY",<br>

            "newPSN": "[a-fA-F0-9]{2}"<br>

            }<br>

            NOTE1: all fields are MANDATORY...<br>

            NOTE2: oldPSN and newPSN apply ONLY to AMEX</p>
        publicKeyIdentifier:
          type: string
          maxLength: 32
          minLength: 1
          description: >-
            Identifier of the key used to encrypt fpanDetails.<br/>Provided by
            Thales to Issuer during onboarding.
          x-gitbook-description-html: >-
            <p>Identifier of the key used to encrypt fpanDetails.<br>Provided by
            Thales to Issuer during onboarding.</p>
        newProductId:
          type: string
          description: >
            New ProductId to be used for digital card (for example: product
            upgrade).<br/>

            This field is mutually exclusive to "fpanDetails" AND
            "metadata".<br/>

             NOTE: 
            -  UPI: not applicable.

            -  Mastercard: the supported range is 0-10
          maxLength: 32
          minLength: 1
          x-gitbook-description-html: >-
            <p>New ProductId to be used for digital card (for example: product
            upgrade).<br>

            This field is mutually exclusive to "fpanDetails" AND
            "metadata".<br></p>

            <p>NOTE:</p>

            <ul>

            <li>UPI: not applicable.</li>

            <li>Mastercard: the supported range is 0-10</li>

            </ul>
        metadata:
          $ref: '#/components/schemas/metadata'
        newCardMetadata:
          $ref: '#/components/schemas/newCardMetadata'
      required:
        - issuerCardRefId
    updateCardStateReq:
      type: object
      required:
        - action
      properties:
        issuerCardRefId:
          type: string
          maxLength: 48
          description: >
            The unique identifier of the funding card state to update.<br/>

            If provided, it update the state of all active or suspended tokens
            that belongs to the funding card identified by issuerCardRefId

            mandatory if virtualCardId is not provided
          x-gitbook-description-html: >-
            <p>The unique identifier of the funding card state to update.<br>

            If provided, it update the state of all active or suspended tokens
            that belongs to the funding card identified by issuerCardRefId

            mandatory if virtualCardId is not provided</p>
        virtualCardId:
          type: string
          maxLength: 64
          description: |
            The unique identifier of the virtual card state to update.<br/>
            mandatory if issuerCardRefId is not provided
          x-gitbook-description-html: |-
            <p>The unique identifier of the virtual card state to update.<br>
            mandatory if issuerCardRefId is not provided</p>
        deviceBindingReference:
          type: string
          maxLength: 64
          description: >-
            reference of the device binding process/link to the Virtual Card.The
            deviceBindingReference is used only with action **UNBIND_DEVICE**
            and **APPROVE_DEVICE_BINDING** (VTS only. Note that this field
            corresponds to the deviceIndex)
          x-gitbook-description-html: >-
            <p>reference of the device binding process/link to the Virtual
            Card.The deviceBindingReference is used only with action
            <strong>UNBIND_DEVICE</strong> and
            <strong>APPROVE_DEVICE_BINDING</strong> (VTS only. Note that this
            field corresponds to the deviceIndex)</p>
        action:
          type: string
          description: >
            action to update the state

            Note: ERASE aims to be use in the context of GDPR compliancy, TSH
            will take care of erasing everything related to the given
            card/tokens when receiving this action.
          maxLength: 32
          enum:
            - SUSPEND
            - RESUME
            - DELETE
            - ERASE
            - UNBIND_DEVICE
            - APPROVE_DEVICE_BINDING
            - CARDHOLDER_STEPUP_CALL_CENTER
            - CARDHOLDER_STEPUP_ISSUER_APP
          x-gitbook-description-html: >-
            <p>action to update the state

            Note: ERASE aims to be use in the context of GDPR compliancy, TSH
            will take care of erasing everything related to the given
            card/tokens when receiving this action.</p>
        reason:
          type: integer
          description: >-
            Reason of the token(s) state update<br/>Here is the possible
            values:<br/><ul><li>11 : User decision</li><li>21 : Issuer
            decision</li><li>31 : Device lost</li><li>32 : Device
            stolen</li></ul>
          x-gitbook-description-html: >-
            <p>Reason of the token(s) state update<br>Here is the possible
            values:<br></p><ul><li>11 : User decision</li><li>21 : Issuer
            decision</li><li>31 : Device lost</li><li>32 : Device
            stolen</li></ul><p></p>
    sendMessageReq:
      type: object
      required:
        - language
        - message
      properties:
        virtualCardId:
          $ref: '#/components/schemas/virtualCardId'
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
        language:
          type: string
          minLength: 1
          maxLength: 16
          description: >
            The value for this language localization code is an IETF Language
            (https://en.wikipedia.org/wiki/IETF_language_tag)

            Tag, such as “en-us”.

            Region Designator should be one of the valid ISO 3166-1 alpha-2
            codes, which can be found in this link:
            http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

            Language Designator should use the two-letter ISO 639-1 standard
            (preferred) or the three-letter ISO 639-2 standard, which can be
            found in this link :
            https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
          x-gitbook-description-html: >-
            <p>The value for this language localization code is an IETF Language
            (<a
            href="https://en.wikipedia.org/wiki/IETF_language_tag">https://en.wikipedia.org/wiki/IETF_language_tag</a>)

            Tag, such as “en-us”.

            Region Designator should be one of the valid ISO 3166-1 alpha-2
            codes, which can be found in this link: <a
            href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2</a>

            Language Designator should use the two-letter ISO 639-1 standard
            (preferred) or the three-letter ISO 639-2 standard, which can be
            found in this link : <a
            href="https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes</a></p>
        message:
          type: string
          minLength: 1
          maxLength: 128
          description: Textual message that must be sent to end user
          x-gitbook-description-html: <p>Textual message that must be sent to end user</p>
        messageToken:
          type: string
          minLength: 1
          maxLength: 64
          description: >
            An optional value provided in case the issuer mobile application
            support deep link

            If messageToken is provided, the wallet application will enable the
            deep link feature for this particular message
          x-gitbook-description-html: >-
            <p>An optional value provided in case the issuer mobile application
            support deep link

            If messageToken is provided, the wallet application will enable the
            deep link feature for this particular message</p>
        expirationDate:
          type: string
          minLength: 1
          maxLength: 32
          description: Expiration date of the message RFC3339 format.
          x-gitbook-description-html: <p>Expiration date of the message RFC3339 format.</p>
    deviceInformation:
      type: object
      properties:
        tokenStorageId:
          $ref: '#/components/schemas/tokenStorageId'
        originalTokenStorageId:
          $ref: '#/components/schemas/tokenStorageId'
        tokenStorageType:
          $ref: '#/components/schemas/tokenStorageType'
        originalTokenStorageType:
          $ref: '#/components/schemas/tokenStorageType'
        manufacturer:
          type: string
          description: Device manufacturer name
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>Device manufacturer name</p>
        brand:
          type: string
          description: Device brand
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>Device brand</p>
        model:
          type: string
          description: Device model
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>Device model</p>
        tac:
          type: string
          description: Type Allocation Code of the device
          maxLength: 8
          minLength: 1
          x-gitbook-description-html: <p>Type Allocation Code of the device</p>
        osVersion:
          type: string
          description: Device OS version
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>Device OS version</p>
        firmwareVersion:
          type: string
          description: Device firmware version
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>Device firmware version</p>
        phoneNumber:
          type: string
          description: DEvice Phone number
          maxLength: 20
          minLength: 1
          x-gitbook-description-html: <p>DEvice Phone number</p>
        fourLastDigitPhoneNumber:
          type: string
          description: The 4 last digit of the device phone number
          maxLength: 4
          minLength: 1
          x-gitbook-description-html: <p>The 4 last digit of the device phone number</p>
        deviceName:
          type: string
          description: Device name that the device owner may use to identify it
          maxLength: 128
          minLength: 1
          x-gitbook-description-html: <p>Device name that the device owner may use to identify it</p>
        deviceId:
          type: string
          description: >
            Stable hardware identifier.

            Used only for risk signal as there are some rare cases when deviceId
            can be reused across multiple devices or can change
          maxLength: 64
          minLength: 1
          x-gitbook-description-html: >-
            <p>Stable hardware identifier.

            Used only for risk signal as there are some rare cases when deviceId
            can be reused across multiple devices or can change</p>
        androidIdLastTwo:
          type: string
          description: Last 2 hex characters of the Android Id.
          maxLength: 2
          minLength: 1
          x-gitbook-description-html: <p>Last 2 hex characters of the Android Id.</p>
        deviceParentId:
          type: string
          description: Parent device tokenStorageId. It is used in case of wearable device
          maxLength: 64
          minLength: 1
          x-gitbook-description-html: >-
            <p>Parent device tokenStorageId. It is used in case of wearable
            device</p>
        language:
          type: string
          description: Selected language on the device in ISO 639-3
          maxLength: 3
          minLength: 1
          x-gitbook-description-html: <p>Selected language on the device in ISO 639-3</p>
        deviceStateFlags:
          type: string
          description: >
            Hexa string containing the device state flags defined in [VCON]
            section 7.2. There is one bit per flag.

            Conditional - Mandatory in case of HCE
          maxLength: 2
          minLength: 1
          x-gitbook-description-html: >-
            <p>Hexa string containing the device state flags defined in [VCON]
            section 7.2. There is one bit per flag.

            Conditional - Mandatory in case of HCE</p>
        serialNumber:
          type: string
          description: Serial number of the mobile device
          maxLength: 24
          minLength: 1
          x-gitbook-description-html: <p>Serial number of the mobile device</p>
        timeZone:
          type: string
          description: |
            Device time zone
            Timezone abbreviation.
            Example: PST, GMT, GMT+05:00
          maxLength: 10
          minLength: 1
          x-gitbook-description-html: |-
            <p>Device time zone
            Timezone abbreviation.
            Example: PST, GMT, GMT+05:00</p>
        timeZoneSetting:
          type: string
          description: who set the timezone
          maxLength: 32
          enum:
            - NETWORK_SET
            - CONSUMER_SET
          x-gitbook-description-html: <p>who set the timezone</p>
        simSerialNumber:
          type: string
          description: SIM serial number
          maxLength: 24
          minLength: 1
          x-gitbook-description-html: <p>SIM serial number</p>
        IMEI:
          type: string
          description: Phone IMEI
          maxLength: 24
          minLength: 1
          x-gitbook-description-html: <p>Phone IMEI</p>
        phoneLostTime:
          type: string
          description: If available, the period, in day, the phone has been lost
          maxLength: 4
          minLength: 1
          x-gitbook-description-html: <p>If available, the period, in day, the phone has been lost</p>
        networkOperator:
          type: string
          description: The network operator name
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>The network operator name</p>
        networkType:
          type: string
          description: Type of network use for enrollment
          maxLength: 32
          enum:
            - CELLULAR
            - WIFI
          x-gitbook-description-html: <p>Type of network use for enrollment</p>
    deviceInformationGTI:
      type: object
      properties:
        tokenStorageId:
          $ref: '#/components/schemas/tokenStorageId'
        tokenStorageType:
          $ref: '#/components/schemas/tokenStorageType'
        manufacturer:
          type: string
          description: Device manufacturer name
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>Device manufacturer name</p>
        brand:
          type: string
          description: Device brand
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>Device brand</p>
        model:
          type: string
          description: Device model
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>Device model</p>
        osVersion:
          type: string
          description: Device OS version
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>Device OS version</p>
        firmwareVersion:
          type: string
          description: Device firmware version
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>Device firmware version</p>
        phoneNumber:
          type: string
          description: DEvice Phone number
          maxLength: 20
          minLength: 1
          x-gitbook-description-html: <p>DEvice Phone number</p>
        fourLastDigitPhoneNumber:
          type: string
          description: The 4 last digit of the device phone number
          maxLength: 4
          minLength: 1
          x-gitbook-description-html: <p>The 4 last digit of the device phone number</p>
        deviceName:
          type: string
          description: Device name that the device owner may use to identify it
          maxLength: 128
          minLength: 1
          x-gitbook-description-html: <p>Device name that the device owner may use to identify it</p>
        deviceId:
          type: string
          description: >
            Stable hardware identifier.

            Used only for risk signal as there are some rare cases when deviceId
            can be reused across multiple devices or can change
          maxLength: 64
          minLength: 1
          x-gitbook-description-html: >-
            <p>Stable hardware identifier.

            Used only for risk signal as there are some rare cases when deviceId
            can be reused across multiple devices or can change</p>
        deviceParentId:
          type: string
          description: Parent device tokenStorageId. It is used in case of wearable device
          maxLength: 64
          minLength: 1
          x-gitbook-description-html: >-
            <p>Parent device tokenStorageId. It is used in case of wearable
            device</p>
        language:
          type: string
          description: Selected language on the device in ISO 639-3
          maxLength: 3
          minLength: 1
          x-gitbook-description-html: <p>Selected language on the device in ISO 639-3</p>
        serialNumber:
          type: string
          description: Serial number of the mobile device
          maxLength: 24
          minLength: 1
          x-gitbook-description-html: <p>Serial number of the mobile device</p>
        timeZone:
          type: string
          description: |
            Device time zone
            Timezone abbreviation.
            Example: PST, GMT, GMT+05:00
          maxLength: 10
          minLength: 1
          x-gitbook-description-html: |-
            <p>Device time zone
            Timezone abbreviation.
            Example: PST, GMT, GMT+05:00</p>
        timeZoneSetting:
          type: string
          description: who set the timezone
          maxLength: 32
          enum:
            - NETWORK_SET
            - CONSUMER_SET
          x-gitbook-description-html: <p>who set the timezone</p>
        simSerialNumber:
          type: string
          description: SIM serial number
          maxLength: 24
          minLength: 1
          x-gitbook-description-html: <p>SIM serial number</p>
        IMEI:
          type: string
          description: Phone IMEI
          maxLength: 24
          minLength: 1
          x-gitbook-description-html: <p>Phone IMEI</p>
        networkOperator:
          type: string
          description: The network operator name
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: <p>The network operator name</p>
        networkType:
          type: string
          description: Type of network use for enrollment
          maxLength: 32
          enum:
            - CELLULAR
            - WIFI
          x-gitbook-description-html: <p>Type of network use for enrollment</p>
    newCardMetadata:
      type: object
      description: >-
        New metadata of a physical card, such as FPAN last digits or expiry
        date.


        NOTE: NOT applicable to ITSP/VISA/MasterCard
      properties:
        cardholderName:
          type: string
          maxLength: 256
          description: Name displayed on the card
          x-gitbook-description-html: <p>Name displayed on the card</p>
        fpanLastDigits:
          type: string
          pattern: ^[0-9]{4,5}$
          description: >-
            Last digits of the funding PAN (V/MC-4, Amex-5).<br/>Used by the
            Wallet Application to be display close to or on top of Card Art
          x-gitbook-description-html: >-
            <p>Last digits of the funding PAN (V/MC-4, Amex-5).<br>Used by the
            Wallet Application to be display close to or on top of Card Art</p>
        fpanBin:
          type: string
          pattern: ^[0-9]{6}$
          description: 6 digits of the funding card BIN
          x-gitbook-description-html: <p>6 digits of the funding card BIN</p>
        fpanExpiryDate:
          type: string
          pattern: ^(0[1-9]|1[0-2])/[0-9]{2}$
          description: >-
            Expiry Date to be display close to or on top of Card Art in format
            'mm/yy'
          x-gitbook-description-html: >-
            <p>Expiry Date to be display close to or on top of Card Art in
            format 'mm/yy'</p>
      x-gitbook-description-html: >-
        <p>New metadata of a physical card, such as FPAN last digits or expiry
        date.</p>

        <p>NOTE: NOT applicable to ITSP/VISA/MasterCard</p>
    issuerCardRefId:
      type: string
      maxLength: 48
      description: >
        The unique identifier of the funding card.<br/> This value is generated
        and manage by the issuer.<br/> This value can be updated in case of
        funding PAN replacement by the issuer.<br/>
      x-gitbook-description-html: >-
        <p>The unique identifier of the funding card.<br> This value is
        generated and manage by the issuer.<br> This value can be updated in
        case of funding PAN replacement by the issuer.<br></p>
    walletProviderId:
      maxLength: 64
      minLength: 1
      type: string
      description: |
        Wallet Provider identifier, defined by Thales<br/>

        <b>When TSH acts as OEM Pay broker for Domestic scheme:</b>

        |walletProviderId  |Description|
        |-------|-------|
        |APPLE_PAY |Apple Pay Wallet|
        |SPAYHCE |Samsung Pay Wallet|
        |ANDROID_PAY |Google Pay Wallet|

        <b>When TSH acts as ITSP:</b>
        |walletProviderId  |Description|
        |-------|-------|
        |APPLE_PAY |Apple Pay Wallet|
        |SAMSUNG_PAY |Samsung Pay Wallet|
        |GOOGLE_PAY |Google Pay Wallet|
        |GARMIN_PAY  |Garmin Pay Wallet|
        |FITBIT_PAY |Firbit Pay Wallet|
        |FACEBOOK  |Facebook eCom Wallet|
        |VISA_CHECKOUT |Visa Checkout eCom Wallet|
        |NETFLIX |Netflix eCom Wallet|

        For other wallet (such as HCE Wallet), id is provided during on-boarding
        phase
      x-gitbook-description-html: >-
        <p>Wallet Provider identifier, defined by Thales<br></p>

        <p><b>When TSH acts as OEM Pay broker for Domestic scheme:</b></p>






















        <table><thead><tr><th>walletProviderId</th><th>Description</th></tr></thead><tbody><tr><td>APPLE_PAY</td><td>Apple
        Pay Wallet</td></tr><tr><td>SPAYHCE</td><td>Samsung Pay
        Wallet</td></tr><tr><td>ANDROID_PAY</td><td>Google Pay
        Wallet</td></tr></tbody></table>

        <p><b>When TSH acts as ITSP:</b></p>










































        <table><thead><tr><th>walletProviderId</th><th>Description</th></tr></thead><tbody><tr><td>APPLE_PAY</td><td>Apple
        Pay Wallet</td></tr><tr><td>SAMSUNG_PAY</td><td>Samsung Pay
        Wallet</td></tr><tr><td>GOOGLE_PAY</td><td>Google Pay
        Wallet</td></tr><tr><td>GARMIN_PAY</td><td>Garmin Pay
        Wallet</td></tr><tr><td>FITBIT_PAY</td><td>Firbit Pay
        Wallet</td></tr><tr><td>FACEBOOK</td><td>Facebook eCom
        Wallet</td></tr><tr><td>VISA_CHECKOUT</td><td>Visa Checkout eCom
        Wallet</td></tr><tr><td>NETFLIX</td><td>Netflix eCom
        Wallet</td></tr></tbody></table>

        <p>For other wallet (such as HCE Wallet), id is provided during
        on-boarding

        phase</p>
    tokenStorageId:
      type: string
      description: Unique token storage identifier
      minLength: 1
      maxLength: 128
      x-gitbook-description-html: <p>Unique token storage identifier</p>
    tokenStorageType:
      type: string
      description: |-
        Identifies the type of token storage location, possible values are:
        - HCE
        - SPAY_PHONE
        - SPAY_TABLET
        - SPAY_WATCH
        - SPAY_TV
        - IPHONE
        - IWATCH
        - IPAD
        - MAC_BOOK
        - ANDROID_PHONE
        - ANDROID_TABLET
        - ANDROID_WATCH
        - MOBILE_PHONE
        - TABLET
        - WATCH
        - MOBILE_PHONE_OR_TABLET
        - BRACELET
        - PC
        - HOUSEHOLD
        - WEARABLE
        - AUTOMOBILE
        - REALITY
        - UNKNOWN
      maxLength: 32
      x-gitbook-description-html: >-
        <p>Identifies the type of token storage location, possible values
        are:</p>

        <ul>

        <li>HCE</li>

        <li>SPAY_PHONE</li>

        <li>SPAY_TABLET</li>

        <li>SPAY_WATCH</li>

        <li>SPAY_TV</li>

        <li>IPHONE</li>

        <li>IWATCH</li>

        <li>IPAD</li>

        <li>MAC_BOOK</li>

        <li>ANDROID_PHONE</li>

        <li>ANDROID_TABLET</li>

        <li>ANDROID_WATCH</li>

        <li>MOBILE_PHONE</li>

        <li>TABLET</li>

        <li>WATCH</li>

        <li>MOBILE_PHONE_OR_TABLET</li>

        <li>BRACELET</li>

        <li>PC</li>

        <li>HOUSEHOLD</li>

        <li>WEARABLE</li>

        <li>AUTOMOBILE</li>

        <li>REALITY</li>

        <li>UNKNOWN</li>

        </ul>
    walletVirtualCardId:
      type: string
      description: |
        Wallet **virtual** card unique identifier
        Conditional: If provided by Wallet provider.
      minLength: 1
      maxLength: 128
      x-gitbook-description-html: |-
        <p>Wallet <strong>virtual</strong> card unique identifier
        Conditional: If provided by Wallet provider.</p>
    walletCardRefId:
      type: string
      description: |
        Wallet **funding** card unique identifier
        Conditional: If provided by Wallet provider.
      minLength: 1
      maxLength: 128
      x-gitbook-description-html: |-
        <p>Wallet <strong>funding</strong> card unique identifier
        Conditional: If provided by Wallet provider.</p>
    virtualCardId:
      description: Identifier of the virtual card to update
      type: string
      maxLength: 64
      minLength: 1
      x-gitbook-description-html: <p>Identifier of the virtual card to update</p>
    metadata:
      type: object
      description: |
        Metadata Information to be provided for product upgrade.
        This field is mutually exclusive to "fpanDetails" and "newProductId". 

        NOTE: applicable ONLY to VISA
      properties:
        cardIssuer:
          type: string
          maxLength: 128
          description: |
            The name of the issuer
          x-gitbook-description-html: <p>The name of the issuer</p>
        foregroundColor:
          type: string
          maxLength: 32
          description: |
            Foreground color of the card display in the wallet
          x-gitbook-description-html: <p>Foreground color of the card display in the wallet</p>
        backgroundColor:
          type: string
          maxLength: 32
          description: |
            BackgroundColor color of the card display in the wallet
          x-gitbook-description-html: <p>BackgroundColor color of the card display in the wallet</p>
        labelColor:
          type: string
          maxLength: 32
          description: |
            Label color of the card display in the wallet
          x-gitbook-description-html: <p>Label color of the card display in the wallet</p>
        shortDescription:
          type: string
          maxLength: 32
          description: |
            A short description of the card to be used for notifications on the
            mobile device
          x-gitbook-description-html: >-
            <p>A short description of the card to be used for notifications on
            the

            mobile device</p>
        longDescription:
          type: string
          maxLength: 64
          description: >
            A longer description of the card that could appear inside the
            Digital

            Wallet.
          x-gitbook-description-html: >-
            <p>A longer description of the card that could appear inside the
            Digital

            Wallet.</p>
        contactWebsite:
          type: string
          maxLength: 128
          description: |
            Customer Service website URL of the issuing bank
          x-gitbook-description-html: <p>Customer Service website URL of the issuing bank</p>
        contactName:
          type: string
          maxLength: 32
          description: |
            Name of the issuing bank display in the wallet
          x-gitbook-description-html: <p>Name of the issuing bank display in the wallet</p>
        contactEmail:
          type: string
          maxLength: 32
          description: |
            Customer service email address of the issuing bank.
          x-gitbook-description-html: <p>Customer service email address of the issuing bank.</p>
        contactNumber:
          type: string
          maxLength: 32
          description: |
            Customer service phone number of the issuing bank.
          x-gitbook-description-html: <p>Customer service phone number of the issuing bank.</p>
        privacyPolicyURL:
          type: string
          maxLength: 128
          description: |
            URL pointing to issuing bank privacy policy
          x-gitbook-description-html: <p>URL pointing to issuing bank privacy policy</p>
        termsAndConditionsURL:
          type: string
          maxLength: 128
          description: |
            URL pointing to issuing bank terms and conditions for card
          x-gitbook-description-html: <p>URL pointing to issuing bank terms and conditions for card</p>
        supportsTokenNotifications:
          type: string
          maxLength: 32
          description: >-
            <b>true</b> : If the support transaction notification for token
            transaction

            <b>false</b> otherwise 
          x-gitbook-description-html: >-
            <p><b>true</b> : If the support transaction notification for token
            transaction

            <b>false</b> otherwise</p>
        supportsFPANNotifications:
          type: string
          maxLength: 32
          description: >-
            <b>true</b> : If the support transaction notification for funding
            card transaction

            <b>false</b> otherwise 
          x-gitbook-description-html: >-
            <p><b>true</b> : If the support transaction notification for funding
            card transaction

            <b>false</b> otherwise</p>
        appLaunchURL:
          type: string
          maxLength: 128
          description: >
            A URL to be passed to the associated issuer mobile app when
            launching

            it
          x-gitbook-description-html: >-
            <p>A URL to be passed to the associated issuer mobile app when
            launching

            it</p>
        appLaunchURLScheme:
          type: string
          maxLength: 128
          description: |
            URL scheme that app is registered for to deep link from transaction
            notifications and show all transaction notifications
          x-gitbook-description-html: >-
            <p>URL scheme that app is registered for to deep link from
            transaction

            notifications and show all transaction notifications</p>
        transactionServiceURL:
          type: string
          maxLength: 128
          description: |
            The URL of the issuer Transaction History (Transaction Details) Web
            Service
          x-gitbook-description-html: >-
            <p>The URL of the issuer Transaction History (Transaction Details)
            Web

            Service</p>
        transactionPushTopic:
          type: string
          maxLength: 128
          description: |
            The push topic the issuer will use to notify the device that new
            transactions are available
          x-gitbook-description-html: |-
            <p>The push topic the issuer will use to notify the device that new
            transactions are available</p>
        messageServiceURL:
          type: string
          maxLength: 128
          description: |
            The URL of the message/offer web service that conforms to the API
            described to PNOs and issuers in the Card Notification Services API
          x-gitbook-description-html: >-
            <p>The URL of the message/offer web service that conforms to the API

            described to PNOs and issuers in the Card Notification Services
            API</p>
        messagePushTopic:
          type: string
          maxLength: 128
          description: |
            The push topic, the notification provider will use to notify the
            device that new messages are available.
          x-gitbook-description-html: |-
            <p>The push topic, the notification provider will use to notify the
            device that new messages are available.</p>
      x-gitbook-description-html: >-
        <p>Metadata Information to be provided for product upgrade.

        This field is mutually exclusive to "fpanDetails" and
        "newProductId".</p>

        <p>NOTE: applicable ONLY to VISA</p>
    errorRes:
      type: object
      description: Error Information Response
      required:
        - responseCode
      properties:
        responseCode:
          type: number
          description: |
            Error Response code to the request
            |Error code | Description|
            |-------|-------|
            |111|Missing mandatory parameter|
            |112|Bad parameter format|
            |113|Unknown issuer|
            |115|Unknown product|
            |116|Unknown card|
            |119|Unknown Token|
            |163|Product not supported for mobile payment|
            |164|FPAN Provisioning Count Exceeded|
            |166|Invalid FPAN|
            |167|Card already enrolled|
            |221|The device was not reachable after retries|
            |321|Operation on token already on-going|
            |322|Time to live of the operation expired|
            |431|Invalid perso data|
            |432|Current token state does not allow this operation|
            |911|Operation failed|
            |921|Unexpected server error|
          x-gitbook-description-html: >-
            <p>Error Response code to the request</p>














































































            <table><thead><tr><th>Error
            code</th><th>Description</th></tr></thead><tbody><tr><td>111</td><td>Missing
            mandatory parameter</td></tr><tr><td>112</td><td>Bad parameter
            format</td></tr><tr><td>113</td><td>Unknown
            issuer</td></tr><tr><td>115</td><td>Unknown
            product</td></tr><tr><td>116</td><td>Unknown
            card</td></tr><tr><td>119</td><td>Unknown
            Token</td></tr><tr><td>163</td><td>Product not supported for mobile
            payment</td></tr><tr><td>164</td><td>FPAN Provisioning Count
            Exceeded</td></tr><tr><td>166</td><td>Invalid
            FPAN</td></tr><tr><td>167</td><td>Card already
            enrolled</td></tr><tr><td>221</td><td>The device was not reachable
            after retries</td></tr><tr><td>321</td><td>Operation on token
            already on-going</td></tr><tr><td>322</td><td>Time to live of the
            operation expired</td></tr><tr><td>431</td><td>Invalid perso
            data</td></tr><tr><td>432</td><td>Current token state does not allow
            this operation</td></tr><tr><td>911</td><td>Operation
            failed</td></tr><tr><td>921</td><td>Unexpected server
            error</td></tr></tbody></table>
        errorMessage:
          type: string
          maxLength: 256
          description: Textual error message
          x-gitbook-description-html: <p>Textual error message</p>
      x-gitbook-description-html: <p>Error Information Response</p>
    tokenRequestor:
      title: tokenRequestor
      type: object
      properties:
        id:
          type: string
          maxLength: 11
          description: >-
            Token Requestor Identifier provided and allocated by Scheme TSP.

            For the same requestor, the identifier changes across the different
            Schemes.
          x-gitbook-description-html: >-
            <p>Token Requestor Identifier provided and allocated by Scheme TSP.

            For the same requestor, the identifier changes across the different
            Schemes.</p>
        originalTokenRequestorId:
          type: string
          maxLength: 11
          description: |-
            VISA Only
            Applies in case of token for token provisioning
          x-gitbook-description-html: |-
            <p>VISA Only
            Applies in case of token for token provisioning</p>
        walletId:
          type: string
          maxLength: 100
          description: |-
            This field applies ONLY to MasterCard and American Express\

            Wallet Application Identifier provided and allocated by Scheme TSP
          x-gitbook-description-html: >-
            <p>This field applies ONLY to MasterCard and American Express\</p>

            <p>Wallet Application Identifier provided and allocated by Scheme
            TSP</p>
        name:
          type: string
          maxLength: 256
          description: Readable name of the token requestor
          x-gitbook-description-html: <p>Readable name of the token requestor</p>
        tspId:
          type: string
          maxLength: 11
          description: >-
            VISA Only

            ID that identifies in an unique way the couple Token Requestor -
            Token Service Provider. Generated by the scheme.

            Named by VTS tokenRequestorTspID
          x-gitbook-description-html: >-
            <p>VISA Only

            ID that identifies in an unique way the couple Token Requestor -
            Token Service Provider. Generated by the scheme.

            Named by VTS tokenRequestorTspID</p>
    tokenDetails:
      type: string
      title: tokenDetails
      description: >
        Additional information about the token of the virtual card

        This field is conditional to the TSP and provided only during
        enrolment. 

        The tokenInfo is the json (cf http://www.json.org/ ) representation of
        the Token.


        This value is encrypted using the PKCS#7 encryption scheme defined in
        RFC 2315/5652 using following encryption parameters:<br/>

        * The content encryption algorithm used is AES256/CBC/PKCS7Padding using
        a randomly generated AES key.

        * The key encryption algorithm is either RSAES-PKCS1-v1_5
        (RSA/NONE/PKCS1Padding) or RSA/NONE/OAEPWithSHA256AndMGF1Padding (with
        MGF1 using SHA-256), using the certificate provided during
        onboarding.<br/>

        The key encryption algorithm is defined during onboarding and is by
        default (if ommitted) the RSA/NONE/PKCS1Padding for legacy purpose.<br/>

        It is recommended to configure RSA/NONE/OAEPWithSHA256AndMGF1Padding
        (with MGF1 using SHA-256) for new issuers.


        * The encryption result is then encoded using base64.<br/>

        * The public key length in the certificate can be 2048-bit or 4096-bit.


        Once deciphered, the cardInfo contains the following information:<br/>

        |JSON field parameter name |description |MOC |Length |

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

        |pan |The token PAN |M |Up to 19 |

        |exp |The token expiry date in the format MMYY.<br/>It is not provided
        for UPI scheme. |C |4 |

        |fpan |The funding PAN.<br/>It is provided for Domestic scheme. |C |Up
        to 19 |

        |fpanExpiryDate |The card expiry date in the format MMYY.<br/>It is
        provided for Domestic scheme. |C |4 |

        |paymentAccountReference |The payment account reference.<br/>It can be
        provided for Domestic scheme. |O |58 |

        |originalToken | The device-based token used to request the digitization
        |O|Up to 19|

        |originalTokenReferenceID | The unique reference of the original Token
        |O|Up to 32|

        |originalTokenAssuranceLevel | The assurance level of the orginal Token
        - RFU|O|2|


        **NOTE**


        originalToken,originalTokenReferenceID and originalTokenAssuranceLevel
        are provided ONLY by VISA in case of a Token for Token digitization
        flow.
      minLength: 1
      maxLength: 8196
      contentEncoding: base64
      x-gitbook-description-html: >-
        <p>Additional information about the token of the virtual card

        This field is conditional to the TSP and provided only during enrolment.

        The tokenInfo is the json (cf <a
        href="http://www.json.org/">http://www.json.org/</a> ) representation of
        the Token.</p>

        <p>This value is encrypted using the PKCS#7 encryption scheme defined in
        RFC 2315/5652 using following encryption parameters:<br></p>

        <ul>

        <li>

        <p>The content encryption algorithm used is AES256/CBC/PKCS7Padding
        using a randomly generated AES key.</p>

        </li>

        <li>

        <p>The key encryption algorithm is either RSAES-PKCS1-v1_5
        (RSA/NONE/PKCS1Padding) or RSA/NONE/OAEPWithSHA256AndMGF1Padding (with
        MGF1 using SHA-256), using the certificate provided during
        onboarding.<br>

        The key encryption algorithm is defined during onboarding and is by
        default (if ommitted) the RSA/NONE/PKCS1Padding for legacy purpose.<br>

        It is recommended to configure RSA/NONE/OAEPWithSHA256AndMGF1Padding
        (with MGF1 using SHA-256) for new issuers.</p>

        </li>

        <li>

        <p>The encryption result is then encoded using base64.<br></p>

        </li>

        <li>

        <p>The public key length in the certificate can be 2048-bit or
        4096-bit.</p>

        </li>

        </ul>

        <p>Once deciphered, the cardInfo contains the following
        information:<br></p>




























































        <table><thead><tr><th>JSON field parameter
        name</th><th>description</th><th>MOC</th><th>Length</th></tr></thead><tbody><tr><td>pan</td><td>The
        token PAN</td><td>M</td><td>Up to 19</td></tr><tr><td>exp</td><td>The
        token expiry date in the format MMYY.<br>It is not provided for UPI
        scheme.</td><td>C</td><td>4</td></tr><tr><td>fpan</td><td>The funding
        PAN.<br>It is provided for Domestic scheme.</td><td>C</td><td>Up to
        19</td></tr><tr><td>fpanExpiryDate</td><td>The card expiry date in the
        format MMYY.<br>It is provided for Domestic
        scheme.</td><td>C</td><td>4</td></tr><tr><td>paymentAccountReference</td><td>The
        payment account reference.<br>It can be provided for Domestic
        scheme.</td><td>O</td><td>58</td></tr><tr><td>originalToken</td><td>The
        device-based token used to request the digitization</td><td>O</td><td>Up
        to 19</td></tr><tr><td>originalTokenReferenceID</td><td>The unique
        reference of the original Token</td><td>O</td><td>Up to
        32</td></tr><tr><td>originalTokenAssuranceLevel</td><td>The assurance
        level of the orginal Token -
        RFU</td><td>O</td><td>2</td></tr></tbody></table>

        <p><strong>NOTE</strong></p>

        <p>originalToken,originalTokenReferenceID and
        originalTokenAssuranceLevel are provided ONLY by VISA in case of a Token
        for Token digitization flow.</p>
    tokenType:
      type: string
      title: tokenType
      maxLength: 16
      description: |-
        The type of token the TSP has created or for which the request is sent.
        It applies to VISA, MasterCard and UPI.
        Following values are supported:
        - SE (token for a secure element)
        - HCE (token for Host Card Emulated device)
        - COF (token for a card on file)
        - ECOM (token for ecommerce)
        - QRC (token for QRCode)
      x-gitbook-description-html: >-
        <p>The type of token the TSP has created or for which the request is
        sent.

        It applies to VISA, MasterCard and UPI.

        Following values are supported:</p>

        <ul>

        <li>SE (token for a secure element)</li>

        <li>HCE (token for Host Card Emulated device)</li>

        <li>COF (token for a card on file)</li>

        <li>ECOM (token for ecommerce)</li>

        <li>QRC (token for QRCode)</li>

        </ul>
    tokenAssuranceLevel:
      type: string
      title: tokenAssuranceLevel
      maxLength: 2
      description: >-
        The token assurance level indicates the level of assurance of the token.

        This is given by the ID&V method that has been used to authenticate the
        consumer on the specific token for example when the token is created
        (during the digitization flow) or, in case of a COF token, when a
        binding flow is executed.


        Following values are supported:

        - 00 (ID&V not performed)

        - 10 (Card Issuer Account Verification)

        - 11 (Card Issuer Interactive Verification - 1 Factor)

        - 12 (Card Issuer Interactive Verification - 2 Factor)

        - 13 (Card Issuer Oriented Non-Interactive Cardholder Authentication)

        - 14 (Card Issuer Asserted Authentication)


        NOTE: applies only to VISA
      x-gitbook-description-html: >-
        <p>The token assurance level indicates the level of assurance of the
        token.

        This is given by the ID&#x26;V method that has been used to authenticate
        the consumer on the specific token for example when the token is created
        (during the digitization flow) or, in case of a COF token, when a
        binding flow is executed.</p>

        <p>Following values are supported:</p>

        <ul>

        <li>00 (ID&#x26;V not performed)</li>

        <li>10 (Card Issuer Account Verification)</li>

        <li>11 (Card Issuer Interactive Verification - 1 Factor)</li>

        <li>12 (Card Issuer Interactive Verification - 2 Factor)</li>

        <li>13 (Card Issuer Oriented Non-Interactive Cardholder
        Authentication)</li>

        <li>14 (Card Issuer Asserted Authentication)</li>

        </ul>

        <p>NOTE: applies only to VISA</p>
  parameters:
    x-correlation-id-header:
      schema:
        type: string
        maxLength: 64
        minLength: 1
      description: >-
        Unique identifier of a give session (enrolment session or Life Cycle
        Management session), used to link inbound and outbound **requests** of
        the same session together
      in: header
      name: x-correlation-id
      required: true
      x-gitbook-description-html: >-
        <p>Unique identifier of a give session (enrolment session or Life Cycle
        Management session), used to link inbound and outbound
        <strong>requests</strong> of the same session together</p>
    x-issuer-id-header:
      schema:
        type: string
        maxLength: 10
        minLength: 10
      description: Unique identifier used to identify the issuer
      in: header
      name: x-issuer-id
      required: true
      x-gitbook-description-html: <p>Unique identifier used to identify the issuer</p>
