Lithic · Capability

Lithic Developer API — 3DS

Lithic Developer API — 3DS. 6 operations. Lead operation: Simulate 3DS authentication. Self-contained Naftiko capability covering one Lithic business surface.

Run with Naftiko Lithic3DS

What You Can Do

POST
Postsimulateauthentication — Simulate 3DS authentication
/v1/v1/three-ds-authentication/simulate
GET
Getthreedsauthenticationbytoken — Get 3DS authentication
/v1/v1/three-ds-authentication/{three-ds-authentication-token}
POST
Post — Respond to a Challenge Request
/v1/v1/three-ds-decisioning/challenge-response
GET
Getthreedsdecisioningsecret — Retrieve the 3DS Decisioning HMAC secret key
/v1/v1/three-ds-decisioning/secret
POST
Rotatethreedsdecisioningsecret — Rotate the 3DS Decisioning HMAC secret key
/v1/v1/three-ds-decisioning/secret/rotate
POST
Post — Simulate entering OTP into 3DS Challenge UI
/v1/v1/three-ds-decisioning/simulate/enter-otp

MCP Tools

simulate-3ds-authentication

Simulate 3DS authentication

get-3ds-authentication

Get 3DS authentication

read-only idempotent
respond-challenge-request

Respond to a Challenge Request

retrieve-3ds-decisioning-hmac-secret

Retrieve the 3DS Decisioning HMAC secret key

read-only idempotent
rotate-3ds-decisioning-hmac-secret

Rotate the 3DS Decisioning HMAC secret key

simulate-entering-otp-3ds-challenge

Simulate entering OTP into 3DS Challenge UI

Capability Spec

lithic-3ds.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Lithic Developer API — 3DS
  description: 'Lithic Developer API — 3DS. 6 operations. Lead operation: Simulate 3DS authentication. Self-contained Naftiko
    capability covering one Lithic business surface.'
  tags:
  - Lithic
  - 3DS
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    LITHIC_API_KEY: LITHIC_API_KEY
capability:
  consumes:
  - type: http
    namespace: lithic-3ds
    baseUri: https://sandbox.lithic.com
    description: Lithic Developer API — 3DS business capability. Self-contained, no shared references.
    resources:
    - name: v1-three_ds_authentication-simulate
      path: /v1/three_ds_authentication/simulate
      operations:
      - name: postsimulateauthentication
        method: POST
        description: Simulate 3DS authentication
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-three_ds_authentication-three_ds_authentication_token
      path: /v1/three_ds_authentication/{three_ds_authentication_token}
      operations:
      - name: getthreedsauthenticationbytoken
        method: GET
        description: Get 3DS authentication
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: three_ds_authentication_token
          in: path
          type: string
          description: Globally unique identifier for the 3DS authentication.
          required: true
    - name: v1-three_ds_decisioning-challenge_response
      path: /v1/three_ds_decisioning/challenge_response
      operations:
      - name: post
        method: POST
        description: Respond to a Challenge Request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-three_ds_decisioning-secret
      path: /v1/three_ds_decisioning/secret
      operations:
      - name: getthreedsdecisioningsecret
        method: GET
        description: Retrieve the 3DS Decisioning HMAC secret key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-three_ds_decisioning-secret-rotate
      path: /v1/three_ds_decisioning/secret/rotate
      operations:
      - name: rotatethreedsdecisioningsecret
        method: POST
        description: Rotate the 3DS Decisioning HMAC secret key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-three_ds_decisioning-simulate-enter_otp
      path: /v1/three_ds_decisioning/simulate/enter_otp
      operations:
      - name: post
        method: POST
        description: Simulate entering OTP into 3DS Challenge UI
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.LITHIC_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: lithic-3ds-rest
    port: 8080
    description: REST adapter for Lithic Developer API — 3DS. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/three-ds-authentication/simulate
      name: v1-three-ds-authentication-simulate
      description: REST surface for v1-three_ds_authentication-simulate.
      operations:
      - method: POST
        name: postsimulateauthentication
        description: Simulate 3DS authentication
        call: lithic-3ds.postsimulateauthentication
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/three-ds-authentication/{three-ds-authentication-token}
      name: v1-three-ds-authentication-three-ds-authentication-token
      description: REST surface for v1-three_ds_authentication-three_ds_authentication_token.
      operations:
      - method: GET
        name: getthreedsauthenticationbytoken
        description: Get 3DS authentication
        call: lithic-3ds.getthreedsauthenticationbytoken
        with:
          three_ds_authentication_token: rest.three_ds_authentication_token
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/three-ds-decisioning/challenge-response
      name: v1-three-ds-decisioning-challenge-response
      description: REST surface for v1-three_ds_decisioning-challenge_response.
      operations:
      - method: POST
        name: post
        description: Respond to a Challenge Request
        call: lithic-3ds.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/three-ds-decisioning/secret
      name: v1-three-ds-decisioning-secret
      description: REST surface for v1-three_ds_decisioning-secret.
      operations:
      - method: GET
        name: getthreedsdecisioningsecret
        description: Retrieve the 3DS Decisioning HMAC secret key
        call: lithic-3ds.getthreedsdecisioningsecret
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/three-ds-decisioning/secret/rotate
      name: v1-three-ds-decisioning-secret-rotate
      description: REST surface for v1-three_ds_decisioning-secret-rotate.
      operations:
      - method: POST
        name: rotatethreedsdecisioningsecret
        description: Rotate the 3DS Decisioning HMAC secret key
        call: lithic-3ds.rotatethreedsdecisioningsecret
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/three-ds-decisioning/simulate/enter-otp
      name: v1-three-ds-decisioning-simulate-enter-otp
      description: REST surface for v1-three_ds_decisioning-simulate-enter_otp.
      operations:
      - method: POST
        name: post
        description: Simulate entering OTP into 3DS Challenge UI
        call: lithic-3ds.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: lithic-3ds-mcp
    port: 9090
    transport: http
    description: MCP adapter for Lithic Developer API — 3DS. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: simulate-3ds-authentication
      description: Simulate 3DS authentication
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: lithic-3ds.postsimulateauthentication
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-3ds-authentication
      description: Get 3DS authentication
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lithic-3ds.getthreedsauthenticationbytoken
      with:
        three_ds_authentication_token: tools.three_ds_authentication_token
      outputParameters:
      - type: object
        mapping: $.
    - name: respond-challenge-request
      description: Respond to a Challenge Request
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: lithic-3ds.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-3ds-decisioning-hmac-secret
      description: Retrieve the 3DS Decisioning HMAC secret key
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lithic-3ds.getthreedsdecisioningsecret
      outputParameters:
      - type: object
        mapping: $.
    - name: rotate-3ds-decisioning-hmac-secret
      description: Rotate the 3DS Decisioning HMAC secret key
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: lithic-3ds.rotatethreedsdecisioningsecret
      outputParameters:
      - type: object
        mapping: $.
    - name: simulate-entering-otp-3ds-challenge
      description: Simulate entering OTP into 3DS Challenge UI
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: lithic-3ds.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.