# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api PATCH /v1/external-bank-accounts/acc_abc123 \
--body '<request-json>'Update an external account (acc_abc123).
# Infinite MCP is read-only for this endpoint — use a dedicated MCP tool when one exists, otherwise run the CLI tab.import requests
url = "https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}"
payload = {
"beneficiaryType": "INDIVIDUAL",
"beneficiaryName": "John Smith",
"beneficiaryPhone": "+1234567890",
"beneficiaryDateOfBirth": "1990-01-31",
"beneficiaryDocumentType": "EIN",
"beneficiaryDocumentNumber": "12-3456789",
"bankName": "JPMorgan Chase Bank",
"bankAddress": {
"addressLine1": "123 Main Street",
"addressLine2": "Apt 4B",
"city": "San Francisco",
"state": "CA",
"postalCode": "94102",
"country": "US"
},
"paymentRails": ["ACH", "WIRE", "RTP"],
"currencyCodes": ["USD", "EUR", "GBP"],
"bankAccountType": "checking",
"metadata": { "nickname": "Primary Business Account" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
beneficiaryType: 'INDIVIDUAL',
beneficiaryName: 'John Smith',
beneficiaryPhone: '+1234567890',
beneficiaryDateOfBirth: '1990-01-31',
beneficiaryDocumentType: 'EIN',
beneficiaryDocumentNumber: '12-3456789',
bankName: 'JPMorgan Chase Bank',
bankAddress: {
addressLine1: '123 Main Street',
addressLine2: 'Apt 4B',
city: 'San Francisco',
state: 'CA',
postalCode: '94102',
country: 'US'
},
paymentRails: ['ACH', 'WIRE', 'RTP'],
currencyCodes: ['USD', 'EUR', 'GBP'],
bankAccountType: 'checking',
metadata: {nickname: 'Primary Business Account'}
})
};
fetch('https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'beneficiaryType' => 'INDIVIDUAL',
'beneficiaryName' => 'John Smith',
'beneficiaryPhone' => '+1234567890',
'beneficiaryDateOfBirth' => '1990-01-31',
'beneficiaryDocumentType' => 'EIN',
'beneficiaryDocumentNumber' => '12-3456789',
'bankName' => 'JPMorgan Chase Bank',
'bankAddress' => [
'addressLine1' => '123 Main Street',
'addressLine2' => 'Apt 4B',
'city' => 'San Francisco',
'state' => 'CA',
'postalCode' => '94102',
'country' => 'US'
],
'paymentRails' => [
'ACH',
'WIRE',
'RTP'
],
'currencyCodes' => [
'USD',
'EUR',
'GBP'
],
'bankAccountType' => 'checking',
'metadata' => [
'nickname' => 'Primary Business Account'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}"
payload := strings.NewReader("{\n \"beneficiaryType\": \"INDIVIDUAL\",\n \"beneficiaryName\": \"John Smith\",\n \"beneficiaryPhone\": \"+1234567890\",\n \"beneficiaryDateOfBirth\": \"1990-01-31\",\n \"beneficiaryDocumentType\": \"EIN\",\n \"beneficiaryDocumentNumber\": \"12-3456789\",\n \"bankName\": \"JPMorgan Chase Bank\",\n \"bankAddress\": {\n \"addressLine1\": \"123 Main Street\",\n \"addressLine2\": \"Apt 4B\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94102\",\n \"country\": \"US\"\n },\n \"paymentRails\": [\n \"ACH\",\n \"WIRE\",\n \"RTP\"\n ],\n \"currencyCodes\": [\n \"USD\",\n \"EUR\",\n \"GBP\"\n ],\n \"bankAccountType\": \"checking\",\n \"metadata\": {\n \"nickname\": \"Primary Business Account\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"beneficiaryType\": \"INDIVIDUAL\",\n \"beneficiaryName\": \"John Smith\",\n \"beneficiaryPhone\": \"+1234567890\",\n \"beneficiaryDateOfBirth\": \"1990-01-31\",\n \"beneficiaryDocumentType\": \"EIN\",\n \"beneficiaryDocumentNumber\": \"12-3456789\",\n \"bankName\": \"JPMorgan Chase Bank\",\n \"bankAddress\": {\n \"addressLine1\": \"123 Main Street\",\n \"addressLine2\": \"Apt 4B\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94102\",\n \"country\": \"US\"\n },\n \"paymentRails\": [\n \"ACH\",\n \"WIRE\",\n \"RTP\"\n ],\n \"currencyCodes\": [\n \"USD\",\n \"EUR\",\n \"GBP\"\n ],\n \"bankAccountType\": \"checking\",\n \"metadata\": {\n \"nickname\": \"Primary Business Account\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"beneficiaryType\": \"INDIVIDUAL\",\n \"beneficiaryName\": \"John Smith\",\n \"beneficiaryPhone\": \"+1234567890\",\n \"beneficiaryDateOfBirth\": \"1990-01-31\",\n \"beneficiaryDocumentType\": \"EIN\",\n \"beneficiaryDocumentNumber\": \"12-3456789\",\n \"bankName\": \"JPMorgan Chase Bank\",\n \"bankAddress\": {\n \"addressLine1\": \"123 Main Street\",\n \"addressLine2\": \"Apt 4B\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94102\",\n \"country\": \"US\"\n },\n \"paymentRails\": [\n \"ACH\",\n \"WIRE\",\n \"RTP\"\n ],\n \"currencyCodes\": [\n \"USD\",\n \"EUR\",\n \"GBP\"\n ],\n \"bankAccountType\": \"checking\",\n \"metadata\": {\n \"nickname\": \"Primary Business Account\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "eba_1234567890abcdef",
"customerId": "cust_abc123",
"type": "EXTERNAL_BANK",
"status": "IN_REVIEW",
"beneficiaryType": "INDIVIDUAL",
"beneficiaryName": "John Smith",
"paymentRail": "SWIFT",
"createdAt": "2026-01-15T10:00:00Z",
"updatedAt": "2026-01-15T10:00:00Z",
"counterpartyId": "cp_abc123",
"metadata": {
"nickname": "Main Checking Account",
"purpose": "Business operations",
"tags": [
"primary",
"operations"
]
},
"paymentRails": [
"ACH",
"ACH_SAME_DAY",
"WIRE"
],
"beneficiaryAddress": {
"addressLine1": "123 Main Street",
"addressLine2": "Suite 100",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "US"
},
"beneficiaryPhone": "+12125551234",
"beneficiaryDateOfBirth": "1990-01-31",
"bankName": "JPMorgan Chase Bank",
"bankAddress": {
"addressLine1": "270 Park Avenue",
"addressLine2": "Floor 10",
"city": "New York",
"state": "NY",
"postalCode": "10017",
"country": "US"
},
"swiftBic": "CHASUS33",
"iban": "GB82WEST12345698765432",
"accountNumber": "1234567890",
"routingNumber": "021000021",
"branchCode": "001",
"beneficiaryDocumentType": "CC",
"beneficiaryDocumentNumber": "12345678901",
"beneficiaryStateProvince": "LIMA",
"correspondentBankName": "Bank of America",
"correspondentBankSwiftCode": "IRVTUS3NXXX",
"correspondentAccountNumber": "9876543210",
"bankAccountType": "checking",
"currencyCodes": [
"USD",
"EUR"
],
"aliasType": "TAX_ID",
"aliasValue": "12345678901",
"created": true
}Update an external account
Update mutable fields on an existing external bank account.
Adding payment rails
Create does not merge rails when the same bank identity already exists. To enable additional compatible rails (e.g. add ACH to a US account created with WIRE only), PATCH with paymentRails set to the full resulting list — existing rails plus any to add.
- Existing rails cannot be removed.
- New rails must be compatible with the account’s stored bank details and with each other.
- Proxy accounts cannot change
paymentRails.
# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api PATCH /v1/external-bank-accounts/acc_abc123 \
--body '<request-json>'Update an external account (acc_abc123).
# Infinite MCP is read-only for this endpoint — use a dedicated MCP tool when one exists, otherwise run the CLI tab.import requests
url = "https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}"
payload = {
"beneficiaryType": "INDIVIDUAL",
"beneficiaryName": "John Smith",
"beneficiaryPhone": "+1234567890",
"beneficiaryDateOfBirth": "1990-01-31",
"beneficiaryDocumentType": "EIN",
"beneficiaryDocumentNumber": "12-3456789",
"bankName": "JPMorgan Chase Bank",
"bankAddress": {
"addressLine1": "123 Main Street",
"addressLine2": "Apt 4B",
"city": "San Francisco",
"state": "CA",
"postalCode": "94102",
"country": "US"
},
"paymentRails": ["ACH", "WIRE", "RTP"],
"currencyCodes": ["USD", "EUR", "GBP"],
"bankAccountType": "checking",
"metadata": { "nickname": "Primary Business Account" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
beneficiaryType: 'INDIVIDUAL',
beneficiaryName: 'John Smith',
beneficiaryPhone: '+1234567890',
beneficiaryDateOfBirth: '1990-01-31',
beneficiaryDocumentType: 'EIN',
beneficiaryDocumentNumber: '12-3456789',
bankName: 'JPMorgan Chase Bank',
bankAddress: {
addressLine1: '123 Main Street',
addressLine2: 'Apt 4B',
city: 'San Francisco',
state: 'CA',
postalCode: '94102',
country: 'US'
},
paymentRails: ['ACH', 'WIRE', 'RTP'],
currencyCodes: ['USD', 'EUR', 'GBP'],
bankAccountType: 'checking',
metadata: {nickname: 'Primary Business Account'}
})
};
fetch('https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'beneficiaryType' => 'INDIVIDUAL',
'beneficiaryName' => 'John Smith',
'beneficiaryPhone' => '+1234567890',
'beneficiaryDateOfBirth' => '1990-01-31',
'beneficiaryDocumentType' => 'EIN',
'beneficiaryDocumentNumber' => '12-3456789',
'bankName' => 'JPMorgan Chase Bank',
'bankAddress' => [
'addressLine1' => '123 Main Street',
'addressLine2' => 'Apt 4B',
'city' => 'San Francisco',
'state' => 'CA',
'postalCode' => '94102',
'country' => 'US'
],
'paymentRails' => [
'ACH',
'WIRE',
'RTP'
],
'currencyCodes' => [
'USD',
'EUR',
'GBP'
],
'bankAccountType' => 'checking',
'metadata' => [
'nickname' => 'Primary Business Account'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}"
payload := strings.NewReader("{\n \"beneficiaryType\": \"INDIVIDUAL\",\n \"beneficiaryName\": \"John Smith\",\n \"beneficiaryPhone\": \"+1234567890\",\n \"beneficiaryDateOfBirth\": \"1990-01-31\",\n \"beneficiaryDocumentType\": \"EIN\",\n \"beneficiaryDocumentNumber\": \"12-3456789\",\n \"bankName\": \"JPMorgan Chase Bank\",\n \"bankAddress\": {\n \"addressLine1\": \"123 Main Street\",\n \"addressLine2\": \"Apt 4B\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94102\",\n \"country\": \"US\"\n },\n \"paymentRails\": [\n \"ACH\",\n \"WIRE\",\n \"RTP\"\n ],\n \"currencyCodes\": [\n \"USD\",\n \"EUR\",\n \"GBP\"\n ],\n \"bankAccountType\": \"checking\",\n \"metadata\": {\n \"nickname\": \"Primary Business Account\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"beneficiaryType\": \"INDIVIDUAL\",\n \"beneficiaryName\": \"John Smith\",\n \"beneficiaryPhone\": \"+1234567890\",\n \"beneficiaryDateOfBirth\": \"1990-01-31\",\n \"beneficiaryDocumentType\": \"EIN\",\n \"beneficiaryDocumentNumber\": \"12-3456789\",\n \"bankName\": \"JPMorgan Chase Bank\",\n \"bankAddress\": {\n \"addressLine1\": \"123 Main Street\",\n \"addressLine2\": \"Apt 4B\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94102\",\n \"country\": \"US\"\n },\n \"paymentRails\": [\n \"ACH\",\n \"WIRE\",\n \"RTP\"\n ],\n \"currencyCodes\": [\n \"USD\",\n \"EUR\",\n \"GBP\"\n ],\n \"bankAccountType\": \"checking\",\n \"metadata\": {\n \"nickname\": \"Primary Business Account\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/external-bank-accounts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"beneficiaryType\": \"INDIVIDUAL\",\n \"beneficiaryName\": \"John Smith\",\n \"beneficiaryPhone\": \"+1234567890\",\n \"beneficiaryDateOfBirth\": \"1990-01-31\",\n \"beneficiaryDocumentType\": \"EIN\",\n \"beneficiaryDocumentNumber\": \"12-3456789\",\n \"bankName\": \"JPMorgan Chase Bank\",\n \"bankAddress\": {\n \"addressLine1\": \"123 Main Street\",\n \"addressLine2\": \"Apt 4B\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94102\",\n \"country\": \"US\"\n },\n \"paymentRails\": [\n \"ACH\",\n \"WIRE\",\n \"RTP\"\n ],\n \"currencyCodes\": [\n \"USD\",\n \"EUR\",\n \"GBP\"\n ],\n \"bankAccountType\": \"checking\",\n \"metadata\": {\n \"nickname\": \"Primary Business Account\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "eba_1234567890abcdef",
"customerId": "cust_abc123",
"type": "EXTERNAL_BANK",
"status": "IN_REVIEW",
"beneficiaryType": "INDIVIDUAL",
"beneficiaryName": "John Smith",
"paymentRail": "SWIFT",
"createdAt": "2026-01-15T10:00:00Z",
"updatedAt": "2026-01-15T10:00:00Z",
"counterpartyId": "cp_abc123",
"metadata": {
"nickname": "Main Checking Account",
"purpose": "Business operations",
"tags": [
"primary",
"operations"
]
},
"paymentRails": [
"ACH",
"ACH_SAME_DAY",
"WIRE"
],
"beneficiaryAddress": {
"addressLine1": "123 Main Street",
"addressLine2": "Suite 100",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "US"
},
"beneficiaryPhone": "+12125551234",
"beneficiaryDateOfBirth": "1990-01-31",
"bankName": "JPMorgan Chase Bank",
"bankAddress": {
"addressLine1": "270 Park Avenue",
"addressLine2": "Floor 10",
"city": "New York",
"state": "NY",
"postalCode": "10017",
"country": "US"
},
"swiftBic": "CHASUS33",
"iban": "GB82WEST12345698765432",
"accountNumber": "1234567890",
"routingNumber": "021000021",
"branchCode": "001",
"beneficiaryDocumentType": "CC",
"beneficiaryDocumentNumber": "12345678901",
"beneficiaryStateProvince": "LIMA",
"correspondentBankName": "Bank of America",
"correspondentBankSwiftCode": "IRVTUS3NXXX",
"correspondentAccountNumber": "9876543210",
"bankAccountType": "checking",
"currencyCodes": [
"USD",
"EUR"
],
"aliasType": "TAX_ID",
"aliasValue": "12345678901",
"created": true
}Authorizations
API Key in Bearer format (e.g., Bearer sk_test_...)
Headers
API key
Path Parameters
External account ID
Body
Beneficiary type
INDIVIDUAL, BUSINESS "INDIVIDUAL"
Beneficiary full name
"John Smith"
Beneficiary structured address. Street lines are limited to 35 characters for international wire compatibility. Put city, region, and postal code in their own fields — not in the street lines.
Show child attributes
Show child attributes
Beneficiary phone number
"+1234567890"
Account holder's date of birth
"1990-01-31"
Type of the beneficiary's national/tax identification document. Rail-specific codes — see the field on account creation.
"EIN"
The beneficiary's national/tax identification document number (e.g. EIN for US business beneficiaries). Payouts on rails that require it fail without it.
"12-3456789"
Bank name
"JPMorgan Chase Bank"
Bank structured address
Show child attributes
Show child attributes
Adds compatible payment rails to this account. Send the full resulting list (existing rails plus any to add). Existing rails cannot be removed.
Rails must be compatible with each other and with the account's stored bank details (e.g. add RTP to a US ACH/WIRE account; do not mix SEPA with a US routing-number account).
ACH, ACH_SAME_DAY, WIRE, FED_NOW, RTP, EREBOR, EREBOR_RAIL, BALANCE, SWIFT, SEPA, SEPA_INSTANT, TIPS, FASTER_PAYMENTS, BACS, CHAPS, ELIXIR, NICS, EFT, INTERAC, NPP, BECS, UPI, IMPS, IMPS_WITH_FIRC, NEFT, RTGS, BI_FAST, ARTAJASA, PIX, TED, TEF, SPEI, COELSA, SINPE, CIPS, CFXPS, CHATS, ZENGIN, KFTC, FAST_SG, MEPS, DUITNOW, PROMPTPAY, INSTAPAY, PESONET, NAPAS, BEFTN, SLIPS, ZAHAV, GHIPSS, NIBSS, PESALINK, RTC_ZA, TZS_RTGS, EGP_ACH, JOD_ACH, NPSS, MADA, QPS, DOP_ACH, GTQ_ACH, HNL_ACH, PEN_ACH, JMD_ACH, USD_ACH_SV, USD_ACH_EC, CLP_TEF, PSE, COP_ACH, BOB_RTGS, PYG_ACH, CERTIS, DKK_TIPS, SENT, NKS, BANKGIROT, HKD_FPS, IBFT, TRY_FAST ["ACH", "WIRE", "RTP"]
Currency codes supported by this account. Only updatable for accounts with Hong Kong (CHATS) or SWIFT payment rails.
["USD", "EUR", "GBP"]
Bank account type (checking or savings)
checking, savings "checking"
Optional metadata for the account (e.g., nickname)
Show child attributes
Show child attributes
{ "nickname": "Primary Business Account" }
Response
External account updated successfully
Account ID
"eba_1234567890abcdef"
Customer ID
"cust_abc123"
Account type
EXTERNAL_BANK, EXTERNAL_PROXY "EXTERNAL_BANK"
Account status
IN_REVIEW, ACTIVE, CLOSED "IN_REVIEW"
Beneficiary type
INDIVIDUAL, BUSINESS "INDIVIDUAL"
Beneficiary name
"John Smith"
Primary payment rail for this account
ACH, ACH_SAME_DAY, WIRE, FEDWIRE, FED_NOW, RTP, EREBOR, EREBOR_RAIL, BALANCE, SWIFT, SEPA, SEPA_INSTANT, TIPS, FASTER_PAYMENTS, BACS, CHAPS, ELIXIR, NICS, EFT, INTERAC, NPP, BECS, UPI, IMPS, IMPS_WITH_FIRC, NEFT, RTGS, BI_FAST, ARTAJASA, PIX, TED, TEF, SPEI, COELSA, SINPE, CIPS, CFXPS, CHATS, ZENGIN, KFTC, FAST_SG, MEPS, DUITNOW, PROMPTPAY, INSTAPAY, PESONET, NAPAS, BEFTN, SLIPS, ZAHAV, GHIPSS, NIBSS, PESALINK, RTC_ZA, TZS_RTGS, EGP_ACH, JOD_ACH, NPSS, MADA, QPS, DOP_ACH, GTQ_ACH, HNL_ACH, PEN_ACH, JMD_ACH, USD_ACH_SV, USD_ACH_EC, CLP_TEF, PSE, COP_ACH, BOB_RTGS, PYG_ACH, CERTIS, DKK_TIPS, SENT, NKS, BANKGIROT, HKD_FPS, IBFT, TRY_FAST "SWIFT"
Account creation date
"2026-01-15T10:00:00Z"
Account last update date
"2026-01-15T10:00:00Z"
Counterparty ID when this is a third-party recipient account
"cp_abc123"
Custom metadata for your application, including account nickname
Show child attributes
Show child attributes
All payment rails this account supports (bank accounts only)
ACH, ACH_SAME_DAY, WIRE, FEDWIRE, FED_NOW, RTP, EREBOR, EREBOR_RAIL, BALANCE, SWIFT, SEPA, SEPA_INSTANT, TIPS, FASTER_PAYMENTS, BACS, CHAPS, ELIXIR, NICS, EFT, INTERAC, NPP, BECS, UPI, IMPS, IMPS_WITH_FIRC, NEFT, RTGS, BI_FAST, ARTAJASA, PIX, TED, TEF, SPEI, COELSA, SINPE, CIPS, CFXPS, CHATS, ZENGIN, KFTC, FAST_SG, MEPS, DUITNOW, PROMPTPAY, INSTAPAY, PESONET, NAPAS, BEFTN, SLIPS, ZAHAV, GHIPSS, NIBSS, PESALINK, RTC_ZA, TZS_RTGS, EGP_ACH, JOD_ACH, NPSS, MADA, QPS, DOP_ACH, GTQ_ACH, HNL_ACH, PEN_ACH, JMD_ACH, USD_ACH_SV, USD_ACH_EC, CLP_TEF, PSE, COP_ACH, BOB_RTGS, PYG_ACH, CERTIS, DKK_TIPS, SENT, NKS, BANKGIROT, HKD_FPS, IBFT, TRY_FAST ["ACH", "ACH_SAME_DAY", "WIRE"]
Beneficiary address (bank accounts only)
Show child attributes
Show child attributes
Beneficiary phone number
"+12125551234"
Account holder's date of birth
"1990-01-31"
Bank name (bank accounts only)
"JPMorgan Chase Bank"
Bank address (bank accounts only)
Show child attributes
Show child attributes
SWIFT/BIC code (bank accounts only)
"CHASUS33"
IBAN (bank accounts only)
"GB82WEST12345698765432"
Bank account number (bank accounts only)
"1234567890"
Bank routing code (ABA routing number, sort code, BSB, IFSC, etc.)
"021000021"
Bank branch code (for countries like Japan, Brazil, South Africa that use separate branch identifiers)
"001"
Type of the beneficiary's national/tax identification document (rail-specific codes, e.g. CC/NIT for Colombia, RUT for Chile)
"CC"
The beneficiary's national/tax identification document number
"12345678901"
The beneficiary's state/department/province (rails that require it on payouts, e.g. Peru ACH)
"LIMA"
Correspondent/intermediary bank name (SWIFT)
"Bank of America"
Correspondent/intermediary bank SWIFT/BIC code (SWIFT)
"IRVTUS3NXXX"
Correspondent/intermediary account number (SWIFT)
"9876543210"
Bank account type (bank accounts only)
checking, savings "checking"
Supported currency codes
["USD", "EUR"]
Type of proxy alias (proxy accounts only)
PHONE, EMAIL, NATIONAL_ID, TAX_ID, RANDOM, CORPORATE_ID "TAX_ID"
The proxy alias value (proxy accounts only)
"12345678901"
Present on create responses. true = a new account was inserted. false = an existing account matched (bank: customer + the exact normalized identifier set supplied; proxy: customer + alias + rail) and was reused. For bank accounts, existing paymentRails are not updated by create — use PATCH to add rails; missing create-only fields may still be backfilled and conflicting values return 400. For proxy accounts, inspect paymentRail (proxies do not return paymentRails).
true
Was this page helpful?