Notification channels
List Notification Channels
Returns notification channels scoped by organization, customer, or website.
GET /api/notification-channels
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
organizationId | number | No | Scope to organization |
customerId | number | No | Scope to customer |
websiteId | number | No | Scope to website (includes org + customer channels) |
Example (cURL)
curl -X GET "$BASE_URL/api/notification-channels?organizationId=1" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"Response
[
{
"id": 1,
"organizationId": 1,
"customerId": null,
"websiteId": null,
"type": "email",
"category": "direct",
"name": "Ops Email",
"config": { "email": "ops@deinkunde.com", "to": "Ops Team" },
"delaySeconds": 0,
"conditions": null,
"isActive": true,
"allowedPackageTypes": null
},
{
"id": 2,
"organizationId": 1,
"customerId": null,
"websiteId": null,
"type": "slack",
"category": "integration",
"name": "Alerts Slack Channel",
"config": { "webhookUrl": null, "hasWebhookUrl": true, "username": "Uptimeify" },
"delaySeconds": 0,
"conditions": null,
"isActive": true,
"allowedPackageTypes": null
}
]Secrets inside config are never returned: a Slack, Discord or Teams webhook URL comes back as null with hasWebhookUrl: true next to it, see "Channel Types and Config" on the Notification Channels overview page.
Visibility
Without websiteId and without customerId, which channels come back depends on who is reading:
- An unrestricted reader (organization admin, global admin, and an organization-bound agent token) receives the organization-level channels, that is those with
customerId: nullandwebsiteId: null. - A customer-scoped reader (a
readonlyuser or aneditorwith explicit customer assignments, plus the API or agent token minted for such a user) receives the channels of their own customers in addition to the organization-level ones. Channels of another customer are never returned.
Naming customerId returns that customer's channels plus the organization-level ones. Naming websiteId additionally returns the website's own override channels.
Common errors
401 Unauthorizedwhen not authenticated403 Forbiddenwhen accessing channels outside your scope