Create subledger
Relevant webhooks
For this endpoint be sure you have registered for these webhooks:
API reference
Creates a subledger for the specified Master Account.
If you are using the International Payments remittance feature, you must create a subledger for the account holder with a value of Personal for the classification attribute.
Endpoint: /core/v1/dda/subaccounts
POST
https://sandbox.crbcos.com/core/v1/dda/subaccounts
Body Parameters
- masterAccountNumberstringrequiredDescription
- titlestringrequiredDescription
- customerIdstringDescription
- classificationstringDescription
- beneficiaryobjectDescription
- referenceIdstringDescription
- firstNamestringDescription
- middleNamestringDescription
- lastNamestringDescription
- entityNamestringDescription
- streetAddress1stringDescription
- streetAddress2stringDescription
- citystringDescription
- statestringDescription
- postalCodestringDescription
- countryCodestringDescription
- phoneNumberstringDescription
- emailAddressstringDescription
- notesstringDescription
- taxIdTypestringDescription
- taxIdstringDescription
- birthDatestringDescription
- dateFormedstringDescription
- clientIdentifierstringDescription
Response
- accountNumberstringDescription
- accountTypestringDescription
- statusstringDescription
- ledgerTypestringDescription
- productTypestringDescription
- titlestringDescription
- currentBalanceintegerDescription
- availableBalanceintegerDescription
- holdAmountintegerDescription
- transactionCountintegerDescription
- creditLimitintegerDescription
- currencystringDescription
- openedAtstringDescription
- closedAtstringDescription
- masterAccountNumberstringDescription
- customerIdstringDescription
- classificationstringDescription
- beneficiaryobjectDescription
- referenceIdstringDescription
- firstNamestringDescription
- middleNamestringDescription
- lastNamestringDescription
- entityNamestringDescription
- streetAddress1stringDescription
- streetAddress2stringDescription
- citystringDescription
- statestringDescription
- postalCodestringDescription
- countryCodestringDescription
- phoneNumberstringDescription
- emailAddressstringDescription
- notesstringDescription
- taxIdTypestringDescription
- taxIdstringDescription
- birthDatestringDescription
- dateFormedstringDescription
- partnerIdstringDescription
- lastMaintenanceAtstringDescription
- lastTransactedAtstringDescription
- productIdstringDescription
- clientIdentifierstringDescription
- lastModifiedAtstringDescription
- balancesobjectDescription
- accountNumberstringDescription
- isSubAccountbooleanDescription
- currencystringDescription
- currentBalanceintegerDescription
- availableBalanceintegerDescription
- holdAmountintegerDescription
- transactionCountintegerDescription
- lastModifiedAtstringDescription
- lastTransactedAtstringDescription
curl
curl --location 'https://sandbox.crbcos.com/core/v1/dda/subaccounts' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-key: 3392de17-6e92-4999-b943-cad5f19b1629' \
--data '{
"masterAccountNumber": "2819503463",
"title": "Jerry Penn",
"customerId": "53c34cf0-4cd2-4768-937b-b30000dffdca",
"classification": "Personal",
"beneficiary": {
"firstName": "Jerry" ,
"lastName": "Penn",
"streetAddress1": "12 Main St",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"countryCode": "US"
}
}
'nodejs
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': 'sandbox.crbcos.com',
'path': '/core/v1/dda/subaccounts',
'headers': {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json',
'Idempotency-key': '3392de17-6e92-4999-b943-cad5f19b1629'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = "{\r\n \"masterAccountNumber\": \"2819503463\",\r\n \"title\": \"Jerry Penn\",\r\n \"customerId\": \"53c34cf0-4cd2-4768-937b-b30000dffdca\",\r\n \"beneficiary\": {\r\n \"firstName\": \"Jerry\" ,\r\n \"lastName\": \"Penn\",\r\n \"streetAddress1\": \"12 Main St\",\r\n \"city\": \"New York\",\r\n \"state\": \"NY\",\r\n \"postalCode\": \"10001\",\r\n \"countryCode\": \"US\"\r\n }\r\n}\r\n\r\n";
req.write(postData);
req.end();python
import http.client
conn = http.client.HTTPSConnection("sandbox.crbcos.com")
payload = "{\r\n \"masterAccountNumber\": \"2819503463\",\r\n \"title\": \"Jerry Penn\",\r\n \"customerId\": \"53c34cf0-4cd2-4768-937b-b30000dffdca\",\r\n \"beneficiary\": {\r\n \"firstName\": \"Jerry\" ,\r\n \"lastName\": \"Penn\",\r\n \"streetAddress1\": \"12 Main St\",\r\n \"city\": \"New York\",\r\n \"state\": \"NY\",\r\n \"postalCode\": \"10001\",\r\n \"countryCode\": \"US\"\r\n }\r\n}\r\n\r\n"
headers = {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json',
'Idempotency-key': '3392de17-6e92-4999-b943-cad5f19b1629'
}
conn.request("POST", "/core/v1/dda/subaccounts", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))ruby
require "uri"
require "net/http"
url = URI("https://sandbox.crbcos.com/core/v1/dda/subaccounts")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request["Idempotency-key"] = "3392de17-6e92-4999-b943-cad5f19b1629"
request.body = "{\r\n \"masterAccountNumber\": \"2819503463\",\r\n \"title\": \"Jerry Penn\",\r\n \"customerId\": \"53c34cf0-4cd2-4768-937b-b30000dffdca\",\r\n \"beneficiary\": {\r\n \"firstName\": \"Jerry\" ,\r\n \"lastName\": \"Penn\",\r\n \"streetAddress1\": \"12 Main St\",\r\n \"city\": \"New York\",\r\n \"state\": \"NY\",\r\n \"postalCode\": \"10001\",\r\n \"countryCode\": \"US\"\r\n }\r\n}\r\n\r\n"
response = https.request(request)
puts response.read_body
go
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.crbcos.com/core/v1/dda/subaccounts"
method := "POST"
payload := strings.NewReader(`{
"masterAccountNumber": "2819503463",
"title": "Jerry Penn",
"customerId": "53c34cf0-4cd2-4768-937b-b30000dffdca",
"classification": "Personal",
"beneficiary": {
"firstName": "Jerry" ,
"lastName": "Penn",
"streetAddress1": "12 Main St",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"countryCode": "US"
}
}
`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Idempotency-key", "3392de17-6e92-4999-b943-cad5f19b1629")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}200
{
"accountNumber": "302022615264",
"accountType": "Deposit",
"status": "Active",
"ledgerType": "Passthrough",
"productType": "Checking",
"title": "Jerry Penn",
"currentBalance": 0,
"availableBalance": 0,
"holdAmount": 0,
"transactionCount": 0,
"creditLimit": 0,
"currency": "usd",
"openedAt": "2025-06-24T03:05:04.7952946-04:00",
"masterAccountNumber": "2819503463",
"customerId": "53c34cf0-4cd2-4768-937b-b30000dffdca",
"classification": "Personal",
"beneficiary": {
"firstName": "Jerry",
"lastName": "Penn",
"streetAddress1": "12 Main St",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"countryCode": "US"
},
"partnerId": "cd9c12f4-7691-424a-b38b-af5b0134c611",
"lastMaintenanceAt": "2025-06-24T03:05:04.7952946-04:00",
"productId": "83bed086-8182-4151-a1e3-af5b01362783",
"lastModifiedAt": "2025-06-24T03:05:04.8043224-04:00"
}400
{
"errors": [
{
"code": 2110,
"message": "Beneficiary required"
}
]
}20