List associated persons
curl --request GET \
--url https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons', 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.enterprise.sandbox.uphold.com/core/kyb/associated-persons",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"associatedPersons": [
{
"id": "3a873dee-7afa-4c20-ab86-3f80c83abaf0",
"processes": {
"profile": {
"code": "profile",
"status": "ok",
"input": {
"type": "beneficial-owner",
"fullName": "John Doe",
"role": "CEO",
"birthdate": "1980-01-01",
"address": {
"line1": "123 Main St",
"line2": "Suite 100",
"postalCode": "12345",
"city": "Anytown",
"subdivision": "US-CA",
"country": "US"
},
"legalIds": [
{
"type": "tax-id",
"id": "123456789",
"country": "US"
}
],
"ownershipPercentage": 51
}
},
"identity": {
"code": "identity",
"status": "ok",
"type": "document-submission",
"input": {
"media": [
{
"context": "document-front",
"fileId": "56d398c2-cf46-4457-a491-cdc93191fd1a"
},
{
"context": "document-back",
"fileId": "99182b79-df5c-444c-a4d8-9c841a00e9bb"
}
]
},
"output": {
"provider": "veriff",
"document": {
"type": "passport",
"number": "7700225VH",
"country": "GB",
"expiresAt": "2026-03-13"
},
"person": {
"givenName": "John",
"familyName": "Doe",
"birthdate": "1987-01-01",
"gender": "male"
},
"verifiedAt": "2024-01-01T00:00:00Z"
}
},
"proofOfAddress": {
"code": "proof-of-address",
"status": "ok",
"type": "document-submission",
"input": {
"media": [
{
"context": "address-proof",
"fileId": "459c0447-8916-4bad-bb67-f2354fcfb10b"
}
]
},
"output": {
"provider": "veriff",
"person": {
"givenName": "John",
"familyName": "Doe",
"address": {
"country": "GB",
"subdivision": "GB-MAN",
"city": "Manchester",
"line1": "1 High Street",
"line2": "Northern Quarter",
"postalCode": "M4 1AA"
}
},
"verifiedAt": "2024-01-01T00:00:00Z"
}
}
},
"createdAt": "2024-01-01T00:00:00Z"
}
]
}Associated persons
List associated persons
List the associated persons for a business user.
GET
/
core
/
kyb
/
associated-persons
List associated persons
curl --request GET \
--url https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons', 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.enterprise.sandbox.uphold.com/core/kyb/associated-persons",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.enterprise.sandbox.uphold.com/core/kyb/associated-persons")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"associatedPersons": [
{
"id": "3a873dee-7afa-4c20-ab86-3f80c83abaf0",
"processes": {
"profile": {
"code": "profile",
"status": "ok",
"input": {
"type": "beneficial-owner",
"fullName": "John Doe",
"role": "CEO",
"birthdate": "1980-01-01",
"address": {
"line1": "123 Main St",
"line2": "Suite 100",
"postalCode": "12345",
"city": "Anytown",
"subdivision": "US-CA",
"country": "US"
},
"legalIds": [
{
"type": "tax-id",
"id": "123456789",
"country": "US"
}
],
"ownershipPercentage": 51
}
},
"identity": {
"code": "identity",
"status": "ok",
"type": "document-submission",
"input": {
"media": [
{
"context": "document-front",
"fileId": "56d398c2-cf46-4457-a491-cdc93191fd1a"
},
{
"context": "document-back",
"fileId": "99182b79-df5c-444c-a4d8-9c841a00e9bb"
}
]
},
"output": {
"provider": "veriff",
"document": {
"type": "passport",
"number": "7700225VH",
"country": "GB",
"expiresAt": "2026-03-13"
},
"person": {
"givenName": "John",
"familyName": "Doe",
"birthdate": "1987-01-01",
"gender": "male"
},
"verifiedAt": "2024-01-01T00:00:00Z"
}
},
"proofOfAddress": {
"code": "proof-of-address",
"status": "ok",
"type": "document-submission",
"input": {
"media": [
{
"context": "address-proof",
"fileId": "459c0447-8916-4bad-bb67-f2354fcfb10b"
}
]
},
"output": {
"provider": "veriff",
"person": {
"givenName": "John",
"familyName": "Doe",
"address": {
"country": "GB",
"subdivision": "GB-MAN",
"city": "Manchester",
"line1": "1 High Street",
"line2": "Northern Quarter",
"postalCode": "M4 1AA"
}
},
"verifiedAt": "2024-01-01T00:00:00Z"
}
}
},
"createdAt": "2024-01-01T00:00:00Z"
}
]
}This endpoint is currently available in Sandbox only. It is not yet available in Production.
profile, identity, and proofOfAddress processes.
Get overview returns the same list under
processes.associatedPersons.persons when called with ?detailed=associatedPersons, so you can fetch the business and its associated persons in a single call.Was this page helpful?
⌘I