Create a new external financial institution
curl --request POST \
--url https://api.brale.xyz/accounts/{account_id}/financial-institutions/external \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"name": "Business Checking Account",
"transfer_type": [
"ach",
"wire"
],
"bank_details": {
"owner": "Jane Doe",
"account_number": "1234567890",
"routing_number": 63108680,
"name": "Example Bank",
"account_type": "checking"
}
}
'import requests
url = "https://api.brale.xyz/accounts/{account_id}/financial-institutions/external"
payload = {
"name": "Business Checking Account",
"transfer_type": ["ach", "wire"],
"bank_details": {
"owner": "Jane Doe",
"account_number": "1234567890",
"routing_number": 63108680,
"name": "Example Bank",
"account_type": "checking"
}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Business Checking Account',
transfer_type: ['ach', 'wire'],
bank_details: {
owner: 'Jane Doe',
account_number: '1234567890',
routing_number: 63108680,
name: 'Example Bank',
account_type: 'checking'
}
})
};
fetch('https://api.brale.xyz/accounts/{account_id}/financial-institutions/external', 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://api.brale.xyz/accounts/{account_id}/financial-institutions/external",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Business Checking Account',
'transfer_type' => [
'ach',
'wire'
],
'bank_details' => [
'owner' => 'Jane Doe',
'account_number' => '1234567890',
'routing_number' => 63108680,
'name' => 'Example Bank',
'account_type' => 'checking'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>"
],
]);
$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://api.brale.xyz/accounts/{account_id}/financial-institutions/external"
payload := strings.NewReader("{\n \"name\": \"Business Checking Account\",\n \"transfer_type\": [\n \"ach\",\n \"wire\"\n ],\n \"bank_details\": {\n \"owner\": \"Jane Doe\",\n \"account_number\": \"1234567890\",\n \"routing_number\": 63108680,\n \"name\": \"Example Bank\",\n \"account_type\": \"checking\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
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.post("https://api.brale.xyz/accounts/{account_id}/financial-institutions/external")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Business Checking Account\",\n \"transfer_type\": [\n \"ach\",\n \"wire\"\n ],\n \"bank_details\": {\n \"owner\": \"Jane Doe\",\n \"account_number\": \"1234567890\",\n \"routing_number\": 63108680,\n \"name\": \"Example Bank\",\n \"account_type\": \"checking\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brale.xyz/accounts/{account_id}/financial-institutions/external")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Business Checking Account\",\n \"transfer_type\": [\n \"ach\",\n \"wire\"\n ],\n \"bank_details\": {\n \"owner\": \"Jane Doe\",\n \"account_number\": \"1234567890\",\n \"routing_number\": 63108680,\n \"name\": \"Example Bank\",\n \"account_type\": \"checking\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "2VcUIIsgARwVbEGlIYbhg6fGG57"
}Financial institutions
Create a new external financial institution
deprecated
Links an external bank account to the specified account (ACH, wire, etc.).
POST
/
accounts
/
{account_id}
/
financial-institutions
/
external
Create a new external financial institution
curl --request POST \
--url https://api.brale.xyz/accounts/{account_id}/financial-institutions/external \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"name": "Business Checking Account",
"transfer_type": [
"ach",
"wire"
],
"bank_details": {
"owner": "Jane Doe",
"account_number": "1234567890",
"routing_number": 63108680,
"name": "Example Bank",
"account_type": "checking"
}
}
'import requests
url = "https://api.brale.xyz/accounts/{account_id}/financial-institutions/external"
payload = {
"name": "Business Checking Account",
"transfer_type": ["ach", "wire"],
"bank_details": {
"owner": "Jane Doe",
"account_number": "1234567890",
"routing_number": 63108680,
"name": "Example Bank",
"account_type": "checking"
}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Business Checking Account',
transfer_type: ['ach', 'wire'],
bank_details: {
owner: 'Jane Doe',
account_number: '1234567890',
routing_number: 63108680,
name: 'Example Bank',
account_type: 'checking'
}
})
};
fetch('https://api.brale.xyz/accounts/{account_id}/financial-institutions/external', 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://api.brale.xyz/accounts/{account_id}/financial-institutions/external",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Business Checking Account',
'transfer_type' => [
'ach',
'wire'
],
'bank_details' => [
'owner' => 'Jane Doe',
'account_number' => '1234567890',
'routing_number' => 63108680,
'name' => 'Example Bank',
'account_type' => 'checking'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>"
],
]);
$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://api.brale.xyz/accounts/{account_id}/financial-institutions/external"
payload := strings.NewReader("{\n \"name\": \"Business Checking Account\",\n \"transfer_type\": [\n \"ach\",\n \"wire\"\n ],\n \"bank_details\": {\n \"owner\": \"Jane Doe\",\n \"account_number\": \"1234567890\",\n \"routing_number\": 63108680,\n \"name\": \"Example Bank\",\n \"account_type\": \"checking\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
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.post("https://api.brale.xyz/accounts/{account_id}/financial-institutions/external")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Business Checking Account\",\n \"transfer_type\": [\n \"ach\",\n \"wire\"\n ],\n \"bank_details\": {\n \"owner\": \"Jane Doe\",\n \"account_number\": \"1234567890\",\n \"routing_number\": 63108680,\n \"name\": \"Example Bank\",\n \"account_type\": \"checking\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brale.xyz/accounts/{account_id}/financial-institutions/external")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Business Checking Account\",\n \"transfer_type\": [\n \"ach\",\n \"wire\"\n ],\n \"bank_details\": {\n \"owner\": \"Jane Doe\",\n \"account_number\": \"1234567890\",\n \"routing_number\": 63108680,\n \"name\": \"Example Bank\",\n \"account_type\": \"checking\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "2VcUIIsgARwVbEGlIYbhg6fGG57"
}Use the playground below to try this endpoint directly, or review the OpenAPI details in the right panel.
Authorizations
Use the Bearer token returned from the Auth endpoint via OAuth2 client_credentials flow. Include the token in the "Authorization: Bearer " header.
Headers
A unique string used to prevent duplicate operations. Each POST request must use a new idempotency key. Use a UUIDv4 string. Example: idemp-123e4567-e89b-12d3-a456-426614174000
Path Parameters
The ID of the account
Pattern:
^[a-zA-Z0-9]{26}$Example:
"2VcUIIsgARwVbEGlIYbhg6fGG57"
Body
application/json
Response
201 - */*
Financial institution successfully created
Pattern:
^[a-zA-Z0-9]{26}$Example:
"2VcUIIsgARwVbEGlIYbhg6fGG57"
Was this page helpful?
⌘I