TENANTS
List Tenants
API to fetch a paginated list of tenants available in your workspace.
GET
/
v1
/
tenant
/
List Tenants
curl --request GET \
--url https://hub.suprsend.com/v1/tenant/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://hub.suprsend.com/v1/tenant/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://hub.suprsend.com/v1/tenant/', 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://hub.suprsend.com/v1/tenant/",
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://hub.suprsend.com/v1/tenant/"
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://hub.suprsend.com/v1/tenant/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://hub.suprsend.com/v1/tenant/")
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{
"meta": {
"count": 28,
"limit": 20,
"offset": 0
},
"results": [
{
"id": "acme-corp",
"name": "Acme Corp",
"tenant_id": "acme-corp",
"tenant_name": "Acme Corp",
"parent_id": null,
"ancestors": [],
"level": 0,
"children_count": 2,
"logo": "https://ik.imagekit.io/l0quatz6utm/suprsend/staging/media/suprsend-only-logo_c8aa27faef118418e8c5bd7b31a1cafc74e09200.png",
"timezone": null,
"blocked_channels": null,
"embedded_preference_url": "https://app.suprsend.com/en/user-settings/notifications",
"hosted_preference_domain": "preferences.suprsend.com",
"primary_color": "#ff0000",
"secondary_color": null,
"tertiary_color": null,
"social_links": {
"website": "https://suprsend.com",
"facebook": "",
"linkedin": "",
"x": "",
"instagram": "",
"medium": "",
"discord": "",
"telegram": "",
"youtube": ""
},
"properties": {},
"updated_at": "2026-08-27T20:57:16.935605Z"
}
]
}Authorizations
Pass as Bearer <API_KEY>. Get API Key from SuprSend dashboard Developers -> API Keys section.
Query Parameters
Number of tenants to return per page.
Number of tenants to skip.
Returns only direct children of the given tenant.
Returns the given tenant and all its descendants at any depth.
Returns tenants at the given level(s). Root = 0, max = 4. Repeat the param to combine levels.
Response
200 - application/json
200 - OK
Show child attributes
Show child attributes
List of tenants available in the workspace. Tenant JSON is the same shape as the create/update tenant response, including the parent_id, ancestors, level, and children_count fields introduced with sub-tenants.
Show child attributes
Show child attributes
Was this page helpful?
⌘I
List Tenants
curl --request GET \
--url https://hub.suprsend.com/v1/tenant/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://hub.suprsend.com/v1/tenant/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://hub.suprsend.com/v1/tenant/', 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://hub.suprsend.com/v1/tenant/",
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://hub.suprsend.com/v1/tenant/"
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://hub.suprsend.com/v1/tenant/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://hub.suprsend.com/v1/tenant/")
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{
"meta": {
"count": 28,
"limit": 20,
"offset": 0
},
"results": [
{
"id": "acme-corp",
"name": "Acme Corp",
"tenant_id": "acme-corp",
"tenant_name": "Acme Corp",
"parent_id": null,
"ancestors": [],
"level": 0,
"children_count": 2,
"logo": "https://ik.imagekit.io/l0quatz6utm/suprsend/staging/media/suprsend-only-logo_c8aa27faef118418e8c5bd7b31a1cafc74e09200.png",
"timezone": null,
"blocked_channels": null,
"embedded_preference_url": "https://app.suprsend.com/en/user-settings/notifications",
"hosted_preference_domain": "preferences.suprsend.com",
"primary_color": "#ff0000",
"secondary_color": null,
"tertiary_color": null,
"social_links": {
"website": "https://suprsend.com",
"facebook": "",
"linkedin": "",
"x": "",
"instagram": "",
"medium": "",
"discord": "",
"telegram": "",
"youtube": ""
},
"properties": {},
"updated_at": "2026-08-27T20:57:16.935605Z"
}
]
}