Priority Levels & Critical Alerts
Every Pocket Alert message carries a priority level that decides how loudly it lands: silently in the tray, as a normal banner, or as a critical alert that wakes the device through the silent switch and Do Not Disturb.
The five levels
| Level | Aliases | Behavior |
|---|---|---|
silent | min, -2 | Delivered to the tray only — no sound, no vibration |
low | -1 | Quiet, no interruption |
default | normal, 0 (or omitted) | Standard banner + sound |
high | 1 | Time-sensitive — breaks through Focus and scheduled summary |
critical | max, urgent, 2 | Wakes the device through the silent switch and Do Not Disturb |
Both spellings work everywhere: send "level": "critical" or "level": 2. The field is also accepted as priority.
What each level does on the device
iOS maps levels to APNs interruption levels — passive, active, time-sensitive and critical. A critical alert uses Apple's critical alert entitlement, which plays sound at its own volume even when the ringer is off and Do Not Disturb is on.
Android maps levels to separate notification channels. critical uses a high-importance channel with DND bypass and a full-screen intent, so the alert takes over the screen instead of waiting in the shade.
Because each level is a separate Android channel, users can mute your routine notifications in system settings while leaving critical ones armed.
Where you can set it
Priority resolves in this order, first match wins:
- Per message — the
levelfield in Create Message, or the priority selector in the dashboard. - Per application — a default level on the application, applied to every message that does not set its own.
- Per webhook — a level on the webhook, so an incoming payload maps straight to a severity.
- Fallback —
default.
That ordering is what makes a single webhook useful for both routine and urgent events: set the webhook to high, and let individual calls override it upward when something actually breaks.
Plan limits
Critical is a paid feature
On free plans, critical is automatically downgraded to high rather than rejected — the alert still arrives, it just does not override Do Not Disturb. Every other level works on every plan.
An unknown level name or an int outside -2..2 returns 400.
Filtering by priority in the app
The mobile feed reads the same levels. Tap the filter icon to select one or more levels, narrow to a date range, or sort the whole feed by severity instead of time — useful when you come back to a phone with forty notifications and want the two that mattered.
Choosing a level
A rule of thumb that keeps notifications trustworthy:
critical— someone must act now, at any hour. Production down, security breach, freezer above temperature.high— needs attention within the hour. Failed deploy, payment declined, queue backing up.default— worth knowing today. Build finished, new signup, form submitted.low/silent— logging to your phone. Cron finished on schedule, nightly backup completed.
The point of levels is not to make every alert louder. It is to make the loud ones mean something.
Related
- Create Message — the
levelfield and full request reference - Action buttons — act on the alert without opening the app
- Scheduled delivery — send now, deliver later
