Complete bank account verification

Finalize the instant micro-deposit verification by submitting the verification code displayed in the user’s bank account. Upon successful verification, the bank account status will be updated to verified and eligible for ACH debit transactions.

The following formats are accepted:

  • MV0000
  • mv0000
  • 0000

To use this endpoint from the browser, you’ll need to specify the /accounts/{accountID}/bank-accounts.write scope when generating a token.

PUT
/accounts/{accountID}/bank-accounts/{bankAccountID}/verify
cURL
curl --request PUT \
  --url https://api.moov.io/accounts/{accountID}/bank-accounts/ec7e1848-dc80-4ab0-8827-dd7fc0737b43/verify \
  --header 'content-type: application/json' \
  --data '{"code":"MV1234"}'
200 404 409 429
Bank Account Verification
{
  "status": "successful",
  "verificationMethod": "instant"
}
No account with the specified accountID was found or verification code has not been sent for the source.
The code provided was incorrect or the bank account is in an unexpected state.
Request was refused due to rate limiting.

X-Retry-In

string <duration>
How long (in milliseconds) to wait until able to retry the request.

Path parameters

accountID

string <uuid> required
ID of the account.

bankAccountID

string <uuid> required
ID of the bank account

Body

application/json

code

string
Code provided by user from their bank account transactions

Response

application/json

exceptionDetails

object
Reason for, and details related to, an errored or verificationFailed bank account status.
right_key Show child attributes

achReturnCode

string<enum>

The return code of an ACH transaction that caused the bank account status to change.

Codes:

  • R02 - Account Closed
  • R03 - No Account/Unable to Locate Account
  • R04 - Invalid Account Number
  • R05 - Improper Debit to Consumer Account
  • R07 - Authorization Revoked by Customer
  • R08 - Payment Stopped
  • R10 - Customer Advises Originator is Not Known or Authorized to Receiver and
  • R11 - Customer Advises Entry Not in Accordance with the Terms of the Authorization
  • R12 - Branch Sold to Another DFI
  • R13 - RDFI not qualified to participate
  • R14 - Representative payee deceased or unable to continue in that capacity
  • R15 - Beneficiary or bank account holder
  • R16 - Bank account frozen
  • R17 - Entry with Invalid Account Number Initiated Under Questionable Circumstances
  • R20 - Non-payment bank account
  • R23 - Credit entry refused by receiver
  • R29 - Corporate customer advises not authorized
  • R34 - Limited participation RDFI
  • R38 - Stop Payment on Source Document (Adjustment Entry)
  • R39 - Improper Source Document
Possible values: R02, R03, R04, R05, R07, R08, R10, R11, R12, R13, R14, R15, R16, R17, R20, R23, R29, R34, R38, R39

description

string
Details related to an errored or verificationFailed bank account status.

rtpRejectionCode

string<enum>

The rejection code of an RTP transaction that caused the bank account status to change.

Codes:

  • AC03 - Account Invalid
  • AC04 - Account Closed
  • AC06 - Account Blocked
  • AC14 - Creditor Account Type Invalid
  • AG01 - Transactions Forbidden On Account
  • AG03 - Transaction Type Not Supported
  • MD07 - Customer Deceased
Possible values: AC03, AC04, AC06, AC14, AG01, AG03, MD07

status

string<enum>
Possible values: new, sent-credit, max-attempts-exceeded, failed, expired, successful

verificationMethod

string<enum>
Possible values: instant, ach