Lithic 3 DS API

3D Secure e-commerce authentication and decisioning.

Business capability
Card Transaction Processing Management BC-1340.70

Operations 6

POST /v1/three_ds_authentication/simulate Simulate 3DS authentication #
POST /v1/three_ds_decisioning/simulate/enter_otp Simulate entering OTP into 3DS Challenge UI #
GET /v1/three_ds_authentication/{three_ds_authentication_token} Get 3DS authentication #
GET /v1/three_ds_decisioning/secret Retrieve the 3DS Decisioning HMAC secret key #
POST /v1/three_ds_decisioning/secret/rotate Rotate the 3DS Decisioning HMAC secret key #
POST /v1/three_ds_decisioning/challenge_response Respond to a Challenge Request #

Documentation

📖
Documentation
https://docs.lithic.com/docs/account-holders-kyc
📖
Documentation
https://docs.lithic.com/docs/account-holders-kyb
📖
APIReference
https://docs.lithic.com/reference/getaccountholders
📖
Documentation
https://docs.lithic.com/docs/spend-limits
📖
APIReference
https://docs.lithic.com/reference/getaccounts
📖
Documentation
https://docs.lithic.com/docs/cards
📖
Documentation
https://docs.lithic.com/docs/managing-cards
📖
Documentation
https://docs.lithic.com/docs/physical-cards-setup-guide
📖
APIReference
https://docs.lithic.com/reference/postcards
📖
Documentation
https://docs.lithic.com/docs/transaction-flow
📖
Documentation
https://docs.lithic.com/docs/transactions
📖
Documentation
https://docs.lithic.com/docs/simulating-transactions
📖
APIReference
https://docs.lithic.com/reference/postsimulateauthorize
📖
Documentation
https://docs.lithic.com/docs/authorization-rules-v2
📖
Documentation
https://docs.lithic.com/docs/about-authorization-intelligence
📖
Documentation
https://docs.lithic.com/docs/auth-stream-access-asa
📖
Documentation
https://docs.lithic.com/docs/about-3ds
📖
Documentation
https://docs.lithic.com/docs/3ds-decisioning
📖
Documentation
https://docs.lithic.com/docs/disputes-api
📖
Documentation
https://docs.lithic.com/docs/tracking-disputes
📖
APIReference
https://docs.lithic.com/reference/postdisputes
📖
Documentation
https://docs.lithic.com/docs/events-api
📖
Documentation
https://docs.lithic.com/docs/simulating-webhooks
📖
Documentation
https://docs.lithic.com/docs/financial-accounts
📖
Documentation
https://docs.lithic.com/docs/ledger-overview
📖
Documentation
https://docs.lithic.com/docs/payments-api
📖
Documentation
https://docs.lithic.com/docs/ach-overview
📖
Documentation
https://docs.lithic.com/docs/ach-payments-lifecycle
📖
Documentation
https://docs.lithic.com/docs/book-transfers
📖
Documentation
https://docs.lithic.com/docs/settlement-reporting
📖
APIReference
https://docs.lithic.com/reference/getsettlementdetails
📖
Documentation
https://docs.lithic.com/docs/external-accounts-api
📖
Documentation
https://docs.lithic.com/docs/disbursements
📖
Documentation
https://docs.lithic.com/docs/about-digital-wallets
📖
Documentation
https://docs.lithic.com/docs/push-provisioning
📖
Documentation
https://docs.lithic.com/docs/web-push-provisioning
📖
APIReference
https://docs.lithic.com/reference/getfraudreport

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lithic-com-3-ds-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lithic-com-3-ds-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lithic 3 DS API
  description: The Lithic API is a card issuing and issuer-processor platform for issuing virtual and physical cards, authorizing and clearing transactions, moving money across ledgered financial accounts, and managing the full card lifecycle - KYC/KYB account holder onboarding, authorization rules and real-time Auth Stream Access (ASA) decisioning, disputes, tokenization into digital wallets, 3DS authentication, ACH payments, book transfers, external payments, settlement reporting, and fraud/transaction…
  version: 1.0.0
  contact:
    name: Lithic
    url: https://www.lithic.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.txt
servers:
- url: https://api.lithic.com
  description: Production
- url: https://sandbox.lithic.com
  description: Sandbox (mirrors production functionality)
security:
- ApiKeyAuth: []
tags:
- name: 3 DS
  description: 3D Secure e-commerce authentication and decisioning.
paths:
  /v1/three_ds_authentication/simulate:
    post:
      operationId: postSimulateAuthentication
      tags:
      - 3 DS
      summary: Simulate 3DS authentication
      description: Simulates a 3DS authentication request from the payment network as if it came from an ACS. If you're configured for 3DS Customer Decisioning, simulating authentications requires your customer decisioning endpoint to be set up properly (respond with a valid JSON). If the authentication decision is to
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/3DS'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/three_ds_decisioning/simulate/enter_otp:
    post:
      tags:
      - 3 DS
      summary: Simulate entering OTP into 3DS Challenge UI
      description: Endpoint for simulating entering OTP into 3DS Challenge UI. A call to /v1/three_ds_authentication/simulate that resulted in triggered SMS-OTP challenge must precede. Only a single attempt is supported; upon entering OTP, the challenge i
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/3DS'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
      operationId: postV1ThreeDsDecisioningSimulateEnterOtp
      x-operation-id-source: derived
  /v1/three_ds_authentication/{three_ds_authentication_token}:
    get:
      operationId: getThreeDsAuthenticationByToken
      tags:
      - 3 DS
      summary: Get 3DS authentication
      description: Get 3DS Authentication by token
      parameters:
      - name: three_ds_authentication_token
        in: path
        required: true
        description: Globally unique identifier for the 3DS authentication.
        schema:
          type: string
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/3DS'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/three_ds_decisioning/secret:
    get:
      operationId: getThreeDsDecisioningSecret
      tags:
      - 3 DS
      summary: Retrieve the 3DS Decisioning HMAC secret key
      description: Retrieve the 3DS Decisioning HMAC secret key. If one does not exist for your program yet, calling this endpoint will create one for you. The headers (which you can use to verify 3DS Decisioning requests) will begin appearing shortly after calling this endpoint for the first time. See [this page](htt
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/3DS'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/three_ds_decisioning/secret/rotate:
    post:
      operationId: rotateThreeDsDecisioningSecret
      tags:
      - 3 DS
      summary: Rotate the 3DS Decisioning HMAC secret key
      description: Generate a new 3DS Decisioning HMAC secret key. The old secret key will be deactivated 24 hours after a successful request to this endpoint. Make a `GET /three_ds_decisioning/secret` request to retrieve the new secret key.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/3DS'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/three_ds_decisioning/challenge_response:
    post:
      tags:
      - 3 DS
      summary: Respond to a Challenge Request
      description: Card program's response to a 3DS Challenge Request. Challenge Request is emitted as a webhook three_ds_authentication.challenge and your Card Program needs to be configured with Out of Band (OOB) Challenges in order to recei
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/3DS'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
      operationId: postV1ThreeDsDecisioningChallengeResponse
      x-operation-id-source: derived
components:
  responses:
    ValidationError:
      description: The request failed validation.
    Unauthorized:
      description: Missing or invalid API key.
  schemas:
    3DS:
      type: object
      description: 3D Secure e-commerce authentication and decisioning.
      properties:
        token:
          type: string
          format: uuid
          description: Globally unique identifier for the object.
        created:
          type: string
          format: date-time
      additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Raw API secret key value (not prefixed with "Bearer").