Skip to main content

Alert rules

Generated reference

This page is generated from the OpenAPI spec (scripts/generate_api_docs.py). Do not edit by hand — regenerate when the API changes.

Alert rules are the core object of the Skylogs API: each rule defines what to match from a source (Prometheus, Zabbix, Grafana, an inbound API alert, …), who owns it, and how to notify. Creation uses a single endpoint with a type discriminator selecting the body shape. Behavior rules attach notification, template, or silence behavior to an alert rule.

All endpoints require Authorization: Bearer <accessToken> — see Authentication.

AlertRule​

EndpointSummary
GET /api/v1/alert-ruleList alert rules
POST /api/v1/alert-ruleCreate alert rule
GET /api/v1/alert-rule/{id}Get alert rule by id
PUT /api/v1/alert-rule/{id}Update alert rule
DELETE /api/v1/alert-rule/{id}Delete alert rule
POST /api/v1/alert-rule/pin/{id}Toggle pin on alert rule
POST /api/v1/alert-rule/acknowledge/{id}Acknowledge an alert (current user)
GET /api/v1/alert-rule/acknowledgeL/{id}Acknowledge alert using login link (system user)
POST /api/v1/alert-rule/resolve/{id}Manually resolve alert
POST /api/v1/alert-rule/silent/{id}Toggle silence for current user on a single alert rule
GET /api/v1/alert-rule/filter-endpointsGet selectable endpoints for alert rules
GET /api/v1/alert-rule/typesList available alert rule types
GET /api/v1/alert-rule/statusGet status timelines for a batch of alert rules
GET /api/v1/alert-rule/history/{id}Get history for an alert rule
GET /api/v1/alert-rule/triggered/{id}Get triggered/fired alerts for an alert rule
GET /api/v1/alert-rule/create-dataGet form data for creating an alert rule
GET /api/v1/alert-rule/create-data/data-source/{type}Get data sources by type for alert rule creation
GET /api/v1/alert-rule/create-data/zabbixGet Zabbix hosts, actions, and severities
GET /api/v1/alert-rule/create-data/rulesGet external alert rule names (Prometheus/Grafana)
GET /api/v1/alert-rule/create-data/labelsGet Prometheus labels
GET /api/v1/alert-rule/create-data/label-values/{label}Get Prometheus label values
POST /api/v1/alert-rule/group-action/silentSilence filtered alert rules for current user
POST /api/v1/alert-rule/group-action/unsilentRemove silence from filtered alert rules for current user
POST /api/v1/alert-rule/group-action/deleteDelete filtered alert rules
POST /api/v1/alert-rule/group-action/add-user-notifyAdd users, teams, or endpoints to filtered alert rules
GET /api/v1/alert-rule-tagList all alert rule tags
GET /api/v1/alert-rule-tag/{id}Get tags for an alert rule
PUT /api/v1/alert-rule-tag/{id}Update tags for an alert rule
GET /api/v1/alert-rule-notify/{id}Get notification endpoints for an alert rule
PUT /api/v1/alert-rule-notify/{id}Add notification endpoints to an alert rule
DELETE /api/v1/alert-rule-notify/{alertId}/{endpointId}Remove a notification endpoint from an alert rule
POST /api/v1/alert-rule-notify/test/{id}Send a test notification for an alert rule
GET /api/v1/alert-rule-notify/batchAlertGet selectable endpoints for batch notification assignment
PUT /api/v1/alert-rule-notify/batchAlertAdd endpoints to multiple alert rules
GET /api/v1/alert-rule-user/{id}Get user and team access data for an alert rule
PUT /api/v1/alert-rule-user/{id}Add users or teams to an alert rule
DELETE /api/v1/alert-rule-user/{alertId}/{userId}Remove a user or team from an alert rule

GET /api/v1/alert-rule​

List alert rules

Returns a paginated list of alert rules visible to the authenticated user. Pinned rules appear first.

Parameters

NameInRequiredTypeDescription
pagequeryintegerPage number
perPagequeryinteger
alertnamequerystringFilter by alert rule name (case-insensitive partial match)
userIdquerystringFilter by owner or shared user id
typesquerystringComma-separated alert types
tagsquerystringComma-separated tags (all must match)
silentStatusquerystring (silent | active)Filter by silence state for the current user
endpointIdquerystringFilter by linked endpoint id
statusqueryobjectFilter by alert state field

Responses: 200 Paginated alert rules · 401 Unauthorized

POST /api/v1/alert-rule​

