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
idpathstring

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
idpathstring

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
idpathstring

Responses: 200 Deleted · 404 Not Found

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

Toggle pin on alert rule

Parameters

NameInRequiredTypeDescription
idpathstring

Responses: 200 Pin toggled

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

Acknowledge an alert (current user)

Parameters

NameInRequiredTypeDescription
idpathstring

Responses: 200 Acknowledged · 403 Forbidden

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

Acknowledge alert using login link (system user)

Parameters

NameInRequiredTypeDescription
idpathstring

Responses: 200 Acknowledged or already acknowledged

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

Manually resolve alert

Parameters

NameInRequiredTypeDescription
idpathstring

Responses: 200 Resolved · 403 Forbidden

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

Toggle silence for current user on a single alert rule

Parameters

NameInRequiredTypeDescription
idpathstring

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
alertRuleIdsqueryarray of stringAlert rule ids to build timelines for
fromTimequeryintegerWindow start (unix timestamp, seconds)
toTimequeryintegerWindow 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
idpathstring
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
idpathstring

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
typepathstring (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
typequerystring (prometheus | grafana)
dataSourceIdquerystring

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
labelpathstring

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
idpathstring

Responses: 200 Alert rule tags · 403 Forbidden

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

Update tags for an alert rule

Parameters

NameInRequiredTypeDescription
idpathstring

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
idpathstring

Responses: 200 Current and selectable endpoints

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

Add notification endpoints to an alert rule

Parameters

NameInRequiredTypeDescription
idpathstring

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
alertIdpathstring
endpointIdpathstring

Responses: 200 Endpoint removed

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

Send a test notification for an alert rule

Parameters

NameInRequiredTypeDescription
idpathstring

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
idpathstring

Responses: 200 Users and teams · 403 Forbidden

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

Add users or teams to an alert rule

Parameters

NameInRequiredTypeDescription
idpathstring

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
alertIdpathstring
userIdpathstring

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
alertRuleIdpathstringAlert 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
alertRuleIdpathstringAlert 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
alertRuleIdpathstringAlert 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
alertRuleIdpathstringAlert rule MongoDB _id
ruleIdpathstringBehavior 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
alertRuleIdpathstringAlert rule MongoDB _id
ruleIdpathstringBehavior rule UUID

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