openapi: 3.0.3 info: title: Lithic 3DS External Bank Account 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: External Bank Account description: External bank accounts used for ACH payments, with prenote and micro-deposit verification. paths: /v1/external_bank_accounts: get: operationId: searchExternalBankAccounts tags: - External Bank Account summary: List external bank accounts description: List all the external bank accounts for the provided search criteria. responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ExternalBankAccount' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' post: operationId: createExternalBankAccount tags: - External Bank Account summary: Create external bank account description: Creates an external bank account within a program or Lithic account. requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ExternalBankAccount' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' /v1/external_bank_accounts/{external_bank_account_token}: get: operationId: getExternalBankAccountByToken tags: - External Bank Account summary: Get external bank account by token description: Get the external bank account by token. parameters: - name: external_bank_account_token in: path required: true description: The token identifying the external_bank_account_token. schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ExternalBankAccount' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' patch: operationId: patchExternalBankAccountByToken tags: - External Bank Account summary: Update external bank account description: Update the external bank account by token. parameters: - name: external_bank_account_token in: path required: true description: The token identifying the external_bank_account_token. schema: type: string requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ExternalBankAccount' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' /v1/external_bank_accounts/{external_bank_account_token}/micro_deposits: post: operationId: verifyExternalBankAccountByMicroDeposits tags: - External Bank Account summary: Verify external bank account via micro deposit amounts description: Verify the external bank account by providing the micro deposit amounts. parameters: - name: external_bank_account_token in: path required: true description: The token identifying the external_bank_account_token. schema: type: string requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ExternalBankAccount' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' /v1/external_bank_accounts/{external_bank_account_token}/pause: post: operationId: pauseExternalBankAccount tags: - External Bank Account summary: Pause external bank account description: Pause an external bank account parameters: - name: external_bank_account_token in: path required: true description: The token identifying the external_bank_account_token. schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ExternalBankAccount' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' /v1/external_bank_accounts/{external_bank_account_token}/retry_micro_deposits: post: operationId: retryMicroDeposit tags: - External Bank Account summary: Retry external bank account via micro deposit description: Retry external bank account micro deposit verification. parameters: - name: external_bank_account_token in: path required: true description: The token identifying the external_bank_account_token. schema: type: string requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ExternalBankAccount' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' /v1/external_bank_accounts/{external_bank_account_token}/retry_prenote: post: operationId: retryPrenote tags: - External Bank Account summary: Retry external bank account via prenote description: Retry external bank account prenote verification. parameters: - name: external_bank_account_token in: path required: true description: The token identifying the external_bank_account_token. schema: type: string requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ExternalBankAccount' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' /v1/external_bank_accounts/{external_bank_account_token}/set_verification_method: post: operationId: setVerificationMethod tags: - External Bank Account summary: Set verification method description: Update the verification method for an external bank account. Verification method can only be updated if the `verification_state` is `PENDING`. parameters: - name: external_bank_account_token in: path required: true description: The token identifying the external_bank_account_token. schema: type: string requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ExternalBankAccount' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' /v1/external_bank_accounts/{external_bank_account_token}/unpause: post: operationId: unpauseExternalBankAccount tags: - External Bank Account summary: Unpause external bank account description: Unpause an external bank account parameters: - name: external_bank_account_token in: path required: true description: The token identifying the external_bank_account_token. schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ExternalBankAccount' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' components: schemas: ExternalBankAccount: type: object description: External bank accounts used for ACH payments, with prenote and micro-deposit verification. properties: token: type: string format: uuid description: Globally unique identifier for the object. created: type: string format: date-time additionalProperties: true responses: ValidationError: description: The request failed validation. Unauthorized: description: Missing or invalid API key. securitySchemes: ApiKeyAuth: type: apiKey in: header name: Authorization description: Raw API secret key value (not prefixed with "Bearer").