Create alert rule

Creates an alert rule. All types use this endpoint; set type to select the request body shape (see schema oneOf / discriminator). Prometheus, Grafana, and PMM additionally use queryType (dynamic vs textQuery).

Request body (application/json)

The body is selected by the type discriminator:

API alert rule​

Inbound webhook alert (fire, resolve, status). Server generates apiToken after create.

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (api)
enableAutoResolvebooleanAutomatically resolve firing instances after a period Example: true
autoResolveMinutesintegerMinutes until auto-resolve when enableAutoResolve is true Example: 5

Notification alert rule​

Receives generic notification webhooks. Server generates apiToken after create.

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (notification)

AlertRuleStorePrometheus​

Prometheus alert rule — choose dynamic or textQuery variant.

Variant queryType: Prometheus (dynamic)

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (prometheus)
queryTypestring (dynamic)
dataSourceIdsarray of stringPrometheus data source ids (may be empty)
dataSourceAlertNamestringAlert name in the external Prometheus/Grafana ruler Example: HighMemory
extraFieldarray of objectLabel key/value filters

Variant queryType: Prometheus (text query)

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (prometheus)
queryTypestring (textQuery)
queryTextstringPromQL expression string
queryObjectobjectStructured query payload used by the checker

AlertRuleStoreGrafana​

Grafana alert rule — choose dynamic or textQuery variant.

Variant queryType: Grafana (dynamic)

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (grafana)
queryTypestring (dynamic)
dataSourceIdsarray of string
dataSourceAlertNamestring
extraFieldarray of object

Variant queryType: Grafana (text query)

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (grafana)
queryTypestring (textQuery)
queryTextstring
queryObjectobject

AlertRuleStorePmm​

Percona PMM alert rule — choose dynamic or textQuery variant.

Variant queryType: PMM (dynamic)

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (pmm)
queryTypestring (dynamic)
dataSourceIdsarray of string
dataSourceAlertNamestring
extraFieldarray of object

Variant queryType: PMM (text query)

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (pmm)
queryTypestring (textQuery)
queryTextstring
queryObjectobject

Sentry alert rule​

Webhook-driven Sentry issue alerts.

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (sentry)
dataSourceIdsarray of string
dataSourceAlertNamestringSentry project or alert identifier configured in Skylogs

Splunk alert rule​

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (splunk)
dataSourceIdsarray of string
dataSourceAlertNamestring

Metabase alert rule​

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (metabase)
dataSourceIdsarray of string
dataSourceAlertNamestring

Zabbix alert rule​

Filter Zabbix webhooks by hosts, actions, and severities (0–5 as strings, or omit for all).

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (zabbix)
dataSourceIdsarray of string
hostsarray of stringExample: ["web-01"]
actionsarray of stringExample: ["Action1"]
severitiesarray of string (0 | 1 | 2 | 3 | 4 | 5)Zabbix severity codes 0 (not classified) through 5 (disaster) Example: ["5"]

Elastic alert rule​

Document-count threshold on an Elastic data view.

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (elastic)
dataSourceIdstring
dataviewNamestringExample: responses
dataviewTitlestringExample: responses*
queryStringstringExample: OriginStatus:>=400
minutesintegerLook-back window in minutes Example: 15
conditionTypestring (greaterOrEqual | lessOrEqual)
countDocumentintegerDocument count threshold Example: 5

VictoriaLogs alert rule​

Log line count threshold on a VictoriaLogs data source.

FieldTypeRequiredDescription
namestringUnique alert rule name Example: High CPU usage
descriptionstringExample: Fires when CPU exceeds threshold
showAcknowledgeBtnbooleanShow acknowledge action in notification messages
tagsarray of stringExample: ["production", "cpu"]
userIdsarray of stringAdditional users granted access (MongoDB user ids)
teamIdsarray of stringTeams granted access
endpointIdsarray of stringNotification endpoints to attach
typestring (victoria_logs)
dataSourceIdstring
queryStringstring
minutesintegerExample: 15
conditionTypestring (greaterOrEqual | lessOrEqual)
countDocumentintegerExample: 5

Responses: 200 Created successfully · 422 Validation error

GET /api/v1/alert-rule/{id}​

Get alert rule by id

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Alert rule details · 403 Forbidden · 404 Not Found

PUT /api/v1/alert-rule/{id}​

Update alert rule

Updates an alert rule. Send the payload for the rule's existing type (type cannot be changed). Non-admin users can only update rules they own.

Parameters

