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 un UBO Empresarial para Verificación 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 de que la empresa pueda ser aprobada para transferencias. También puedes registrar directores, personas de control y firmantes autorizados que no cumplan el umbral de propiedad. Después del registro, completa el KYC del representante subiendo sus documentos de identidad y, si usas el modelo Sphere-Managed, generando un link de verificación facial.
ubo. Si ninguna persona cumple este umbral, registra al individuo con la mayor participación de propiedad o a la persona con control de gestión significativo. ownershipPercentage acepta 0–100; el rol ubo sigue exigiendo ≥ 25. Un representante sin el rol ubo (por ejemplo, solo director) puede tener 0–24. Las empresas EEA+ también deben registrar directores, personas de control y firmantes — consulta Empresas EEA+.Autorizaciones
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Cuerpo
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"
Respuesta
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