Link a bank account | Moov Documentation
Link a bank account
Link a bank account to an existing Moov account. Read our bank accounts guide to learn more.
It is strongly recommended that callers include the X-Wait-For header, set to payment-method, if the newly linked bank account is intended to be used right away. If this header is not included, the caller will need to poll the List Payment Methods endpoint to wait for the new payment methods to be available for use.
To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/bank-accounts.write scope.
POST
/accounts/{accountID}/bank-accounts
Ask
curl -X POST "https://api.moov.io/accounts/{accountID}/bank-accounts" \
-H "Authorization: Bearer {token}" \
-H "X-Moov-Version: v2026.07.00" \
-d '{
"account": {
"holderName": "string",
"holderType": "individual",
"accountNumber": "string",
"bankAccountType": "checking",
"routingNumber": "string"
}
}'
Ask
mc, _ := moov.NewClient()
var accountID string
mc.CreateBankAccount(ctx, accountID, moov.WithBankAccount(moov.BankAccountRequest{
AccountNumber: "0004321567000",
AccountType: moov.BankAccountType_Checking,
HolderName: "Jules Jackson",
HolderType: moov.HolderType_Individual,
RoutingNumber: "123456789",
}), moov.WaitForPaymentMethod())
Ask
import { Moov } from "@moovio/sdk";
const moov = new Moov({
security: {
username: "",
password: "",
},
});
async function run() {
const result = await moov.bankAccounts.link({
accountID: "b326319d-6118-4921-8d82-d5810d562eef",
linkBankAccount: {
plaidLink: {
publicToken: "<value>",
},
},
});
console.log(result);
}
run();
Ask
declare(strict_types=1);
require 'vendor/autoload.php';
use Moov\