NameInRequiredTypeDescription
idpath✅string

Request body (application/json)

Update API alert rule​

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
enableAutoResolveboolean
autoResolveMinutesinteger

Update notification alert rule​

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string

AlertRuleUpdatePrometheus​

Variant queryType: Update Prometheus (dynamic)

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
queryTypestring (dynamic)
dataSourceIdsarray of string
dataSourceAlertNamestring
extraFieldarray of object

Variant queryType: Update Prometheus (text query)

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
queryTypestring (textQuery)
queryTextstring
queryObjectobject

AlertRuleUpdateGrafana​

Variant queryType: Update Grafana (dynamic)

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
queryTypestring (dynamic)
dataSourceIdsarray of string
dataSourceAlertNamestring
extraFieldarray of object

Variant queryType: Update Grafana (text query)

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
queryTypestring (textQuery)
queryTextstring
queryObjectobject

AlertRuleUpdatePmm​

Variant queryType: Update PMM (dynamic)

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
queryTypestring (dynamic)
dataSourceIdsarray of string
dataSourceAlertNamestring
extraFieldarray of object

Variant queryType: Update PMM (text query)

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
queryTypestring (textQuery)
queryTextstring
queryObjectobject

Update Sentry alert rule​

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
dataSourceIdsarray of string
dataSourceAlertNamestring

Update Splunk alert rule​

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
dataSourceIdsarray of string
dataSourceAlertNamestring

Update Metabase alert rule​

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
dataSourceIdsarray of string
dataSourceAlertNamestring

Update Zabbix alert rule​

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
dataSourceIdsarray of string
hostsarray of string
actionsarray of string
severitiesarray of string (0 | 1 | 2 | 3 | 4 | 5)

Update Elastic alert rule​

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
dataSourceIdstring
dataviewNamestring
dataviewTitlestring
queryStringstring
minutesinteger
conditionTypestring (greaterOrEqual | lessOrEqual)
countDocumentinteger

Update VictoriaLogs alert rule​

FieldTypeRequiredDescription
namestring
descriptionstring
showAcknowledgeBtnboolean
tagsarray of string
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string
dataSourceIdstring
queryStringstring
minutesinteger
conditionTypestring (greaterOrEqual | lessOrEqual)
countDocumentinteger

Responses: 200 Updated successfully · 403 Forbidden · 404 Not Found

DELETE /api/v1/alert-rule/{id}​

Delete alert rule

Deletes the alert rule for admins/owners, or removes the current user access and endpoints for shared users.

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Deleted · 404 Not Found

POST /api/v1/alert-rule/pin/{id}​

Toggle pin on alert rule

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Pin toggled

POST /api/v1/alert-rule/acknowledge/{id}​

Acknowledge an alert (current user)

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Acknowledged · 403 Forbidden

GET /api/v1/alert-rule/acknowledgeL/{id}​

Acknowledge alert using login link (system user)

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Acknowledged or already acknowledged

POST /api/v1/alert-rule/resolve/{id}​

Manually resolve alert

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Resolved · 403 Forbidden

POST /api/v1/alert-rule/silent/{id}​

Toggle silence for current user on a single alert rule

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Silence toggled

GET /api/v1/alert-rule/filter-endpoints​

Get selectable endpoints for alert rules

Responses: 200 Selectable endpoints

GET /api/v1/alert-rule/types​

List available alert rule types

Responses: 200 Alert rule type enum values

GET /api/v1/alert-rule/status​

Get status timelines for a batch of alert rules

Returns a fixed-bucket status timeline per alert rule over [fromTime, toTime]. Each bucket is colored by the worst status that occurred inside it (critical > warning > resolved > unknown) and carries every raw underlying status change that overlaps it, for hover/click incident detail. Alert rules the user cannot access are silently omitted from the response.

Parameters

NameInRequiredTypeDescription
alertRuleIdsquery✅array of stringAlert rule ids to build timelines for
fromTimequery✅integerWindow start (unix timestamp, seconds)
toTimequery✅integerWindow end (unix timestamp, seconds), must be after fromTime
bucketCountqueryintegerNumber of equal-width buckets to divide the window into

Responses: 200 Status timeline per alert rule · 422 Validation error

GET /api/v1/alert-rule/history/{id}​

Get history for an alert rule

Returns paginated state-change history. Shape depends on alert type (API instances, Prometheus/Grafana checks, Elastic/VictoriaLogs checks, etc.).

Parameters

