Skip to main content
GET
/
v1
/
tenant
/
{tenant_id}
/
preference
Get Tenant Full Preference
curl --request GET \
  --url https://hub.suprsend.com/v1/tenant/{tenant_id}/preference/ \
  --header 'Authorization: Bearer <token>'
{
  "root_categories": [
    {
      "root_category": "system",
      "sections": [
        {
          "name": "section système",
          "slug": "system-section",
          "description": "section système",
          "tags": [
            "wwr"
          ],
          "categories": [
            {
              "name": "Sous-catégorie",
              "category": "sub-category",
              "description": "Description de la sous-catégorie",
              "tags": [
                "gjhgjhfjfjgfdjthdhtdhdhdyrhdyrdyrdrh",
                "aaaaeeee"
              ],
              "effective_tags": [
                "aaaaeeee",
                "gjhgjhfjfjgfdjthdhtdhdhdyrhdyrdyrdrh",
                "wwr"
              ],
              "default_preference": "cant_unsubscribe",
              "default_mandatory_channels": [
                "email"
              ],
              "default_opt_in_channels": [
                "inbox"
              ],
              "enabled_for_tenant": true,
              "visible_to_subscriber": true,
              "preference": "opt_in",
              "mandatory_channels": null,
              "opt_in_channels": null,
              "blocked_channels": [
                "sms"
              ],
              "updated_at": "2025-12-04T10:45:39.061095+00:00"
            }
          ]
        }
      ]
    }
  ]
}

Authorizations

Authorization
string
header
required

Pass as Bearer <API_KEY>. Get API Key from SuprSend dashboard Developers -> API Keys section.

Path Parameters

tenant_id
string
required

unique identifier of the tenant you want to get preferences for

Query Parameters

locale
string

Locale code (e.g., es, fr, de, ja, es-AR) to fetch preference translations in user's locale. When provided, the API looks for category and section names and descriptions in the respective locale file. If a translation is missing for the requested locale, the system automatically falls back in this order: locale-region (e.g., es-AR) → locale (e.g., es) → en (English - always available).

Response

200

root_categories
object[]