Funding Accounts

Learn how to make funds available to your cards.

Funding Account Schema

{
  "account_name": String,
  "created": String,
  "last_four": String,
  "nickname": String,
  "state": String,
  "token": String,
  "type": String
}
account_nameAccount name identifying the funding source. This may be null
createdAn ISO 8601 string representing when this funding source was added to the Lithic account. This may be null
last_fourThe last 4 digits of the account (e.g. bank account, debit card) associated with this funding account. This may be null
nicknameThe nickname given to the FundingAccount or null if it has no nickname
stateState of funding source, see Enumerations for list
tokenA globally unique identifier for this FundingAccount
typeType of funding source, see Enumerations for list

Add Bank Account (Enterprise)

API reference: Add bank account

Add a bank account as a funding source using routing and account numbers. Returns a FundingAccount object containing the bank information.

In the production environment, funding accounts will be set to PENDING state until micro-deposit validation completes (see Validate bank account] while funding accounts in sandbox will be set to ENABLED state automatically.

POST https://api.lithic.com/v1/fundingsource/bank

Sample Request

curl https://api.lithic.com/v1/fundingsource/bank \
  -X POST \
  -H "Authorization: api-key YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"routing_number":"011103093","account_number":"13719713158835300","account_name": "Sandbox"}'

Sample Response

{
  "data": {
    "account_name": "Sandbox",
    "created": "2020-07-08 17:57:36",
    "last_four": "5263",
    "nickname": "",
    "state": "PENDING",
    "token": "b0f0d91a-3697-46d8-85f3-20f1a585cbea",
    "type": "DEPOSITORY_CHECKING"
  }
}
routing_numberThe routing number of the bank account
account_numberThe account number of the bank account
account_name (optional)The name associated with the bank account. This property is only for identification purposes, and has no bearing on the external properties of the bank.
account_token (multi-account users only)Token identifying the account that the bank account will be associated with. Only applicable if using account enrollment. See Managing Identities for more information.

Add Bank via Plaid (Enterprise)

API reference: Enroll new account via Plaid

Lithic has partnered with Plaid to make it easier for our mutual customers to authenticate end-user bank account details without having to handle and store this sensitive data. Customers can now simply pass a Plaid processor token to the specified Lithic endpoint, at which time Lithic will use the token to retrieve bank account and routing numbers directly from Plaid.

To use Plaid with Lithic and create a Plaid processor token, first follow the instructions on Plaid's docs.

Add a bank account as a funding source using the processor token (created in the previous step). Return a FundingAccount object containing the bank information, or a json object containing the Plaid error fields shown below. More documentation on these fields can be found on the Errors page in Plaid's documentation.

Note that the funding source must be a checking account. You can filter out other accounts using the account_filters field of the request body when making a token with Plaid.

POST https://api.lithic.com/v1/fundingsource/bank/plaid

Sample Request

curl https://api.lithic.com/v1/fundingsource/plaid \
  -X POST \
  -H "Authorization: api-key YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"processor_token":"processor-sandbox-0asd1-a92nc"}'

Sample Response

{
  "data": {
    "account_name": "Sandbox",
    "created": "2020-07-08 17:57:36",
    "last_four": "5263",
    "nickname": "",
    "state": "ENABLED",
    "token": "b0f0d91a-3697-46d8-85f3-20f0a585cbea",
    "type": "DEPOSITORY_CHECKING"
  }
}
processor_tokenThe processor token associated with the bank account.
account_token (multi-account users only)Token identifying the account associated with the bank account. Only applicable if using account creation. See Managing Identities for more information.

Plaid Error Schema

{
  "error_data": {
    "error_code": String,
    "error_type": String,
    "error_message": String
  }
}

Validate Bank (Enterprise)

API reference: Validate bank account

Validate a bank account as a funding source by providing received micro-deposit amounts. Returns a FundingAccount object containing the bank information.

POST https://api.lithic.com/v1/fundingsource/bank/validate

Sample Request

curl https://api.lithic.com/v1/fundingsource/bank/validate \
  -X POST \
  -H "Authorization: api-key YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"token":"banktoken","micro_deposits":["11", "23"]}'

Sample Response

{
  "data": {
    "account_name": "Sandbox",
    "created": "2020-07-08 17:57:36",
    "last_four": "5263",
    "nickname": "",
    "state": "ENABLED",
    "token": "b0f0d91a-3697-46d8-85f3-20f0a585cbea",
    "type": "DEPOSITORY_CHECKING"
  }
}
tokenThe token of the bank account to validate.
micro_depositsAn array of dollar amounts (in cents) received in two credit transactions.
account_token (multi-account users only)Token identifying the account that the bank is associated with. Only applicable if using account creation. See Managing Identities for more information.

Update Bank (Enterprise)

Also see Update bank account in the API Reference section.

Update a bank account using the given parameter. Returns a FundingAccount object containing the new bank information.

PUT https://api.lithic.com/v1/fundingsource/bank

Sample Request

curl https://api.lithic.com/v1/fundingsource/bank \
  -X PUT \
  -H "Authorization: api-key YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state":"DELETED","token":"b0f0d91a-3697-46d8-85f3-20f0a585cbea"}'

Sample Response

{
  "data": {
    "account_name": "Sandbox",
    "created": "2020-07-08 17:57:36",
    "last_four": "5263",
    "nickname": "",
    "state": "DELETED",
    "token": "b0f0d91a-3697-46d8-85f3-20f0a585cbea",
    "type": "DEPOSITORY_CHECKING"
  }
}
tokenThe token of the bank account to edit.
stateENABLED, DELETED

The desired state of the bank account.

If a bank account is set to DELETED, all cards linked to this account will no longer be associated with it. If there are no other bank accounts in state ENABLED on the account, authorizations will not be accepted on the card until a new funding account is added.
account_token (multi-account users only)Token identifying the account associated with the bank account. Only applicable if using account creation. See Managing Identities for more information.

List Funding Accounts

API reference: List funding accounts

List all the funding accounts associated with the Lithic account

GET https://api.lithic.com/v1/fundingsource

Sample Request

curl https://api.lithic.com/v1/fundingsource \
  -H "Authorization: api-key YOUR_API_KEY"

Sample Response

[
  {
    "account_name":"Sandbox",
    "created":"2020-07-08 17:57:36",
    "last_four":"5263",
    "nickname":"",
    "state":"ENABLED",
    "token":"b0f0d91a-3697-46d8-85f3-20f0a585cbea",
    "type":"DEPOSITORY_CHECKING"
  }
]

Enumerations

FundingAccount.state

ENABLEDThe funding account is available to use for card creation and transactions
PENDINGThe funding account is still being verified e.g. bank micro-deposits verification

FundingAccount.type

DEPOSITORY_CHECKINGBank checking account
DEPOSITORY_SAVINGSBank savings account
CARD_DEBITDebit card

Did this page help you?