|
|
@@ -0,0 +1,216 @@
|
|
|
++++
|
|
|
+title = "Alerting HTTP API "
|
|
|
+description = "Grafana Alerting HTTP API"
|
|
|
+keywords = ["grafana", "http", "documentation", "api", "alerting"]
|
|
|
+aliases = ["/http_api/alerting/"]
|
|
|
+type = "docs"
|
|
|
+[menu.docs]
|
|
|
+name = "Alerting"
|
|
|
+parent = "http_api"
|
|
|
++++
|
|
|
+
|
|
|
+
|
|
|
+# Alerting API
|
|
|
+
|
|
|
+You can use the Alerting API to get information about alerts and their states but this API cannot be used to modify the alert.
|
|
|
+To create new alerts or modify them you need to update the dashboard json that contains the alerts.
|
|
|
+
|
|
|
+This API can also be used to create, update and delete alert notifications.
|
|
|
+
|
|
|
+## Get alerts
|
|
|
+
|
|
|
+`GET /api/alerts/`
|
|
|
+
|
|
|
+**Example Request**:
|
|
|
+
|
|
|
+ GET /api/org HTTP/1.1
|
|
|
+ Accept: application/json
|
|
|
+ Content-Type: application/json
|
|
|
+ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
|
+
|
|
|
+**Example Response**:
|
|
|
+
|
|
|
+ HTTP/1.1 200
|
|
|
+ Content-Type: application/json
|
|
|
+ [
|
|
|
+ {
|
|
|
+ "id": 1,
|
|
|
+ "dashboardId": 1,
|
|
|
+ "panelId": 1,
|
|
|
+ "name": "fire place sensor",
|
|
|
+ "message": "Someone is trying to break in through the fire place",
|
|
|
+ "state": "alerting",
|
|
|
+ "newStateDate": "2016-12-25",
|
|
|
+ "executionError": "",
|
|
|
+ "dashboardUri": "http://grafana.com/dashboard/db/sensors"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+
|
|
|
+## Get one alert
|
|
|
+
|
|
|
+`GET /api/alerts/:id`
|
|
|
+
|
|
|
+**Example Request**:
|
|
|
+
|
|
|
+ GET /api/org HTTP/1.1
|
|
|
+ Accept: application/json
|
|
|
+ Content-Type: application/json
|
|
|
+ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
|
+
|
|
|
+**Example Response**:
|
|
|
+
|
|
|
+ HTTP/1.1 200
|
|
|
+ Content-Type: application/json
|
|
|
+ {
|
|
|
+ "id": 1,
|
|
|
+ "dashboardId": 1,
|
|
|
+ "panelId": 1,
|
|
|
+ "name": "fire place sensor",
|
|
|
+ "message": "Someone is trying to break in through the fire place",
|
|
|
+ "state": "alerting",
|
|
|
+ "newStateDate": "2016-12-25",
|
|
|
+ "executionError": "",
|
|
|
+ "dashboardUri": "http://grafana.com/dashboard/db/sensors"
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+## Pause alert
|
|
|
+
|
|
|
+`POST /api/alerts/:id/pause`
|
|
|
+
|
|
|
+**Example Request**:
|
|
|
+
|
|
|
+ GET /api/org HTTP/1.1
|
|
|
+ Accept: application/json
|
|
|
+ Content-Type: application/json
|
|
|
+ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
|
+
|
|
|
+ {
|
|
|
+ "alertId": 1,
|
|
|
+ "paused: true
|
|
|
+ }
|
|
|
+
|
|
|
+**Example Response**:
|
|
|
+
|
|
|
+ HTTP/1.1 200
|
|
|
+ Content-Type: application/json
|
|
|
+ {
|
|
|
+ "alertId": 1,
|
|
|
+ "state": "Paused",
|
|
|
+ "message": "alert paused"
|
|
|
+ }
|
|
|
+
|
|
|
+## Get alert notifications
|
|
|
+
|
|
|
+`GET /api/alert-notifications`
|
|
|
+
|
|
|
+**Example Request**:
|
|
|
+
|
|
|
+ GET /api/org HTTP/1.1
|
|
|
+ Accept: application/json
|
|
|
+ Content-Type: application/json
|
|
|
+ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
|
+
|
|
|
+**Example Response**:
|
|
|
+
|
|
|
+ HTTP/1.1 200
|
|
|
+ Content-Type: application/json
|
|
|
+
|
|
|
+ {
|
|
|
+ "id": 1,
|
|
|
+ "name": "Team A",
|
|
|
+ "type": "email",
|
|
|
+ "isDefault": true,
|
|
|
+ "created": "2017-01-01 12:45",
|
|
|
+ "updated": "2017-01-01 12:45"
|
|
|
+ }
|
|
|
+
|
|
|
+## Create alert notification
|
|
|
+
|
|
|
+`POST /api/alerts-notifications`
|
|
|
+
|
|
|
+**Example Request**:
|
|
|
+
|
|
|
+ GET /api/org HTTP/1.1
|
|
|
+ Accept: application/json
|
|
|
+ Content-Type: application/json
|
|
|
+ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
|
+
|
|
|
+ {
|
|
|
+ "name": "new alert notification", //Required
|
|
|
+ "type": "email", //Required
|
|
|
+ "isDefault": false,
|
|
|
+ "settings": {
|
|
|
+ "addresses: "carl@grafana.com;dev@grafana.com"
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+**Example Response**:
|
|
|
+
|
|
|
+ HTTP/1.1 200
|
|
|
+ Content-Type: application/json
|
|
|
+ {
|
|
|
+ "id": 1,
|
|
|
+ "name": "new alert notification",
|
|
|
+ "type": "email",
|
|
|
+ "isDefault": false,
|
|
|
+ "settings": { addresses: "carl@grafana.com;dev@grafana.com"} }
|
|
|
+ "created": "2017-01-01 12:34",
|
|
|
+ "updated": "2017-01-01 12:34"
|
|
|
+ }
|
|
|
+
|
|
|
+## Update alert notification
|
|
|
+
|
|
|
+`PUT /api/alerts-notifications/1`
|
|
|
+
|
|
|
+**Example Request**:
|
|
|
+
|
|
|
+ GET /api/org HTTP/1.1
|
|
|
+ Accept: application/json
|
|
|
+ Content-Type: application/json
|
|
|
+ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
|
+
|
|
|
+ {
|
|
|
+ "id": 1,
|
|
|
+ "name": "new alert notification", //Required
|
|
|
+ "type": "email", //Required
|
|
|
+ "isDefault": false,
|
|
|
+ "settings": {
|
|
|
+ "addresses: "carl@grafana.com;dev@grafana.com"
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+**Example Response**:
|
|
|
+
|
|
|
+ HTTP/1.1 200
|
|
|
+ Content-Type: application/json
|
|
|
+ {
|
|
|
+ "id": 1,
|
|
|
+ "name": "new alert notification",
|
|
|
+ "type": "email",
|
|
|
+ "isDefault": false,
|
|
|
+ "settings": { addresses: "carl@grafana.com;dev@grafana.com"} }
|
|
|
+ "created": "2017-01-01 12:34",
|
|
|
+ "updated": "2017-01-01 12:34"
|
|
|
+ }
|
|
|
+
|
|
|
+## Delete alert notification
|
|
|
+
|
|
|
+`DELETE /api/alerts-notifications/1`
|
|
|
+
|
|
|
+**Example Request**:
|
|
|
+
|
|
|
+ GET /api/org HTTP/1.1
|
|
|
+ Accept: application/json
|
|
|
+ Content-Type: application/json
|
|
|
+ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|
|
+
|
|
|
+**Example Response**:
|
|
|
+
|
|
|
+ HTTP/1.1 200
|
|
|
+ Content-Type: application/json
|
|
|
+ {
|
|
|
+ "message": "Notification deleted"
|
|
|
+ }
|