Incident Grouping Rule
Configure rules for automatically grouping related incidents into episodes
The Incident Grouping Rule Model
Properties
- Name
_id- Type
- Object ID
- Description
ID of this object
- Name
createdAt- Type
- Date
- Description
Date and Time when the object was created.
- Name
updatedAt- Type
- Date
- Description
Date and Time when the object was updated.
- Name
project- Type
- Project
- Description
Relation to Project Resource in which this object belongs
- Name
projectId- Type
- Object IDRequired
- Description
ID of your Project in which this object belongs
- Name
name- Type
- TextRequired
- Description
Name of this incident grouping rule
- Name
description- Type
- Long Text
- Description
Description of this incident grouping rule
- Name
priority- Type
- NumberRequired
- Description
Priority of this rule. Lower number = higher priority. Rules are evaluated in priority order.
- Name
isEnabled- Type
- BooleanRequired
- Description
Whether this rule is enabled
- Name
matchCriteria- Type
- JSON
- Description
JSON object defining the criteria for matching incidents to this rule
- Name
monitors- Type
- Monitor
- Description
Only group incidents from these monitors. Leave empty to match incidents from any monitor.
- Name
incidentSeverities- Type
- Incident Severity
- Description
Only group incidents with these severities. Leave empty to match incidents of any severity.
- Name
incidentLabels- Type
- Label
- Description
Only group incidents that have at least one of these labels. Leave empty to match incidents regardless of incident labels.
- Name
monitorLabels- Type
- Label
- Description
Only group incidents from monitors that have at least one of these labels. Leave empty to match incidents regardless of monitor labels.
- Name
incidentTitlePattern- Type
- Long Text
- Description
Regular expression pattern to match incident titles. Leave empty to match any title. Example: 'CPU.*high' matches titles containing 'CPU' followed by 'high'.
- Name
incidentDescriptionPattern- Type
- Long Text
- Description
Regular expression pattern to match incident descriptions. Leave empty to match any description.
- Name
monitorNamePattern- Type
- Long Text
- Description
Regular expression pattern to match monitor names. Leave empty to match any monitor name. Example: 'prod-.*' matches monitors starting with 'prod-'.
- Name
monitorDescriptionPattern- Type
- Long Text
- Description
Regular expression pattern to match monitor descriptions. Leave empty to match any monitor description.
- Name
groupByMonitor- Type
- Boolean
- Description
When enabled, incidents from different monitors will be grouped into separate episodes. When disabled, incidents from any monitor can be grouped together.
- Name
groupBySeverity- Type
- Boolean
- Description
When enabled, incidents with different severities will be grouped into separate episodes. When disabled, incidents of any severity can be grouped together.
- Name
groupByIncidentTitle- Type
- Boolean
- Description
When enabled, incidents with different titles will be grouped into separate episodes. When disabled, incidents with any title can be grouped together.
- Name
groupByService- Type
- Boolean
- Description
When enabled, incidents from monitors belonging to different services will be grouped into separate episodes. When disabled, incidents can be grouped together regardless of which service the monitor belongs to.
- Name
enableTimeWindow- Type
- Boolean
- Description
Enable time-based grouping. When enabled, incidents are grouped within the specified time window. When disabled, all matching incidents are grouped into a single ongoing episode regardless of time.
- Name
timeWindowMinutes- Type
- Number
- Description
Rolling time window in minutes. Incidents are grouped if they arrive within this gap from the last incident.
- Name
groupByFields- Type
- JSON
- Description
JSON object defining the fields to group incidents by (e.g., monitorId, severity)
- Name
episodeTitleTemplate- Type
- Long Text
- Description
Template for generating episode titles. Supports placeholders like {{incidentSeverity}}, {{monitorName}}, {{incidentTitle}}, {{incidentDescription}}
- Name
episodeDescriptionTemplate- Type
- Long Text
- Description
Template for generating episode descriptions. Supports placeholders like {{incidentSeverity}}, {{monitorName}}, {{incidentTitle}}, {{incidentDescription}}
- Name
enableResolveDelay- Type
- Boolean
- Description
Enable grace period before auto-resolving episode after all incidents resolve. Helps prevent rapid state changes during incident flapping.
- Name
resolveDelayMinutes- Type
- Number
- Description
Grace period in minutes before auto-resolving an episode after all incidents are resolved
- Name
enableReopenWindow- Type
- Boolean
- Description
Enable reopening recently resolved episodes instead of creating new ones. Useful when related issues recur shortly after resolution.
- Name
reopenWindowMinutes- Type
- Number
- Description
Time window in minutes to reopen a recently resolved episode instead of creating a new one
- Name
enableInactivityTimeout- Type
- Boolean
- Description
Enable auto-resolving episodes after a period of inactivity. Helps automatically close episodes when no new incidents arrive.
- Name
inactivityTimeoutMinutes- Type
- Number
- Description
Time in minutes after which an inactive episode will be auto-resolved
- Name
onCallDutyPolicies- Type
- On-Call Policy
- Description
List of on-call duty policies to execute for episodes created by this rule.
- Name
defaultAssignToUser- Type
- User
- Description
Default user to assign episodes created by this rule
- Name
defaultAssignToUserId- Type
- Object ID
- Description
Default User ID to assign episodes created by this rule
- Name
defaultAssignToTeam- Type
- Team
- Description
Default team to assign episodes created by this rule
- Name
defaultAssignToTeamId- Type
- Object ID
- Description
Default Team ID to assign episodes created by this rule
- Name
episodeLabels- Type
- Label
- Description
Labels to automatically apply to episodes created by this rule.
- Name
episodeOwnerUsers- Type
- User
- Description
Users to automatically add as owners to episodes created by this rule.
- Name
episodeOwnerTeams- Type
- Team
- Description
Teams to automatically add as owners to episodes created by this rule.
- Name
episodeMemberRoles- Type
- Incident Role
- Description
Incident roles to display in the episode members form. Select the roles that can be assigned to episode members.
- Name
episodeMemberRoleAssignments- Type
- JSON
- Description
Users with specific incident roles to automatically add as members to episodes created by this rule. Each assignment includes a user ID and an incident role ID.
- Name
createdByUser- Type
- User
- Description
Relation to User who created this object (if this object was created by a User)
- Name
createdByUserId- Type
- Object ID
- Description
User ID who created this object (if this object was created by a User)
- Name
showEpisodeOnStatusPage- Type
- BooleanRequired
- Description
Should episodes created by this rule be shown on the status page?
/api/incident-grouping-rule/get-listList
This endpoint allows you to retrieve a paginated list of all your Incident Grouping Rule. By default, a maximum of ten Incident Grouping Rule are shown per page.
Optional Query Params
limit- number
- Number of objects to fetch. By default 10, you can increase this count up to 100
skip- number
- Number of objects to skip. This can be useful in pagination
Optional Request Body
query- If you would like to filter on Incident Grouping Rule. You can specify include a query here. For more information, please check out writing queries here.
select- By default you will only retrieve ID of objects, to retrieve more fields you need to select them. For more information, please check how to select here.
sort- Objects will be sorted based on created date by default. You can change the sort order — see Data Types: Sort.
List Request
POST/api/incident-grouping-rule/get-list?skip=0&limit=10Content-Type: application/json ApiKey: YOUR_API_KEY
{
"select": {
"isEnabled": true,
"name": true,
"priority": true,
"projectId": true,
"showEpisodeOnStatusPage": true
},
"query": {
"name": "Example name"
},
"sort": {
"createdAt": -1
}
}Response
{
"count": 10,
"limit": 10,
"skip": 0,
"data": [
{
"_id": "3770ce60-28fe-11f1-b591-3fdcef396aba",
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000",
"showEpisodeOnStatusPage": true
},
{
"_id": "3770ce61-28fe-11f1-b591-3fdcef396aba",
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000",
"showEpisodeOnStatusPage": true
},
{
"_id": "3770ce62-28fe-11f1-b591-3fdcef396aba",
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000",
"showEpisodeOnStatusPage": true
}
]
}/api/incident-grouping-rule/:id/get-itemGet item by ID
This endpoint allows you to retrieve Incident Grouping Rule by ID.
id- text
- ID of the Object
Optional Request Body
select- By default you will only retrieve ID of objects, to retrieve more fields you need to select them. For more information, please check how to select here.
Get Item Request
POST/api/incident-grouping-rule/:id/get-itemContent-Type: application/json ApiKey: YOUR_API_KEY
{
"select": {
"isEnabled": true,
"name": true,
"priority": true,
"projectId": true,
"showEpisodeOnStatusPage": true
}
}Response
{
"_id": "3770ce60-28fe-11f1-b591-3fdcef396aba",
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000",
"showEpisodeOnStatusPage": true
}/api/incident-grouping-rule/countCount
This endpoint allows you to retrieve the count of all your Incident Grouping Rule.
Optional Request Body
query- If you would like to filter on Incident Grouping Rule. You can specify include a query here. For more information, please check out writing queries here.
Count Request
POST/api/incident-grouping-rule/countContent-Type: application/json ApiKey: YOUR_API_KEY
{
"query": {
"name": "Example name"
}
}Response
{
"count": 107
}/api/incident-grouping-ruleCreate Incident Grouping Rule
This endpoint allows you to create a new object.
Create Request
POST/api/incident-grouping-ruleContent-Type: application/json ApiKey: YOUR_API_KEY
{
"data": {
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000",
"showEpisodeOnStatusPage": true
}
}Response
{
"_id": "3770ce60-28fe-11f1-b591-3fdcef396aba",
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000",
"showEpisodeOnStatusPage": true
}/api/incident-grouping-rule/:idUpdate by ID
This endpoint allows you to update object by its ID.
Alternative Methods
For clients that do not support PUT requests, you can use POST or GET with the same request headers and body:
Update Request
PUT/api/incident-grouping-rule/:idContent-Type: application/json ApiKey: YOUR_API_KEY
{
"data": {
"isEnabled": true,
"name": "Example name",
"priority": 100
}
}Response
{}/api/incident-grouping-rule/:idDelete by ID
This endpoint allows you to delete object by its ID.
Alternative Methods
For clients that do not support DELETE requests, you can use POST or GET with the same request headers and body:
Delete Request
DELETE/api/incident-grouping-rule/:idContent-Type: application/json ApiKey: YOUR_API_KEY
Response
{}Permissions
Your API Token needs permissions to create, update, read or delete this resource. If you do not have permissions to make a request a 4xx status will be sent as response.
Read Permissions
Required to read Incident Grouping Rule
Project OwnerProject AdminProject MemberRead Incident Grouping RuleRead All Project Resources
Create Permissions
Required to create Incident Grouping Rule
Project OwnerProject AdminCreate Incident Grouping Rule
Update Permissions
Required to update Incident Grouping Rule
Project OwnerProject AdminEdit Incident Grouping Rule
Delete Permissions
Required to delete Incident Grouping Rule
Project OwnerProject AdminDelete Incident Grouping Rule