curl --request POST \
--url https://api.spherepay.co/v2/business-representative \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customerId": "customer_2f283221a9d44ada800ac7f11f640402",
"type": "individual",
"email": "james.wilson@acmecorp.example.com",
"phone": "+13125559876",
"address": {
"line1": "233 South Wacker Drive",
"city": "Chicago",
"country": "USA",
"line2": "Suite 4700",
"state": "IL",
"postalCode": "60606"
},
"personalInformation": {
"taxIdentificationNumber": "123456789",
"taxIdentificationNumberType": "ssn",
"taxIdentificationNumberCountry": "USA",
"taxIdentificationNumberDescription": "<string>",
"accountPurpose": "receive_salary",
"gender": "male",
"countryOfBirth": "USA",
"nationality": "USA",
"occupationSocCode": "15-1132",
"residencyCountry": "USA",
"sourceOfFunds": "salary"
},
"representationDetails": {
"roles": [
"ubo"
],
"ownershipPercentage": "50",
"isControlPerson": true,
"isSigner": true,
"relationshipEstablishedAt": "2020-03-15",
"title": "CEO"
},
"firstName": "Carlos",
"lastName": "Souza",
"middleName": "Carlos",
"dateOfBirth": "1990-01-15"
}
'import requests
url = "https://api.spherepay.co/v2/business-representative"
payload = {
"customerId": "customer_2f283221a9d44ada800ac7f11f640402",
"type": "individual",
"email": "james.wilson@acmecorp.example.com",
"phone": "+13125559876",
"address": {
"line1": "233 South Wacker Drive",
"city": "Chicago",
"country": "USA",
"line2": "Suite 4700",
"state": "IL",
"postalCode": "60606"
},
"personalInformation": {
"taxIdentificationNumber": "123456789",
"taxIdentificationNumberType": "ssn",
"taxIdentificationNumberCountry": "USA",
"taxIdentificationNumberDescription": "<string>",
"accountPurpose": "receive_salary",
"gender": "male",
"countryOfBirth": "USA",
"nationality": "USA",
"occupationSocCode": "15-1132",
"residencyCountry": "USA",
"sourceOfFunds": "salary"
},
"representationDetails": {
"roles": ["ubo"],
"ownershipPercentage": "50",
"isControlPerson": True,
"isSigner": True,
"relationshipEstablishedAt": "2020-03-15",
"title": "CEO"
},
"firstName": "Carlos",
"lastName": "Souza",
"middleName": "Carlos",
"dateOfBirth": "1990-01-15"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customerId: 'customer_2f283221a9d44ada800ac7f11f640402',
type: 'individual',
email: 'james.wilson@acmecorp.example.com',
phone: '+13125559876',
address: {
line1: '233 South Wacker Drive',
city: 'Chicago',
country: 'USA',
line2: 'Suite 4700',
state: 'IL',
postalCode: '60606'
},
personalInformation: {
taxIdentificationNumber: '123456789',
taxIdentificationNumberType: 'ssn',
taxIdentificationNumberCountry: 'USA',
taxIdentificationNumberDescription: '<string>',
accountPurpose: 'receive_salary',
gender: 'male',
countryOfBirth: 'USA',
nationality: 'USA',
occupationSocCode: '15-1132',
residencyCountry: 'USA',
sourceOfFunds: 'salary'
},
representationDetails: {
roles: ['ubo'],
ownershipPercentage: '50',
isControlPerson: true,
isSigner: true,
relationshipEstablishedAt: '2020-03-15',
title: 'CEO'
},
firstName: 'Carlos',
lastName: 'Souza',
middleName: 'Carlos',
dateOfBirth: '1990-01-15'
})
};
fetch('https://api.spherepay.co/v2/business-representative', 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.spherepay.co/v2/business-representative",
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([
'customerId' => 'customer_2f283221a9d44ada800ac7f11f640402',
'type' => 'individual',
'email' => 'james.wilson@acmecorp.example.com',
'phone' => '+13125559876',
'address' => [
'line1' => '233 South Wacker Drive',
'city' => 'Chicago',
'country' => 'USA',
'line2' => 'Suite 4700',
'state' => 'IL',
'postalCode' => '60606'
],
'personalInformation' => [
'taxIdentificationNumber' => '123456789',
'taxIdentificationNumberType' => 'ssn',
'taxIdentificationNumberCountry' => 'USA',
'taxIdentificationNumberDescription' => '<string>',
'accountPurpose' => 'receive_salary',
'gender' => 'male',
'countryOfBirth' => 'USA',
'nationality' => 'USA',
'occupationSocCode' => '15-1132',
'residencyCountry' => 'USA',
'sourceOfFunds' => 'salary'
],
'representationDetails' => [
'roles' => [
'ubo'
],
'ownershipPercentage' => '50',
'isControlPerson' => true,
'isSigner' => true,
'relationshipEstablishedAt' => '2020-03-15',
'title' => 'CEO'
],
'firstName' => 'Carlos',
'lastName' => 'Souza',
'middleName' => 'Carlos',
'dateOfBirth' => '1990-01-15'
]),
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://api.spherepay.co/v2/business-representative"
payload := strings.NewReader("{\n \"customerId\": \"customer_2f283221a9d44ada800ac7f11f640402\",\n \"type\": \"individual\",\n \"email\": \"james.wilson@acmecorp.example.com\",\n \"phone\": \"+13125559876\",\n \"address\": {\n \"line1\": \"233 South Wacker Drive\",\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line2\": \"Suite 4700\",\n \"state\": \"IL\",\n \"postalCode\": \"60606\"\n },\n \"personalInformation\": {\n \"taxIdentificationNumber\": \"123456789\",\n \"taxIdentificationNumberType\": \"ssn\",\n \"taxIdentificationNumberCountry\": \"USA\",\n \"taxIdentificationNumberDescription\": \"<string>\",\n \"accountPurpose\": \"receive_salary\",\n \"gender\": \"male\",\n \"countryOfBirth\": \"USA\",\n \"nationality\": \"USA\",\n \"occupationSocCode\": \"15-1132\",\n \"residencyCountry\": \"USA\",\n \"sourceOfFunds\": \"salary\"\n },\n \"representationDetails\": {\n \"roles\": [\n \"ubo\"\n ],\n \"ownershipPercentage\": \"50\",\n \"isControlPerson\": true,\n \"isSigner\": true,\n \"relationshipEstablishedAt\": \"2020-03-15\",\n \"title\": \"CEO\"\n },\n \"firstName\": \"Carlos\",\n \"lastName\": \"Souza\",\n \"middleName\": \"Carlos\",\n \"dateOfBirth\": \"1990-01-15\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.spherepay.co/v2/business-representative")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customerId\": \"customer_2f283221a9d44ada800ac7f11f640402\",\n \"type\": \"individual\",\n \"email\": \"james.wilson@acmecorp.example.com\",\n \"phone\": \"+13125559876\",\n \"address\": {\n \"line1\": \"233 South Wacker Drive\",\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line2\": \"Suite 4700\",\n \"state\": \"IL\",\n \"postalCode\": \"60606\"\n },\n \"personalInformation\": {\n \"taxIdentificationNumber\": \"123456789\",\n \"taxIdentificationNumberType\": \"ssn\",\n \"taxIdentificationNumberCountry\": \"USA\",\n \"taxIdentificationNumberDescription\": \"<string>\",\n \"accountPurpose\": \"receive_salary\",\n \"gender\": \"male\",\n \"countryOfBirth\": \"USA\",\n \"nationality\": \"USA\",\n \"occupationSocCode\": \"15-1132\",\n \"residencyCountry\": \"USA\",\n \"sourceOfFunds\": \"salary\"\n },\n \"representationDetails\": {\n \"roles\": [\n \"ubo\"\n ],\n \"ownershipPercentage\": \"50\",\n \"isControlPerson\": true,\n \"isSigner\": true,\n \"relationshipEstablishedAt\": \"2020-03-15\",\n \"title\": \"CEO\"\n },\n \"firstName\": \"Carlos\",\n \"lastName\": \"Souza\",\n \"middleName\": \"Carlos\",\n \"dateOfBirth\": \"1990-01-15\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spherepay.co/v2/business-representative")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customerId\": \"customer_2f283221a9d44ada800ac7f11f640402\",\n \"type\": \"individual\",\n \"email\": \"james.wilson@acmecorp.example.com\",\n \"phone\": \"+13125559876\",\n \"address\": {\n \"line1\": \"233 South Wacker Drive\",\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line2\": \"Suite 4700\",\n \"state\": \"IL\",\n \"postalCode\": \"60606\"\n },\n \"personalInformation\": {\n \"taxIdentificationNumber\": \"123456789\",\n \"taxIdentificationNumberType\": \"ssn\",\n \"taxIdentificationNumberCountry\": \"USA\",\n \"taxIdentificationNumberDescription\": \"<string>\",\n \"accountPurpose\": \"receive_salary\",\n \"gender\": \"male\",\n \"countryOfBirth\": \"USA\",\n \"nationality\": \"USA\",\n \"occupationSocCode\": \"15-1132\",\n \"residencyCountry\": \"USA\",\n \"sourceOfFunds\": \"salary\"\n },\n \"representationDetails\": {\n \"roles\": [\n \"ubo\"\n ],\n \"ownershipPercentage\": \"50\",\n \"isControlPerson\": true,\n \"isSigner\": true,\n \"relationshipEstablishedAt\": \"2020-03-15\",\n \"title\": \"CEO\"\n },\n \"firstName\": \"Carlos\",\n \"lastName\": \"Souza\",\n \"middleName\": \"Carlos\",\n \"dateOfBirth\": \"1990-01-15\"\n}"
response = http.request(request)
puts response.read_body{
"id": "associatedPerson_d972d2f70b9f4d3c8d7cfb32593f395b",
"customerId": "customer_2f283221a9d44ada800ac7f11f640402",
"type": "individual",
"verificationProfiles": [
{
"name": "ubo_kyc_profile_a",
"status": "incomplete",
"criteria": {
"complete": [
"email_address",
"phone_number",
"residential_address",
"tax_identification_number",
"ownership_percentage",
"is_control_person",
"is_signer",
"relationship_established_at",
"title"
],
"pending": [],
"required": [
"identity_document",
"liveness_report_document",
"proof_of_address_document"
],
"errors": []
}
}
],
"createdAt": "2026-03-10T00:00:08.986Z",
"updatedAt": "2026-03-10T00:00:08.986Z",
"email": "james.wilson@acmecorp.example.com",
"phone": "+13125559876",
"representationDetails": {
"roles": [
"ubo"
],
"ownershipPercentage": "50",
"isControlPerson": true,
"isSigner": true,
"relationshipEstablishedAt": "2020-03-15",
"title": "CEO"
}
}{
"status": 400,
"detail": "Invalid request parameters",
"code": "address/invalid",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c"
}{
"status": 404,
"detail": "Resource not found",
"code": "resource/not-found",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c"
}{
"status": 422,
"detail": "Validation failed",
"code": "validation/failed",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"errors": [
{
"detail": "Invalid email format",
"pointer": "/email"
},
{
"detail": "Name is required",
"pointer": "/name"
}
]
}Register a Business UBO for KYB Verification
Create a new business representative for a customer.
curl --request POST \
--url https://api.spherepay.co/v2/business-representative \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customerId": "customer_2f283221a9d44ada800ac7f11f640402",
"type": "individual",
"email": "james.wilson@acmecorp.example.com",
"phone": "+13125559876",
"address": {
"line1": "233 South Wacker Drive",
"city": "Chicago",
"country": "USA",
"line2": "Suite 4700",
"state": "IL",
"postalCode": "60606"
},
"personalInformation": {
"taxIdentificationNumber": "123456789",
"taxIdentificationNumberType": "ssn",
"taxIdentificationNumberCountry": "USA",
"taxIdentificationNumberDescription": "<string>",
"accountPurpose": "receive_salary",
"gender": "male",
"countryOfBirth": "USA",
"nationality": "USA",
"occupationSocCode": "15-1132",
"residencyCountry": "USA",
"sourceOfFunds": "salary"
},
"representationDetails": {
"roles": [
"ubo"
],
"ownershipPercentage": "50",
"isControlPerson": true,
"isSigner": true,
"relationshipEstablishedAt": "2020-03-15",
"title": "CEO"
},
"firstName": "Carlos",
"lastName": "Souza",
"middleName": "Carlos",
"dateOfBirth": "1990-01-15"
}
'import requests
url = "https://api.spherepay.co/v2/business-representative"
payload = {
"customerId": "customer_2f283221a9d44ada800ac7f11f640402",
"type": "individual",
"email": "james.wilson@acmecorp.example.com",
"phone": "+13125559876",
"address": {
"line1": "233 South Wacker Drive",
"city": "Chicago",
"country": "USA",
"line2": "Suite 4700",
"state": "IL",
"postalCode": "60606"
},
"personalInformation": {
"taxIdentificationNumber": "123456789",
"taxIdentificationNumberType": "ssn",
"taxIdentificationNumberCountry": "USA",
"taxIdentificationNumberDescription": "<string>",
"accountPurpose": "receive_salary",
"gender": "male",
"countryOfBirth": "USA",
"nationality": "USA",
"occupationSocCode": "15-1132",
"residencyCountry": "USA",
"sourceOfFunds": "salary"
},
"representationDetails": {
"roles": ["ubo"],
"ownershipPercentage": "50",
"isControlPerson": True,
"isSigner": True,
"relationshipEstablishedAt": "2020-03-15",
"title": "CEO"
},
"firstName": "Carlos",
"lastName": "Souza",
"middleName": "Carlos",
"dateOfBirth": "1990-01-15"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customerId: 'customer_2f283221a9d44ada800ac7f11f640402',
type: 'individual',
email: 'james.wilson@acmecorp.example.com',
phone: '+13125559876',
address: {
line1: '233 South Wacker Drive',
city: 'Chicago',
country: 'USA',
line2: 'Suite 4700',
state: 'IL',
postalCode: '60606'
},
personalInformation: {
taxIdentificationNumber: '123456789',
taxIdentificationNumberType: 'ssn',
taxIdentificationNumberCountry: 'USA',
taxIdentificationNumberDescription: '<string>',
accountPurpose: 'receive_salary',
gender: 'male',
countryOfBirth: 'USA',
nationality: 'USA',
occupationSocCode: '15-1132',
residencyCountry: 'USA',
sourceOfFunds: 'salary'
},
representationDetails: {
roles: ['ubo'],
ownershipPercentage: '50',
isControlPerson: true,
isSigner: true,
relationshipEstablishedAt: '2020-03-15',
title: 'CEO'
},
firstName: 'Carlos',
lastName: 'Souza',
middleName: 'Carlos',
dateOfBirth: '1990-01-15'
})
};
fetch('https://api.spherepay.co/v2/business-representative', 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.spherepay.co/v2/business-representative",
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([
'customerId' => 'customer_2f283221a9d44ada800ac7f11f640402',
'type' => 'individual',
'email' => 'james.wilson@acmecorp.example.com',
'phone' => '+13125559876',
'address' => [
'line1' => '233 South Wacker Drive',
'city' => 'Chicago',
'country' => 'USA',
'line2' => 'Suite 4700',
'state' => 'IL',
'postalCode' => '60606'
],
'personalInformation' => [
'taxIdentificationNumber' => '123456789',
'taxIdentificationNumberType' => 'ssn',
'taxIdentificationNumberCountry' => 'USA',
'taxIdentificationNumberDescription' => '<string>',
'accountPurpose' => 'receive_salary',
'gender' => 'male',
'countryOfBirth' => 'USA',
'nationality' => 'USA',
'occupationSocCode' => '15-1132',
'residencyCountry' => 'USA',
'sourceOfFunds' => 'salary'
],
'representationDetails' => [
'roles' => [
'ubo'
],
'ownershipPercentage' => '50',
'isControlPerson' => true,
'isSigner' => true,
'relationshipEstablishedAt' => '2020-03-15',
'title' => 'CEO'
],
'firstName' => 'Carlos',
'lastName' => 'Souza',
'middleName' => 'Carlos',
'dateOfBirth' => '1990-01-15'
]),
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://api.spherepay.co/v2/business-representative"
payload := strings.NewReader("{\n \"customerId\": \"customer_2f283221a9d44ada800ac7f11f640402\",\n \"type\": \"individual\",\n \"email\": \"james.wilson@acmecorp.example.com\",\n \"phone\": \"+13125559876\",\n \"address\": {\n \"line1\": \"233 South Wacker Drive\",\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line2\": \"Suite 4700\",\n \"state\": \"IL\",\n \"postalCode\": \"60606\"\n },\n \"personalInformation\": {\n \"taxIdentificationNumber\": \"123456789\",\n \"taxIdentificationNumberType\": \"ssn\",\n \"taxIdentificationNumberCountry\": \"USA\",\n \"taxIdentificationNumberDescription\": \"<string>\",\n \"accountPurpose\": \"receive_salary\",\n \"gender\": \"male\",\n \"countryOfBirth\": \"USA\",\n \"nationality\": \"USA\",\n \"occupationSocCode\": \"15-1132\",\n \"residencyCountry\": \"USA\",\n \"sourceOfFunds\": \"salary\"\n },\n \"representationDetails\": {\n \"roles\": [\n \"ubo\"\n ],\n \"ownershipPercentage\": \"50\",\n \"isControlPerson\": true,\n \"isSigner\": true,\n \"relationshipEstablishedAt\": \"2020-03-15\",\n \"title\": \"CEO\"\n },\n \"firstName\": \"Carlos\",\n \"lastName\": \"Souza\",\n \"middleName\": \"Carlos\",\n \"dateOfBirth\": \"1990-01-15\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.spherepay.co/v2/business-representative")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customerId\": \"customer_2f283221a9d44ada800ac7f11f640402\",\n \"type\": \"individual\",\n \"email\": \"james.wilson@acmecorp.example.com\",\n \"phone\": \"+13125559876\",\n \"address\": {\n \"line1\": \"233 South Wacker Drive\",\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line2\": \"Suite 4700\",\n \"state\": \"IL\",\n \"postalCode\": \"60606\"\n },\n \"personalInformation\": {\n \"taxIdentificationNumber\": \"123456789\",\n \"taxIdentificationNumberType\": \"ssn\",\n \"taxIdentificationNumberCountry\": \"USA\",\n \"taxIdentificationNumberDescription\": \"<string>\",\n \"accountPurpose\": \"receive_salary\",\n \"gender\": \"male\",\n \"countryOfBirth\": \"USA\",\n \"nationality\": \"USA\",\n \"occupationSocCode\": \"15-1132\",\n \"residencyCountry\": \"USA\",\n \"sourceOfFunds\": \"salary\"\n },\n \"representationDetails\": {\n \"roles\": [\n \"ubo\"\n ],\n \"ownershipPercentage\": \"50\",\n \"isControlPerson\": true,\n \"isSigner\": true,\n \"relationshipEstablishedAt\": \"2020-03-15\",\n \"title\": \"CEO\"\n },\n \"firstName\": \"Carlos\",\n \"lastName\": \"Souza\",\n \"middleName\": \"Carlos\",\n \"dateOfBirth\": \"1990-01-15\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spherepay.co/v2/business-representative")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customerId\": \"customer_2f283221a9d44ada800ac7f11f640402\",\n \"type\": \"individual\",\n \"email\": \"james.wilson@acmecorp.example.com\",\n \"phone\": \"+13125559876\",\n \"address\": {\n \"line1\": \"233 South Wacker Drive\",\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line2\": \"Suite 4700\",\n \"state\": \"IL\",\n \"postalCode\": \"60606\"\n },\n \"personalInformation\": {\n \"taxIdentificationNumber\": \"123456789\",\n \"taxIdentificationNumberType\": \"ssn\",\n \"taxIdentificationNumberCountry\": \"USA\",\n \"taxIdentificationNumberDescription\": \"<string>\",\n \"accountPurpose\": \"receive_salary\",\n \"gender\": \"male\",\n \"countryOfBirth\": \"USA\",\n \"nationality\": \"USA\",\n \"occupationSocCode\": \"15-1132\",\n \"residencyCountry\": \"USA\",\n \"sourceOfFunds\": \"salary\"\n },\n \"representationDetails\": {\n \"roles\": [\n \"ubo\"\n ],\n \"ownershipPercentage\": \"50\",\n \"isControlPerson\": true,\n \"isSigner\": true,\n \"relationshipEstablishedAt\": \"2020-03-15\",\n \"title\": \"CEO\"\n },\n \"firstName\": \"Carlos\",\n \"lastName\": \"Souza\",\n \"middleName\": \"Carlos\",\n \"dateOfBirth\": \"1990-01-15\"\n}"
response = http.request(request)
puts response.read_body{
"id": "associatedPerson_d972d2f70b9f4d3c8d7cfb32593f395b",
"customerId": "customer_2f283221a9d44ada800ac7f11f640402",
"type": "individual",
"verificationProfiles": [
{
"name": "ubo_kyc_profile_a",
"status": "incomplete",
"criteria": {
"complete": [
"email_address",
"phone_number",
"residential_address",
"tax_identification_number",
"ownership_percentage",
"is_control_person",
"is_signer",
"relationship_established_at",
"title"
],
"pending": [],
"required": [
"identity_document",
"liveness_report_document",
"proof_of_address_document"
],
"errors": []
}
}
],
"createdAt": "2026-03-10T00:00:08.986Z",
"updatedAt": "2026-03-10T00:00:08.986Z",
"email": "james.wilson@acmecorp.example.com",
"phone": "+13125559876",
"representationDetails": {
"roles": [
"ubo"
],
"ownershipPercentage": "50",
"isControlPerson": true,
"isSigner": true,
"relationshipEstablishedAt": "2020-03-15",
"title": "CEO"
}
}{
"status": 400,
"detail": "Invalid request parameters",
"code": "address/invalid",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c"
}{
"status": 404,
"detail": "Resource not found",
"code": "resource/not-found",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c"
}{
"status": 422,
"detail": "Validation failed",
"code": "validation/failed",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"errors": [
{
"detail": "Invalid email format",
"pointer": "/email"
},
{
"detail": "Name is required",
"pointer": "/name"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The ID of the business customer this representative belongs to.
1"customer_2f283221a9d44ada800ac7f11f640402"
The type of the business representative. Must be "individual".
individual "individual"
The email address of the business representative.
254"james.wilson@acmecorp.example.com"
The phone number of the business representative.
^\+(?:[0-9]){6,14}[0-9]$"+13125559876"
The address of the business representative.
Show child attributes
Show child attributes
Personal information including tax identification details for individual customers. When any tax identification field is provided, all tax identification fields (number, type, country) and address are required. Please refer to the Individual Verification Criteria for the full list of reference.
Show child attributes
Show child attributes
The representation details of the business representative.
Show child attributes
Show child attributes
{ "roles": ["ubo"], "ownershipPercentage": "50", "isControlPerson": true, "isSigner": true, "relationshipEstablishedAt": "2020-03-15", "title": "CEO" }
The business representative's legal first name.
1 - 100"Carlos"
The business representative's legal last name.
1 - 100"Souza"
The business representative's legal middle name.
1 - 100"Carlos"
The business representative's date of birth in YYYY-MM-DD format.
"1990-01-15"
Response
Business Representative ID
"associatedPerson_d972d2f70b9f4d3c8d7cfb32593f395b"
Customer ID
"customer_2f283221a9d44ada800ac7f11f640402"
Customer type
individual "individual"
Array of verification profiles for the business representative.
Show child attributes
Show child attributes
[ { "name": "ubo_kyc_profile_a", "status": "incomplete", "criteria": { "complete": [ "email_address", "phone_number", "residential_address", "tax_identification_number", "ownership_percentage", "is_control_person", "is_signer", "relationship_established_at", "title" ], "pending": [], "required": [ "identity_document", "liveness_report_document", "proof_of_address_document" ], "errors": [] } } ]
The date and time the business representative was created.
"2026-03-10T00:00:08.986Z"
The date and time the business representative was last updated.
"2026-03-10T00:00:08.986Z"
Email address
"james.wilson@acmecorp.example.com"
Phone number
"+13125559876"
Representation details
Show child attributes
Show child attributes