Alerting API

    You can find Grafana 8 alerts API specification details here. Also, refer to for details on how to create and manage new alerts.

    You can use the Alerting API to get information about legacy dashboard 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.

    Example Request:

    Querystring Parameters:

    /api/alerts?dashboardId=1

    • dashboardId – Limit response to alerts in specified dashboard(s). You can specify multiple dashboards, e.g. dashboardId=23&dashboardId=35.
    • panelId – Limit response to alert for a specified panel on a dashboard.
    • query - Limit response to alerts having a name like this value.
    • state - Return alerts with one or more of the following alert states: ALL,no_data, paused, alerting, ok, pending. To specify multiple states use the following format: ?state=paused&state=alerting
    • limit - Limit response to X number of alerts.
    • folderId – Limit response to alerts of dashboards in specified folder(s). You can specify multiple folders, e.g. folderId=23&folderId=35.
    • dashboardQuery - Limit response to alerts having a dashboard name like this value.
    • dashboardTag - Limit response to alerts of dashboards with specified tags. To do an “AND” filtering with multiple tags, specify the tags parameter multiple times e.g. dashboardTag=tag1&dashboardTag=tag2.

    Example Response:

    1. HTTP/1.1 200
    2. Content-Type: application/json
    3. [
    4. {
    5. "id": 1,
    6. "dashboardId": 1,
    7. "dashboardUId": "ABcdEFghij"
    8. "dashboardSlug": "sensors",
    9. "name": "fire place sensor",
    10. "state": "alerting",
    11. "newStateDate": "2018-05-14T05:55:20+02:00",
    12. "evalData": null,
    13. "executionError": "",
    14. "url": "http://grafana.com/dashboard/db/sensors"
    15. }
    16. ]

    GET /api/alerts/:id

    Example Request:

    Example Response:

    1. HTTP/1.1 200
    2. Content-Type: application/json
    3. {
    4. "id": 1,
    5. "dashboardId": 1,
    6. "dashboardUId": "ABcdEFghij"
    7. "dashboardSlug": "sensors",
    8. "panelId": 1,
    9. "name": "fire place sensor",
    10. "state": "alerting",
    11. "message": "Someone is trying to break in through the fire place",
    12. "evalDate": "0001-01-01T00:00:00Z",
    13. "evalData": "evalMatches": [
    14. "metric": "movement",
    15. "tags": {
    16. "name": "fireplace_chimney"
    17. },
    18. "value": 98.765
    19. }
    20. ],
    21. "executionError": "",
    22. "url": "http://grafana.com/dashboard/db/sensors"
    23. }

    If data from one server triggers the alert first and, before that server is seen leaving alerting state, a second server also enters a state that would trigger the alert, the second server will not be visible in “evalMatches” data.

    POST /api/alerts/:id/pause

    Example Request:

    The :id query parameter is the id of the alert to be paused or unpaused.

    JSON Body Schema:

    • paused – Can be true or false. True to pause an alert. False to unpause an alert.
    1. HTTP/1.1 200
    2. Content-Type: application/json
    3. {
    4. "alertId": 1,
    5. "state": "Paused",
    6. "message": "alert paused"

    See Admin API.