API reference menu
Getting started
OverviewAuthentication and rate limitExamplesSending
Send a notificationPriority and repeatLinks, images and buttonsSourcesScheduled sendsWebhook templatesReceipts and replies
Receipts and callbacksRepliesTeams
Teams, roles and endpointsChannels and escalationWebhooks and emailAlert email and timelineTeam formsPlans, audit log and transferCompany sign‑in and SCIMThe web consoleAccount
Identity and moving phonesDevices, keys and historyThe Upgrade PassCompatibility
ntfy's publish APIProwl's APIAppendix
Endpoint indexErrors and status codesLimitsPriorities and fieldsGlossaryPriority and repeat until opened
Prowl's scale, kept identical so numbers already in your scripts still mean what they meant. What the levels do is different, because iOS lets a level do more than a bare number used to.
Priority#
| Level | Name | On the phone |
|---|---|---|
-2 |
Very low |
Silent, no sound, waits in the notification list |
-1 |
Low |
Silent, no sound |
0 |
Normal |
Sound and a banner |
1 |
High |
Breaks through a Focus (time-sensitive) |
2 |
Urgent |
Breaks through a Focus, top of the list, and repeats until opened |
Priority 1 and 2 use iOS's time-sensitive interruption level. Prowl had no equivalent: its priority only changed how the banner looked, so an alert arriving during a Focus was simply not seen.
Repeat Until Opened#
A priority 2 notification alerts again until it is opened on any device: by default every 5 minutes for up to an hour. The person chooses the interval (every 1, 2, 5 or 15 minutes, or off) and how long it keeps going (15 minutes, 1 hour or 3 hours) in the app under Settings, Alerts. Free for everyone.
- Each repeat replaces the last one on the phone rather than stacking beside it (they share an
apns-collapse-id), and reads "Still unopened" under the title.nowlark.repeatin the payload counts them,0on the first delivery. - It stops when the notification is tapped, read in the app, marked read, acknowledged, deleted, or when its source is muted or repeating is turned off. Swiping it away does not stop it: that is the point.
- Repeats are not charged to your key's hourly limit. At most 5 notifications repeat at once per account; a newer one stops the oldest.
- A
dedupe_keythat matches an earlier notification is still a duplicate and starts nothing. - Per source (Upgrade Pass): a source can repeat its own way,
PATCH /v1/sources/{id}with{"repeat_every": 0}to turn it off for that source, or any of the intervals and lengths above.-1goes back to the account's setting, and never needs the pass.