curl --request GET \
--url https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/wallets/whitelist \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/wallets/whitelist', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/wallets/whitelist"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"meta": {
"length": 1
},
"data": [
{
"tokenAddress": "0x3f5a1b2c4d6e8f0a1b3c5d7e9f2a4b6c8d0e1f3a",
"walletAddress": "0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed",
"status": "whitelisted",
"whitelistedAt": "2026-10-13T19:02:11.481Z"
}
]
}List the investor's whitelisted wallets
Lists the investor’s wallets whitelisted on the tokens enabled for your account, read live from the tokens’ on-chain registries. Filter by token with ?tokenAddress=. Poll it after POST /investors/{investorId}/wallets/whitelist until the status leaves processing.
First, the whitelistings you requested, newest first, each with its current status. It reads whitelisted as soon as the token’s registry holds the wallet for the investor.
Then, every other enabled token whose registry already holds one of your wallets for the investor, as whitelisted. Tokens can share one on-chain registry, so a wallet whitelisted on one of them is whitelisted on all of them. Such a row carries the whitelistedAt of your whitelisting of that wallet on a token of the same registry, or none when you never requested one there.
Only the wallets you registered or whitelisted for this investor are checked. A whitelisting Securitize removed is listed only while the registry still holds the wallet.
If any registry or status cannot be read at that moment, the whole call answers 502 whitelist_unavailable: retry.
curl --request GET \
--url https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/wallets/whitelist \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/wallets/whitelist', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://partners-api.sandbox.securitize.io/investors/v1/onboarding-reliance/investors/{investorId}/wallets/whitelist"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"meta": {
"length": 1
},
"data": [
{
"tokenAddress": "0x3f5a1b2c4d6e8f0a1b3c5d7e9f2a4b6c8d0e1f3a",
"walletAddress": "0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed",
"status": "whitelisted",
"whitelistedAt": "2026-10-13T19:02:11.481Z"
}
]
}Authorizations
OAuth 2.0 client credentials. Exchange the client id and secret Securitize issued you for a bearer token at the token URL (the host root, not under the base URL), with grant_type=client_credentials; the token lasts 2 hours and goes in the Authorization: Bearer header of every request. No scope is needed. The token identifies your partner account, so you never send a partner id, and every record you create is scoped to you.