Bank accounts

To transfer money with Moov, you’ll need to link a bank account to your Moov account, then verify that account. You can link a bank account to a Moov account by adding the bank account number and routing number to the account object. We require micro-deposit verification to reduce the risk of fraud or unauthorized activity. You can verify a bank account by initiating micro-deposits, sending two small credit transfers to the bank account you want to confirm. Alternatively, you can link and verify a bank account in one step through an instant account verification token from a third party provider like Plaid. For more context, read our bank accounts guide.

Link a bank account to a Moov account The BANK_ACCOUNTS_WRITE scope enum is required when making a request from the browser.

1
bankaccounts.link(accountID, bankAccount, plaidToken, mxAuthorizationCode)

Parameters

Name Type Description
accountID string Account on which to add the bank account
bankAccount BankAccountAdd Optional bank account details
plaidToken string Optional Plaid processor token
mxAuthorizationCode string Optional Plaid processor authorization code

Returns

Promise.<BankAccount>

Get

Retrieve bank account details (i.e. routing number or account type) associated with a specific Moov account. The BANK_ACCOUNTS_READ scope enum is required when making a request from the browser.

1
bankaccounts.get(accountID, bankAccountID)

Parameters

Name Type Description
accountID string Account on which to request bank account
bankAccountID string ID of the bank account to retrieve

Returns

Promise.<BankAccount>

List

List all the bank accounts associated with a particular Moov account. The BANK_ACCOUNTS_READ scope enum is required when making a request from the browser.

1
bankaccounts.list(accountID)

Parameters

Name Type Description
accountID string Account on which to request bank account

Returns

Promise.<Array.<BankAccount>>

Disable

Discontinue using a specified bank account linked to a Moov account. The BANK_ACCOUNTS_WRITE scope enum is required when making a request from the browser.

1
bankaccounts.disable(accountID, bankAccountID)

Parameters

Name Type Description
accountID string Account on which to request bank account
bankAccountID string ID of the bank account to disable

Returns

Promise.<void>

InitMicroDeposits

Initiate a micro deposit for a bank account linked to a Moov account. The BANK_ACCOUNTS_WRITE scope enum is required when making a request from the browser.

1
bankaccounts.initMicroDeposits(accountID, bankAccountID)

Parameters

Name Type Description
accountID string Account on which to request bank account
bankAccountID string ID of the bank account to disable

Returns

Promise.<void>

CompleteMicroDeposits

Complete the micro-deposit validation process by passing the amounts of the two transfers. The BANK_ACCOUNTS_WRITE scope enum is required when making a request from the browser.

1
bankaccounts.completeMicroDeposits(accountID, bankAccountID, amounts)

Parameters

Name Type Description
accountID string Account on which to request bank account
bankAccountID string ID of the bank account to disable
amounts Array.<number> Array of two positive integers, in cents, equal to the values of the micro-deposits sent to the bank account.

Returns

Promise.<void>

Types

BankAccount

Describes a Bank Account.

Properties

Property Type Description
bankAccountID string Bank Account identifier
fingerprint string Fingerprint of Bank Account
status BANK_ACCOUNT_STATUS The bank account status
holderName string Name of the bank account holder
holderType BANK_ACCOUNT_HOLDER_TYPE The type of holder on a funding source
bankName string Name of the bank
bankAccountType BANK_ACCOUNT_TYPE The bank account type
routingNumber string Bank account routing number
lastFourAccountNumber string Last four digits of the bank account number
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "bankAccountID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43",
  "fingerprint": "9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3",
  "status": "new",
  "holderName": "Jules Jackson",
  "holderType": "individual",
  "bankName": "Chase Bank",
  "bankAccountType": "checking",
  "routingNumber": "string",
  "lastFourAccountNumber": "7000"
}

BankAccountAdd

Describes a Bank Account to be added.

Properties

Property Type Description
holderName string Name of the bank account holder
holderType BANK_ACCOUNT_HOLDER_TYPE The type of holder on a funding source
routingNumber string Bank account routing number
accountNumber string The bank account number
bankAccountType BANK_ACCOUNT_TYPE The bank account type

Enums

BANK_ACCOUNT_STATUS

Value Description
NEW Bank Account is created and waiting on verification.
VERIFIED Bank Account is verified and ready for use.
VERIFICATION_FAILED Bank Account verification failed.
PENDING Bank Account is pending approval.
ERRORED Bank Account is in an errored state.

BANK_ACCOUNT_HOLDER_TYPE

Value Description
INDIVIDUAL Bank Account holder is a type of individual.
BUSINESS Bank Account holder is a type of business.

BANK_ACCOUNT_TYPE

Value Description
CHECKING Bank Account is a type of checking.
SAVINGS Bank Account is a type of savings.
LOAN Bank Account is a type of loan.
GENERAL_LEDGER Bank Account is a type of general ledger.
Summary Beta