Alert Grouping Rule
Configure rules for automatically grouping related alerts into episodes
The Alert 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 alert grouping rule
- Name
description- Type
- Long Text
- Description
Description of this alert 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 alerts to this rule
- Name
monitors- Type
- Monitor
- Description
Only group alerts from these monitors. Leave empty to match alerts from any monitor.
- Name
alertSeverities- Type
- Alert Severity
- Description
Only group alerts with these severities. Leave empty to match alerts of any severity.
- Name
alertLabels- Type
- Label
- Description
Only group alerts that have at least one of these labels. Leave empty to match alerts regardless of alert labels.
- Name
monitorLabels- Type
- Label
- Description
Only group alerts from monitors that have at least one of these labels. Leave empty to match alerts regardless of monitor labels.
- Name
alertTitlePattern- Type
- Long Text
- Description
Regular expression pattern to match alert titles. Leave empty to match any title. Example: 'CPU.*high' matches titles containing 'CPU' followed by 'high'.
- Name
alertDescriptionPattern- Type
- Long Text
- Description
Regular expression pattern to match alert 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, alerts from different monitors will be grouped into separate episodes. When disabled, alerts from any monitor can be grouped together.
- Name
groupBySeverity- Type
- Boolean
- Description
When enabled, alerts with different severities will be grouped into separate episodes. When disabled, alerts of any severity can be grouped together.
- Name
groupByAlertTitle- Type
- Boolean
- Description
When enabled, alerts with different titles will be grouped into separate episodes. When disabled, alerts with any title can be grouped together.
- Name
groupByService- Type
- Boolean
- Description
When enabled, alerts from monitors belonging to different services will be grouped into separate episodes. When disabled, alerts can be grouped together regardless of which service the monitor belongs to.
- Name
enableTimeWindow- Type
- Boolean
- Description
Enable time-based grouping. When enabled, alerts are grouped within the specified time window. When disabled, all matching alerts are grouped into a single ongoing episode regardless of time.
- Name
timeWindowMinutes- Type
- Number
- Description
Rolling time window in minutes. Alerts are grouped if they arrive within this gap from the last alert.
- Name
groupByFields- Type
- JSON
- Description
JSON object defining the fields to group alerts by (e.g., monitorId, severity)
- Name
episodeTitleTemplate- Type
- Long Text
- Description
Template for generating episode titles. Supports placeholders like {{alertSeverity}}, {{monitorName}}, {{alertTitle}}, {{alertDescription}}
- Name
episodeDescriptionTemplate- Type
- Long Text
- Description
Template for generating episode descriptions. Supports placeholders like {{alertSeverity}}, {{monitorName}}, {{alertTitle}}, {{alertDescription}}
- Name
enableResolveDelay- Type
- Boolean
- Description
Enable grace period before auto-resolving episode after all alerts resolve. Helps prevent rapid state changes during alert flapping.
- Name
resolveDelayMinutes- Type
- Number
- Description
Grace period in minutes before auto-resolving an episode after all alerts 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 alerts 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
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)
/api/alert-grouping-rule/get-listList
This endpoint allows you to retrieve a paginated list of all your Alert Grouping Rule. By default, a maximum of ten Alert 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 Alert 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/alert-grouping-rule/get-list?skip=0&limit=10Content-Type: application/json ApiKey: YOUR_API_KEY
{
"select": {
"isEnabled": true,
"name": true,
"priority": true,
"projectId": true,
"_id": true
},
"query": {
"name": "Example name"
},
"sort": {
"createdAt": -1
}
}Response
{
"count": 10,
"limit": 10,
"skip": 0,
"data": [
{
"_id": "376c6190-28fe-11f1-b591-3fdcef396aba",
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000"
},
{
"_id": "376c6191-28fe-11f1-b591-3fdcef396aba",
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000"
},
{
"_id": "376c6192-28fe-11f1-b591-3fdcef396aba",
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000"
}
]
}/api/alert-grouping-rule/:id/get-itemGet item by ID
This endpoint allows you to retrieve Alert 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/alert-grouping-rule/:id/get-itemContent-Type: application/json ApiKey: YOUR_API_KEY
{
"select": {
"isEnabled": true,
"name": true,
"priority": true,
"projectId": true,
"_id": true
}
}Response
{
"_id": "550e8400-e29b-41d4-a716-446655440000",
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000"
}/api/alert-grouping-rule/countCount
This endpoint allows you to retrieve the count of all your Alert Grouping Rule.
Optional Request Body
query- If you would like to filter on Alert Grouping Rule. You can specify include a query here. For more information, please check out writing queries here.
Count Request
POST/api/alert-grouping-rule/countContent-Type: application/json ApiKey: YOUR_API_KEY
{
"query": {
"name": "Example name"
}
}Response
{
"count": 107
}/api/alert-grouping-ruleCreate Alert Grouping Rule
This endpoint allows you to create a new object.
Create Request
POST/api/alert-grouping-ruleContent-Type: application/json ApiKey: YOUR_API_KEY
{
"data": {
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000",
"alertDescriptionPattern": "Example alert description pattern"
}
}Response
{
"_id": "550e8400-e29b-41d4-a716-446655440000",
"isEnabled": true,
"name": "Example name",
"priority": 100,
"projectId": "550e8400-e29b-41d4-a716-446655440000"
}/api/alert-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/alert-grouping-rule/:idContent-Type: application/json ApiKey: YOUR_API_KEY
{
"data": {
"isEnabled": true,
"name": "Example name",
"priority": 100
}
}Response
{}/api/alert-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/alert-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 Alert Grouping Rule
Project OwnerProject AdminProject MemberRead Alert Grouping RuleRead All Project Resources
Create Permissions
Required to create Alert Grouping Rule
Project OwnerProject AdminCreate Alert Grouping Rule
Update Permissions
Required to update Alert Grouping Rule
Project OwnerProject AdminEdit Alert Grouping Rule
Delete Permissions
Required to delete Alert Grouping Rule
Project OwnerProject AdminDelete Alert Grouping Rule