Skip to main content
GET
/
v1
/
tenant
/
{tenant_id}
/
preference
/
category
/
{category}
/
Get Tenant Preference Single Category
curl --request GET \
  --url https://hub.suprsend.com/v1/tenant/{tenant_id}/preference/category/{category}/ \
  --header 'Authorization: Bearer <token>'
{
  "name": "tests",
  "category": "tests",
  "description": "asdf",
  "tags": [
    "asdasdasdasderrfjfsdihdaisjaisljdaskjdlkasdlkasdkasdlkasldajsldkajsdaksdasd",
    "checktag"
  ],
  "effective_tags": [
    "asdasdasdasderrfjfsdihdaisjaisljdaskjdlkasdlkasdkasdlkasldajsldkajsdaksdasd",
    "checktag"
  ],
  "root_category": "system",
  "default_preference": "cant_unsubscribe",
  "default_mandatory_channels": null,
  "default_opt_in_channels": null,
  "enabled_for_tenant": true,
  "visible_to_subscriber": true,
  "preference": null,
  "mandatory_channels": null,
  "opt_in_channels": null,
  "blocked_channels": null,
  "updated_at": null
}

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

category
string
required

notification category slug. You can get this from Notification Categories page on SuprSend dashboard -> Settings page

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

name
string
category
string
description
string | null
tags
string[] | null
effective_tags
string[] | null
root_category
enum<string>

Root category (system, transactional, or promotional) this sub-category belongs to.

Available options:
system,
transactional,
promotional
default_preference
enum<string>

Category-level default preference, inherited when the tenant has not overridden it.

Available options:
opt_in,
opt_out,
cant_unsubscribe
default_mandatory_channels
string[] | null

Category-level mandatory channels (applies when the default preference is cant_unsubscribe).

default_opt_in_channels
string[] | null

Category-level opt-in channels, used when only selective channels are opted in by default.

enabled_for_tenant
boolean

Whether the category is enabled for this tenant. When false, the category is hidden from the tenant's users and notifications are not sent in it.

visible_to_subscriber
boolean

Whether the category appears on the tenant users' preference page.

preference
enum<string> | null

Tenant's overridden preference for this category. null if the tenant has not overridden the category default.

Available options:
opt_in,
opt_out,
cant_unsubscribe
mandatory_channels
string[] | null

Channels the user cannot unsubscribe from (when preference is cant_unsubscribe), as overridden for this tenant.

opt_in_channels
string[] | null

Channels opted in by default for this category, as overridden for this tenant.

blocked_channels
string[] | null

Channels opted out across all categories for this tenant.

updated_at
string<date-time> | null

Timestamp when the tenant preference for this category was last updated.

digest_schedule
object

Digest schedule configuration with tenant overrides and original options

properties
object[] | null

Category condition properties with tenant overrides