Lithic Card API

Virtual and physical card issuance, lifecycle, and digital wallet provisioning.

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

OpenAPI Specification

lithic-com-card-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Lithic 3DS Card 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 monitoring. This document curates the real, published Lithic OpenAPI 3.1 definitions (https://github.com/lithic-com/lithic-openapi) into the endpoint surface referenced by this apis.yml, expressed as OpenAPI 3.0.3 with lightweight response schemas. Requests are authenticated with an API key sent as the raw value of the Authorization header (not a Bearer token).
  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: Card
  description: Virtual and physical card issuance, lifecycle, and digital wallet provisioning.
paths:
  /v1/cards/{card_token}/signals:
    get:
      operationId: getCardSignals
      tags:
      - Card
      summary: Fetch card signals
      description: 'Returns behavioral feature state derived from a card''s transaction history. These signals expose the same data used by behavioral rule attributes (e.g. `AMOUNT_Z_SCORE` with `scope: CARD`, `IS_NEW_COUNTRY` with `scope: CARD`) and custom code `TRANSACTION_HISTORY_SIGNALS` features, allowing clients'
      parameters:
      - name: card_token
        in: path
        required: true
        description: The token of the card to fetch signals for.
        schema:
          type: string
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/card_programs:
    get:
      operationId: getCardPrograms
      tags:
      - Card
      summary: List card programs
      description: List card programs.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/card_programs/{card_program_token}:
    get:
      operationId: getCardProgram
      tags:
      - Card
      summary: Get card program
      description: Get card program.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards:
    get:
      operationId: getCards
      tags:
      - Card
      summary: List cards
      description: List cards.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
    post:
      operationId: postCards
      tags:
      - Card
      summary: Create card
      description: Create a new virtual or physical card. Parameters `shipping_address` and `product_id` only apply to physical cards.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards/search_by_pan:
    post:
      operationId: searchCardByPan
      tags:
      - Card
      summary: Search for card by PAN
      description: 'Get card configuration such as spend limit and state. Customers must be PCI compliant to use this endpoint. Please contact [support.lithic.com](https://support.lithic.com/) for questions. *Note: this is a `POST` endpoint because it is more secure to send sensitive data in a request body than in a UR'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards/{card_token}:
    get:
      operationId: getCardByToken
      tags:
      - Card
      summary: Get card
      description: Get card configuration such as spend limit and state.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
    patch:
      operationId: patchCardByToken
      tags:
      - Card
      summary: Update card
      description: 'Update the specified properties of the card. Unsupplied properties will remain unchanged. *Note: setting a card to a `CLOSED` state is a final action that cannot be undone.*'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards/{card_token}/balances:
    get:
      operationId: getCardBalance
      tags:
      - Card
      summary: Get card balances
      description: Get the balances for a given card.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards/{card_token}/financial_transactions:
    get:
      operationId: getCardFinancialTransactions
      tags:
      - Card
      summary: List card financial transactions
      description: List the financial transactions for a given card.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards/{card_token}/financial_transactions/{financial_transaction_token}:
    get:
      operationId: getCardFinancialTransactionByToken
      tags:
      - Card
      summary: Get card financial transaction
      description: Get the card financial transaction for the provided token.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards/{card_token}/provision:
    post:
      operationId: postCardProvision
      tags:
      - Card
      summary: Provision card (Digital Wallet)
      description: Allow your cardholders to directly add payment cards to the device's digital wallet (e.g. Apple Pay) with one touch from your app. This requires some additional setup and configuration. Please [Contact Us](https://lithic.com/contact) or your Customer Success representative for more information.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards/{card_token}/web_provision:
    post:
      operationId: postCardWebProvision
      tags:
      - Card
      summary: Web Push Provision card (Digital Wallet)
      description: Allow your cardholders to directly add payment cards to the device's digital wallet from a browser on the web. This requires some additional setup and configuration. Please [Contact Us](https://lithic.com/contact) or your Customer Success representative for more information.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards/{card_token}/reissue:
    post:
      operationId: postCardReissue
      tags:
      - Card
      summary: Reissue physical card
      description: Initiate print and shipment of a duplicate physical card (e.g. card is physically damaged). The PAN, expiry, and CVC2 will remain the same and the original card can continue to be used until the new card is activated. Only applies to cards of type `PHYSICAL`. A card can be reissued or renewed a to
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards/{card_token}/renew:
    post:
      operationId: postCardRenew
      tags:
      - Card
      summary: Renew a card
      description: Applies to card types `PHYSICAL` and `VIRTUAL`. For `PHYSICAL`, creates a new card with the same card token and PAN, but updated expiry and CVC2 code. The original card will keep working for card-present transactions until the new card is activated. For card-not-present transactions, the original ca
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards/{card_token}/convert_physical:
    post:
      operationId: postConvertPhysical
      tags:
      - Card
      summary: Convert virtual to physical card
      description: Convert a virtual card into a physical card and manufacture it. Customer must supply relevant fields for physical card creation including `product_id`, `carrier`, `shipping_method`, and `shipping_address`. The card token will be unchanged. The card's type will be altered to `PHYSICAL`. The card wil
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/cards/{card_token}/spend_limits:
    get:
      operationId: getCardSpendLimits
      tags:
      - Card
      summary: Get card's available spend limit
      description: Get a Card's available spend limit, which is based on the spend limit configured on the Card and the amount already spent over the spend limit's duration. For example, if the Card has a monthly spend limit of $1000 configured, and has spent $600 in the last month, the available spend limit returned
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /v1/embed/card:
    get:
      operationId: getEmbedCard
      tags:
      - Card
      summary: Embedded card UI
      description: Handling full card PANs and CVV codes requires that you comply with the Payment Card Industry Data Security Standards (PCI DSS). Some clients choose to reduce their compliance obligations by leveraging our embedded card UI solution documented below. In this setup, PANs and CVV codes are presented t
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
components:
  responses:
    ValidationError:
      description: The request failed validation.
    Unauthorized:
      description: Missing or invalid API key.
  schemas:
    Card:
      type: object
      description: Virtual and physical card issuance, lifecycle, and digital wallet provisioning.
      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").