Notification categories, channels and role defaults
const url = 'https://api.nsin.ir/domains/example.com/members/notify-catalog';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The domain name (for example example.com) — not a numeric id.
Example
example.comResponses
Section titled “ Responses ”The catalog.
object
Grantable role → category → whether a member holding that role receives the category when they have chosen nothing. The default applies to every channel.
object
object
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.
Example
{ "categories": [ "domain" ], "channels": [ "email" ]}Missing, malformed, revoked or expired API key — or the owning account is inactive.
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Examples
{ "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.
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Example
{ "error": "read-only API key"}The key exceeded its request budget (300 requests per minute by default).
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Examples
{ "error": "rate limit exceeded"}