curl --request GET \
--url https://sg.sandbox.api.reap.global/companies/{id}/related-persons/ \
--header 'Authorization: Bearer <token>' \
--header 'Reap-Version: <reap-version>'const options = {
method: 'GET',
headers: {'Reap-Version': '<reap-version>', Authorization: 'Bearer <token>'}
};
fetch('https://sg.sandbox.api.reap.global/companies/{id}/related-persons/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sg.sandbox.api.reap.global/companies/{id}/related-persons/"
headers = {
"Reap-Version": "<reap-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text){
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fullName": "<string>",
"email": "jsmith@example.com",
"status": "NOT_STARTED",
"isActive": true,
"createdAt": "<string>",
"updatedAt": "<string>"
}
],
"nextCursor": "<string>"
}{
"error": {
"code": "COMPANY_NOT_FOUND",
"message": "<string>",
"detail": {}
}
}List related persons
Returns a paginated list of related persons (officers and UBOs) for the company, ordered by creation date descending. Archived persons are omitted unless includeArchived is true. Use the status query parameter to filter by verification status (comma-separated), or id to fetch a single person by ID. Related persons are automatically discovered during company verification.
curl --request GET \
--url https://sg.sandbox.api.reap.global/companies/{id}/related-persons/ \
--header 'Authorization: Bearer <token>' \
--header 'Reap-Version: <reap-version>'const options = {
method: 'GET',
headers: {'Reap-Version': '<reap-version>', Authorization: 'Bearer <token>'}
};
fetch('https://sg.sandbox.api.reap.global/companies/{id}/related-persons/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sg.sandbox.api.reap.global/companies/{id}/related-persons/"
headers = {
"Reap-Version": "<reap-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text){
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fullName": "<string>",
"email": "jsmith@example.com",
"status": "NOT_STARTED",
"isActive": true,
"createdAt": "<string>",
"updatedAt": "<string>"
}
],
"nextCursor": "<string>"
}{
"error": {
"code": "COMPANY_NOT_FOUND",
"message": "<string>",
"detail": {}
}
}Authorizations
API key as Bearer token
Headers
API version (YYYY-MM-DD)
2025-02-14 "2025-02-14"
Path Parameters
Company identifier
Query Parameters
Maximum number of items to return (1-100, default: 20)
x <= 10020
50
100
Opaque cursor for pagination. Pass nextCursor from previous response to get next page.
Filter related persons by exact ID match
Filter related persons by verification status (comma-separated)
NOT_STARTED: KYC verification not yet startedIN_REVIEW: KYC submitted and under reviewAPPROVED: KYC verified successfullyREJECTED: KYC rejected
NOT_STARTED, IN_REVIEW, APPROVED, REJECTED When true, include archived related persons. Defaults to false (addressable persons only).