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:
  /checkCardEligibility:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: check card is eligibile to digitization
      description: >-
        This method is used by TSH to :

        * check with issuer if the card is eligible to digitization 

        * get from issuer the card profile identifier


        Please note that in the case of AMEX implementation, Issuer has to
        configure some card metadata on Thales portal to respond properly to
        AMEX TSP. Please check with the integration team.
      operationId: checkCardEligibility
      parameters:
        - $ref: '#/components/parameters/x-correlation-id-header'
        - $ref: '#/components/parameters/x-issuer-id-header'
      responses:
        '200':
          description: checkCardEligibility response payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/checkCardEligibilityRes'
          x-gitbook-description-html: <p>checkCardEligibility response payload</p>
        '400':
          description: >-
            Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter
          content:
            application/json:
              schema:
                type: object
                description: Error Information Response
                properties:
                  responseCode:
                    type: number
                    description: >
                      Error Response code to the request

                      |Error code | Description|

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

                      |111|Missing mandatory parameter|

                      |112|Bad parameter format|

                      |116|Invalid card details (either FPAN or expiry date)|

                      |158|Card is expired or wrong expiry date provided|

                      |159|Card is suspended|

                      |160|Card is revoked or deleted|

                      |163|Product not supported for tokenization|

                      |164|Fraud Suspected|

                      |165|FPAN is not whitelisted for the token requestor. It
                      applies ONLY to American Express|

                      |166|Invalid FPAN|

                      |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>116</td><td>Invalid card
                      details (either FPAN or expiry
                      date)</td></tr><tr><td>158</td><td>Card is expired or
                      wrong expiry date
                      provided</td></tr><tr><td>159</td><td>Card is
                      suspended</td></tr><tr><td>160</td><td>Card is revoked or
                      deleted</td></tr><tr><td>163</td><td>Product not supported
                      for tokenization</td></tr><tr><td>164</td><td>Fraud
                      Suspected</td></tr><tr><td>165</td><td>FPAN is not
                      whitelisted for the token requestor. It applies ONLY to
                      American Express</td></tr><tr><td>166</td><td>Invalid
                      FPAN</td></tr><tr><td>911</td><td>Operation
                      failed</td></tr><tr><td>921</td><td>Unexpected server
                      error</td></tr></tbody></table>
                  errorMessage:
                    maxLength: 256
                    type: string
                    description: Textual error message
                    x-gitbook-description-html: <p>Textual error message</p>
                required:
                  - responseCode
                x-gitbook-description-html: <p>Error Information Response</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:
        - Check Card Eligibility
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/checkCardEligibilityReq'
        description: checkCardEligibility request payload
        required: true
        x-gitbook-description-html: <p>checkCardEligibility 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 TSH to :'
                    marks: []
                key: 4tNHMAxowQss
            key: Wpe44aRY4Umh
          - 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: >-
                              check with issuer if the card is eligible to
                              digitization
                            marks: []
                        key: J9bSltbietLm
                    key: vDuZxhm7x1TK
                key: oUtnmXhIMSIt
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: get from issuer the card profile identifier
                            marks: []
                        key: xfX9oBC4Naow
                    key: Pgd51gZB2Q8J
                key: NdCRZyr7oPnn
            key: TgmfAPnfyQli
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Please note that in the case of AMEX implementation,
                      Issuer has to configure some card metadata on Thales
                      portal to respond properly to AMEX TSP. Please check with
                      the integration team.
                    marks: []
                key: ub9bz0usmXxv
            key: wu41I9UqkAsq
        key: F0lQD9Sd0MRK
      x-gitbook-description-html: >-
        <p>This method is used by TSH to :</p><ul><li>check with issuer if the
        card is eligible to digitization</li><li>get from issuer the card
        profile identifier</li></ul><p>Please note that in the case of AMEX
        implementation, Issuer has to configure some card metadata on Thales
        portal to respond properly to AMEX TSP. Please check with the
        integration team.</p>
  /requestCardDigitization:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: request issuer for digitization of the card
      description: >
        This method is used by TSH to request issuer approval for card
        digitiazation


        This method provides information about:

        *  user accepts or declines Terms and Condition

        *  scoring made by the Wallet Provider and optionaly the scheme


        The issuer have then to:

        *  decide or not to digitize the card

        *  if an step up authnetication of the cardholder is required (ID&V
        process)

        *  if yes, the list of authentication/ID&V OTP method available for
        cardholder authentication
      operationId: requestCardDigitization
      parameters:
        - $ref: '#/components/parameters/x-correlation-id-header'
        - $ref: '#/components/parameters/x-issuer-id-header'
      responses:
        '200':
          description: requestCardDigitization response payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/requestCardDigitizationRes'
              examples:
                default:
                  value:
                    issuerCardRefId: com
                    productId: proident
                    cardDetails:
                      cardholderName: Lorem anim
                      fpanLastDigits: se
                      fpanBin: nostru
                      fpanExpiryDate: cupid
                    levelOfTrust: yellow
                    idvMethodList:
                      - id: nulla
                        type: statement
                        value: occ
                      - id: d
                        type: email
                        value: a
                      - id: nisi do c
                        type: outbound_c
                        value: sed amet
                      - id: ut nostru
                        type: outbound_c
                        value: nostrud e
          x-gitbook-description-html: <p>requestCardDigitization response payload</p>
        '400':
          description: >-
            Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter
          content:
            application/json:
              schema:
                type: object
                description: Error Information Response
                properties:
                  responseCode:
                    type: number
                    description: |-
                      Error Response code to the request
                      |Error code | Description|
                      |-------|-------|
                      |111|Missing mandatory parameter|
                      |112|Bad parameter format|
                      |116|Invalid card details (either FPAN or expiry date)|
                      |158|Card is expired or wrong expiry date provided|
                      |159|Card is suspended|
                      |160|Card is revoked or deleted|
                      |161|Invalid CVV2|
                      |164|FPAN Provisioning Count Exceeded|
                      |166|Invalid FPAN|
                      |170|Invalid cardholder. It applies ONLY to Discover|
                      |181|CVV Verification Attempts Exceeded|
                      |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>116</td><td>Invalid card
                      details (either FPAN or expiry
                      date)</td></tr><tr><td>158</td><td>Card is expired or
                      wrong expiry date
                      provided</td></tr><tr><td>159</td><td>Card is
                      suspended</td></tr><tr><td>160</td><td>Card is revoked or
                      deleted</td></tr><tr><td>161</td><td>Invalid
                      CVV2</td></tr><tr><td>164</td><td>FPAN Provisioning Count
                      Exceeded</td></tr><tr><td>166</td><td>Invalid
                      FPAN</td></tr><tr><td>170</td><td>Invalid cardholder. It
                      applies ONLY to Discover</td></tr><tr><td>181</td><td>CVV
                      Verification Attempts
                      Exceeded</td></tr><tr><td>911</td><td>Operation
                      failed</td></tr><tr><td>921</td><td>Unexpected server
                      error</td></tr></tbody></table>
                  errorMessage:
                    maxLength: 256
                    type: string
                    description: Textual error message
                    x-gitbook-description-html: <p>Textual error message</p>
                required:
                  - responseCode
                x-gitbook-description-html: <p>Error Information Response</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:
        - Request Card Digitization
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/requestCardDigitizationReq'
        description: requestCardDigitization request payload
        required: true
        x-gitbook-description-html: <p>requestCardDigitization 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 TSH to request issuer approval for
                      card digitiazation
                    marks: []
                key: c5qEdqi3GvzC
            key: HOiCGz3qUNBY
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: 'This method provides information about:'
                    marks: []
                key: zdc61HtjkDjE
            key: qJ6E0Nyzo9ni
          - 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: user accepts or declines Terms and Condition
                            marks: []
                        key: 0N6gufjpkCiL
                    key: zJfc6nsPzH6E
                key: uN7Q0WCuexih
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: >-
                              scoring made by the Wallet Provider and optionaly
                              the scheme
                            marks: []
                        key: G9O1RGKNMlQ2
                    key: tOuDoebrWUyf
                key: UnqY1Xf95SOF
            key: vLz7FbsEoEPn
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: 'The issuer have then to:'
                    marks: []
                key: sYyr0mnC3yBE
            key: xw9zlKaBYGoe
          - 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: decide or not to digitize the card
                            marks: []
                        key: DYklmpM5DXv2
                    key: 44oaoMHlXOkT
                key: NcqCFa9IU55a
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: >-
                              if an step up authnetication of the cardholder is
                              required (ID&V process)
                            marks: []
                        key: lp9b2GIEa5dU
                    key: UifsiDvSROKm
                key: jNuEzN5QxXjG
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: >-
                              if yes, the list of authentication/ID&V OTP method
                              available for cardholder authentication
                            marks: []
                        key: oP19N4AX5CXU
                    key: KWBINW5o3aPn
                key: YnWrYBTBCdfZ
            key: J9dzRkCIe8JX
        key: t64tbAVBRdQB
      x-gitbook-description-html: >-
        <p>This method is used by TSH to request issuer approval for card
        digitiazation</p><p>This method provides information
        about:</p><ul><li>user accepts or declines Terms and
        Condition</li><li>scoring made by the Wallet Provider and optionaly the
        scheme</li></ul><p>The issuer have then to:</p><ul><li>decide or not to
        digitize the card</li><li>if an step up authnetication of the cardholder
        is required (ID&#x26;V process)</li><li>if yes, the list of
        authentication/ID&#x26;V OTP method available for cardholder
        authentication</li></ul>
  /getIDnVMethodList:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: request issuer for the list of ID&V method
      description: >-
        This method is used by TSH to request issuer for the list of ID&V method
        in case it is not provided in respont of request card digitiazation

        This request could be invoke several time during the enrolment so the
        ID&v Methold list can be updated

        For example : it could happen that the end user find out that the masked
        phone number in ID&V method list is an old one and call the Issuer
        customer service to update the phone number. Following this, the end
        user can request a ID&V method refresh througth the wallet application
        that which result in a subsequent requestIdnVList request.


        Another applicable use case is for VISA CTF, in COF. In this case the
        merchant can request the cardholder authtentication to the Issuer and so
        the list of IDnV supported is needed.

        <br/><br/>

        ***This method applies to ITSP solution only***
      operationId: getIDnVMethodList
      parameters:
        - $ref: '#/components/parameters/x-correlation-id-header'
        - $ref: '#/components/parameters/x-issuer-id-header'
      responses:
        '200':
          description: |
            The Issuer can:
            * approve request without IDVList --> no stepup is required.
            * approve with stepup. Then IDVList is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getIDnVMethodListRes'
          x-gitbook-description-html: |-
            <p>The Issuer can:</p>
            <ul>
            <li>approve request without IDVList --> no stepup is required.</li>
            <li>approve with stepup. Then IDVList is returned.</li>
            </ul>
        '400':
          description: >-
            Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter
          content:
            application/json:
              schema:
                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|
                      |510|Cardholder verification declined|
                      |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>510</td><td>Cardholder
                      verification
                      declined</td></tr><tr><td>911</td><td>Operation
                      failed</td></tr><tr><td>921</td><td>Unexpected server
                      error</td></tr></tbody></table>
                  errorMessage:
                    maxLength: 256
                    type: string
                    description: Textual error message
                    x-gitbook-description-html: <p>Textual error message</p>
                x-gitbook-description-html: <p>Error Information Response</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 ID&V Method List
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/getIDnVMethodListReq'
        description: requestIdnVList request payload
        required: true
        x-gitbook-description-html: <p>requestIdnVList 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 TSH to request issuer for the list
                      of ID&V method in case it is not provided in respont of
                      request card digitiazation This request could be invoke
                      several time during the enrolment so the ID&v Methold list
                      can be updated For example : it could happen that the end
                      user find out that the masked phone number in ID&V method
                      list is an old one and call the Issuer customer service to
                      update the phone number. Following this, the end user can
                      request a ID&V method refresh througth the wallet
                      application that which result in a subsequent
                      requestIdnVList request.
                    marks: []
                key: u3P3QuNPODGe
            key: D8SXUguni0ka
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >+
                      Another applicable use case is for VISA CTF, in COF. In
                      this case the merchant can request the cardholder
                      authtentication to the Issuer and so the list of IDnV
                      supported is needed.

                    marks: []
                  - object: leaf
                    text: This method applies to ITSP solution only
                    marks:
                      - object: mark
                        type: bold
                        data: {}
                      - object: mark
                        type: italic
                        data: {}
                key: 7tujMvhQVzHG
            key: VvkmkTuDTKyo
        key: jZsuUZaHpBk9
      x-gitbook-description-html: >-
        <p>This method is used by TSH to request issuer for the list of
        ID&#x26;V method in case it is not provided in respont of request card
        digitiazation This request could be invoke several time during the
        enrolment so the ID&#x26;v Methold list can be updated For example : it
        could happen that the end user find out that the masked phone number in
        ID&#x26;V method list is an old one and call the Issuer customer service
        to update the phone number. Following this, the end user can request a
        ID&#x26;V method refresh througth the wallet application that which
        result in a subsequent requestIdnVList request.</p><p>Another applicable
        use case is for VISA CTF, in COF. In this case the merchant can request
        the cardholder authtentication to the Issuer and so the list of IDnV
        supported is needed.<br><br><em><strong>This method applies to ITSP
        solution only</strong></em></p>
  /requestDeviceBinding:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: request issuer to approve the binding of token with a user device
      description: >-
        This method is used by TSH to request approval or conditional approval
        to bind an existing virtual card to a new device

        A a new and dedicated x-correlation-id will generated for the
        requestDeviceBinding

        All subsequent call (notification , sendOTP, ...) link to this device
        binding will have the same x-correlation-id

        <br/><br/>

        ***This method applies to VISA ITSP solution only***
      operationId: requestDeviceBinding
      parameters:
        - $ref: '#/components/parameters/x-correlation-id-header'
        - $ref: '#/components/parameters/x-issuer-id-header'
      responses:
        '200':
          description: requestDeviceBinding response payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/requestDeviceBindingRes'
          x-gitbook-description-html: <p>requestDeviceBinding response payload</p>
        '400':
          description: >-
            Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter
          content:
            application/json:
              schema:
                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|
                      |116|Unknown Card|158|Card is expired|
                      |159|Card is supended|
                      |161|Invalid CVV2|
                      |164|FPAN Provisioning Count Exceeded|
                      |166|Invalid FPAN|
                      |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>116</td><td>Unknown
                      Card</td></tr><tr><td>159</td><td>Card is
                      supended</td></tr><tr><td>161</td><td>Invalid
                      CVV2</td></tr><tr><td>164</td><td>FPAN Provisioning Count
                      Exceeded</td></tr><tr><td>166</td><td>Invalid
                      FPAN</td></tr><tr><td>911</td><td>Operation
                      failed</td></tr><tr><td>921</td><td>Unexpected server
                      error</td></tr></tbody></table>
                  errorMessage:
                    maxLength: 256
                    type: string
                    description: Textual error message
                    x-gitbook-description-html: <p>Textual error message</p>
                x-gitbook-description-html: <p>Error Information Response</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:
        - Request Device Binding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/requestDeviceBindingReq'
        description: requestDeviceBinding request payload
        required: true
        x-gitbook-description-html: <p>requestDeviceBinding 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 TSH to request approval or
                      conditional approval to bind an existing virtual card to a
                      new device A a new and dedicated x-correlation-id will
                      generated for the requestDeviceBinding All subsequent call
                      (notification , sendOTP, ...) link to this device binding
                      will have the same x-correlation-id

                    marks: []
                  - object: leaf
                    text: This method applies to VISA ITSP solution only
                    marks:
                      - object: mark
                        type: bold
                        data: {}
                      - object: mark
                        type: italic
                        data: {}
                key: Eds6fAk7jTsp
            key: TAXSPeOSp6xP
        key: wVaAYjzyKD5l
      x-gitbook-description-html: >-
        <p>This method is used by TSH to request approval or conditional
        approval to bind an existing virtual card to a new device A a new and
        dedicated x-correlation-id will generated for the requestDeviceBinding
        All subsequent call (notification , sendOTP, ...) link to this device
        binding will have the same x-correlation-id<br><br><em><strong>This
        method applies to VISA ITSP solution only</strong></em></p>
  /notifyVirtualCardChange:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: notify issuer about any virtual card (token) change
      description: >
        This method is used by TSH to notify issuer in two main cases.


        The more generic case whereas the token has been updated due to:

        - state change (activated/suspended/resumed/deleted)

        - belonging card has been updated

        - token renewed (token PAN and/or expiry date renewed)


        The more specific case of COF tokenization, that is applicable only for
        VISA:

        * device binding/unbinding

        * step-up authentication flow requested by the merchant has been
        executed and result is notified
      operationId: notifyVirtualCardChange
      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:
                type: object
                description: Error Information Response
                required:
                  - responseCode
                properties:
                  responseCode:
                    type: number
                    description: |
                      Error Response code to the request
                      |Error code | Description|
                      |-------|-------|
                      |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>911</td><td>Operation
                      failed</td></tr><tr><td>921</td><td>Unexpected server
                      error</td></tr></tbody></table>
                  errorMessage:
                    maxLength: 256
                    type: string
                    description: Textual error message
                    x-gitbook-description-html: <p>Textual error message</p>
                x-gitbook-description-html: <p>Error Information Response</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:
        - Notify Virtual Card Change
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/notifyVirtualCardChangeReq'
        description: notifyVirtualCardChange request payload
        required: true
        x-gitbook-description-html: <p>notifyVirtualCardChange 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 TSH to notify issuer in two main
                      cases.
                    marks: []
                key: fEH8VzyvHfhA
            key: hQcQzR7VNQaX
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      The more generic case whereas the token has been updated
                      due to:
                    marks: []
                key: jDKwYC1wVU7t
            key: w3QXmIshHosK
          - 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: state change (activated/suspended/resumed/deleted)
                            marks: []
                        key: nBIKZL7MEed5
                    key: MajpZe8vjgdZ
                key: QAjK5mO6xoIo
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: belonging card has been updated
                            marks: []
                        key: HZ0y4osWbYct
                    key: MvSOe1BEmTTI
                key: CCQpBkVEZJ81
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: >-
                              token renewed (token PAN and/or expiry date
                              renewed)
                            marks: []
                        key: 4xKfqyzOBb1V
                    key: DGtN2rWxPVo9
                key: 47xZBXnpONer
            key: RWgcLnm3uDcV
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      The more specific case of COF tokenization, that is
                      applicable only for VISA:
                    marks: []
                key: 8W3j3lCfddD5
            key: ImecJU99LEGS
          - 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: device binding/unbinding
                            marks: []
                        key: I9iSjBmiY9Wm
                    key: yhvuvGOprJHv
                key: tGYAn4DED6GW
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: >-
                              step-up authentication flow requested by the
                              merchant has been executed and result is notified
                            marks: []
                        key: E82NqNaz8L9N
                    key: sTc70GfFy9sk
                key: Z6h4hQbIYzba
            key: 3LqzKlWKlMSb
        key: gL1a1vnH3Lop
      x-gitbook-description-html: >-
        <p>This method is used by TSH to notify issuer in two main
        cases.</p><p>The more generic case whereas the token has been updated
        due to:</p><ul><li>state change
        (activated/suspended/resumed/deleted)</li><li>belonging card has been
        updated</li><li>token renewed (token PAN and/or expiry date
        renewed)</li></ul><p>The more specific case of COF tokenization, that is
        applicable only for VISA:</p><ul><li>device
        binding/unbinding</li><li>step-up authentication flow requested by the
        merchant has been executed and result is notified</li></ul>
  /sendOTP:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: Provides ID&V OTP
      description: >
        This method is used by TSH to request issuer to

        * send an OTP generated by Thales or the by scheme to
        customer/cardholder.

        *  to generate and send an OTP (in such case the otpValue is not
        provided).

        *  to trigger in-app verification ID&V via Push Notification in MDES Post Tokenization
        (in such case the otpValue is not provided)


        **In case of VTS/MDES ITSP, the OTP is always generated by the scheme**
      operationId: sendOTP
      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:
                type: object
                description: Error Information Response
                required:
                  - responseCode
                properties:
                  responseCode:
                    type: number
                    description: >-
                      Error Response code to the request

                      |Error code | Description|

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

                      |501|Invalid method ID|

                      |502|Communication Channel not available|

                      |503|Method ID not valid anymore (for example if the
                      number of user reach the maximum OTP attempts)|

                      |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>501</td><td>Invalid
                      method ID</td></tr><tr><td>502</td><td>Communication
                      Channel not available</td></tr><tr><td>503</td><td>Method
                      ID not valid anymore (for example if the number of user
                      reach the maximum OTP
                      attempts)</td></tr><tr><td>911</td><td>Operation
                      failed</td></tr><tr><td>921</td><td>Unexpected server
                      error</td></tr></tbody></table>
                  errorMessage:
                    maxLength: 256
                    type: string
                    description: Textual error message
                    x-gitbook-description-html: <p>Textual error message</p>
                x-gitbook-description-html: <p>Error Information Response</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:
        - Send OTP
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sendOTPReq'
        description: sendOTP request payload
        required: true
        x-gitbook-description-html: <p>sendOTP 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 TSH to request issuer to
                    marks: []
                key: 9zp3EvPKieZi
            key: WTFnqb3cAp5h
          - 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: >-
                              send an OTP generated by Thales or the by scheme
                              to customer/cardholder.
                            marks: []
                        key: ynFIUOxc8C3H
                    key: fhKrDoUChAbc
                key: msrlEtmlFwjA
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: >-
                              or to generate and send an OTP (in such case the
                              otpValue is not provided).
                            marks: []
                        key: oBX5KgI15vEn
                    key: sWCfhDXbiuDb
                key: rhBekiZMJ4wK
            key: eU9Wi0mHZqTF
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      In case of VTS/MDES ITSP, the OTP is always generated by
                      the scheme
                    marks:
                      - object: mark
                        type: bold
                        data: {}
                key: 9m9abbf66YLM
            key: mcjMdZXcfAxL
        key: 0LaULwpI46gA
      x-gitbook-description-html: >-
        <p>This method is used by TSH to request issuer to</p><ul><li>send an
        OTP generated by Thales or the by scheme to
        customer/cardholder.</li><li>or to generate and send an OTP (in such
        case the otpValue is not provided).</li></ul><p><strong>In case of
        VTS/MDES ITSP, the OTP is always generated by the scheme</strong></p>
  /notifyStandInProcess:
    post:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: notify issuer about STIP (StandIn Process) triggering
      description: >
        This method is used by TSH to notify the issuer that the scheme go in
        stand in process on behalf of the issuer.<br/>

        It provides information about the funding card as well as the token
        created during this process, and its current status.<br/>

        <br/>

        ***This method applies to VISA ITSP solution only***
      operationId: notifyStandInProcess
      parameters:
        - $ref: '#/components/parameters/x-correlation-id-header'
        - $ref: '#/components/parameters/x-issuer-id-header'
      responses:
        '200':
          description: notifyStandInProcess response payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notifyStandInProcessRes'
          x-gitbook-description-html: <p>notifyStandInProcess response payload</p>
        '400':
          description: >-
            Bad Request, Invalid request URI or header, or unsupported
            nonstandard parameter
          content:
            application/json:
              schema:
                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|
                      |158|Card is expired|
                      |161|Invalid CVV2|
                      |164|FPAN Provisioning Count Exceeded|
                      |166|Invalid FPAN|
                      |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>158</td><td>Card is
                      expired</td></tr><tr><td>161</td><td>Invalid
                      CVV2</td></tr><tr><td>164</td><td>FPAN Provisioning Count
                      Exceeded</td></tr><tr><td>166</td><td>Invalid
                      FPAN</td></tr><tr><td>911</td><td>Operation
                      failed</td></tr><tr><td>921</td><td>Unexpected server
                      error</td></tr></tbody></table>
                  errorMessage:
                    maxLength: 256
                    type: string
                    description: Textual error message
                    x-gitbook-description-html: <p>Textual error message</p>
                x-gitbook-description-html: <p>Error Information Response</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:
        - Notify Stand In Process
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/notifyStandInProcessReq'
        description: notifyStandInProcess request payload
        required: true
        x-gitbook-description-html: <p>notifyStandInProcess 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 TSH to notify the issuer that the
                      scheme go in stand in process on behalf of the issuer.

                      It provides information about the funding card as well as
                      the token created during this process, and its current
                      status.

                    marks: []
                  - object: leaf
                    text: This method applies to VISA ITSP solution only
                    marks:
                      - object: mark
                        type: bold
                        data: {}
                      - object: mark
                        type: italic
                        data: {}
                key: IE1Gf8wW4BxL
            key: DX8mfdIp2j1o
        key: Pd2OMYSApDIw
      x-gitbook-description-html: >-
        <p>This method is used by TSH to notify the issuer that the scheme go in
        stand in process on behalf of the issuer.<br>It provides information
        about the funding card as well as the token created during this process,
        and its current status.<br><br><em><strong>This method applies to VISA
        ITSP solution only</strong></em></p>
  /healthCheck:
    get:
      x-swagger-router-controller: issuerGatewayDispatcher
      summary: check if Issuer is healthy
      description: This method is used by TSH to monitor Issuer health
      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
          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
                    marks: []
                key: I6aj1LfsbPQ5
            key: Xr4rUGkm21N7
        key: KXigQlMNsvn0
      x-gitbook-description-html: <p>This method is used by TSH to monitor Issuer health</p>
tags:
  - name: Request Device binding
  - name: Check Card Eligibility
  - name: Health Check
  - name: Notify Virtual Card Change
  - name: Request Card Digitization
  - name: Send OTP
  - name: Get ID&V Method List
  - name: Request Cobadge Card Digitization
openapi: 3.1.1
servers:
  - url: https://issuer.host.com/issuer/igwapi/v2.0
components:
  schemas:
    checkCardEligibilityReq:
      type: object
      required:
        - walletProviderId
      properties:
        cipheredCardInfo:
          $ref: '#/components/schemas/cipheredCardInfoEligibility'
        publicKeyIdentifier:
          type: string
          maxLength: 32
          minLength: 1
          description: >-
            Identifier of the key used to encrypt cipheredCardInfo.<br/>Provided
            by Issuer to Thales during onboarding.
          x-gitbook-description-html: >-
            <p>Identifier of the key used to encrypt
            cipheredCardInfo.<br>Provided by Issuer to Thales during
            onboarding.</p>
        issuerCardRefId:
          $ref: '#/components/schemas/optionaIssuerCardRefId'
        walletProviderId:
          $ref: '#/components/schemas/walletProviderId'
        tokenRequestor:
          $ref: '#/components/schemas/tokenRequestor'
        captureMethod:
          $ref: '#/components/schemas/captureMethod'
    checkCardEligibilityRes:
      type: object
      properties:
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
        productId:
          $ref: '#/components/schemas/productId'
        accountMetadata:
          type: object
          properties:
            displayAccountNumber:
              description: >-
                Last digits of the account number to be displayed.<br/>If it's
                provided by the issuer, this value will be the one displayed by
                the token requestor instead of the FPAN last digits.

                <br/>This is applicable to the following solutions:
                  - **Google Pay**
                  - **Huawei Pay**
                  - **AMEX ITSP**
              type: string
              maxLength: 5
              pattern: ^[0-9]*$
              x-gitbook-description-html: >-
                <p>Last digits of the account number to be displayed.<br>If it's
                provided by the issuer, this value will be the one displayed by
                the token requestor instead of the FPAN last digits.

                <br>This is applicable to the following solutions:</p>

                <ul>

                <li><strong>Google Pay</strong></li>

                <li><strong>Huawei Pay</strong></li>

                <li><strong>AMEX ITSP</strong></li>

                </ul>
            expiryDate:
              description: >-
                Card expiry date in the format yyyy-mm-dd.<br/>It shall be
                provided for **AMEX ITSP** solution.
              type: string
              maxLength: 10
              x-gitbook-description-html: >-
                <p>Card expiry date in the format yyyy-mm-dd.<br>It shall be
                provided for <strong>AMEX ITSP</strong> solution.</p>
          required:
            - displayAccountNumber
      required:
        - issuerCardRefId
    requestCardDigitizationReq:
      type: object
      properties:
        cipheredCardInfo:
          $ref: '#/components/schemas/cipheredCardInfo'
        issuerCardRefId:
          $ref: '#/components/schemas/optionaIssuerCardRefId'
        walletProviderId:
          $ref: '#/components/schemas/walletProviderId'
        tokenRequestor:
          $ref: '#/components/schemas/tokenRequestorDgt'
        walletCardRefId:
          $ref: '#/components/schemas/walletCardRefId'
        authenticationValue:
          maxLength: 8196
          minLength: 1
          type: string
          description: >
            An additional authentication value provided by end user or third
            party application through the Wallet Provider

            It can be for example the CVV value entered by end user



            In case of CVV :

            The base64 represent the encrypted buffer of the JSON :

            ``` javascript

            {
              "cvv":"123"
            }

            ```

            Encryption is done using PKCS#7 in RFC2315/5652 as for the
            cipheredCardInfo using Issuer Certificate

            Conditional: it depends of the Wallet Provider, some are managing an
            authenticationValue and others not.
          x-gitbook-description-html: >-
            <p>An additional authentication value provided by end user or third
            party application through the Wallet Provider

            It can be for example the CVV value entered by end user</p>

            <p>In case of CVV :

            The base64 represent the encrypted buffer of the JSON :</p>

            <pre><code class="language-javascript">{
              "cvv":"123"
            }

            </code></pre>

            <p>Encryption is done using PKCS#7 in RFC2315/5652 as for the
            cipheredCardInfo using Issuer Certificate

            Conditional: it depends of the Wallet Provider, some are managing an
            authenticationValue and others not.</p>
        publicKeyIdentifier:
          type: string
          maxLength: 32
          minLength: 1
          description: >-
            Identifier of the key used to encrypt cipheredCardInfo and
            authenticationValue.<br/>Provided by Issuer to Thales during
            onboarding.
          x-gitbook-description-html: >-
            <p>Identifier of the key used to encrypt cipheredCardInfo and
            authenticationValue.<br>Provided by Issuer to Thales during
            onboarding.</p>
        walletUserInformation:
          $ref: '#/components/schemas/walletUserInformation'
        cardCaptureInformation:
          $ref: '#/components/schemas/cardCaptureInformation'
        scoringInformation:
          $ref: '#/components/schemas/scoringInformation'
        deviceInformation:
          $ref: '#/components/schemas/deviceInformationRCD'
        tncStatus:
          type: boolean
          description: |
            T&C acceptance status by end user.
            Value is "true" if T&C have been accepted, "false" otherwise.
          x-gitbook-description-html: >-
            <p>T&#x26;C acceptance status by end user.

            Value is "true" if T&#x26;C have been accepted, "false"
            otherwise.</p>
        tncAcceptedDate:
          maxLength: 64
          type: string
          description: >-
            Date of T&C acceptance by end user in ISO 8601 format
            YYYY-MM-DDThh:mm:ssTZD
          x-gitbook-description-html: >-
            <p>Date of T&#x26;C acceptance by end user in ISO 8601 format
            YYYY-MM-DDThh:mm:ssTZD</p>
        cvvValidated:
          description: |-
            true if the TSP has verify the CVV2 on behalf of the issuer
            false if TSP failed to verify the CVV2
            not provided if TSP doesn't manage to verify the CVV2
          type: boolean
          x-gitbook-description-html: |-
            <p>true if the TSP has verify the CVV2 on behalf of the issuer
            false if TSP failed to verify the CVV2
            not provided if TSP doesn't manage to verify the CVV2</p>
        tokenType:
          $ref: '#/components/schemas/tokenType'
      required:
        - walletProviderId
        - deviceInformation
    requestCardDigitizationRes:
      type: object
      properties:
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
        productId:
          $ref: '#/components/schemas/productIdDigitization'
        cardDetails:
          $ref: '#/components/schemas/cardDetails'
        levelOfTrust:
          type: string
          maxLength: 32
          description: >
            Issuer Level of trust of the customer and Card Information

            Value can be:

            • 'green' : good level of trust, no ID&V requested

            • 'yellow' : warning, ID&V is required

            • 'red' : reject the digitization

            Conditional: not provided in case of error. Mandatory in case of
            success.
          enum:
            - green
            - yellow
            - red
          x-gitbook-description-html: >-
            <p>Issuer Level of trust of the customer and Card Information

            Value can be:

            • 'green' : good level of trust, no ID&#x26;V requested

            • 'yellow' : warning, ID&#x26;V is required

            • 'red' : reject the digitization

            Conditional: not provided in case of error. Mandatory in case of
            success.</p>
        idvMethodList:
          type: array
          description: >-
            List of Id&V step-up authentication method the wallet application
            will present to end user, in case of yellow flow.

            - If provided, TSH Issuer Gateway won't call getIDnVMethodList
            request and cache the response for further Wallet/scheme TSP
            request.

            - If not provided, TSH Issuer Gateway each time the Wallet/Scheme
            TSP request the ID&VMethodList which allow dynamic ID&V management
          items:
            $ref: '#/components/schemas/idvMethod'
          x-gitbook-description-html: >-
            <p>List of Id&#x26;V step-up authentication method the wallet
            application will present to end user, in case of yellow flow.</p>

            <ul>

            <li>If provided, TSH Issuer Gateway won't call getIDnVMethodList
            request and cache the response for further Wallet/scheme TSP
            request.</li>

            <li>If not provided, TSH Issuer Gateway each time the Wallet/Scheme
            TSP request the ID&#x26;VMethodList which allow dynamic ID&#x26;V
            management</li>

            </ul>
        transactionLimit:
          type: string
          maxLength: 12
          description: >-
            The amount quota, if the transaction amount exceeds it, the terminal
            shall prompt the cardholder to provide the Online PIN.

            **This field is only returned for UPI scheme. And it is not
            applicable for other schemes.**
          x-gitbook-description-html: >-
            <p>The amount quota, if the transaction amount exceeds it, the
            terminal shall prompt the cardholder to provide the Online PIN.

            <strong>This field is only returned for UPI scheme. And it is not
            applicable for other schemes.</strong></p>
      required:
        - issuerCardRefId
    requestDeviceBindingReq:
      type: object
      required:
        - walletProviderId
        - issuerCardRefId
        - deviceInformation
        - virtualCardId
        - walletUserInformation
        - deviceBindingReference
      properties:
        deviceBindingReference:
          $ref: '#/components/schemas/deviceBindingReference'
        virtualCardId:
          $ref: '#/components/schemas/virtualCardId'
        walletProviderId:
          $ref: '#/components/schemas/walletProviderId'
        tokenRequestor:
          $ref: '#/components/schemas/tokenRequestor'
        issuerCardRefId:
          $ref: '#/components/schemas/optionaIssuerCardRefId'
        walletUserInformation:
          $ref: '#/components/schemas/walletUserInformation'
        deviceInformation:
          $ref: '#/components/schemas/deviceInformation'
    requestDeviceBindingRes:
      type: object
      properties:
        levelOfTrust:
          type: string
          maxLength: 32
          description: >
            Issuer Level of trust of the device binding

            Value can be:

            • 'green' : good level of trust, no ID&V requested

            • 'yellow' : warning, ID&V is required

            • 'red' : reject the digitization

            Conditional: not provided in case of error. Mandatory in case of
            success.
          enum:
            - green
            - yellow
            - red
          x-gitbook-description-html: >-
            <p>Issuer Level of trust of the device binding

            Value can be:

            • 'green' : good level of trust, no ID&#x26;V requested

            • 'yellow' : warning, ID&#x26;V is required

            • 'red' : reject the digitization

            Conditional: not provided in case of error. Mandatory in case of
            success.</p>
        idvMethodList:
          type: array
          items:
            $ref: '#/components/schemas/idvMethod'
      required:
        - levelOfTrust
    notifyVirtualCardChangeReq:
      type: object
      required:
        - issuerCardRefId
        - virtualCardId
        - walletProviderId
        - isPrimary
      properties:
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
        virtualCardId:
          $ref: '#/components/schemas/virtualCardId'
        walletCardRefId:
          $ref: '#/components/schemas/walletCardRefId'
        walletVirtualCardId:
          type: string
          description: >-
            Wallet virtual card identifier

            For ApplePay, it corresponds to the DPANID and is always provided if
            defined.
          minLength: 1
          maxLength: 128
          x-gitbook-description-html: >-
            <p>Wallet virtual card identifier

            For ApplePay, it corresponds to the DPANID and is always provided if
            defined.</p>
        walletProviderId:
          $ref: '#/components/schemas/walletProviderId'
        tokenRequestor:
          $ref: '#/components/schemas/tokenRequestorDgt'
        tokenStorageId:
          $ref: '#/components/schemas/tokenStorageId'
        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>
        action:
          type: string
          description: >
            This corresponds to the action performed on the token


            Here is the possible value:

            - ACTIVATE : Token First Activation

            - SUSPEND : Token suspended via lifecycle operation

            - RESUME : Token resumed via lifecycle operation

            - DELETE : Token deleted on the TSP

            - DELETE_FROM_APP : Token deleted on the wallet application (MDES
            only)

            - UPDATE : When the funding PAN value is updated (ex: card renewal)

            - RENEW : When a token is renewed (ex: if the token expire, the TSP
            renew the token and re-provision it automaticaly)

            - ERASE : Token erased following a GDPR action

            - DEVICE_BOUND : Token bound to a device (VISA & MASTERCARD only)

            - DEVICE_UNBOUND : Token unbound from a device (VISA only)

            - CARDHOLDER_STEPUP_OTP, CARDHOLDER_STEPUP_ISSUER_APP,
            CARDHOLDER_STEPUP_CALL_CENTER: in case of cardholder authentication
            flow (VISA only)

            - CARDHOLDER_STEPUP_APPROVED: in case of cardholder authentication
            flow performed via 3D Secure (VISA only)
          maxLength: 128
          x-gitbook-description-html: >-
            <p>This corresponds to the action performed on the token</p>

            <p>Here is the possible value:</p>

            <ul>

            <li>ACTIVATE : Token First Activation</li>

            <li>SUSPEND : Token suspended via lifecycle operation</li>

            <li>RESUME : Token resumed via lifecycle operation</li>

            <li>DELETE : Token deleted on the TSP</li>

            <li>DELETE_FROM_APP : Token deleted on the wallet application (MDES
            only)</li>

            <li>UPDATE : When the funding PAN value is updated (ex: card
            renewal)</li>

            <li>RENEW : When a token is renewed (ex: if the token expire, the
            TSP renew the token and re-provision it automaticaly)</li>

            <li>ERASE : Token erased following a GDPR action</li>

            <li>DEVICE_BOUND : Token bound to a device (VISA &#x26; MASTERCARD
            only)</li>

            <li>DEVICE_UNBOUND : Token unbound from a device (VISA only)</li>

            <li>CARDHOLDER_STEPUP_OTP, CARDHOLDER_STEPUP_ISSUER_APP,
            CARDHOLDER_STEPUP_CALL_CENTER: in case of cardholder authentication
            flow (VISA only)</li>

            <li>CARDHOLDER_STEPUP_APPROVED: in case of cardholder authentication
            flow performed via 3D Secure (VISA only)</li>

            </ul>
        deviceBindingReference:
          type: string
          maxLength: 64
          description: "Provided only in case of DEVICE_BOUND / DEVICE_UNBOUND action. \r\nNote that this field corresponds to the **deviceIndex** for VTS and to the **bindId** for MDES.\r\nFor MDES Device Binding, in case of error, this field will include the **authCorrelationId** to help with trouble-shooting. "
          x-gitbook-description-html: "<p>Provided only in case of DEVICE_BOUND / DEVICE_UNBOUND action.\r\nNote that this field corresponds to the <strong>deviceIndex</strong> for VTS and to the <strong>bindId</strong> for MDES.\r\nFor MDES Device Binding, in case of error, this field will include the <strong>authCorrelationId</strong> to help with trouble-shooting.</p>"
        tokenInfo:
          $ref: '#/components/schemas/tokenInfo'
        publicKeyIdentifier:
          type: string
          maxLength: 32
          minLength: 1
          description: >-
            Identifier of the key used to encrypt tokenInfo.<br/>Provided by
            Issuer to Thales during onboarding.
          x-gitbook-description-html: >-
            <p>Identifier of the key used to encrypt tokenInfo.<br>Provided by
            Issuer to Thales during onboarding.</p>
        errorCode:
          type: number
          description: >-
            Error code provided in case of operation failure initiated by the
            issuer<br/>

            |error code |description|

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

            |221 |The device was not reachable after retries|

            |322 |Time to live of the operation expired|

            |432|Current token state does not allow this operation|

            |520 |Stepup cardholder authentication failed|

            |911 |Operation Failed|

            |921 |Unexpected error|


            This list is not exhaustive. Error codes not listed shall be
            considered as a generic error.
          x-gitbook-description-html: >-
            <p>Error code provided in case of operation failure initiated by the
            issuer<br></p>


































            <table><thead><tr><th>error
            code</th><th>description</th></tr></thead><tbody><tr><td>221</td><td>The
            device was not reachable after
            retries</td></tr><tr><td>322</td><td>Time to live of the operation
            expired</td></tr><tr><td>432</td><td>Current token state does not
            allow this operation</td></tr><tr><td>520</td><td>Stepup cardholder
            authentication failed</td></tr><tr><td>911</td><td>Operation
            Failed</td></tr><tr><td>921</td><td>Unexpected
            error</td></tr></tbody></table>

            <p>This list is not exhaustive. Error codes not listed shall be
            considered as a generic error.</p>
        source:
          type: string
          description: |-
            The source actor that initiate the state change.

            Description:
            -WALLET
            -TSP
            -ISSUER
          maxLength: 32
          x-gitbook-description-html: |-
            <p>The source actor that initiate the state change.</p>
            <p>Description:
            -WALLET
            -TSP
            -ISSUER</p>
        tokenType:
          $ref: '#/components/schemas/tokenType'
        tokenAssuranceLevel:
          $ref: >-
            #/components/schemas/Issuer-gateway-issuer-to-tsh_Oas2_TokenAssuranceLevel
        authenticatorInfo:
          type: object
          description: >-
            Contains cardholder information authenticator data required for
            payment transactions. Only present when action is DEVICE_BOUND. This
            field applies ONLY to MASTERCARD
          required:
            - id
            - methodId
          properties:
            id:
              type: string
              minLength: 1
              maxLength: 5
              description: Authenticating entity identifier
              x-gitbook-description-html: <p>Authenticating entity identifier</p>
            name:
              type: string
              minLength: 1
              maxLength: 25
              description: Authenticator Name
              x-gitbook-description-html: <p>Authenticator Name</p>
            methodId:
              type: string
              minLength: 1
              maxLength: 5
              description: >-
                Certified multi-factor authentication method id used to
                authenticate cardholder after binding
              x-gitbook-description-html: >-
                <p>Certified multi-factor authentication method id used to
                authenticate cardholder after binding</p>
          x-gitbook-description-html: >-
            <p>Contains cardholder information authenticator data required for
            payment transactions. Only present when action is DEVICE_BOUND. This
            field applies ONLY to MASTERCARD</p>
    getIDnVMethodListReq:
      type: object
      properties:
        walletProviderId:
          $ref: '#/components/schemas/walletProviderId'
        tokenRequestor:
          $ref: '#/components/schemas/tokenRequestor'
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
        virtualCardId:
          $ref: '#/components/schemas/virtualCardId'
        purpose:
          description: >-
            The purpose of requestIDnVLisr:

            - <b>ENROLMENT</b>: the requestIDnVList is sent in the context of a
            card enrollment to create a virtual card

            - <b>DEVICE_BINDING</b>: the requestIDnVList is sent in the context
            of a device binding

            - <b>CARDHOLDER_STEPUP</b>: the requestIDnVList is sent in the
            context of a cardHolderVerification
          type: string
          x-gitbook-description-html: >-
            <p>The purpose of requestIDnVLisr:</p>

            <ul>

            <li><b>ENROLMENT</b>: the requestIDnVList is sent in the context of
            a card enrollment to create a virtual card</li>

            <li><b>DEVICE_BINDING</b>: the requestIDnVList is sent in the
            context of a device binding</li>

            <li><b>CARDHOLDER_STEPUP</b>: the requestIDnVList is sent in the
            context of a cardHolderVerification</li>

            </ul>
        deviceBindingReference:
          $ref: '#/components/schemas/deviceBindingReference'
      required:
        - walletProviderId
    getIDnVMethodListRes:
      type: object
      properties:
        idvMethodList:
          type: array
          items:
            $ref: '#/components/schemas/idvMethod'
    sendOTPReq:
      type: object
      required:
        - walletProviderId
        - issuerCardRefId
      properties:
        walletProviderId:
          $ref: '#/components/schemas/walletProviderId'
        tokenRequestor:
          $ref: '#/components/schemas/tokenRequestor'
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
        deviceBindingReference:
          type: string
          maxLength: 64
          description: >-
            Reference of the binding between the device and the token.

            Provided in case the OTP must be sent in the process of a Device
            Biding flow.

            This field is provided only when the flow is going through VTS (Note
            that this field corresponds to the deviceIndex).
          x-gitbook-description-html: >-
            <p>Reference of the binding between the device and the token.

            Provided in case the OTP must be sent in the process of a Device
            Biding flow.

            This field is provided only when the flow is going through VTS (Note
            that this field corresponds to the deviceIndex).</p>
        otpValue:
          type: string
          minLength: 4
          maxLength: 10
          description: |
            The otp value to be send by the issuer.
            The value is mandatory for VTS.
            For MDES it won't be provided in case of In-App Verification via Push Notification
        expirationDate:
          type: string
          minLength: 4
          maxLength: 32
          description: |
            The expiration time for OTP.
            ex.  2015-05-18T14:40:32.000Z

            CYY-MM-DDTHH:MM:SSz
            Value will be in GMT.
          x-gitbook-description-html: |-
            <p>The expiration time for OTP.
            ex.  2015-05-18T14:40:32.000Z</p>
            <p>CYY-MM-DDTHH:MM:SSz
            Value will be in GMT.</p>
        otpMethodId:
          type: string
          minLength: 1
          maxLength: 32
          description: >
            The identifier of OTP method selected by end user


            This identifier is defined by the issuer and shared with TSH in
            response of the requestCardDigitization


            It corresponds to the id field defined in the idvMethod of the
            requestCardDigitization.response.idvMethodList.idvMethod
          x-gitbook-description-html: >-
            <p>The identifier of OTP method selected by end user</p>

            <p>This identifier is defined by the issuer and shared with TSH in
            response of the requestCardDigitization</p>

            <p>It corresponds to the id field defined in the idvMethod of the
            requestCardDigitization.response.idvMethodList.idvMethod</p>
    notifyStandInProcessReq:
      type: object
      properties:
        cipheredCardInfo:
          $ref: '#/components/schemas/cipheredCardInfo'
        virtualCardId:
          $ref: '#/components/schemas/virtualCardId'
        tokenStorageId:
          $ref: '#/components/schemas/tokenStorageId'
        deviceInformation:
          $ref: '#/components/schemas/deviceInformation'
        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>
        enrollmentStep:
          type: string
          description: >-
            Inform at which step the STIP notification has been recevied by TSH
            during the enrollment.


            Description:

            -NEW_SESSION

            -CARD_ELIGIBILITY_IN_PROGRESS

            -CARD_ELEGIBILITY_DONE

            -CARD_DIGITIZATION_IN_PROGRESS

            -CARD_DIGITIZATION_DONE

            -SEND_OTP_IN_PROGRESS

            -SEND_OTP_DONE

            -NOTIFY_CARD_STATUS_IN_PROGRESS

            -NOTIFY_CARD_STATUS_DONE
          maxLength: 128
          x-gitbook-description-html: >-
            <p>Inform at which step the STIP notification has been recevied by
            TSH during the enrollment.</p>

            <p>Description:

            -NEW_SESSION

            -CARD_ELIGIBILITY_IN_PROGRESS

            -CARD_ELEGIBILITY_DONE

            -CARD_DIGITIZATION_IN_PROGRESS

            -CARD_DIGITIZATION_DONE

            -SEND_OTP_IN_PROGRESS

            -SEND_OTP_DONE

            -NOTIFY_CARD_STATUS_IN_PROGRESS

            -NOTIFY_CARD_STATUS_DONE</p>
        status:
          type: string
          description: |-
            Current token state.

            Description:
            -SUSPENDED
            -RESUMED
            -DELETED
            -UPDATED
            -INACTIVE
          maxLength: 32
          x-gitbook-description-html: |-
            <p>Current token state.</p>
            <p>Description:
            -SUSPENDED
            -RESUMED
            -DELETED
            -UPDATED
            -INACTIVE</p>
        tokenInfo:
          type: string
          maxLength: 8196
          minLength: 1
          description: >
            Additional information about the token of the virtual card

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

            Only supported in case of token managed by VTS or MDES
          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.

            Only supported in case of token managed by VTS or MDES</p>
        publicKeyIdentifier:
          type: string
          maxLength: 32
          minLength: 1
          description: >-
            Identifier of the key used to encrypt tokenInfo.<br/>Provided by
            Issuer to Thales during onboarding.
          x-gitbook-description-html: >-
            <p>Identifier of the key used to encrypt tokenInfo.<br>Provided by
            Issuer to Thales during onboarding.</p>
        walletProviderId:
          $ref: '#/components/schemas/walletProviderId'
        tokenRequestor:
          $ref: '#/components/schemas/tokenRequestorDgt'
        walletCardRefId:
          $ref: '#/components/schemas/walletCardRefId'
        source:
          type: string
          description: |-
            The source actor that initiate the state change.

            Description:
            -WALLET
            -TSP
            -ISSUER
          maxLength: 32
          x-gitbook-description-html: |-
            <p>The source actor that initiate the state change.</p>
            <p>Description:
            -WALLET
            -TSP
            -ISSUER</p>
        cvvValidated:
          description: |-
            true if the TSP has verify the CVV2 on behalf of the issuer
            false if TSP failed to verify the CVV2
            not provided if TSP doesn't manage to verify the CVV2
          type: boolean
          x-gitbook-description-html: |-
            <p>true if the TSP has verify the CVV2 on behalf of the issuer
            false if TSP failed to verify the CVV2
            not provided if TSP doesn't manage to verify the CVV2</p>
        tokenAssuranceLevel:
          $ref: >-
            #/components/schemas/Issuer-gateway-issuer-to-tsh_Oas2_TokenAssuranceLevel
      required:
        - cipheredCardInfo
        - virtualCardId
        - deviceInformation
        - isPrimary
        - enrollmentStep
        - walletProviderId
        - source
    notifyStandInProcessRes:
      type: object
      properties:
        issuerCardRefId:
          $ref: '#/components/schemas/issuerCardRefId'
      required:
        - issuerCardRefId
    tokenInfo:
      type: string
      maxLength: 8196
      minLength: 1
      description: >
        Additional information about the token of the virtual card

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


        Only supported in case of token managed by VTS or MDES

        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 expiry date in the format MMYY.<br/>It is not provided for UPI
        scheme. |C |4 |

        |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.
      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.</p>

        <p>Only supported in case of token managed by VTS or MDES

        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
        expiry date in the format MMYY.<br>It is not provided for UPI
        scheme.</td><td>C</td><td>4</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>
    walletUserInformation:
      type: object
      properties:
        walletUserId:
          type: string
          description: Unique identifier of a wallet user account.  (Required only for VISA, MC, AMEX)
          minLength: 1
          maxLength: 100
          x-gitbook-description-html: <p>Unique identifier of a wallet user account</p>
        emailHash:
          type: string
          description: Hash value of the email address registered in the wallet
          minLength: 1
          maxLength: 64
          x-gitbook-description-html: <p>Hash value of the email address registered in the wallet</p>
        maskedEmail:
          type: string
          description: |
            Masked value of the email address.<br/>
            "*" is used for masking.
          minLength: 1
          maxLength: 256
          x-gitbook-description-html: |-
            <p>Masked value of the email address.<br>
            "*" is used for masking.</p>
        isAccountUsernamMatchCardName:
          type: boolean
          description: true if cardHolderName match with walletUserName, false otherwise
          x-gitbook-description-html: >-
            <p>true if cardHolderName match with walletUserName, false
            otherwise</p>
        provisioningAttemptsOnDeviceIn24Hours:
          type: string
          description: |
            Number of provisioning attempts
            on this device within 24 hours. If
            the number of attempts surpass
            99 it will stay at 99.
            For example: “99”.
          minLength: 1
          maxLength: 2
          x-gitbook-description-html: |-
            <p>Number of provisioning attempts
            on this device within 24 hours. If
            the number of attempts surpass
            99 it will stay at 99.
            For example: “99”.</p>
        walletDistinctCardholderNames:
          type: string
          description: |
            Number of Distinct cardholder
            names used in provisioning from
            this wallet.
            For example: “99”.
          minLength: 1
          maxLength: 2
          x-gitbook-description-html: |-
            <p>Number of Distinct cardholder
            names used in provisioning from
            this wallet.
            For example: “99”.</p>
        walletAccountCountry:
          type: string
          description: |
            Country of accountholder.
            Country in ISO 3166-1 alpha-2
            format, e.g. "US".
          minLength: 1
          maxLength: 2
          x-gitbook-description-html: |-
            <p>Country of accountholder.
            Country in ISO 3166-1 alpha-2
            format, e.g. "US".</p>
        suspendedCardsInAccount:
          type: string
          description: |
            Number of cards suspended in
            account. If the number of days
            surpass it will stay at 99.
            For example: “99”.
          minLength: 1
          maxLength: 2
          x-gitbook-description-html: |-
            <p>Number of cards suspended in
            account. If the number of days
            surpass it will stay at 99.
            For example: “99”.</p>
        daysSinceLastAccountActivity:
          type: string
          description: |
            Number of days since last activity
            on account. If the number of
            days surpass 9999, it will stay at
            9999.
            For example: “9999”.
          minLength: 1
          maxLength: 4
          x-gitbook-description-html: |-
            <p>Number of days since last activity
            on account. If the number of
            days surpass 9999, it will stay at
            9999.
            For example: “9999”.</p>
        numberOfActiveTokens:
          type: string
          description: |
            Number of active tokens on this
            account. If the number of tokens
            surpass limit it will stay at 99.
            For example: “99”.
          minLength: 1
          maxLength: 2
          x-gitbook-description-html: |-
            <p>Number of active tokens on this
            account. If the number of tokens
            surpass limit it will stay at 99.
            For example: “99”.</p>
        deviceWithActiveTokens:
          type: string
          description: |
            Number of devices for this user
            with same card. If the number
            of tokens surpass limit it will stay
            at 99.
            For example: “99”.
          minLength: 1
          maxLength: 2
          x-gitbook-description-html: |-
            <p>Number of devices for this user
            with same card. If the number
            of tokens surpass limit it will stay
            at 99.
            For example: “99”.</p>
        activeTokensOnAllDeviceForAccount:
          type: string
          description: |
            Number of active tokens for this
            user across all devices. If the
            number of tokens surpass limit it
            will stay at 9999.
            For example: “9999”.
          minLength: 1
          maxLength: 4
          x-gitbook-description-html: |-
            <p>Number of active tokens for this
            user across all devices. If the
            number of tokens surpass limit it
            will stay at 9999.
            For example: “9999”.</p>
        daysSinceConsumerDataLastAccountChange:
          type: string
          description: |
            Number of days since account
            settings were changed (e.g.
            password change). If the number
            of days surpass it will stay at
            9999.
            For example: “9999”.
          minLength: 1
          maxLength: 4
          x-gitbook-description-html: |-
            <p>Number of days since account
            settings were changed (e.g.
            password change). If the number
            of days surpass it will stay at
            9999.
            For example: “9999”.</p>
        numberOfTransactionsInLast12Months:
          type: string
          description: |
            Number of transaction on this
            account in the last 12 months.
            If the number of transaction
            surpass limit it will stay at 9999.
            For example: “9999”.
          minLength: 1
          maxLength: 4
          x-gitbook-description-html: |-
            <p>Number of transaction on this
            account in the last 12 months.
            If the number of transaction
            surpass limit it will stay at 9999.
            For example: “9999”.</p>
        accountEmailLife:
          type: string
          description: >-
            Number of months passed since the  account's email was last updated.


            **This field is sent in case of UPI and DISCOVER schemes. For other
            schemes, this field is not sent.**
          minLength: 1
          maxLength: 4
          examples:
            - '14'
          x-gitbook-description-html: >-
            <p>Number of months passed since the  account's email was last
            updated.</p>

            <p><strong>This field is sent in case of UPI and DISCOVER schemes.
            For other schemes, this field is not sent.</strong></p>
    cardCaptureInformation:
      type: object
      properties:
        cardHolderName:
          type: string
          description: |-
            card holder name entered by the user on the device
            The format is LASTNAME/FIRSTNAME or FIRSTNAME LASTNAME
          maxLength: 256
          minLength: 1
          x-gitbook-description-html: |-
            <p>card holder name entered by the user on the device
            The format is LASTNAME/FIRSTNAME or FIRSTNAME LASTNAME</p>
        captureMethod:
          $ref: '#/components/schemas/captureMethod'
        deviceLocation:
          type: string
          description: |
            It can be:<br/>
            • Short location description, for ex: "+37/-121"<br/>
            • Extended location description, for ex: "+37.23/-121.23"
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: |-
            <p>It can be:<br>
            • Short location description, for ex: "+37/-121"<br>
            • Extended location description, for ex: "+37.23/-121.23"</p>
        sourceIp:
          type: string
          maxLength: 256
          minLength: 1
          description: Current device IP address
          x-gitbook-description-html: <p>Current device IP address</p>
        address:
          type: object
          description: |-
            address of th wallet user provided by the wallet provider
            each address field is encode in UTF-8 characters.
            Characters allowed are:
            • White space
            • Letters (a to z, A to Z)
            • Numbers (0 to 9)
            • Period (.)
            • Comma (,)
            • Single quote (‘)
            • Hyphen (-)
            • Underscore (_)
            • Hashtag (#)
            • Colon (:)
            • Forward slash (/)
          properties:
            addressStreetOne:
              type: string
              maxLength: 256
              minLength: 1
              description: main address street
              x-gitbook-description-html: <p>main address street</p>
            addressStreetTwo:
              type: string
              maxLength: 256
              minLength: 1
              description: secondary address street
              x-gitbook-description-html: <p>secondary address street</p>
            addressCity:
              type: string
              maxLength: 128
              minLength: 1
              description: address city
              x-gitbook-description-html: <p>address city</p>
            addressState:
              type: string
              maxLength: 128
              minLength: 1
              description: State or province code associated with the address.
              x-gitbook-description-html: <p>State or province code associated with the address.</p>
            addressZip:
              type: string
              maxLength: 10
              minLength: 1
              description: address zip code
              x-gitbook-description-html: <p>address zip code</p>
            addressCountry:
              type: string
              maxLength: 128
              minLength: 1
              description: >-
                address country

                Country in ISO 3166-1 alpha-2 (VISA) or alpha-3 (MASTERCARD)
                format, for example, 'US' or 'USA'
              x-gitbook-description-html: >-
                <p>address country

                Country in ISO 3166-1 alpha-2 (VISA) or alpha-3 (MASTERCARD)
                format, for example, 'US' or 'USA'</p>
          x-gitbook-description-html: |-
            <p>address of th wallet user provided by the wallet provider
            each address field is encode in UTF-8 characters.
            Characters allowed are:
            • White space
            • Letters (a to z, A to Z)
            • Numbers (0 to 9)
            • Period (.)
            • Comma (,)
            • Single quote (‘)
            • Hyphen (-)
            • Underscore (_)
            • Hashtag (#)
            • Colon (:)
            • Forward slash (/)</p>
        cardHolderIdType:
          type: string
          description: |-
            The cardholder's ID type, the possible values are:
            |Type|Description|
            |----|-----------|
            |01|Identification Card|
            |02|Military ID Card|
            |03|Passport|
            |04|Home-visit Permit|
            |05|Taiwan Compatroit Permit|
            |06|Police ID Card|
            |07|Soldier ID Card|
            |99|The others|

            **This field is only applicable to UPI scheme**
          examples:
            - '01'
          x-gitbook-description-html: >-
            <p>The cardholder's ID type, the possible values are:</p>










































            <table><thead><tr><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>01</td><td>Identification
            Card</td></tr><tr><td>02</td><td>Military ID
            Card</td></tr><tr><td>03</td><td>Passport</td></tr><tr><td>04</td><td>Home-visit
            Permit</td></tr><tr><td>05</td><td>Taiwan Compatroit
            Permit</td></tr><tr><td>06</td><td>Police ID
            Card</td></tr><tr><td>07</td><td>Soldier ID
            Card</td></tr><tr><td>99</td><td>The
            others</td></tr></tbody></table>

            <p><strong>This field is only applicable to UPI scheme</strong></p>
        cardHolderIdNo:
          type: string
          description: >-
            This is the identification no. of the cardholder type choosen by the
            cardholder. 


            **This field is only applicable to UPI scheme**
          maxLength: 20
          x-gitbook-description-html: >-
            <p>This is the identification no. of the cardholder type choosen by
            the cardholder.</p>

            <p><strong>This field is only applicable to UPI scheme</strong></p>
    scoringInformation:
      type: object
      properties:
        levelOfTrust:
          type: string
          description: >
            Wallet Provider Level of trust of the customer and provided Card
            Information

            Value can be:

            - 'green' : good level of trust, no particular ID&V requested

            - 'yellow' : warning, ID&V is required needed

            - 'orange' : suspect a fraud

            Conditional: It depends on the Wallet Provider, if this information
            is provided or not.
          maxLength: 32
          enum:
            - green
            - yellow
            - orange
          x-gitbook-description-html: >-
            <p>Wallet Provider Level of trust of the customer and provided Card
            Information

            Value can be:</p>

            <ul>

            <li>'green' : good level of trust, no particular ID&#x26;V
            requested</li>

            <li>'yellow' : warning, ID&#x26;V is required needed</li>

            <li>'orange' : suspect a fraud

            Conditional: It depends on the Wallet Provider, if this information
            is provided or not.</li>

            </ul>
        tspScore:
          type: string
          pattern: ^[0-5]{1,2}$
          description: Token Service Provider scoring (1 to 5)
          x-gitbook-description-html: <p>Token Service Provider scoring (1 to 5)</p>
        reasonCodes:
          type: array
          maxLength: 100
          description: >
            This is a list of reason provided by the WalletProvider to explain
            the levelOfTrust.


            In case of levelOfTrust=green, this field might be applicable only
            for MDES if cardCapture=TOKEN. This is to indicate the verification
            method used on the token.


            |reasonCode |In case of Yellow flow description|

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

            |01 |User Wallet Account ID too new relative to launch|

            |02 |User Wallet Account ID too new relative to provisioning
            request|

            |03 |User Wallet Account ID/Card Pair is newer than date threshold|

            |04 |Changes made to account data within date threshold|

            |05 |Suspicious transactions linked to this account.|

            |06 |The Account has not had activity in the last year.|

            |07 |Suspended cards in the secure element|

            |08 |The device was put in lost mode in the last 7 days for longer
            than the duration threshold|

            |09 |The number of provisioning attempts on this device in 72 hours
            exceeds the threshold|

            |0A |There have been more than the threshold number of different
            cards attempted at provisioning to this phone in 24 hours.|

            |0B |The card provisioning request contains a distinct name in
            excess of the permitted threshold|

            |0C |Device Score is less than 3|

            |0D |Account Score is less than 4|

            |0E |Device provisioning location outside of OEM marketplace store
            home country|

            |0F |Model rules not available at this time (in cases where back end
            systems time out).|

            |0G |Orange path flag|

            |0H |Phone Number Score is less than 3|

            |V1 |Card holder name does not match Wallet Name|

            |V2 |Account to device binding age is low|

            |VC |No transactions in the last month|



            |reasonCode |In case of Green flow description|

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

            |A0 |This has not to be taken as a risk. Verification from recently
            approved token within the system time validation window. Applies
            only to MDES and corresponds to RECENT_APPROVED_TOKEN|

            |A1 |This has not to be taken as a risk. Verification from recently
            cardholder authentication within the system time validation window.
            Applies only to MDES and corresponds to
            RECENT_CARDHOLDER_AUTHENTICATION|

            |A2 |This has not to be taken as a risk. Verification from a DSRP
            cryptogram provided as proof of authentication by a device. Applies
            only to MDES and corresponds to DEVICE_AUTHENTICATION_VERIFIED|
          items:
            type: string
            maxLength: 32
          x-gitbook-description-html: >-
            <p>This is a list of reason provided by the WalletProvider to
            explain the levelOfTrust.</p>

            <p>In case of levelOfTrust=green, this field might be applicable
            only for MDES if cardCapture=TOKEN. This is to indicate the
            verification method used on the token.</p>


























































































            <table><thead><tr><th>reasonCode</th><th>In case of Yellow flow
            description</th></tr></thead><tbody><tr><td>01</td><td>User Wallet
            Account ID too new relative to
            launch</td></tr><tr><td>02</td><td>User Wallet Account ID too new
            relative to provisioning request</td></tr><tr><td>03</td><td>User
            Wallet Account ID/Card Pair is newer than date
            threshold</td></tr><tr><td>04</td><td>Changes made to account data
            within date threshold</td></tr><tr><td>05</td><td>Suspicious
            transactions linked to this account.</td></tr><tr><td>06</td><td>The
            Account has not had activity in the last
            year.</td></tr><tr><td>07</td><td>Suspended cards in the secure
            element</td></tr><tr><td>08</td><td>The device was put in lost mode
            in the last 7 days for longer than the duration
            threshold</td></tr><tr><td>09</td><td>The number of provisioning
            attempts on this device in 72 hours exceeds the
            threshold</td></tr><tr><td>0A</td><td>There have been more than the
            threshold number of different cards attempted at provisioning to
            this phone in 24 hours.</td></tr><tr><td>0B</td><td>The card
            provisioning request contains a distinct name in excess of the
            permitted threshold</td></tr><tr><td>0C</td><td>Device Score is less
            than 3</td></tr><tr><td>0D</td><td>Account Score is less than
            4</td></tr><tr><td>0E</td><td>Device provisioning location outside
            of OEM marketplace store home
            country</td></tr><tr><td>0F</td><td>Model rules not available at
            this time (in cases where back end systems time
            out).</td></tr><tr><td>0G</td><td>Orange path
            flag</td></tr><tr><td>0H</td><td>Phone Number Score is less than
            3</td></tr><tr><td>V1</td><td>Card holder name does not match Wallet
            Name</td></tr><tr><td>V2</td><td>Account to device binding age is
            low</td></tr><tr><td>VC</td><td>No transactions in the last
            month</td></tr></tbody></table>






















            <table><thead><tr><th>reasonCode</th><th>In case of Green flow
            description</th></tr></thead><tbody><tr><td>A0</td><td>This has not
            to be taken as a risk. Verification from recently approved token
            within the system time validation window. Applies only to MDES and
            corresponds to
            RECENT_APPROVED_TOKEN</td></tr><tr><td>A1</td><td>This has not to be
            taken as a risk. Verification from recently cardholder
            authentication within the system time validation window. Applies
            only to MDES and corresponds to
            RECENT_CARDHOLDER_AUTHENTICATION</td></tr><tr><td>A2</td><td>This
            has not to be taken as a risk. Verification from a DSRP cryptogram
            provided as proof of authentication by a device. Applies only to
            MDES and corresponds to
            DEVICE_AUTHENTICATION_VERIFIED</td></tr></tbody></table>
        deviceScore:
          type: string
          pattern: ^[0-5]{1,2}$
          description: >-
            Wallet Provider Device scoring, scoring is a level of trust between
            1 and 5, 5 is most trusted.
          x-gitbook-description-html: >-
            <p>Wallet Provider Device scoring, scoring is a level of trust
            between 1 and 5, 5 is most trusted.</p>
        deviceTenure:
          type: string
          description: Device tenure in number of days
          pattern: ^[0-9]{1,6}$
          x-gitbook-description-html: <p>Device tenure in number of days</p>
        deviceTokens:
          type: string
          description: Number of tokens in device
          pattern: ^[0-9]{1,4}$
          x-gitbook-description-html: <p>Number of tokens in device</p>
        deviceCountry:
          type: string
          description: Device country code as per ISO-3166-Alpha-2
          maxLength: 2
          minLength: 2
          x-gitbook-description-html: <p>Device country code as per ISO-3166-Alpha-2</p>
        devicePayJoinDate:
          type: string
          description: >-
            The date on which the device joined the Wallet Provider digital
            payment service. In UTC timezone, example '2018-01-01Z'.
          maxLength: 32
          x-gitbook-description-html: >-
            <p>The date on which the device joined the Wallet Provider digital
            payment service. In UTC timezone, example '2018-01-01Z'.</p>
        accountScore:
          type: string
          pattern: ^[0-5]{1,2}$
          description: >-
            Wallet Provider account scoring, scoring is a level of trust between
            1 and 5, 5 is most trusted.
          x-gitbook-description-html: >-
            <p>Wallet Provider account scoring, scoring is a level of trust
            between 1 and 5, 5 is most trusted.</p>
        accountCreationDate:
          type: string
          description: >-
            Wallet Provider account creation date. In UTC timezone, example
            '2017-01-01Z'.
          maxLength: 32
          x-gitbook-description-html: >-
            <p>Wallet Provider account creation date. In UTC timezone, example
            '2017-01-01Z'.</p>
        accountLastUpdateDate:
          type: string
          maxLength: 64
          description: >-
            The date corresponding to the Wallet Provider account last update.
            In UTC timezone, example '2017-06-01Z'.
          x-gitbook-description-html: >-
            <p>The date corresponding to the Wallet Provider account last
            update. In UTC timezone, example '2017-06-01Z'.</p>
        userTenure:
          type: string
          description: User tenure in number of days
          pattern: ^[0-9]{1,6}$
          x-gitbook-description-html: <p>User tenure in number of days</p>
        userTokens:
          type: string
          description: Number of tokens for user
          pattern: ^[0-9]{1,4}$
          x-gitbook-description-html: <p>Number of tokens for user</p>
        userWallets:
          type: string
          description: Number of wallets for user
          pattern: ^[0-9]{1,4}$
          x-gitbook-description-html: <p>Number of wallets for user</p>
        userCountry:
          type: string
          description: User country code as per ISO-3166-Alpha-2
          maxLength: 2
          minLength: 2
          x-gitbook-description-html: <p>User country code as per ISO-3166-Alpha-2</p>
        userPayJoinDate:
          type: string
          maxLength: 64
          description: >-
            The date on which the user joined the Wallet Provider digital
            payment service. In UTC timezone, example '2018-01-01Z'.
          x-gitbook-description-html: >-
            <p>The date on which the user joined the Wallet Provider digital
            payment service. In UTC timezone, example '2018-01-01Z'.</p>
        phoneNumberScore:
          type: string
          pattern: ^[0-5]{1,2}$
          description: >-
            Phone number scoring made by the wallet provider, scoring is a level
            of trust between 1 and 5, 5 is most trusted.
          x-gitbook-description-html: >-
            <p>Phone number scoring made by the wallet provider, scoring is a
            level of trust between 1 and 5, 5 is most trusted.</p>
        walletScore:
          type: string
          pattern: ^[0-5]{1,2}$
          description: >-
            Wallet Provider Account scoring, scoring is a level of trust between
            1 and 5, 5 is most trusted.
          x-gitbook-description-html: >-
            <p>Wallet Provider Account scoring, scoring is a level of trust
            between 1 and 5, 5 is most trusted.</p>
        walletTenure:
          type: string
          description: Wallet tenure in number of days
          pattern: ^[0-9]{1,6}$
          x-gitbook-description-html: <p>Wallet tenure in number of days</p>
        walletTransactions:
          type: string
          description: Number of transactions by the wallet
          pattern: ^[0-9]{1,4}$
          x-gitbook-description-html: <p>Number of transactions by the wallet</p>
        cardScore:
          type: string
          pattern: ^[0-5]{1,2}$
          description: >-
            Card scoring, scoring is a level of trust between 1 and 5, 5 is most
            trusted.
          x-gitbook-description-html: >-
            <p>Card scoring, scoring is a level of trust between 1 and 5, 5 is
            most trusted.</p>
        cardTenure:
          type: string
          description: Card tenure in number of days
          pattern: ^[0-9]{1,6}$
          x-gitbook-description-html: <p>Card tenure in number of days</p>
        cardNewlyAdded:
          type: boolean
          description: >
            Flag indicating if the card is added as well the card on file manage
            by the wallet provider during the current token provisioning
            attempt. False if the card was already on file (provided only in
            case of google pay)
          x-gitbook-description-html: >-
            <p>Flag indicating if the card is added as well the card on file
            manage by the wallet provider during the current token provisioning
            attempt. False if the card was already on file (provided only in
            case of google pay)</p>
        levelOfTrustStandardVersion:
          type: string
          description: "Version number of standard set applied beginning with 0001.00.(please refer to OEM for detailed description)\r\n**Note**: This parameter is not supported by Discover"
          maxLength: 16
          minLength: 1
          x-gitbook-description-html: "<p>Version number of standard set applied beginning with 0001.00.(please refer to OEM for detailed description)\r\n<strong>Note</strong>: This parameter is not supported by Discover</p>"
    deviceInformation:
      type: object
      properties:
        tokenStorageId:
          $ref: '#/components/schemas/tokenStorageId'
        tokenStorageType:
          $ref: '#/components/schemas/tokenStorageType'
        manufacturer:
          type: string
          description: Device manufacturer name
          maxLength: 32
          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
          minLength: 1
          maxLength: 64
          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.

            Description:
            -NETWORK_SET
            -CONSUMER_SET
          maxLength: 32
          x-gitbook-description-html: |-
            <p>who set the timezone.</p>
            <p>Description:
            -NETWORK_SET
            -CONSUMER_SET</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

            Description:
            -CELLULAR
            -WIFI
          maxLength: 32
          x-gitbook-description-html: |-
            <p>Type of network use for enrollment</p>
            <p>Description:
            -CELLULAR
            -WIFI</p>
    deviceInformationRCD:
      type: object
      x-stoplight:
        id: zyxt4aq657ct1
      properties:
        tokenStorageId:
          $ref: '#/components/schemas/tokenStorageId'
        tokenStorageType:
          $ref: '#/components/schemas/tokenStorageType'
        manufacturer:
          type: string
          description: Device manufacturer name
          maxLength: 32
          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
          minLength: 1
          maxLength: 64
          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.

            Description:
            -NETWORK_SET
            -CONSUMER_SET
          maxLength: 32
          x-gitbook-description-html: |-
            <p>who set the timezone.</p>
            <p>Description:
            -NETWORK_SET
            -CONSUMER_SET</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

            Description:
            -CELLULAR
            -WIFI
          maxLength: 32
          x-gitbook-description-html: |-
            <p>Type of network use for enrollment</p>
            <p>Description:
            -CELLULAR
            -WIFI</p>
        platform:
          enum:
            - ANDROID
            - IOS
            - WINDOWS
            - TIZEN
            - BLACKBERRY
            - ANDROID_WEAR
            - EMBEDDED_OS
            - OTHER
          description: It holds the name of the device OS system as provided by the scheme
          x-gitbook-description-html: >-
            <p>It holds the name of the device OS system as provided by the
            scheme</p>
    deviceInformationGTI:
      type: object
      properties:
        tokenStorageId:
          $ref: '#/components/schemas/tokenStorageId'
        tokenStorageType:
          $ref: '#/components/schemas/tokenStorageType'
        manufacturer:
          type: string
          description: Device manufacturer name
          maxLength: 32
          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
          minLength: 1
          maxLength: 64
          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.

            Description:
            -NETWORK_SET
            -CONSUMER_SET
          maxLength: 32
          x-gitbook-description-html: |-
            <p>who set the timezone.</p>
            <p>Description:
            -NETWORK_SET
            -CONSUMER_SET</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

            Description:
            -CELLULAR
            -WIFI
          maxLength: 32
          x-gitbook-description-html: |-
            <p>Type of network use for enrollment</p>
            <p>Description:
            -CELLULAR
            -WIFI</p>
    cipheredCardInfo:
      maxLength: 8196
      minLength: 1
      type: string
      description: "TSH sends Card information as a JSON.\n\nThis value is encrypted using the PKCS#7 encryption scheme defined in RFC 2315/5652 using following encryption parameters:<br/>\n* The content encryption algorithm used is AES256/CBC/PKCS7Padding using a randomly generated AES key.\n* 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/>\nThe key encryption algorithm is defined during onboarding and is by default (if ommitted) the RSA/NONE/PKCS1Padding for legacy purpose.<br/>\nIt is recommended to configure RSA/NONE/OAEPWithSHA256AndMGF1Padding (with MGF1 using SHA-256) for new issuers.\n\n* The encryption result is then encoded using base64.<br/>\n* The public key length in the certificate can be 2048-bit or 4096-bit.\n\nOnce deciphered, the cardInfo contains the following information:<br/>\n\n|JSON field parameter name |description |MOC |Length |\n|--------------------------|------------|----|-------|\n|fpan |The funding pan to digitize |M |Up to 19 |\n|exp |The expiry date in the format MMYY |O |4 |\n|cvv |Depending of the OEM and scheme, this value is provided or not |O |3 or 4 |\n|additionalCardInfos | Optional JSON Open format, in order to add additional card info - project dependent|O|Up to 8177|\n|originalToken | The device-based token used to request the digitization |O|Up to 19|\n|originalTokenReferenceID | The unique reference of the original Token |O|Up to 32|\n|originalTokenAssuranceLevel | The assurance level of the orginal Token - RFU|O|2|\n\n<br/>\n\n\n**Examples:**\n\n``` javascript\n  Example 1\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n  }\n\n  Example 2\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    “cvv\":\"765”\n  }\n\n  Example 3\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    “cvv\":\"765”,\n    \"additionalCardInfos\": {\n      \"archiveReference\": “90217095220928”\n    }\n  }\n\n  Example 4\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    \"additionalCardInfos\": {\n      \"pin\": “06123456FFFFFFFF”\n    }\n  }\n\t\t\n\tExample 5: Token for Token digitization\n\t{\n\t\t\"fpan\":\"1234567891234567\",\n\t\t\"exp\":\"1218\",\n\t\t“cvv\":\"765”,\n\t\t\"originalToken\":\"4532111111111112\",\n\t\t\"originalTokenReferenceID\":\"DNITHE381835220225004085\",\n\t\t\"originalTokenAssuranceLevel\":\"\"\n\t}\n\t\t\n```\n\n*Note*: \n1. **This parameter is optional**, If it not provided, the Issuer must rely on the **issuerCardRefId** to find the funding card to digitize. **cipheredCardInfo**  and **issuerCardRefId** are exclusive.<br/>\n2. **pin** is sent inside **additionalCardInfos** only in case of UPI scheme. It is generally sent for Debit cards.<br/>\n3. originalToken,originalTokenReferenceID and originalTokenAssuranceLevel are provided ONLY by VISA in case of a Token for Token digitization flow.<br/>\n"
      x-gitbook-description-html: "<p>TSH sends Card information as a JSON.</p>\n<p>This value is encrypted using the PKCS#7 encryption scheme defined in RFC 2315/5652 using following encryption parameters:<br></p>\n<ul>\n<li>\n<p>The content encryption algorithm used is AES256/CBC/PKCS7Padding using a randomly generated AES key.</p>\n</li>\n<li>\n<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>\nThe key encryption algorithm is defined during onboarding and is by default (if ommitted) the RSA/NONE/PKCS1Padding for legacy purpose.<br>\nIt is recommended to configure RSA/NONE/OAEPWithSHA256AndMGF1Padding (with MGF1 using SHA-256) for new issuers.</p>\n</li>\n<li>\n<p>The encryption result is then encoded using base64.<br></p>\n</li>\n<li>\n<p>The public key length in the certificate can be 2048-bit or 4096-bit.</p>\n</li>\n</ul>\n<p>Once deciphered, the cardInfo contains the following information:<br></p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<table><thead><tr><th>JSON field parameter name</th><th>description</th><th>MOC</th><th>Length</th></tr></thead><tbody><tr><td>fpan</td><td>The funding pan to digitize</td><td>M</td><td>Up to 19</td></tr><tr><td>exp</td><td>The expiry date in the format MMYY</td><td>O</td><td>4</td></tr><tr><td>cvv</td><td>Depending of the OEM and scheme, this value is provided or not</td><td>O</td><td>3 or 4</td></tr><tr><td>additionalCardInfos</td><td>Optional JSON Open format, in order to add additional card info - project dependent</td><td>O</td><td>Up to 8177</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>\n<br>\n<p><strong>Examples:</strong></p>\n<pre><code class=\"language-javascript\">  Example 1\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n  }\n\n  Example 2\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    “cvv\":\"765”\n  }\n\n  Example 3\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    “cvv\":\"765”,\n    \"additionalCardInfos\": {\n      \"archiveReference\": “90217095220928”\n    }\n  }\n\n  Example 4\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    \"additionalCardInfos\": {\n      \"pin\": “06123456FFFFFFFF”\n    }\n  }\n\t\t\n\tExample 5: Token for Token digitization\n\t{\n\t\t\"fpan\":\"1234567891234567\",\n\t\t\"exp\":\"1218\",\n\t\t“cvv\":\"765”,\n\t\t\"originalToken\":\"4532111111111112\",\n\t\t\"originalTokenReferenceID\":\"DNITHE381835220225004085\",\n\t\t\"originalTokenAssuranceLevel\":\"\"\n\t}\n\t\t\n</code></pre>\n<p><em>Note</em>:</p>\n<ol>\n<li><strong>This parameter is optional</strong>, If it not provided, the Issuer must rely on the <strong>issuerCardRefId</strong> to find the funding card to digitize. <strong>cipheredCardInfo</strong>  and <strong>issuerCardRefId</strong> are exclusive.<br></li>\n<li><strong>pin</strong> is sent inside <strong>additionalCardInfos</strong> only in case of UPI scheme. It is generally sent for Debit cards.<br></li>\n<li>originalToken,originalTokenReferenceID and originalTokenAssuranceLevel are provided ONLY by VISA in case of a Token for Token digitization flow.<br></li>\n</ol>"
    deviceBindingReference:
      type: string
      maxLength: 64
      description: >-
        Reference of the device binding process/link to the Virtual Card,
        reference is unique per token. It helps to identify each device link to
        a given Virtual Card.

        Note this field corresponds to:

        * the deviceIndex for VTS

        * the authCorrelationId for MDES 
      x-gitbook-description-html: >-
        <p>Reference of the device binding process/link to the Virtual Card,
        reference is unique per token. It helps to identify each device link to
        a given Virtual Card.

        Note this field corresponds to:</p>

        <ul>

        <li>the deviceIndex for VTS</li>

        <li>the authCorrelationId for MDES</li>

        </ul>
    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>
    optionaIssuerCardRefId:
      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/> *The following is valid for
        enrolment of domestic card (not valid for VISA & Mastercard)*: **This
        parameter is optional**, If it not provided, the Issuer must rely on the
        **cipheredCardInfo** to get the funding PAN and find the funding card to
        digitize.<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> <em>The following is
        valid for enrolment of domestic card (not valid for VISA &#x26;
        Mastercard)</em>: <strong>This parameter is optional</strong>, If it not
        provided, the Issuer must rely on the <strong>cipheredCardInfo</strong>
        to get the funding PAN and find the funding card to digitize.<br></p>
    tokenRequestor:
      type: object
      description: '**Applies to ITSP solution only**'
      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.<br>

            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<br>
            Applies in case of token for token provisioning</p>
        walletId:
          type: string
          maxLength: 100
          description: |-
            This field applies ONLY to MasterCard, Discover and American Express

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

            <p>Wallet Application Identifier provided and allocated by Scheme
            TSP</p>
        merchantId:
          type: string
          maxLength: 32
          description: |-
            VISA only\
            Unique identifier for merchant
          x-gitbook-description-html: |-
            <p>VISA only<br>
            Unique identifier for merchant</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>
      x-gitbook-description-html: <p><strong>Applies to ITSP solution only</strong></p>
    walletProviderId:
      type: string
      description: >-
        Wallet Provider identifier, defined by Thales.


        <b>When TSH acts as OEM Pay broker:</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|

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

        |WALLET|Generic NFC/QR Code Wallet provider |

        |ECOM |Generic Merchant Wallet Provider ID managing CoF token |


        NOTE:

        It is possible to assign a specific "walletProviderId" for a given TRID.
        This configuration can be achieved during the project on-boarding phase
        only.


        Please check the "Wallet Provider ID Mapping" page in the "API
        Reference" section.
      minLength: 1
      maxLength: 128
      x-gitbook-description-html: >-
        <p>Wallet Provider identifier, defined by Thales.</p>

        <p><b>When TSH acts as OEM Pay broker:</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>WALLET</td><td>Generic
        NFC/QR Code Wallet provider</td></tr><tr><td>ECOM</td><td>Generic
        Merchant Wallet Provider ID managing CoF token</td></tr></tbody></table>

        <p>NOTE:

        It is possible to assign a specific "walletProviderId" for a given TRID.
        This configuration can be achieved during the project on-boarding phase
        only.</p>

        <p>Please check the "Wallet Provider ID Mapping" page in the "API
        Reference" section.</p>
    captureMethod:
      description: >-
        Method used by the user or the issuer to capture card information to
        digitize.


        Description:

        - CAMERA: when card information is captured by the on-device camera

        - MANUAL: when the consumer enters the card information manually,
        through the device keyboard

        - BANK_APP: when the card information is exchanged between the banking
        App and the Issuer App

        - ON-FILE: when the card information is retrieved by a merchant who has
        stored the card information

        - READER_MODE: when the card information is retrieved through a NFC
        interaction between the device and the physical card (applicable to
        VISA, MASTERCARD, AMEX, DISCOVER and some domestic schemes)

        - TOKEN: when the card information is retrieved through a device-based
        token. This is applicable only to VISA and MASTERCARD schemes

        - CHIP_DIP: card information is captured by inserting (dip) the card
        into a terminal (applicable to VISA & MASTERCARD)

        - WEB_BROWSER: card information (PAN) is captured through a web browser
        (applicable only to MasterCard & AMEX schemes)

        - UNKNOWN: the origin of the card information is unknown  
      type: string
      maxLength: 64
      x-gitbook-description-html: >-
        <p>Method used by the user or the issuer to capture card information to
        digitize.</p>

        <p>Description:</p>

        <ul>

        <li>CAMERA: when card information is captured by the on-device
        camera</li>

        <li>MANUAL: when the consumer enters the card information manually,
        through the device keyboard</li>

        <li>BANK_APP: when the card information is exchanged between the banking
        App and the Issuer App</li>

        <li>ON-FILE: when the card information is retrieved by a merchant who
        has stored the card information</li>

        <li>READER_MODE: when the card information is retrieved through a NFC
        interaction between the device and the physical card (applicable to
        VISA, MASTERCARD, AMEX, DISCOVER and some domestic schemes)</li>

        <li>TOKEN: when the card information is retrieved through a device-based
        token. This is applicable only to VISA and MASTERCARD schemes</li>

        <li>CHIP_DIP: card information is captured by inserting (dip) the card
        into a terminal (applicable to VISA &#x26; MASTERCARD)</li>

        <li>WEB_BROWSER: card information (PAN) is captured through a web
        browser (applicable only to MasterCard &#x26; AMEX schemes)</li>

        <li>UNKNOWN: the origin of the card information is unknown</li>

        </ul>
    productId:
      type: string
      description: >-
        Unique identifier of the card product associated to the card to
        digitize.


        It is used by TSH or the TSP scheme to identify the proper card arts and
        card profile metadata to send to the wallet.


        In case of an international scheme, card arts and card metadata are
        configured by the Issuer with the scheme directly, TSH does not host any
        data.


        Conditional field:

        * For international schemes: the field is required or not according to
        the configuration the Issuer has choosen with the scheme. TSH will
        forward it to the TSP if the field is available.

        * For domestic schemes: required in case TSH is not able to determine
        the card product profile based on the (sub)BIN
      maxLength: 32
      minLength: 1
      x-gitbook-description-html: >-
        <p>Unique identifier of the card product associated to the card to
        digitize.</p>

        <p>It is used by TSH or the TSP scheme to identify the proper card arts
        and card profile metadata to send to the wallet.</p>

        <p>In case of an international scheme, card arts and card metadata are
        configured by the Issuer with the scheme directly, TSH does not host any
        data.</p>

        <p>Conditional field:</p>

        <ul>

        <li>For international schemes: the field is required or not according to
        the configuration the Issuer has choosen with the scheme. TSH will
        forward it to the TSP if the field is available.</li>

        <li>For domestic schemes: required in case TSH is not able to determine
        the card product profile based on the (sub)BIN</li>

        </ul>
    productIdDigitization:
      type: string
      description: >
        Unique identifier of the card product associated to the card to
        digitize.


        It is used by TSH or the TSP scheme to identify the proper card arts and
        card profile metadata to send to the wallet.


        In case of international schemes, card arts and card metadata are
        configured by the Issuer with the scheme directly, TSH does not host any
        data.


        Conditional field, if provided, TSH will forward it to the TSP.
      maxLength: 32
      minLength: 1
      x-gitbook-description-html: >-
        <p>Unique identifier of the card product associated to the card to
        digitize.</p>

        <p>It is used by TSH or the TSP scheme to identify the proper card arts
        and card profile metadata to send to the wallet.</p>

        <p>In case of international schemes, card arts and card metadata are
        configured by the Issuer with the scheme directly, TSH does not host any
        data.</p>

        <p>Conditional field, if provided, TSH will forward it to the TSP.</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>
    walletCardRefId:
      type: string
      description: |
        Wallet card unique identifier
        Conditional: If provided by Wallet provider.
      minLength: 1
      maxLength: 128
      x-gitbook-description-html: |-
        <p>Wallet card unique identifier
        Conditional: If provided by Wallet provider.</p>
    virtualCardId:
      description: Unique identifier of the virtual card
      type: string
      maxLength: 64
      minLength: 1
      x-gitbook-description-html: <p>Unique identifier of the virtual card</p>
    cardDetails:
      type: object
      properties:
        cardholderName:
          type: string
          description: Name displayed on the card
          maxLength: 256
          minLength: 1
          x-gitbook-description-html: <p>Name displayed on the card</p>
        fpanLastDigits:
          type: string
          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<br/>
            Shall be returned for Apple Pay solution.           
          maxLength: 5
          minLength: 1
          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<br>
            Shall be returned for Apple Pay solution.</p>
        fpanBin:
          type: string
          description: 6 digits of the funding card BIN
          minLength: 6
          maxLength: 6
          x-gitbook-description-html: <p>6 digits of the funding card BIN</p>
        fpanExpiryDate:
          type: string
          description: >-
            Expiry Date to be display close to or on top of Card Art in format
            'mm/yy'
          maxLength: 5
          x-gitbook-description-html: >-
            <p>Expiry Date to be display close to or on top of Card Art in
            format 'mm/yy'</p>
    idvMethod:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 32
          description: A unique identifier of this method
          x-gitbook-description-html: <p>A unique identifier of this method</p>
        type:
          type: string
          minLength: 1
          maxLength: 16
          description: >-
            It is the type of ID&V method supported. In case of ITSP
            configuration, the following values apply:
             |Value | Description|VISA|MasterCard|UPI|
            |-------|-------|:-------:|:-------:|:-------:|

            |'cell_phone'|ID&V based on an OTP sent by SMS|x|x|x|
             |'email'|ID&V based on an OTP sent by email|x|x|x|
              |'bank_app'|ID&V managed through the Bank Application|x|x|x|
             |'outbound_call'|ID&V based on an outbound flow, like, for example, weblink|x|x|-|
             |'customer_service'|ID&V based on Cardholder-initiated call to the Bank customer service|x|x|x|
              |'call'|ID&V based on Issuer-initiated voice call to Cardholder|-|x|-| 
             |'ivr'|ID&V based on Cardholder-initiated call to the Bank IVR system|-|x|-|

             In case of TSP-broker configuration, values depend on the OEMPay:
             |Value | Description|Samsung Pay|Apple Pay|Google Pay|
            |-------|-------|:-------:|:-------:|:-------:|

            |'cell_phone'|ID&V based on an OTP sent by SMS|x|x|x|
             |'email'|ID&V based on an OTP sent by email|x|x|x|
              |'bank_app'|ID&V managed through the Bank Application|x|x|x|
             |'outbound_call'|ID&V based on an outbound flow, like, for example, weblink|x|-|-|
             |'customer_service'|ID&V based on Cardholder-initiated call to the Bank customer service|x|x|x|
             |'call'|ID&V based on Issuer-initiated voice call to the Cardholder|x|x|x|
            <b><u>Note:</u></b><br/>After ID&V of cardholder with option 'call'
            or 'customer_service', Issuer shall trigger a call to TSH using
            updateCardState to activate the virtual card.

          x-gitbook-description-html: >-
            <p>It is the type of ID&#x26;V method supported. In case of ITSP
            configuration, the following values apply:</p>






























































            <table><thead><tr><th>Value</th><th>Description</th><th
            align="center">VISA</th><th align="center">MasterCard</th><th
            align="center">UPI</th></tr></thead><tbody><tr><td>'cell_phone'</td><td>ID&#x26;V
            based on an OTP sent by SMS</td><td align="center">x</td><td
            align="center">x</td><td
            align="center">x</td></tr><tr><td>'email'</td><td>ID&#x26;V based on
            an OTP sent by email</td><td align="center">x</td><td
            align="center">x</td><td
            align="center">x</td></tr><tr><td>'bank_app'</td><td>ID&#x26;V
            managed through the Bank Application</td><td
            align="center">x</td><td align="center">x</td><td
            align="center">x</td></tr><tr><td>'outbound_call'</td><td>ID&#x26;V
            based on an outbound flow, like, for example, weblink</td><td
            align="center">x</td><td align="center">x</td><td
            align="center">-</td></tr><tr><td>'customer_service'</td><td>ID&#x26;V
            based on Cardholder-initiated call to the Bank customer
            service</td><td align="center">x</td><td align="center">x</td><td
            align="center">x</td></tr><tr><td>'call'</td><td>ID&#x26;V based on
            Issuer-initiated voice call to Cardholder</td><td
            align="center">-</td><td align="center">x</td><td
            align="center">-</td></tr><tr><td>'ivr'</td><td>ID&#x26;V based on
            Cardholder-initiated call to the Bank IVR system</td><td
            align="center">-</td><td align="center">x</td><td
            align="center">-</td></tr></tbody></table>

            <p>In case of TSP-broker configuration, values depend on the
            OEMPay:</p>






























































            <table><thead><tr><th>Value</th><th>Description</th><th
            align="center">Samsung Pay</th><th align="center">Apple Pay</th><th
            align="center">Google
            Pay</th></tr></thead><tbody><tr><td>'cell_phone'</td><td>ID&#x26;V
            based on an OTP sent by SMS</td><td align="center">x</td><td
            align="center">x</td><td
            align="center">x</td></tr><tr><td>'email'</td><td>ID&#x26;V based on
            an OTP sent by email</td><td align="center">x</td><td
            align="center">x</td><td
            align="center">x</td></tr><tr><td>'bank_app'</td><td>ID&#x26;V
            managed through the Bank Application</td><td
            align="center">x</td><td align="center">x</td><td
            align="center">x</td></tr><tr><td>'outbound_call'</td><td>ID&#x26;V
            based on an outbound flow, like, for example, weblink</td><td
            align="center">x</td><td align="center">-</td><td
            align="center">-</td></tr><tr><td>'customer_service'</td><td>ID&#x26;V
            based on Cardholder-initiated call to the Bank customer
            service</td><td align="center">x</td><td align="center">x</td><td
            align="center">x</td></tr><tr><td>'call'</td><td>ID&#x26;V based on
            Issuer-initiated voice call to the Cardholder</td><td
            align="center">x</td><td align="center">x</td><td
            align="center">x</td></tr><tr><td><b>Note:</b><br>After ID&#x26;V of
            cardholder with option 'call' or 'customer_service', Issuer shall
            trigger a call to TSH using updateCardState to activate the virtual
            card.</td><td></td><td align="center"></td><td
            align="center"></td><td align="center"></td></tr></tbody></table>
        value:
          type: string
          description: >
            This field contains a value that will be display to the end user for
            this ID&V method.

            Conditional. 

             Note that the field is **Mandatory** in the following cases:
            - cell_phone

            -- it shall be the masked value of the phone number where the OTP
            will be sent via SMS when Issuer is sending the OTP (using sendOTP
            API)

            -- it shall be the complete value of the phone number when TSH is
            sending the OTP (On Behalf Of Issuer OTP sending)

            - email

            -- it shall be the masked value of the mail where the OTP will be
            sent via email when Issuer is sending the OTP (using sendOTP API)

            -- it shall be the complete value of the mail when TSH is sending
            the OTP (On Behalf Of Issuer OTP sending)

            - call 

            -- it aims to be the masked value of the Cardholder's phone number

            - ivr

            -- it aims to be the masked value of the phone number that the
            Cardholder calls

             Please note that in case of 'bank_app', 'customer_service' & 'outbound_call'
            -- default value from onboarding is used. If issuer wants to
            override, new value must be provided in api response.
            
            
            Sending "PUSH_NOTIFICATION" value with type 'bank_app' will provide the option **In-App Verification ID&V via Push** 
            only supported by MDES 
          minLength: 1
          maxLength: 64
          x-gitbook-description-html: >-
            <p>This field contains a value that will be display to the end user
            for this ID&#x26;V method.

            Conditional.</p>

            <p>Note that the field is <strong>Mandatory</strong> in the
            following cases:</p>

            <ul>

            <li>cell_phone

            -- it shall be the masked value of the phone number where the OTP
            will be sent via SMS when Issuer is sending the OTP (using sendOTP
            API)

            -- it shall be the complete value of the phone number when TSH is
            sending the OTP (On Behalf Of Issuer OTP sending)</li>

            <li>email

            -- it shall be the masked value of the mail where the OTP will be
            sent via email when Issuer is sending the OTP (using sendOTP API)

            -- it shall be the complete value of the mail when TSH is sending
            the OTP (On Behalf Of Issuer OTP sending)</li>

            <li>call

            -- it aims to be the masked value of the Cardholder's phone
            number</li>

            <li>ivr

            -- it aims to be the masked value of the phone number that the
            Cardholder calls</li>

            </ul>

            <p>Please note that in case of 'bank_app', 'customer_service' &#x26;
            'outbound_call'

            -- default value from onboarding is used. If issuer wants to
            override, new value must be provided in api response.</p>
        source:
          type: string
          maxLength: 64
          description: >-
            <b>Applicable for ITSP only</b>.<br/>Indicates the source address
            from which the OTP will be sent.

            This field can be used in two different contexts:

            - When used with OTPSMS or OTPEMAIL type, this field is used to
            support auto-vetting for sending an OTP via cell_phone (SMS) or
            email. This field is required. For example, if an SMS will be sent
            from “382-2”, then the sourceAddress would be “382-2”.

            **NOTE**

            Auto-vetting is not currently supported. This attribute will be
            ignored until auto-vetting is supported by Wallet Provider.

            - When used with **bank_app** type, this field can be optionally
            used if the step-up flow mobile banking app is different from the
            mobile banking app used during provisioning. If used, this value
            must contain the appropriate identifier for the associated issuer
            mobile banking_application.

            For Apple, this would be the Apple Adam ID and for Android, this
            would be the Android Package name.
          x-gitbook-description-html: >-
            <p><b>Applicable for ITSP only</b>.<br>Indicates the source address
            from which the OTP will be sent.

            This field can be used in two different contexts:</p>

            <ul>

            <li>When used with OTPSMS or OTPEMAIL type, this field is used to
            support auto-vetting for sending an OTP via cell_phone (SMS) or
            email. This field is required. For example, if an SMS will be sent
            from “382-2”, then the sourceAddress would be “382-2”.

            <strong>NOTE</strong>

            Auto-vetting is not currently supported. This attribute will be
            ignored until auto-vetting is supported by Wallet Provider.</li>

            <li>When used with <strong>bank_app</strong> type, this field can be
            optionally used if the step-up flow mobile banking app is different
            from the mobile banking app used during provisioning. If used, this
            value must contain the appropriate identifier for the associated
            issuer mobile banking_application.

            For Apple, this would be the Apple Adam ID and for Android, this
            would be the Android Package name.</li>

            </ul>
        platform:
          type: string
          maxLength: 64
          description: >-
            <b>Applicable for ITSP only</b>.<br/>Used with *bank_app* type. If
            used, this value must contain the appropriate OS platform for the
            associated issuer mobile banking application.

            Values are:

            - IOS

            - ANDROID

            - WINDOWS

            - WEB
          x-gitbook-description-html: >-
            <p><b>Applicable for ITSP only</b>.<br>Used with <em>bank_app</em>
            type. If used, this value must contain the appropriate OS platform
            for the associated issuer mobile banking application.

            Values are:</p>

            <ul>

            <li>IOS</li>

            <li>ANDROID</li>

            <li>WINDOWS</li>

            <li>WEB</li>

            </ul>
      required:
        - id
        - type
    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|
            |119|Unknown Token|
            |163|Product not supported for mobile payment|
            |164|FPAN Provisioning Count Exceeded|
            |166|Invalid FPAN|
            |167|Card already enrolled|
            |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>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>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:
          maxLength: 256
          type: string
          description: Textual error message
          x-gitbook-description-html: <p>Textual error message</p>
      x-gitbook-description-html: <p>Error Information Response</p>
    cipheredCardInfoEligibility:
      maxLength: 8196
      minLength: 1
      type: string
      description: "TSH sends Card information as a JSON.\n\nThis value is encrypted using the PKCS#7 encryption scheme defined in RFC 2315/5652 using following encryption parameters:<br/>\n* The content encryption algorithm used is AES256/CBC/PKCS7Padding using a randomly generated AES key.\n* 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/>\nThe key encryption algorithm is defined during onboarding and is by default (if ommitted) the RSA/NONE/PKCS1Padding for legacy purpose.<br/>\nIt is recommended to configure RSA/NONE/OAEPWithSHA256AndMGF1Padding (with MGF1 using SHA-256) for new issuers.\n\n* The encryption result is then encoded using base64.<br/>\n* The public key length in the certificate can be 2048-bit or 4096-bit.\n\nOnce deciphered, the cardInfo contains the following information:<br/>\n\n|JSON field parameter name |description |MOC |Length |\n|--------------------------|------------|----|-------|\n|fpan |The funding pan to digitize |M |Up to 19 |\n|exp |The expiry date in the format MMYY |O |4 |\n|cvv |Depending of the OEM and scheme, this value is provided or not |O |3 or 4 |\n|additionalCardInfos | Optional JSON Open format, in order to add additional card info - project dependent|O|Up to 8177|\n<br/>\n\n\n**Examples:**\n\n``` javascript\n  Example 1\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n  }\n\n  Example 2\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    “cvv\":\"765”\n  }\n\n  Example 3\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    “cvv\":\"765”,\n    \"additionalCardInfos\": {\n      \"archiveReference\": “90217095220928”\n    }\n  }\n\n  Example 4\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    \"additionalCardInfos\": {\n      \"pin\": “06123456FFFFFFFF”\n    }\n  }\n\t\t\n\t\n\t\t\n```\n\n*Note*: \n1. **This parameter is optional**, If it not provided, the Issuer must rely on the **issuerCardRefId** to find\nthe funding card to digitize.**cipheredCardInfo**  and **issuerCardRefId** are exclusive <br/>\n2. **pin** is sent inside **additionalCardInfos** only in case of UPI scheme. It is generally sent for Debit cards."
      x-gitbook-description-html: "<p>TSH sends Card information as a JSON.</p>\n<p>This value is encrypted using the PKCS#7 encryption scheme defined in RFC 2315/5652 using following encryption parameters:<br></p>\n<ul>\n<li>\n<p>The content encryption algorithm used is AES256/CBC/PKCS7Padding using a randomly generated AES key.</p>\n</li>\n<li>\n<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>\nThe key encryption algorithm is defined during onboarding and is by default (if ommitted) the RSA/NONE/PKCS1Padding for legacy purpose.<br>\nIt is recommended to configure RSA/NONE/OAEPWithSHA256AndMGF1Padding (with MGF1 using SHA-256) for new issuers.</p>\n</li>\n<li>\n<p>The encryption result is then encoded using base64.<br></p>\n</li>\n<li>\n<p>The public key length in the certificate can be 2048-bit or 4096-bit.</p>\n</li>\n</ul>\n<p>Once deciphered, the cardInfo contains the following information:<br></p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<table><thead><tr><th>JSON field parameter name</th><th>description</th><th>MOC</th><th>Length</th></tr></thead><tbody><tr><td>fpan</td><td>The funding pan to digitize</td><td>M</td><td>Up to 19</td></tr><tr><td>exp</td><td>The expiry date in the format MMYY</td><td>O</td><td>4</td></tr><tr><td>cvv</td><td>Depending of the OEM and scheme, this value is provided or not</td><td>O</td><td>3 or 4</td></tr><tr><td>additionalCardInfos</td><td>Optional JSON Open format, in order to add additional card info - project dependent</td><td>O</td><td>Up to 8177</td></tr></tbody></table>\n<br>\n<p><strong>Examples:</strong></p>\n<pre><code class=\"language-javascript\">  Example 1\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n  }\n\n  Example 2\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    “cvv\":\"765”\n  }\n\n  Example 3\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    “cvv\":\"765”,\n    \"additionalCardInfos\": {\n      \"archiveReference\": “90217095220928”\n    }\n  }\n\n  Example 4\n  {\n    \"fpan\":\"1234567891234567\",\n    \"exp\":\"1218\",\n    \"additionalCardInfos\": {\n      \"pin\": “06123456FFFFFFFF”\n    }\n  }\n\t\t\n\t\n\t\t\n</code></pre>\n<p><em>Note</em>:</p>\n<ol>\n<li><strong>This parameter is optional</strong>, If it not provided, the Issuer must rely on the <strong>issuerCardRefId</strong> to find\nthe funding card to digitize.<strong>cipheredCardInfo</strong>  and <strong>issuerCardRefId</strong> are exclusive <br></li>\n<li><strong>pin</strong> is sent inside <strong>additionalCardInfos</strong> only in case of UPI scheme. It is generally sent for Debit cards.</li>\n</ol>"
    tokenRequestorDgt:
      type: object
      description: '**Applies to ITSP solution only**'
      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.<br>

            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<br>
            Applies in case of token for token provisioning</p>
        walletId:
          type: string
          maxLength: 100
          description: >-
            This field applies ONLY to MasterCard, Discover and American
            Express.


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

            <p>Wallet Application Identifier provided and allocated by Scheme
            TSP</p>
        merchantId:
          type: string
          maxLength: 32
          description: |-
            VISA only\
            Unique identifier for merchant
          x-gitbook-description-html: |-
            <p>VISA only<br>
            Unique identifier for merchant</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<br>

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

            Named by VTS "tokenRequestorTspID"</p>
      x-gitbook-description-html: <p><strong>Applies to ITSP solution only</strong></p>
    tokenType:
      type: string
      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>
    Issuer-gateway-issuer-to-tsh_Oas2_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 , Life Cycle
        Management session and other operation), used to link inbound and
        outbound **requests** of the same session together<br/>
      in: header
      name: x-correlation-id
      required: true
      x-gitbook-description-html: >-
        <p>Unique identifier of a give session (enrolment session , Life Cycle
        Management session and other operation), used to link inbound and
        outbound <strong>requests</strong> of the same session together<br></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>
