Create a customer account
curl --request POST \
--url https://api.brale.xyz/accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"business_name": "ABC Company Inc",
"ein": "11-1111111",
"address": {
"street_line_1": "100 Example St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country": "US"
},
"phone_number": "2125550182",
"email": "[email protected]",
"website": "https://abc.example",
"beneficial_owners": [
{
"first_name": "Jane",
"last_name": "Doe",
"dob": "1980-05-12",
"ssn": "222-22-2222",
"email": "[email protected]",
"phone_number": "212-555-0182",
"address": {
"street_line_1": "100 Example St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country": "US"
}
}
],
"business_controller": {
"first_name": "Alicia",
"last_name": "Ng",
"dob": "1986-07-14",
"ssn": "123-45-6789",
"email": "[email protected]",
"phone_number": "+12125550182",
"address": {
"street_line_1": "200 Market St",
"city": "New York",
"state": "NY",
"zip": "10002",
"country": "US"
}
},
"tos_attestation": {
"accepted_at": "2025-05-13T20:45:15Z",
"version": "2025-04-01",
"ip": "203.0.113.42",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ..."
},
"name": "My Account"
}
'import requests
url = "https://api.brale.xyz/accounts"
payload = {
"business_name": "ABC Company Inc",
"ein": "11-1111111",
"address": {
"street_line_1": "100 Example St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country": "US"
},
"phone_number": "2125550182",
"email": "[email protected]",
"website": "https://abc.example",
"beneficial_owners": [
{
"first_name": "Jane",
"last_name": "Doe",
"dob": "1980-05-12",
"ssn": "222-22-2222",
"email": "[email protected]",
"phone_number": "212-555-0182",
"address": {
"street_line_1": "100 Example St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country": "US"
}
}
],
"business_controller": {
"first_name": "Alicia",
"last_name": "Ng",
"dob": "1986-07-14",
"ssn": "123-45-6789",
"email": "[email protected]",
"phone_number": "+12125550182",
"address": {
"street_line_1": "200 Market St",
"city": "New York",
"state": "NY",
"zip": "10002",
"country": "US"
}
},
"tos_attestation": {
"accepted_at": "2025-05-13T20:45:15Z",
"version": "2025-04-01",
"ip": "203.0.113.42",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ..."
},
"name": "My Account"
}
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({
business_name: 'ABC Company Inc',
ein: '11-1111111',
address: {
street_line_1: '100 Example St',
city: 'New York',
state: 'NY',
zip: '10001',
country: 'US'
},
phone_number: '2125550182',
email: '[email protected]',
website: 'https://abc.example',
beneficial_owners: [
{
first_name: 'Jane',
last_name: 'Doe',
dob: '1980-05-12',
ssn: '222-22-2222',
email: '[email protected]',
phone_number: '212-555-0182',
address: {
street_line_1: '100 Example St',
city: 'New York',
state: 'NY',
zip: '10001',
country: 'US'
}
}
],
business_controller: {
first_name: 'Alicia',
last_name: 'Ng',
dob: '1986-07-14',
ssn: '123-45-6789',
email: '[email protected]',
phone_number: '+12125550182',
address: {
street_line_1: '200 Market St',
city: 'New York',
state: 'NY',
zip: '10002',
country: 'US'
}
},
tos_attestation: {
accepted_at: '2025-05-13T20:45:15Z',
version: '2025-04-01',
ip: '203.0.113.42',
user_agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ...'
},
name: 'My Account'
})
};
fetch('https://api.brale.xyz/accounts', 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",
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([
'business_name' => 'ABC Company Inc',
'ein' => '11-1111111',
'address' => [
'street_line_1' => '100 Example St',
'city' => 'New York',
'state' => 'NY',
'zip' => '10001',
'country' => 'US'
],
'phone_number' => '2125550182',
'email' => '[email protected]',
'website' => 'https://abc.example',
'beneficial_owners' => [
[
'first_name' => 'Jane',
'last_name' => 'Doe',
'dob' => '1980-05-12',
'ssn' => '222-22-2222',
'email' => '[email protected]',
'phone_number' => '212-555-0182',
'address' => [
'street_line_1' => '100 Example St',
'city' => 'New York',
'state' => 'NY',
'zip' => '10001',
'country' => 'US'
]
]
],
'business_controller' => [
'first_name' => 'Alicia',
'last_name' => 'Ng',
'dob' => '1986-07-14',
'ssn' => '123-45-6789',
'email' => '[email protected]',
'phone_number' => '+12125550182',
'address' => [
'street_line_1' => '200 Market St',
'city' => 'New York',
'state' => 'NY',
'zip' => '10002',
'country' => 'US'
]
],
'tos_attestation' => [
'accepted_at' => '2025-05-13T20:45:15Z',
'version' => '2025-04-01',
'ip' => '203.0.113.42',
'user_agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ...'
],
'name' => 'My Account'
]),
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"
payload := strings.NewReader("{\n \"business_name\": \"ABC Company Inc\",\n \"ein\": \"11-1111111\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n },\n \"phone_number\": \"2125550182\",\n \"email\": \"[email protected]\",\n \"website\": \"https://abc.example\",\n \"beneficial_owners\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"dob\": \"1980-05-12\",\n \"ssn\": \"222-22-2222\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"212-555-0182\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n }\n }\n ],\n \"business_controller\": {\n \"first_name\": \"Alicia\",\n \"last_name\": \"Ng\",\n \"dob\": \"1986-07-14\",\n \"ssn\": \"123-45-6789\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"+12125550182\",\n \"address\": {\n \"street_line_1\": \"200 Market St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10002\",\n \"country\": \"US\"\n }\n },\n \"tos_attestation\": {\n \"accepted_at\": \"2025-05-13T20:45:15Z\",\n \"version\": \"2025-04-01\",\n \"ip\": \"203.0.113.42\",\n \"user_agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ...\"\n },\n \"name\": \"My Account\"\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")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"business_name\": \"ABC Company Inc\",\n \"ein\": \"11-1111111\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n },\n \"phone_number\": \"2125550182\",\n \"email\": \"[email protected]\",\n \"website\": \"https://abc.example\",\n \"beneficial_owners\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"dob\": \"1980-05-12\",\n \"ssn\": \"222-22-2222\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"212-555-0182\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n }\n }\n ],\n \"business_controller\": {\n \"first_name\": \"Alicia\",\n \"last_name\": \"Ng\",\n \"dob\": \"1986-07-14\",\n \"ssn\": \"123-45-6789\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"+12125550182\",\n \"address\": {\n \"street_line_1\": \"200 Market St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10002\",\n \"country\": \"US\"\n }\n },\n \"tos_attestation\": {\n \"accepted_at\": \"2025-05-13T20:45:15Z\",\n \"version\": \"2025-04-01\",\n \"ip\": \"203.0.113.42\",\n \"user_agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ...\"\n },\n \"name\": \"My Account\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brale.xyz/accounts")
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 \"business_name\": \"ABC Company Inc\",\n \"ein\": \"11-1111111\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n },\n \"phone_number\": \"2125550182\",\n \"email\": \"[email protected]\",\n \"website\": \"https://abc.example\",\n \"beneficial_owners\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"dob\": \"1980-05-12\",\n \"ssn\": \"222-22-2222\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"212-555-0182\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n }\n }\n ],\n \"business_controller\": {\n \"first_name\": \"Alicia\",\n \"last_name\": \"Ng\",\n \"dob\": \"1986-07-14\",\n \"ssn\": \"123-45-6789\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"+12125550182\",\n \"address\": {\n \"street_line_1\": \"200 Market St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10002\",\n \"country\": \"US\"\n }\n },\n \"tos_attestation\": {\n \"accepted_at\": \"2025-05-13T20:45:15Z\",\n \"version\": \"2025-04-01\",\n \"ip\": \"203.0.113.42\",\n \"user_agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ...\"\n },\n \"name\": \"My Account\"\n}"
response = http.request(request)
puts response.read_body{
"id": "2VcUIIsgARwVbEGlIYbhg6fGG57"
}Accounts
Create a customer account
Creates a new customer (account) with the required KYC/KYB details.
POST
/
accounts
Create a customer account
curl --request POST \
--url https://api.brale.xyz/accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"business_name": "ABC Company Inc",
"ein": "11-1111111",
"address": {
"street_line_1": "100 Example St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country": "US"
},
"phone_number": "2125550182",
"email": "[email protected]",
"website": "https://abc.example",
"beneficial_owners": [
{
"first_name": "Jane",
"last_name": "Doe",
"dob": "1980-05-12",
"ssn": "222-22-2222",
"email": "[email protected]",
"phone_number": "212-555-0182",
"address": {
"street_line_1": "100 Example St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country": "US"
}
}
],
"business_controller": {
"first_name": "Alicia",
"last_name": "Ng",
"dob": "1986-07-14",
"ssn": "123-45-6789",
"email": "[email protected]",
"phone_number": "+12125550182",
"address": {
"street_line_1": "200 Market St",
"city": "New York",
"state": "NY",
"zip": "10002",
"country": "US"
}
},
"tos_attestation": {
"accepted_at": "2025-05-13T20:45:15Z",
"version": "2025-04-01",
"ip": "203.0.113.42",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ..."
},
"name": "My Account"
}
'import requests
url = "https://api.brale.xyz/accounts"
payload = {
"business_name": "ABC Company Inc",
"ein": "11-1111111",
"address": {
"street_line_1": "100 Example St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country": "US"
},
"phone_number": "2125550182",
"email": "[email protected]",
"website": "https://abc.example",
"beneficial_owners": [
{
"first_name": "Jane",
"last_name": "Doe",
"dob": "1980-05-12",
"ssn": "222-22-2222",
"email": "[email protected]",
"phone_number": "212-555-0182",
"address": {
"street_line_1": "100 Example St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country": "US"
}
}
],
"business_controller": {
"first_name": "Alicia",
"last_name": "Ng",
"dob": "1986-07-14",
"ssn": "123-45-6789",
"email": "[email protected]",
"phone_number": "+12125550182",
"address": {
"street_line_1": "200 Market St",
"city": "New York",
"state": "NY",
"zip": "10002",
"country": "US"
}
},
"tos_attestation": {
"accepted_at": "2025-05-13T20:45:15Z",
"version": "2025-04-01",
"ip": "203.0.113.42",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ..."
},
"name": "My Account"
}
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({
business_name: 'ABC Company Inc',
ein: '11-1111111',
address: {
street_line_1: '100 Example St',
city: 'New York',
state: 'NY',
zip: '10001',
country: 'US'
},
phone_number: '2125550182',
email: '[email protected]',
website: 'https://abc.example',
beneficial_owners: [
{
first_name: 'Jane',
last_name: 'Doe',
dob: '1980-05-12',
ssn: '222-22-2222',
email: '[email protected]',
phone_number: '212-555-0182',
address: {
street_line_1: '100 Example St',
city: 'New York',
state: 'NY',
zip: '10001',
country: 'US'
}
}
],
business_controller: {
first_name: 'Alicia',
last_name: 'Ng',
dob: '1986-07-14',
ssn: '123-45-6789',
email: '[email protected]',
phone_number: '+12125550182',
address: {
street_line_1: '200 Market St',
city: 'New York',
state: 'NY',
zip: '10002',
country: 'US'
}
},
tos_attestation: {
accepted_at: '2025-05-13T20:45:15Z',
version: '2025-04-01',
ip: '203.0.113.42',
user_agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ...'
},
name: 'My Account'
})
};
fetch('https://api.brale.xyz/accounts', 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",
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([
'business_name' => 'ABC Company Inc',
'ein' => '11-1111111',
'address' => [
'street_line_1' => '100 Example St',
'city' => 'New York',
'state' => 'NY',
'zip' => '10001',
'country' => 'US'
],
'phone_number' => '2125550182',
'email' => '[email protected]',
'website' => 'https://abc.example',
'beneficial_owners' => [
[
'first_name' => 'Jane',
'last_name' => 'Doe',
'dob' => '1980-05-12',
'ssn' => '222-22-2222',
'email' => '[email protected]',
'phone_number' => '212-555-0182',
'address' => [
'street_line_1' => '100 Example St',
'city' => 'New York',
'state' => 'NY',
'zip' => '10001',
'country' => 'US'
]
]
],
'business_controller' => [
'first_name' => 'Alicia',
'last_name' => 'Ng',
'dob' => '1986-07-14',
'ssn' => '123-45-6789',
'email' => '[email protected]',
'phone_number' => '+12125550182',
'address' => [
'street_line_1' => '200 Market St',
'city' => 'New York',
'state' => 'NY',
'zip' => '10002',
'country' => 'US'
]
],
'tos_attestation' => [
'accepted_at' => '2025-05-13T20:45:15Z',
'version' => '2025-04-01',
'ip' => '203.0.113.42',
'user_agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ...'
],
'name' => 'My Account'
]),
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"
payload := strings.NewReader("{\n \"business_name\": \"ABC Company Inc\",\n \"ein\": \"11-1111111\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n },\n \"phone_number\": \"2125550182\",\n \"email\": \"[email protected]\",\n \"website\": \"https://abc.example\",\n \"beneficial_owners\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"dob\": \"1980-05-12\",\n \"ssn\": \"222-22-2222\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"212-555-0182\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n }\n }\n ],\n \"business_controller\": {\n \"first_name\": \"Alicia\",\n \"last_name\": \"Ng\",\n \"dob\": \"1986-07-14\",\n \"ssn\": \"123-45-6789\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"+12125550182\",\n \"address\": {\n \"street_line_1\": \"200 Market St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10002\",\n \"country\": \"US\"\n }\n },\n \"tos_attestation\": {\n \"accepted_at\": \"2025-05-13T20:45:15Z\",\n \"version\": \"2025-04-01\",\n \"ip\": \"203.0.113.42\",\n \"user_agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ...\"\n },\n \"name\": \"My Account\"\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")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"business_name\": \"ABC Company Inc\",\n \"ein\": \"11-1111111\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n },\n \"phone_number\": \"2125550182\",\n \"email\": \"[email protected]\",\n \"website\": \"https://abc.example\",\n \"beneficial_owners\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"dob\": \"1980-05-12\",\n \"ssn\": \"222-22-2222\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"212-555-0182\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n }\n }\n ],\n \"business_controller\": {\n \"first_name\": \"Alicia\",\n \"last_name\": \"Ng\",\n \"dob\": \"1986-07-14\",\n \"ssn\": \"123-45-6789\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"+12125550182\",\n \"address\": {\n \"street_line_1\": \"200 Market St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10002\",\n \"country\": \"US\"\n }\n },\n \"tos_attestation\": {\n \"accepted_at\": \"2025-05-13T20:45:15Z\",\n \"version\": \"2025-04-01\",\n \"ip\": \"203.0.113.42\",\n \"user_agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ...\"\n },\n \"name\": \"My Account\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brale.xyz/accounts")
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 \"business_name\": \"ABC Company Inc\",\n \"ein\": \"11-1111111\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n },\n \"phone_number\": \"2125550182\",\n \"email\": \"[email protected]\",\n \"website\": \"https://abc.example\",\n \"beneficial_owners\": [\n {\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"dob\": \"1980-05-12\",\n \"ssn\": \"222-22-2222\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"212-555-0182\",\n \"address\": {\n \"street_line_1\": \"100 Example St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n }\n }\n ],\n \"business_controller\": {\n \"first_name\": \"Alicia\",\n \"last_name\": \"Ng\",\n \"dob\": \"1986-07-14\",\n \"ssn\": \"123-45-6789\",\n \"email\": \"[email protected]\",\n \"phone_number\": \"+12125550182\",\n \"address\": {\n \"street_line_1\": \"200 Market St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10002\",\n \"country\": \"US\"\n }\n },\n \"tos_attestation\": {\n \"accepted_at\": \"2025-05-13T20:45:15Z\",\n \"version\": \"2025-04-01\",\n \"ip\": \"203.0.113.42\",\n \"user_agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ...\"\n },\n \"name\": \"My Account\"\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.
Linked documents are uploaded asynchronously after the account is created. The account
Verification documents: Stage KYB documents first, then either pass the returned
doc_submission_ids on this request or link them afterward. If Brale’s review later requires more documents, subscribe to account.verification.documents_required (see Webhook Events) or poll required documents — stage and link those documents the same way. When verification passes, Brale sends account.verification.completed and the account status becomes complete.Linking documents at creation
Include optionaldoc_submission_ids in the request body to link staged document submissions when the account is created. Each ID must come from a prior Stage a Verification Document call (POST /documents). Omit the field to create the account without documents and link them later.
| Field | Type | Required | Description |
|---|---|---|---|
doc_submission_ids | array of strings (KSUID) | No | Staged submission IDs to link and upload as part of account creation. |
doc_submission_ids is not supported for testnet-only clients or self-attested accounts. In those cases, omit the field or link documents after creation if supported for your account type.
For the full account creation payload (business details, controller, beneficial owners, TOS attestation), see Accounts.
Example request with documents
{
"business_name": "Acme Corp",
"ein": "12-3456789",
"address": {
"street_line_1": "123 Main St",
"city": "Des Moines",
"state": "IA",
"zip": "12345"
},
"phone_number": "2134678902",
"email": "[email protected]",
"website": "https://acme.example.com",
"business_controller": {
"first_name": "John",
"last_name": "Doe",
"ssn": "222-22-2222",
"dob": "1981-01-25",
"email": "[email protected]",
"phone_number": "2154688987",
"ownership_percentage": "50",
"address": {
"street_line_1": "456 Elm St",
"city": "Chicago",
"state": "IL",
"zip": "60601"
}
},
"beneficial_owners": [],
"tos_attestation": {
"version": "2025-04-01",
"accepted_at": "2026-06-09T10:00:00Z"
},
"doc_submission_ids": [
"3Ar9BnQCKIrB3SYjKGBzCtFs6XL",
"3Ar9BnQCKIrB3SYjKGBzCtFs6XM"
]
}
Example response (201)
{
"id": "3Ar9BnQCKIrB3SYjKGBzCtFs6XL",
"name": "Acme Corp",
"status": "pending",
"created": "2026-06-09T10:00:00Z",
"updated": "2026-06-09T10:00:00Z"
}
status remains pending while Brale reviews the submission.
Required scope
accounts:writeAuthorizations
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
Body
application/json
Example:
"My Customer"
Example:
"123456789"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Example:
Example:
"515-555-1212"
Show child attributes
Show child attributes
Example:
"https://example.com"
Show child attributes
Show child attributes
Deprecated alias of beneficial_owners.
Show child attributes
Show child attributes
Example:
"My Account"
Response
201 - */*
Account successfully created
Pattern:
^[a-zA-Z0-9]{26}$Example:
"2VcUIIsgARwVbEGlIYbhg6fGG57"
Was this page helpful?
⌘I