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"
}
]
}Registrar um UBO Empresarial para Verificação KYB
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"
}
]
}ubo antes que a empresa possa ser aprovada para transferências. Você também pode registrar diretores, pessoas de controle e signatários autorizados que não atendem ao limite de propriedade. Após o registro, complete o KYC do representante enviando seus documentos de identidade e, se estiver usando o modelo Sphere-Managed, gerando um link de verificação facial.
ubo. Se nenhuma pessoa atingir esse limite, registre o indivíduo com a maior participação acionária ou a pessoa com controle de gestão significativo. ownershipPercentage aceita 0–100; o papel ubo ainda exige ≥ 25. Um representante sem o papel ubo (por exemplo, apenas diretor) pode ter 0–24. Empresas EEA+ também devem registrar diretores, pessoas de controle e signatários — consulte Empresas EEA+.Autorizações
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Corpo
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"
Resposta
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