v1

latestOpenAPI 3.0.02026-07-1738124256.1 KB
Alerts

Update Alert

Updates an existing alert

put/api/v2/alerts/{id}

Path parameters

idstring required

Alert ID

Request body

dashboardIdstring nullable

Dashboard ID for tile-based alerts.

tileIdstring nullable

Tile ID for tile-based alerts. Must be a line, stacked bar, or number type tile.

savedSearchIdstring nullable

Saved search ID for saved_search alerts.

groupBystring nullable

Group-by key for saved search alerts.

thresholdnumber required

Threshold value for triggering the alert. For between and not_between threshold types, this is the lower bound.

thresholdMaxnumber nullable

Upper bound for between and not_between threshold types. Required when thresholdType is between or not_between, must be >= threshold.

interval'1m' | '5m' | '15m' | '30m' | '1h' | '6h' | '12h' | '1d' required

Evaluation interval.

scheduleOffsetMinutesinteger nullable

Offset from the interval boundary in minutes. For example, 2 with a 5m interval evaluates windows at :02, :07, :12, etc. (UTC).

scheduleStartAtstring date-time nullable

Absolute UTC start time anchor. Alert windows start from this timestamp and repeat every interval.

source'saved_search' | 'tile'

Alert source type.

thresholdType'above' | 'below' | 'above_exclusive' | 'below_or_equal' | 'equal' | 'not_equal' | 'between' | 'not_between' required

Threshold comparison direction.

namestring nullable

Human-friendly alert name.

messagestring nullable

Alert message template.

notestring nullable

Freeform note for the alert. Supports markdown formatting.

numConsecutiveWindowsinteger nullable

Fire the alert only after its condition has been met for this many consecutive evaluation windows. While the condition is met but fewer than this many consecutive windows have violated, the alert is in the PENDING state.

Example request

{
  "dashboardId": "65f5e4a3b9e77c001a567890",
  "tileId": "65f5e4a3b9e77c001a901234",
  "savedSearchId": "65f5e4a3b9e77c001a345678",
  "groupBy": "ServiceName",
  "threshold": 100,
  "thresholdMax": 500,
  "scheduleOffsetMinutes": 2,
  "scheduleStartAt": "2026-02-08T10:00:00.000Z",
  "channel": {
    "webhookId": "65f5e4a3b9e77c001a789012"
  },
  "name": "Test Alert",
  "message": "Test Alert Message",
  "note": "Threshold raised from 50 to 100 on 2026-01-15. See [runbook](https://wiki.example.com/runbook).",
  "numConsecutiveWindows": 3
}

Response

Successfully updated alert

Example response

{
  "data": {
    "dashboardId": "65f5e4a3b9e77c001a567890",
    "tileId": "65f5e4a3b9e77c001a901234",
    "savedSearchId": "65f5e4a3b9e77c001a345678",
    "groupBy": "ServiceName",
    "threshold": 100,
    "thresholdMax": 500,
    "scheduleOffsetMinutes": 2,
    "scheduleStartAt": "2026-02-08T10:00:00.000Z",
    "channel": {
      "webhookId": "65f5e4a3b9e77c001a789012"
    },
    "name": "Test Alert",
    "message": "Test Alert Message",
    "note": "Threshold raised from 50 to 100 on 2026-01-15. See [runbook](https://wiki.example.com/runbook).",
    "numConsecutiveWindows": 3,
    "id": "65f5e4a3b9e77c001a123456",
    "teamId": "65f5e4a3b9e77c001a345678",
    "silenced": {
      "by": "65f5e4a3b9e77c001a234567",
      "at": "2026-03-19T08:00:00.000Z",
      "until": "2026-03-20T08:00:00.000Z"
    },
    "executionErrors": [
      {
        "timestamp": "2026-04-17T12:00:00.000Z",
        "message": "Query timed out after 30s"
      }
    ],
    "createdAt": "2023-01-01T00:00:00.000Z",
    "updatedAt": "2023-01-01T00:00:00.000Z"
  }
}