Update Alert
Changed onUpdates an existing alert
Request
- Base URL/ (relative, and the document was published on a file host, not at the API’s origin)
- URL/api/v2/alerts/{id}
- AuthHTTP bearer
Path parameters
Alert ID
Request body
Example request
{
"dashboardId": "65f5e4a3b9e77c001a567890",
"tileId": "65f5e4a3b9e77c001a901234",
"savedSearchId": "65f5e4a3b9e77c001a345678",
"groupBy": "ServiceName",
"chartConfig": {
"displayType": "line",
"sourceId": "65f5e4a3b9e77c001a111111",
"select": [
{
"valueExpression": "Duration",
"alias": "Request Duration",
"where": "service:api",
"metricName": "http.server.duration",
"periodAggFn": "delta",
"numberFormat": {
"mantissa": 2,
"thousandSeparated": true,
"factor": 1,
"currencySymbol": "$",
"numericUnit": "bytes_iec",
"unit": "ms"
}
}
],
"groupBy": "host",
"lineInterpolation": "step",
"numberFormat": {
"mantissa": 2,
"thousandSeparated": true,
"factor": 1,
"currencySymbol": "$",
"numericUnit": "bytes_iec",
"unit": "ms"
},
"seriesLimit": 5,
"formulas": [
{
"expression": "A / (A + B) * 100",
"alias": "Success rate %",
"numberFormat": {
"mantissa": 2,
"thousandSeparated": true,
"factor": 1,
"currencySymbol": "$",
"numericUnit": "bytes_iec",
"unit": "ms"
}
}
],
"name": "Error Rate Query",
"where": "ServiceName:api"
},
"threshold": 100,
"thresholdMax": 500,
"scheduleOffsetMinutes": 2,
"scheduleStartAt": "2026-02-08T10:00:00.000Z",
"channel": {
"webhookId": "65f5e4a3b9e77c001a789012"
},
"channels": [
{
"webhookId": "65f5e4a3b9e77c001a789012"
}
],
"name": "Errors for {{group}} hit {{value}}",
"displayName": "Checkout error spike",
"tags": [
"checkout",
"p1"
],
"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",
"chartConfig": {
"displayType": "line",
"sourceId": "65f5e4a3b9e77c001a111111",
"select": [
{
"valueExpression": "Duration",
"alias": "Request Duration",
"where": "service:api",
"metricName": "http.server.duration",
"periodAggFn": "delta",
"numberFormat": {
"mantissa": 2,
"thousandSeparated": true,
"factor": 1,
"currencySymbol": "$",
"numericUnit": "bytes_iec",
"unit": "ms"
}
}
],
"groupBy": "host",
"lineInterpolation": "step",
"numberFormat": {
"mantissa": 2,
"thousandSeparated": true,
"factor": 1,
"currencySymbol": "$",
"numericUnit": "bytes_iec",
"unit": "ms"
},
"seriesLimit": 5,
"formulas": [
{
"expression": "A / (A + B) * 100",
"alias": "Success rate %",
"numberFormat": {
"mantissa": 2,
"thousandSeparated": true,
"factor": 1,
"currencySymbol": "$",
"numericUnit": "bytes_iec",
"unit": "ms"
}
}
],
"name": "Error Rate Query",
"where": "ServiceName:api"
},
"threshold": 100,
"thresholdMax": 500,
"scheduleOffsetMinutes": 2,
"scheduleStartAt": "2026-02-08T10:00:00.000Z",
"channel": {
"webhookId": "65f5e4a3b9e77c001a789012"
},
"channels": [
{
"webhookId": "65f5e4a3b9e77c001a789012"
}
],
"name": "Errors for {{group}} hit {{value}}",
"displayName": "Checkout error spike",
"tags": [
"checkout",
"p1"
],
"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"
}
}Changes
- breaking
added to the
/////////////response propertyoneOflist for the response status - breaking
added to the
/////////////response propertyoneOflist for the response status - breaking
added to the
/////////////response propertyoneOflist for the response status - breaking
added to the
/////////////response propertyoneOflist for the response status - info
added
promqldiscriminator mapping keys to the////////////request property - info
added
promqldiscriminator mapping keys to the////////////request property - info
added
promqldiscriminator mapping keys to the////////////request property - info
added
promqldiscriminator mapping keys to the////////////request property - info
added to the
////////////request propertyoneOflist - info
added to the
////////////request propertyoneOflist - info
added to the
////////////request propertyoneOflist - info
added to the
////////////request propertyoneOflist - info
added
promqldiscriminator mapping keys to the/////////////response property for the response status - info
added
promqldiscriminator mapping keys to the/////////////response property for the response status - info
added
promqldiscriminator mapping keys to the/////////////response property for the response status - info
added
promqldiscriminator mapping keys to the/////////////response property for the response status
- breaking
- info
added the new optional request property
///////////////// - info
added the new optional request property
////////////////// - info
added the new optional request property
///////////////// - info
added the new optional request property
////////////////// - info
added the optional property
//////////////////to the response with the status - info
added the optional property
///////////////////to the response with the status - info
added the optional property
//////////////////to the response with the status - info
added the optional property
///////////////////to the response with the status
- info