Incident Management
Public REST API for Uptimeify Incident Management (IM): ingest alerts from your own monitoring systems and manage incidents programmatically.
Incident Management (IM) is a separate domain from Monitoring: a two-level alert/incident model with teams, on-call schedules, and escalation tiers. This section covers the public REST endpoints for ingesting alerts and managing incidents.
Authentication
Almost every endpoint below accepts an organization-wide API token. Three exceptions: My On-Call Status, the personal notification settings and the setup test page describe a person and need a user session; the Ingest Webhook authenticates with the token in its URL instead.
With an API token:
BASE_URL="https://uptimeify.io"
TOKEN="wsm_<your-organization-wide-api-token>"Create one via Create Organization Token and leave customerId unset. A token created with a customerId (a customer-scoped token) is rejected on every IM path with 403 Forbidden (customerScopedTokenForbidden); Incident Management has no customer-facing surface, by design.
Incident Management must also be activated for your organization, or every endpoint below returns 403 Forbidden (imNotEnabled).
An organization-wide token acts with the current role of the person who created it, read on every request. Organization tokens can only be created by organization admins, so a token normally acts as admin and passes every team check in this section (for example "member of the incident's team"). If its creator is later demoted to editor or responder, the token keeps that role's access and loses the admin-only write rights. If the creator becomes readonly, is deactivated or deleted, the token loses Incident Management entirely (403 imAccessDenied).
A token is not a person. Changes made with it are recorded without one: createdBy, acknowledgedBy and resolvedBy on the incident and actorUserId on its timeline events stay null, like for a system event.
Endpoints
Getting started
- Activate Incident Management:
POST /api/im/activate - Setup Progress and Test Page:
GET/PATCH /api/im/setup/state,POST /api/im/setup/test-page
Alerts and on-call
- Events Ingest:
POST /api/im/events - Ingest Webhook:
POST /api/im/ingest/:token - Who Is On Call:
GET /api/im/on-call - My On-Call Status:
GET /api/im/me/on-call,GET /api/im/me/on-call-stats - Personal Notification Settings:
/api/im/notification-settings/** - User Notification Settings:
/api/im/users/:userId/notification-settings(admin) - Default Notifications:
/api/im/notification-template(admin)
Incidents
- List Incidents:
GET /api/im/incidents - Count Open Incidents:
GET /api/im/incidents/count - Get Incident:
GET /api/im/incidents/:id - Find the Incident for a Monitoring Incident:
GET /api/im/incidents/by-monitor/:id - Create Incident:
POST /api/im/incidents - Acknowledge / Update Incident Status:
POST /api/im/incidents/:id/ackandPOST /api/im/incidents/:id/status - Resolve Incident:
POST /api/im/incidents/:id/resolve - Change Incident Severity:
POST /api/im/incidents/:id/severity - Snooze Incident:
POST /api/im/incidents/:id/snooze - Escalate Incident Now:
POST /api/im/incidents/:id/escalate-now - Assign Incident Roles:
POST /api/im/incidents/:id/assignandPOST /api/im/incidents/:id/add-responder - Comment on Incident:
POST /api/im/incidents/:id/comment - Merge Incidents:
POST /api/im/incidents/:id/merge - Update Status Page Text:
POST /api/im/incidents/:id/statuspage-update - Bulk Update Incidents:
POST /api/im/incidents/bulk
Teams and schedules
- Teams
- Team Members
- Escalation Tiers
- Team Overrides
- Team Insights
- Schedules
- Update Schedule
- Schedule Overrides
Alert sources and configuration
Insights
Alert source setup guides
Prefer to send alerts from an existing monitoring tool instead of calling the API directly? See the alert source setup guides for step-by-step instructions for Zabbix, Datadog, Grafana Alerting, Prometheus Alertmanager, Sentry, and any custom webhook. Each source has its own ingest URL that carries a secret token instead of an API token, separate from the Events Ingest endpoint above.
Error codes
See Error codes and known API pitfalls for the full list of data.code values these endpoints can return.
Preview Tag Coverage Count
Returns how many distinct monitors a set of tags currently covers, for the tag-only (org-wide) maintenance-window mode.
Activate Incident Management
Switches Incident Management on for your organization. Idempotent: calling it again on an enabled organization changes nothing.