NameInRequiredTypeDescription
idpath✅string
perPagequeryintegerItems per page
fromquerystringStart datetime (Y-m-d H:i)
toquerystringEnd datetime (Y-m-d H:i)

Responses: 200 Paginated history records · 403 Forbidden · 404 Not Found

GET /api/v1/alert-rule/triggered/{id}​

Get triggered/fired alerts for an alert rule

Returns currently firing data: API AlertInstance rows, Prometheus/Grafana alert arrays, Zabbix webhook events, or Elastic/VictoriaLogs check documents depending on type.

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Fired instances or active check payload · 404 Not Found

GET /api/v1/alert-rule/create-data​

Get form data for creating an alert rule

Responses: 200 Endpoints and selectable users

GET /api/v1/alert-rule/create-data/data-source/{type}​

Get data sources by type for alert rule creation

Parameters

NameInRequiredTypeDescription
typepath✅string (prometheus | sentry | grafana | pmm | zabbix | splunk | elastic | victoria_logs)

Responses: 200 Data sources

GET /api/v1/alert-rule/create-data/zabbix​

Get Zabbix hosts, actions, and severities

Responses: 200 Zabbix metadata

GET /api/v1/alert-rule/create-data/rules​

Get external alert rule names (Prometheus/Grafana)

Parameters

NameInRequiredTypeDescription
typequery✅string (prometheus | grafana)
dataSourceIdquery✅string

Responses: 200 External rule names

GET /api/v1/alert-rule/create-data/labels​

Get Prometheus labels

Responses: 200 Prometheus labels

GET /api/v1/alert-rule/create-data/label-values/{label}​

Get Prometheus label values

Parameters

NameInRequiredTypeDescription
labelpath✅string

Responses: 200 Label values

POST /api/v1/alert-rule/group-action/silent​

Silence filtered alert rules for current user

Uses the same query filters as the alert rule list endpoint.

Parameters

NameInRequiredTypeDescription
alertnamequerystring
userIdquerystring
typesquerystring
tagsquerystring
silentStatusquerystring (silent | active)
endpointIdquerystring
statusqueryobjectFilter by alert state

Responses: 200 Rules silenced

POST /api/v1/alert-rule/group-action/unsilent​

Remove silence from filtered alert rules for current user

Parameters

NameInRequiredTypeDescription
alertnamequerystring
userIdquerystring
typesquerystring
tagsquerystring
silentStatusquerystring (silent | active)
endpointIdquerystring
statusqueryobjectFilter by alert state

Responses: 200 Silence removed

POST /api/v1/alert-rule/group-action/delete​

Delete filtered alert rules

Parameters

NameInRequiredTypeDescription
alertnamequerystring
userIdquerystring
typesquerystring
tagsquerystring
endpointIdquerystring
statusqueryobjectFilter by alert state

Responses: 200 Rules deleted or access removed

POST /api/v1/alert-rule/group-action/add-user-notify​

Add users, teams, or endpoints to filtered alert rules

Parameters

NameInRequiredTypeDescription
alertnamequerystring
userIdquerystring
typesquerystring
tagsquerystring
endpointIdquerystring
statusqueryobjectFilter by alert state

Request body (application/json)

FieldTypeRequiredDescription
userIdsarray of string
teamIdsarray of string
endpointIdsarray of string

Responses: 200 Access or notifications updated

GET /api/v1/alert-rule-tag​

List all alert rule tags

Responses: 200 All tags

GET /api/v1/alert-rule-tag/{id}​

Get tags for an alert rule

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Alert rule tags · 403 Forbidden

PUT /api/v1/alert-rule-tag/{id}​

Update tags for an alert rule

Parameters

NameInRequiredTypeDescription
idpath✅string

Request body (application/json)

FieldTypeRequiredDescription
tagsarray of string

Responses: 200 Tags updated · 403 Forbidden

GET /api/v1/alert-rule-notify/{id}​

Get notification endpoints for an alert rule

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Current and selectable endpoints

PUT /api/v1/alert-rule-notify/{id}​

Add notification endpoints to an alert rule

Parameters

NameInRequiredTypeDescription
idpath✅string

Request body (application/json)

FieldTypeRequiredDescription
endpointIdsarray of string

Responses: 200 Endpoints added

DELETE /api/v1/alert-rule-notify/{alertId}/{endpointId}​

Remove a notification endpoint from an alert rule

Parameters

NameInRequiredTypeDescription
alertIdpath✅string
endpointIdpath✅string

Responses: 200 Endpoint removed

