Skip to content

Notification categories, channels and role defaults

GET
/domains/{domain}/members/notify-catalog
curl --request GET \
--url https://api.nsin.ir/domains/example.com/members/notify-catalog \
--header 'Authorization: Bearer <token>'

The vocabulary behind a member’s notify matrix: every category, every outbound channel, and what each grantable role receives when the member has made no explicit choice. Read it instead of hard-coding those lists, so a category added later shows up on its own. Requires domain.view.

The in-app feed is not a channel and cannot be switched off (in_app_always_on is always true): the notification row is both the feed and the de-duplication key, so suppressing it would make the same event re-send on every tick forever.

domain
required
string

The domain name (for example example.com) — not a numeric id.

Example
example.com

The catalog.

Media type application/json
object
categories
Array<string>
Allowed values: domain uptime ssl plan gateway invoice
channels
Array<string>
Allowed values: email sms
role_defaults

Grantable role → category → whether a member holding that role receives the category when they have chosen nothing. The default applies to every channel.

object
key
additional properties
object
key
additional properties
boolean
in_app_always_on

Always true. The in-app feed cannot be switched off — say so in your UI, or the first question will be why muted notifications still appear.

boolean
Example
{
"categories": [
"domain"
],
"channels": [
"email"
]
}

Missing, malformed, revoked or expired API key — or the owning account is inactive.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Examples
Example invalidKey
{
"error": "invalid API key"
}

No such domain, or it is not visible to this account. Domains you cannot access are reported as not found rather than forbidden.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Example
{
"error": "read-only API key"
}

The key exceeded its request budget (300 requests per minute by default).

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Examples
Example limited
{
"error": "rate limit exceeded"
}