Bank Account
15 min
bank account endpoints manage organization scoped fiat settlement accounts bank account data is sensitive avoid logging full account and routing numbers, and preserve the organization/sub organization scope returned by the api list bank accounts get /api/external/bank accounts/?limit={limit}\&cursor={cursor}&{filters} query parameters parameter type required description limit number no requested page size sdk default 20 cursor string | null no cursor for the next page filters record\<string, string> no bank account filters accepted by the endpoint request example { "query" { "limit" 20, "cursor" null } } response interface bankaccountlistresponse { results bankaccount\[]; nextcursor? string | null; hasnext? boolean; } json example { "results" \[ { "id" "bank account 123", "orgid" "org 456", "suborgid" "sub org 123", "orgentityid" "org entity 123", "createdbyid" "api user 123", "createdat" "2026 08 04t10 30 00z", "updatedat" "2026 08 04t10 30 00z", "isdeleted" false, "status" "pending", "accountnumber" "111222333", "accountname" "acme corp", "routingnumber" "021000021", "clientbankaccountid" "erp bank 001", "paymentmethod" "us ach", "bankname" "chase", "streetline" "270 park avenue", "city" "new york", "state" "ny", "postalcode" "10017", "country" "us" } ], "nextcursor" "eyjpzci6imjhbmtfywnjb3vudf8xmjmifq==", "hasnext" true } javascript sdk getbankaccounts( params? record\<string, string>, limit? number, cursor? string | null, ) promise\<bankaccountlistresponse> retrieve a bank account get /api/external/bank accounts/{bankaccountid}/ request example { "path" { "bankaccountid" "bank account 123" } } response { "id" "bank account 123", "orgid" "org 456", "suborgid" "sub org 123", "orgentityid" "org entity 123", "createdbyid" "api user 123", "createdat" "2026 08 04t10 30 00z", "updatedat" "2026 08 04t10 30 00z", "isdeleted" false, "status" "pending", "accountnumber" "111222333", "accountname" "acme corp", "routingnumber" "021000021", "clientbankaccountid" "erp bank 001", "paymentmethod" "us ach", "bankname" "chase", "streetline" "270 park avenue", "city" "new york", "state" "ny", "postalcode" "10017", "country" "us" } javascript sdk getbankaccountbyid(bankaccountid string) promise\<bankaccount> create a bank account post /api/external/bank accounts/ the fields required in practice depend on the country, payment method, and provider the sdk marks every property optional; send the complete set required for the selected rail request body { "suborgid" "sub org 123", "accountnumber" "111222333", "accountname" "acme corp", "routingnumber" "021000021", "clientbankaccountid" "erp bank 001", "paymentmethod" "us ach", "bankname" "chase", "streetline" "270 park avenue", "city" "new york", "state" "ny", "postalcode" "10017", "country" "us" } field type required in sdk description suborgid string no sub organization that owns the account set only at creation accountnumber string no bank account number accountname string no account holder name routingnumber string no domestic routing identifier where applicable clientbankaccountid string no client controlled bank account reference paymentmethod string no payment rail, for example us ach , us wire , sepa , swift , or bank transfer bankname string no bank name streetline , city , state , postalcode , country string no bank or beneficiary address fields required by the selected rail response { "id" "bank account 123", "orgid" "org 456", "suborgid" "sub org 123", "orgentityid" "org entity 123", "createdbyid" "api user 123", "createdat" "2026 08 04t10 30 00z", "updatedat" "2026 08 04t10 30 00z", "isdeleted" false, "status" "pending", "accountnumber" "111222333", "accountname" "acme corp", "routingnumber" "021000021", "clientbankaccountid" "erp bank 001", "paymentmethod" "us ach", "bankname" "chase", "streetline" "270 park avenue", "city" "new york", "state" "ny", "postalcode" "10017", "country" "us" } javascript sdk interface createbankaccountrequest { suborgid? string; accountnumber? string; accountname? string; routingnumber? string; clientbankaccountid? string; paymentmethod? string; bankname? string; streetline? string; city? string; state? string; postalcode? string; country? string; } createbankaccount(request createbankaccountrequest) promise\<bankaccount> approval flow const bankaccount = await apiclient createbankaccount(request); const approved = await apiclient createbankaccountapproval(bankaccount); // convenience helper create, then approve const approvedbankaccount = await apiclient createbankaccountwithapproval(request); creation can return a pending account while its change request is awaiting approval use the returned id to retrieve the current status