notifications
GET /v1/sites/{site_id}/notification-channels
Which channels this site's notifications go to.
Authentication
Send an API key as a bearer token. This endpoint does not state a specific permission in the specification, so give your key the least it needs and check the response rather than assuming.
Where your organisation id goes
This endpoint takes org_id as a query parameter. Leave it out and the call covers your whole tenancy subtree; send it to narrow the call to one organisation.
Your organisation id is on the API keys screen in your dashboard, beside the key itself. It is the same id in every call you make.
Try it
Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.
curl -X GET https://api.zinndigital.com/v1/sites/{site_id}/notification-channels \
-H "Authorization: Bearer zdk_live_…"Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console
Details
The destinations this site routes to, plus whether e-mail is currently being sent. The response carries BOTH what the customer asked for (email_muted) and what is actually happening (email_active, email_reason), and they can differ. E-mail may be switched off only while another channel is connected and healthy; if every alternative goes bad, e-mail resumes on its own and overriding_choice is true. A client that rendered only the stored flag would show a toggle that disagrees with the customer's inbox - which is the exact failure this feature exists to prevent, because the notification telling you Slack has died would otherwise go to Slack.
Parameters
| Name | Type | Required | What it is |
|---|---|---|---|
site_id (path) | string | Yes | — |
org_id (query) | string | No | The organization to act on. Omitted resolves to your own ONLY when you belong to exactly one organisation; a principal in more than one must name it. A reseller managing a client… |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
site_id | string | Yes | — |
channels | SiteNotificationChannel[] | Yes | — |
email_muted | boolean | Yes | What the customer ASKED for. Not necessarily what is happening. |
email_active | boolean | Yes | Whether e-mail is actually being sent right now. Computed at send time from the live health of the other channels, never read from a stored flag. |
email_reason | string<not_muted, muted, alternatives_failing, no_alternative, unreadable> | Yes | Why. not_muted - the customer never turned it off. muted - off, as asked, with a healthy alternative. alternatives_failing - back ON because their other channels have… |
healthy_alternatives | integer | No | How many non-e-mail destinations this site routes to are delivering. |
overriding_choice | boolean | No | True when e-mail is being sent DESPITE the customer having muted it. This is the state a screen must explain, or the toggle appears broken. |