Skip to main content
Notification permissions (notifications.*) control which categories of notifications a user can receive. Unlike API and page permissions which gate access, notification permissions determine subscription — a user without a given notification permission simply won’t receive those notifications.
Individual notification preferences (email, push, in-app) are configured separately per user. The permissions below control whether a user is eligible to receive a category of notifications at all.

Core Notification Permissions

Permission KeyStatusDescription
notifications.viewActiveView notifications (required for any notification access)
notifications.manageActiveManage system notifications (POST endpoint)

Notification Categories

These permissions control eligibility for specific notification categories. They are used in the permissions management UI to group notification subscriptions.
Permission KeyStatusDescription
notifications.adminActiveAdmin notifications — system-wide alerts, deployment notices, maintenance events
notifications.securityActiveSecurity notifications — breach alerts, login anomalies, integrity check results
notifications.jobsActiveJob notifications — new jobs, status changes, case note additions, contractor assignments
notifications.usersActiveUser notifications — account creation, role changes, onboarding events
notifications.financialActiveFinancial notifications — invoice submissions, bulk payment completions, overdue payments

Targeted Notification Permissions

These permissions are used by notifyUsersWithPermission() to send notifications to all users holding a specific key, rather than gating a category.
Permission KeyStatusDescription
notifications.admin.deployments.notifyActiveReceive deployment notifications
notifications.admin.security.guard_access.notifyActiveReceive security guard access alerts

How Notification Routing Works

When a notification event occurs (e.g. a new job is created), the system:
  1. Determines which notification permission category applies (e.g. notifications.jobs)
  2. Finds all users who hold that permission
  3. Filters by each user’s individual notification preferences (email / push / in-app)
  4. Delivers the notification through the selected channels
For targeted notifications, the system uses notifyUsersWithPermission('permission.key') to send directly to all holders of that specific key, bypassing category routing.