openapi: 3.0.1
info:
  title: OpenAPI definition
  version: v0
servers:
- url: http://localhost
  description: Generated server url
paths: {}
components:
  schemas:
    ACSInterfaceEnum:
      type: string
      enum:
      - "01"
      - "02"
    ACSRenderingType:
      type: object
      properties:
        acsInterface:
          $ref: '#/components/schemas/ACSInterfaceEnum'
        acsUiTemplate:
          $ref: '#/components/schemas/ACSUITemplateEnum'
    ACSUITemplateEnum:
      type: string
      enum:
      - "01"
      - "02"
      - "03"
      - "04"
      - "05"
      - "80"
      - "81"
      - "82"
      - "83"
      - "84"
      - "85"
      - "86"
      - "87"
      - "88"
      - "89"
      - "90"
      - "91"
      - "92"
      - "93"
      - "94"
      - "95"
      - "96"
      - "97"
      - "98"
      - "99"
    AuthenticationMethodEnum:
      type: string
      enum:
      - "01"
      - "02"
      - "03"
      - "04"
      - "05"
      - "06"
      - "07"
      - "08"
      - "09"
      - "10"
      - "11"
      - "80"
      - "81"
      - "82"
      - "83"
      - "84"
      - "85"
      - "86"
      - "87"
      - "88"
      - "89"
      - "90"
      - "91"
      - "92"
      - "93"
      - "94"
      - "95"
      - "96"
      - "97"
      - "98"
      - "99"
    AuthenticationTypeEnum:
      type: string
      enum:
      - "01"
      - "02"
      - "03"
      - "04"
      - "80"
      - "81"
      - "82"
      - "83"
      - "84"
      - "85"
      - "86"
      - "87"
      - "88"
      - "89"
      - "90"
      - "91"
      - "92"
      - "93"
      - "94"
      - "95"
      - "96"
      - "97"
      - "98"
      - "99"
    ChallengeCancellationIndicatorEnum:
      type: string
      enum:
      - "01"
      - "03"
      - "04"
      - "05"
      - "06"
      - "07"
      - "08"
      - "80"
      - "81"
      - "82"
      - "83"
      - "84"
      - "85"
      - "86"
      - "87"
      - "88"
      - "89"
      - "90"
      - "91"
      - "92"
      - "93"
      - "94"
      - "95"
      - "96"
      - "97"
      - "98"
      - "99"
    ErrorCodeEnum:
      type: string
      enum:
      - "101"
      - "102"
      - "103"
      - "201"
      - "202"
      - "203"
      - "204"
      - "301"
      - "302"
      - "303"
      - "304"
      - "305"
      - "306"
      - "307"
      - "402"
      - "403"
      - "404"
      - "405"
      - "911"
      - "912"
      - "-1"
    ErrorComponentEnum:
      type: string
      enum:
      - C
      - S
      - D
      - A
    ErrorDetails:
      type: object
      properties:
        threeDSServerTransID:
          type: string
        acsTransID:
          type: string
        dsTransID:
          type: string
        errorCode:
          $ref: '#/components/schemas/ErrorCodeEnum'
        errorComponent:
          $ref: '#/components/schemas/ErrorComponentEnum'
        errorDescription:
          type: string
        errorDetail:
          type: string
        sdkTransID:
          type: string
        errorMessageType:
          $ref: '#/components/schemas/MessageTypeEnum'
    MessageCategoryEnum:
      type: string
      enum:
      - "01"
      - "02"
      - "80"
      - "81"
      - "82"
      - "83"
      - "84"
      - "85"
      - "86"
      - "87"
      - "88"
      - "89"
      - "90"
      - "91"
      - "92"
      - "93"
      - "94"
      - "95"
      - "96"
      - "97"
      - "98"
      - "99"
    MessageExtensionAttribute:
      type: object
      properties:
        name:
          type: string
        id:
          type: string
        criticalityIndicator:
          type: boolean
        data:
          $ref: '#/components/schemas/MessageExtensionData'
    MessageExtensionData:
      type: object
    MessageTypeEnum:
      type: string
      enum:
      - AReq
      - ARes
      - CReq
      - CRes
      - PReq
      - PRes
      - RReq
      - RRes
      - Erro
      - 3dsMethodReq
    ProtocolVersionEnum:
      type: string
      enum:
      - 2.1.0
      - 2.2.0
    ResultsMessageStatusEnum:
      type: string
      enum:
      - "01"
      - "02"
      - "03"
      - "80"
      - "81"
      - "82"
      - "83"
      - "84"
      - "85"
      - "86"
      - "87"
      - "88"
      - "89"
      - "90"
      - "91"
      - "92"
      - "93"
      - "94"
      - "95"
      - "96"
      - "97"
      - "98"
      - "99"
    ResultsRequest:
      type: object
      properties:
        messageType:
          $ref: '#/components/schemas/MessageTypeEnum'
        threeDSServerTransID:
          type: string
        acsTransID:
          type: string
        acsRenderingType:
          $ref: '#/components/schemas/ACSRenderingType'
        authenticationMethod:
          $ref: '#/components/schemas/AuthenticationMethodEnum'
        authenticationType:
          $ref: '#/components/schemas/AuthenticationTypeEnum'
        authenticationValue:
          type: string
        challengeCancel:
          $ref: '#/components/schemas/ChallengeCancellationIndicatorEnum'
        dsTransID:
          type: string
        eci:
          type: string
        interactionCounter:
          type: integer
          format: int32
        messageCategory:
          $ref: '#/components/schemas/MessageCategoryEnum'
        messageExtension:
          type: array
          items:
            $ref: '#/components/schemas/MessageExtensionAttribute'
        messageVersion:
          $ref: '#/components/schemas/ProtocolVersionEnum'
        transStatus:
          $ref: '#/components/schemas/TransactionStatusEnum'
        transStatusReason:
          $ref: '#/components/schemas/TransactionStatusReasonEnum'
        whiteListStatus:
          $ref: '#/components/schemas/WhitelistStatusEnum'
        whiteListStatusSource:
          $ref: '#/components/schemas/WhitelistStatusSourceEnum'
        sdkTransID:
          type: string
    ResultsResponse:
      type: object
      properties:
        messageType:
          $ref: '#/components/schemas/MessageTypeEnum'
        threeDSServerTransID:
          type: string
        acsTransID:
          type: string
        dsTransID:
          type: string
        messageExtension:
          type: array
          items:
            $ref: '#/components/schemas/MessageExtensionAttribute'
        messageVersion:
          $ref: '#/components/schemas/ProtocolVersionEnum'
        resultsStatus:
          $ref: '#/components/schemas/ResultsMessageStatusEnum'
        sdkTransID:
          type: string
    ThreeDSServerResultsResponse:
      type: object
      properties:
        threeDSServerTransID:
          type: string
        transStatus:
          $ref: '#/components/schemas/TransactionStatusEnum'
        authenticationValue:
          type: string
        eci:
          type: string
        resultsRequest:
          $ref: '#/components/schemas/ResultsRequest'
        resultsResponse:
          $ref: '#/components/schemas/ResultsResponse'
        errorDetails:
          $ref: '#/components/schemas/ErrorDetails'
    TransactionStatusEnum:
      type: string
      enum:
      - "Y"
      - "N"
      - U
      - C
      - R
      - A
      - D
      - I
    TransactionStatusReasonEnum:
      type: string
      enum:
      - "01"
      - "02"
      - "03"
      - "04"
      - "05"
      - "06"
      - "07"
      - "08"
      - "09"
      - "10"
      - "11"
      - "12"
      - "13"
      - "14"
      - "15"
      - "16"
      - "17"
      - "18"
      - "19"
      - "20"
      - "21"
      - "22"
      - "23"
      - "24"
      - "25"
      - "26"
      - "80"
      - "81"
      - "82"
      - "83"
      - "84"
      - "85"
      - "86"
      - "87"
      - "88"
      - "89"
      - "90"
      - "91"
      - "92"
      - "93"
      - "94"
      - "95"
      - "96"
      - "97"
      - "98"
      - "99"
    WhitelistStatusEnum:
      type: string
      enum:
      - "Y"
      - "N"
      - E
      - P
      - R
      - U
    WhitelistStatusSourceEnum:
      type: string
      enum:
      - "01"
      - "02"
      - "03"
      - "80"
      - "81"
      - "82"
      - "83"
      - "84"
      - "85"
      - "86"
      - "87"
      - "88"
      - "89"
      - "90"
      - "91"
      - "92"
      - "93"
      - "94"
      - "95"
      - "96"
      - "97"
      - "98"
      - "99"
