Skip to content

Notifications API

The alarms sent to people as they are raised and cleared. How it works and how to set up each channel: Notifications. The CLI equivalent is dtvsol notify …. Authentication and errors: see the API overview.

The settings, every password and token replaced by whether it is set, and how each channel’s last message went.

Terminal window
curl -s "http://ROUTER-IP:8880/notify" -H "X-API-Key: YOUR_API_KEY"
{
"ok": true,
"enabled": true,
"levels": ["critical"],
"changes": true,
"clears": true,
"link": "https://XXX.XXX.XXX.10:8881/",
"email": {"enabled": true, "to": ["noc@your-isp.com"], "host": "smtp.your-isp.com", "port": 587,
"security": "starttls", "user": "alarms@your-isp.com", "password_set": true},
"telegram": {"enabled": true, "chats": ["-1001234567890"], "token_set": true},
"whatsapp": {"enabled": false},
"sms": {"enabled": false},
"status": {
"email": {"at": "2026-09-28 10:31:05", "t": 1790591465, "ok": true, "error": null},
"telegram": {"at": "2026-09-28 10:31:06", "t": 1790591466, "ok": false, "error": "chat -1001234567890: HTTP 403: Forbidden: bot was kicked from the group chat"}
}
}

Changes the settings: the fields given change, the others stay.

Name In Type Notes
enabled body boolean Send the alarms, or not.
levels body array critical, warning and/or info. Default ["critical"].
changes body boolean Every failed change too, whatever its level. Default true.
clears body boolean When an alarm clears. Default true.
link body string Added at the end of each message (https://…); empty removes it.
email body object enabled, to (an array, or addresses separated by commas), add, del (one address), host, port, security (starttls, tls, none), user, password, from.
telegram body object enabled, chats (chat ids or @channel), add, del, token.
whatsapp body object enabled, to (numbers, + and the country code), add, del, phone_id, template, lang, token.
sms body object enabled, to, add, del, sid (the Twilio account), from (the Twilio number), token.

In a channel, a password or token given empty keeps the stored one, null removes it, and "reset": true forgets the channel’s settings. Secrets are stored encrypted and never returned.

Terminal window
curl -s -X POST "http://ROUTER-IP:8880/notify/set" -H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"enabled": true, "telegram": {"enabled": true, "add": "-1001234567890", "token": "123456:ABC…"}}'

{"ok": true, "message": "notification settings saved"}, or 400 with {"ok": false, "error": …} for a value that is not valid (nothing changed).

Sends a test message on one channel now.

Name In Type Notes
channel body string email, telegram, whatsapp or sms. Required.

{"ok": true, "message": "sent by telegram to 1 recipient(s)"}, or 502 with {"ok": false, "error": …} and the provider’s reason (HTTP 401: Unauthorized…).

This site was written with the help of AI and checked by our team.