Pushover
| Schemes | pover:// |
| Cargo feature | service-pushover |
| Service | https://pushover.net/ |
| Body formats | text, html, markdown (first is the default) |
| Attachments | yes |
| Title length | 250 characters |
| Body length | 1,024 characters |
| Body lines | unlimited |
| Request throttle | none |
| Vendor URLs accepted | no |
URL formats
{schema}://{user_key}@{token}
{schema}://{user_key}@{token}/{targets}
{schema} is one of pover://.
URL tokens
| Token | Meaning | Type | Required | Default | Notes |
|---|---|---|---|---|---|
{target_device} | Target Device | string | no | must match ^[a-z0-9_-]{1,25}$ | |
{target_group} | Target Group | string | no | prefix # | |
{targets} | Targets | list | no | any of target_device, target_group; separated by / | |
{token} | Access Token | string | yes | secret | |
{user_key} | User Key | string | yes | secret |
Query parameters
| Parameter | Meaning | Type | Default | Notes |
|---|---|---|---|---|
e2ee | E2EE | bool | yes | |
expire | Expire | int, 0 to 10800 | 3600 | |
interval | Emergency Retry Interval | int, min 30 | 900 | |
key | Encryption Key | string | secret | |
priority | Priority | choice | 0 | one of -2, -1, 0, 1, 2 |
sound | Sound | string | pushover | must match ^[a-z]{1,12}$ |
to | Targets | list | sets {targets} | |
url | URL | string | ||
url_title | URL Title | string |
The common URL parameters (format, overflow, verify, redirect, cto, rto, retry, wait, store, tag, tz, user, password, port, optional, emojis) apply as well.
Examples
Accepted URLs (tokens are fake):
pover://uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
pover://uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/DEVICE
pover://uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/dev/#g1
pover://uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/#gggggggggggggggggggggggggggggg/#group2/
pover://uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/DEVICE1/Device-with-dash/dddddddddddddddddddddddddddddd/
pover://uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?to=DEVICE
pover://uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?priority=-1
pover://uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/DEVICE/#grp?to=%23other
Rejected URLs:
pover://
pover://:@/
pover://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
pover://uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?priority=emergency&interval=10
Send one from the command line:
mercurio -t 'Backup' -b 'Finished in 42s' 'pover://uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
Notes
Pushover (pover://): push notifications through the Pushover API, with optional end-to-end encryption (?key=<64 hex>).
Differences with Apprise
- HTML that Apprise’s parser rejects (a malformed
<![declaration) is sent unreduced. - E2EE gzip members use stored deflate blocks with a zero mtime; they decompress identically.
- Split overflow: Apprise splits the source and sends each piece through its HTML reducer, while mercurio reduces each chunk once and splits the reduced HTML at line or word boundaries, closing open tags at a cut and reopening them in the next piece.