Static Documentation

Profile and Personal API Tokens

Version latest · Updated 2026-09-12
Interactive docs View on GitHub

Profile and Personal API Tokens#

Open:

Profile

The profile page contains user identity, contact fields, active group context and personal API tokens.

Contact fields#

Fill contact fields used by notification channels.

FieldUsed by
EmailEmail channel
PhoneVoice call channel
Mattermost user IDMattermost action attribution
Telegram user IDTelegram actions
Slack user IDAttribution of Slack ACK/Resolve/Shelve actions; also used by Slack usergroup admin sync

Email and voice call channels send to the assigned user's profile contact data, not to channel-level recipient lists.

Browser push notifications#

Browser push notifications are configured per user in Profile.

Use:

Enable push on this device
Send test push
Disable

Browser push is not a notification channel. When an alert is assigned to the user, IncidentRelay can send push notifications to the user's active browser/PWA devices. ACK, Resolve, Shelve and Unshelve buttons use short-lived one-time action tokens.

Read more: Browser Push.

Active group#

The active group controls the current group context in the UI and for group-scoped operations.

A normal user sees groups where they have active membership. A global admin can access all active groups according to global admin behavior.

Personal API tokens#

Personal tokens allow API access as the current user.

Recommended practices:

  • use short-lived tokens where possible;
  • restrict token usage to the needed group when the UI/API supports it;
  • rotate tokens after exposure;
  • delete unused tokens.

Token scopes#

A token can contain any combination of granular scopes. Use :read scopes for reporting and read-only integrations, and add the corresponding :write scope only when the integration must modify that resource.

ResourceReadWrite
Alertsalerts:readalerts:write
Incidentsincidents:readincidents:write
Services, including Business Servicesservices:readservices:write
Teamsteams:readteams:write
Groupsgroups:readgroups:write
Usersusers:readusers:write
Rotations and on-call healthrotations:readrotations:write
Calendarcalendar:readcalendar:write
Routesroutes:readroutes:write
Channelschannels:readchannels:write
Maintenance windows and silencesmaintenance:readmaintenance:write
Heartbeatsheartbeats:readheartbeats:write
Escalation, notification, priority and matcher policiespolicies:readpolicies:write
Event orchestrationsorchestrations:readorchestrations:write
Audit logaudit:read—
SSO administrationsso:readsso:write
Current profile and personal notification settingsprofile:readprofile:write

For example, a read-only reporting token that joins alerts with service, incident and team metadata can use:

alerts:read
services:read
incidents:read
teams:read

resources:read and resources:write are legacy aggregate scopes. They remain supported for existing clients and imply the corresponding granular resource scopes, but new integrations should prefer granular scopes.

* grants every configured scope and is available to global admins only. Write scopes do not automatically imply read scopes; select both when a client needs both operations.

API-token scope enforcement is fail closed. A protected /api/... endpoint must be mapped to a scope before an API token can access it. This prevents new API endpoints from silently becoming available to existing tokens.