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.
Request Example
POST /accounts/{accountID}/bank-accounts
curl -X POST "https://api.moov.io/accounts/{accountID}/bank-accounts" \
-H "Authorization: Bearer {token}" \
-H "X-Moov-Version: v2026.07.00" \
-d '{\n "account": {\n "holderName": "string",\n "holderType": "individual",\n "accountNumber": "string",\n "bankAccountType": "checking",\n "routingNumber": "string"\n }\n}'
Go Example
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())
TypeScript Example
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();
PHP Example
declare(strict_types=1);
require 'vendor/autoload.php';
use Moov\