List bank accounts
List all the bank accounts associated with a particular Moov account.
Read our bank accounts guide to learn more.
To access this endpoint using an access token
you'll need to specify the /accounts/{accountID}/bank-accounts.read scope.
curl -X GET "https://api.moov.io/accounts/{accountID}/bank-accounts" \
-H "Authorization: Bearer {token}" \
-H "x-moov-version: v2024.01.00" \
mc, _ := moov.NewClient()
var accountID string
mc.ListBankAccounts(ctx, accountID)
using Moov.Sdk;
var sdk = new MoovClient(xMoovVersion: "<value>");
var res = await sdk.BankAccounts.ListAsync(accountID: "85539920-22dd-4900-a07e-7a88268456d9");
// handle responsepackage hello.world;
import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.ListBankAccountsResponse;
import java.lang.Exception;
public class Application {
public static void main(String[] args) throws Exception {
Moov sdk = Moov.builder()
.xMoovVersion("v2024.01.00")
.security(Security.builder()
.username("")
.password("")
.build())
.build();
ListBankAccountsResponse res = sdk.bankAccounts().list()
.accountID("85539920-22dd-4900-a07e-7a88268456d9")
.call();
if (res.bankAccounts().isPresent()) {
// handle response
}
}
}require 'moov_ruby'
Models = ::Moov::Models
s = ::Moov::Client.new(
x_moov_version: 'v2024.01.00',
)
res = s.bank_accounts.list(account_id: '85539920-22dd-4900-a07e-7a88268456d9')
unless res.bank_accounts.nil?
# handle response
endimport { Moov } from "@moovio/sdk";
const moov = new Moov({
xMoovVersion: "v2024.01.00",
security: {
username: "",
password: "",
},
});
async function run() {
const result = await moov.bankAccounts.list({
accountID: "85539920-22dd-4900-a07e-7a88268456d9",
});
console.log(result);
}
run();declare(strict_types=1);
require 'vendor/autoload.php';
use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;
$sdk = MoovPhp\Moov::builder()
->setXMoovVersion('v2024.01.00')
->setSecurity(
new Components\Security(
username: '',
password: '',
)
)
->build();
$response = $sdk->bankAccounts->list(
accountID: '85539920-22dd-4900-a07e-7a88268456d9'
);
if ($response->bankAccounts !== null) {
// handle response
}from moovio_sdk import Moov
from moovio_sdk.models import components
with Moov(
x_moov_version="v2024.01.00",
security=components.Security(
username="",
password="",
),
) as moov:
res = moov.bank_accounts.list(account_id="85539920-22dd-4900-a07e-7a88268456d9")
# Handle response
print(res)[
{
"bankAccountID": "833fa3ef-14d3-4c97-ba45-6af66f739832",
"fingerprint": "dd4cbfe5fbaf47b392770b5b595bec604fd99394749b7d017153e2b9cfbea40e",
"status": "new",
"holderName": "John Doe",
"holderType": "individual",
"bankName": "Gringotts Bank",
"bankAccountType": "checking",
"routingNumber": "123456780",
"lastFourAccountNumber": "6789",
"updatedOn": "2024-11-26T22:37:06Z",
"statusReason": "bank-account-created"
}
]Response headers
x-request-id
string
required
Response headers
x-request-id
string
required
Response headers
x-request-id
string
required
Response headers
x-request-id
string
required
Response headers
x-request-id
string
required
Response headers
x-request-id
string
required
Headers
X-Moov-Version
string
Specify an API version.
API versioning follows the format vYYYY.QQ.BB, where
YYYYis the yearQQis the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)BBis the build number, starting at.01, for subsequent builds in the same quarter.- For example,
v2024.01.00is the initial release of the first quarter of 2024.
- For example,
The latest version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
When no version is specified, the API defaults to v2024.01.00.
Path parameters
accountID
string
required
Response
bankAccountID
string
bankAccountType
string<enum>
checking,
savings,
general-ledger,
loan
bankName
string
exceptionDetails
object
errored or verificationFailed bank account status.
Show child attributes
description
string
required
errored or verificationFailed bank account status.
achReturnCode
string<enum>
The return code of an ACH transaction that caused the bank account status to change.
- 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
- 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
R02,
R03,
R04,
R05,
R07,
R08,
R10,
R11,
R12,
R13,
R14,
R15,
R16,
R17,
R20,
R23,
R29,
R34,
R38,
R39
fednowRejectionCode
string
The rejection code of a FedNow transaction that caused the bank account status to change.
- AC02: Debtor account is invalid
- AC03: Creditor account is invalid
- AC04: Account closed
- AC06: Account is blocked
- AC07: Creditor account closed
- AC10: Debtor account currency is invalid or missing
- AC11: Creditor account currency is invalid or missing
- AC13: Debtor account type missing or invalid
- AC14: Creditor account type missing or invalid
- AG01: Transaction is forbidden on this type of account
- AG03: Transaction type is not supported/authorized on this account
- BE06: End customer specified is not known at associated Sort/National Bank Code or no longer exists in the books
- DUPL: Payment is a duplicate of another payment
- MD07: End customer is deceased
- NOAT: Receiving customer account does not support/accept this message type
- RC02: Bank identifier is invalid or missing
- RC03: Debtor FI identifier is invalid or missing
- RC04: Creditor FI identifier is invalid or missing
rtpRejectionCode
string<enum>
The rejection code of an RTP transaction that caused the bank account status to change.
- 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
AC03,
AC04,
AC06,
AC14,
AG01,
AG03,
MD07
fingerprint
string
<=100 characters
Once the bank account is linked, we don't reveal the full bank account number.
The fingerprint acts as a way to identify whether two linked bank accounts are the same.
holderName
string
holderType
string<enum>
individual,
business,
guest
lastFourAccountNumber
string
paymentMethods
array<object>
Includes any payment methods generated for a newly created bank account, removing the need to call the List Payment Methods endpoint following a successful Create BankAccount request.
NOTE: This field is only populated for Create BankAccount requests made with the X-Wait-For header.
Show child attributes
paymentMethodID
string
paymentMethodType
string<enum>
moov-wallet,
ach-debit-fund,
ach-debit-collect,
ach-credit-standard,
ach-credit-same-day,
rtp-credit,
card-payment,
push-to-card,
pull-from-card,
apple-pay,
card-present-payment,
instant-bank-credit
routingNumber
string
status
string<enum>
new,
verified,
verificationFailed,
pending,
errored
statusReason
string<enum>
bank-account-created,
verification-initiated,
micro-deposit-attempts-exceeded,
micro-deposit-expired,
max-verification-failures,
verification-attempts-exceeded,
verification-expired,
verification-successful,
ach-debit-return,
ach-credit-return,
rtp-credit-failure,
fednow-credit-failure,
micro-deposit-return,
admin-action,
other
updatedOn
string<date-time>