POST /api/v1/alert-rule-notify/test/{id}​

Send a test notification for an alert rule

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Test notification queued · 403 Forbidden

GET /api/v1/alert-rule-notify/batchAlert​

Get selectable endpoints for batch notification assignment

Responses: 200 Selectable endpoints

PUT /api/v1/alert-rule-notify/batchAlert​

Add endpoints to multiple alert rules

Request body (application/json)

FieldTypeRequiredDescription
alertIdsarray of string
endpointsarray of string

Responses: 200 Batch update completed

GET /api/v1/alert-rule-user/{id}​

Get user and team access data for an alert rule

Parameters

NameInRequiredTypeDescription
idpath✅string

Responses: 200 Users and teams · 403 Forbidden

PUT /api/v1/alert-rule-user/{id}​

Add users or teams to an alert rule

Parameters

NameInRequiredTypeDescription
idpath✅string

Request body (application/json)

FieldTypeRequiredDescription
userIdsarray of string
teamIdsarray of string

Responses: 200 Access updated · 403 Forbidden

DELETE /api/v1/alert-rule-user/{alertId}/{userId}​

Remove a user or team from an alert rule

Parameters

NameInRequiredTypeDescription
alertIdpath✅string
userIdpath✅string

Responses: 200 Access removed · 403 Forbidden

AlertRule Behavior Rules​

EndpointSummary
GET /api/v1/alert-rule-behavior-rule/selectable-alert-rules/{alertRuleId}List selectable alert rules for silent behavior rules
GET /api/v1/alert-rule-behavior-rule/{alertRuleId}List behavior rules
POST /api/v1/alert-rule-behavior-rule/{alertRuleId}Create a behavior rule
PUT /api/v1/alert-rule-behavior-rule/{alertRuleId}/{ruleId}Update a behavior rule
DELETE /api/v1/alert-rule-behavior-rule/{alertRuleId}/{ruleId}Delete a behavior rule

GET /api/v1/alert-rule-behavior-rule/selectable-alert-rules/{alertRuleId}​

List selectable alert rules for silent behavior rules

Returns alert rules the user can access whose type supports resolved/critical status. Excludes the current alert rule. Use the returned id values in dependsOnAlertRuleIds when creating or updating a silent behavior rule.

Parameters

NameInRequiredTypeDescription
alertRuleIdpath✅stringAlert rule MongoDB _id being configured

Responses: 200 Selectable alert rules · 403 Forbidden · 404 Alert rule not found

GET /api/v1/alert-rule-behavior-rule/{alertRuleId}​

List behavior rules

Returns notification, template, and silent rules for the alert rule. Each item shape depends on type (see AlertRuleBehaviorRule schema).

Parameters

NameInRequiredTypeDescription
alertRuleIdpath✅stringAlert rule MongoDB _id

Responses: 200 Behavior rules · 403 Forbidden · 404 Alert rule not found

POST /api/v1/alert-rule-behavior-rule/{alertRuleId}​

Create a behavior rule

One endpoint for all behavior rule types. Set type in the body and use the matching schema (notification, template, or silent). Requires admin access on the alert rule.

Parameters

NameInRequiredTypeDescription
alertRuleIdpath✅stringAlert rule MongoDB _id

Request body (application/json)

Create a behavior rule. Set type to pick the payload shape (same URL for all types). Requires alert rule admin access.

Responses: 200 Behavior rule created · 403 Forbidden · 422 Validation error

PUT /api/v1/alert-rule-behavior-rule/{alertRuleId}/{ruleId}​

Update a behavior rule

Send only fields allowed for the existing rule type. The rule type cannot be changed. ruleId is the UUID returned when the rule was created.

Parameters

NameInRequiredTypeDescription
alertRuleIdpath✅stringAlert rule MongoDB _id
ruleIdpath✅stringBehavior rule UUID

Request body (application/json)

Update a behavior rule. Send the variant that matches the rule's existing type (identified by ruleId in the path).

Responses: 200 Behavior rule updated · 403 Forbidden · 404 Not Found · 422 Validation error

DELETE /api/v1/alert-rule-behavior-rule/{alertRuleId}/{ruleId}​

Delete a behavior rule

Removes any behavior rule (notification, template, or silent) by its UUID.

Parameters

NameInRequiredTypeDescription
alertRuleIdpath✅stringAlert rule MongoDB _id
ruleIdpath✅stringBehavior rule UUID

Responses: 200 Behavior rule deleted · 403 Forbidden · 404 Not Found