Alerting provisioning HTTP API

Note

Starting in Grafana 13, /api endpoints are being deprecated in favor of the /apis route. Note that while Grafana is working on migrating existing APIs, currently there may not be an exact match to the legacy API you’re using.

This change doesn’t disrupt or break your current setup. Legacy APIs are not being disabled and remain fully accessible and operative, but /api routes will no longer be updated.

To learn more refer to the new API structure in Grafana.

The Alerting Provisioning HTTP API can be used to create, modify, and delete resources relevant to Grafana-managed alerts. This API is the one used by our Grafana Terraform provider.

If you are running Grafana Enterprise, you need to add specific permissions for some endpoints. For more information, refer to Role-based access control permissions.

Warning

The contact points, notification policies, notification template groups, and mute timings endpoints in this API are deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead.

Grafana-managed endpoints

Note

In the Alerting provisioning HTTP API, the endpoints use a JSON format that differs from the format returned by the export endpoints.

The export endpoints allow you to export alerting resources in a JSON format suitable for provisioning via files. However, this format cannot be used to update resources via the HTTP API.

Alert rules

The following endpoints can be used to manage both alert rules and recording rules. To create a recording rule, include a record block in your request instead of a condition field.

Method URI Name Summary
DELETE /api/v1/provisioning/alert-rules/:uid route delete alert rule Delete a specific alert rule by UID.
GET /api/v1/provisioning/alert-rules/:uid route get alert rule Get a specific alert rule by UID.
POST /api/v1/provisioning/alert-rules route post alert rule Create a new alert rule.
PUT /api/v1/provisioning/alert-rules/:uid route put alert rule Update an existing alert rule.
GET /api/v1/provisioning/alert-rules/:uid/export route get alert rule export Export an alert rule in provisioning file format.
DELETE /api/v1/provisioning/folder/:folderUid/rule-groups/:group route delete alert rule group Delete a rule group.
GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group route get alert rule group Get a rule group.
PUT /api/v1/provisioning/folder/:folderUid/rule-groups/:group route put alert rule group Create or update a rule group.
GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group/export route get alert rule group export Export an alert rule group in provisioning file format.
GET /api/v1/provisioning/alert-rules route get alert rules Get all the alert rules.
GET /api/v1/provisioning/alert-rules/export route get alert rules export Export all alert rules in provisioning file format.

Example request for new alert rule:

http
POST /api/v1/provisioning/alert-rules
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "title": "TEST-API_1",
  "ruleGroup": "API",
  "folderUID": "SET_FOLDER_UID",
  "noDataState": "OK",
  "execErrState": "OK",
  "for": "5m",
  "keepFiringFor": "2m",
  "orgId": 1,
  "uid": "",
  "condition": "B",
  "annotations": {
    "summary": "test_api_1"
  },
  "labels": {
    "API": "test1"
  },
  "data": [
    {
      "refId": "A",
      "queryType": "",
      "relativeTimeRange": {
        "from": 600,
        "to": 0
      },
      "datasourceUid": "XXXXXXXXX-XXXXXXXXX-XXXXXXXXXX",
      "model": {
        "expr": "up",
        "hide": false,
        "intervalMs": 1000,
        "maxDataPoints": 43200,
        "refId": "A"
      }
    },
    {
      "refId": "B",
      "queryType": "",
      "relativeTimeRange": {
        "from": 0,
        "to": 0
      },
      "datasourceUid": "-100",
      "model": {
        "conditions": [
          {
            "evaluator": {
              "params": [6],
              "type": "gt"
            },
            "operator": {
              "type": "and"
            },
            "query": {
              "params": ["A"]
            },
            "reducer": {
              "params": [],
              "type": "last"
            },
            "type": "query"
          }
        ],
        "datasource": {
          "type": "__expr__",
          "uid": "-100"
        },
        "hide": false,
        "intervalMs": 1000,
        "maxDataPoints": 43200,
        "refId": "B",
        "type": "classic_conditions"
      }
    }
  ]
}

Example Response:

http
HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": 1,
  "uid": "XXXXXXXXX",
  "orgID": 1,
  "folderUID": "SET_FOLDER_UID",
  "ruleGroup": "API3",
  "title": "TEST-API_1",
  "condition": "B",
  "data": [
    {
      "refId": "A",
      "queryType": "",
      "relativeTimeRange": {
        "from": 600,
        "to": 0
      },
      "datasourceUid": "XXXXXXXXX-XXXXXXXXX-XXXXXXXXXX",
      "model": {
        "expr": "up",
        "hide": false,
        "intervalMs": 1000,
        "maxDataPoints": 43200,
        "refId": "A"
      }
    },
    {
      "refId": "B",
      "queryType": "",
      "relativeTimeRange": {
        "from": 0,
        "to": 0
      },
      "datasourceUid": "-100",
      "model": {
        "conditions": [
          {
            "evaluator": {
              "params": [
                6
              ],
              "type": "gt"
            },
            "operator": {
              "type": "and"
            },
            "query": {
              "params": [
                "A"
              ]
            },
            "reducer": {
              "params": [],
              "type": "last"
            },
            "type": "query"
          }
        ],
        "datasource": {
          "type": "__expr__",
          "uid": "-100"
        },
        "hide": false,
        "intervalMs": 1000,
        "maxDataPoints": 43200,
        "refId": "B",
        "type": "classic_conditions"
      }
    }
  ],
  "updated": "2024-08-02T13:19:32.609640048Z",
  "noDataState": "OK",
  "execErrState": "OK",
  "for": "5m",
  "keepFiringFor": "2m",
  "annotations": {
    "summary": "test_api_1"
  },
  "labels": {
    "API": "test1"
  },
  "provenance": "api",
  "isPaused": false,
  "notification_settings": null,
  "record": null
}

Recording rules

Recording rules allow you to pre-compute frequently used or computationally expensive queries and save the results as a new time series metric. The same alert rule provisioning endpoints support creating recording rules by including the record field instead of alert-specific fields like condition, noDataState, or execErrState.

Example request for new recording rule:

http
POST /api/v1/provisioning/alert-rules
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "title": "my_recording_rule",
  "ruleGroup": "recording_rules_group",
  "folderUID": "SET_FOLDER_UID",
  "for": "0s",
  "orgId": 1,
  "uid": "",
  "labels": {
    "team": "backend"
  },
  "data": [
    {
      "refId": "A",
      "queryType": "",
      "relativeTimeRange": {
        "from": 600,
        "to": 0
      },
      "datasourceUid": "PROMETHEUS_DATASOURCE_UID",
      "model": {
        "expr": "sum(rate(http_requests_total[5m]))",
        "intervalMs": 1000,
        "maxDataPoints": 43200,
        "refId": "A"
      }
    }
  ],
  "record": {
    "metric": "http_requests:rate5m:sum",
    "from": "A",
    "target_datasource_uid": "TARGET_PROMETHEUS_UID"
  }
}

Example response:

http
HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": 2,
  "uid": "YYYYYYYYY",
  "orgID": 1,
  "folderUID": "SET_FOLDER_UID",
  "ruleGroup": "recording_rules_group",
  "title": "my_recording_rule",
  "for": "0s",
  "data": [
    {
      "refId": "A",
      "queryType": "",
      "relativeTimeRange": {
        "from": 600,
        "to": 0
      },
      "datasourceUid": "PROMETHEUS_DATASOURCE_UID",
      "model": {
        "expr": "sum(rate(http_requests_total[5m]))",
        "intervalMs": 1000,
        "maxDataPoints": 43200,
        "refId": "A"
      }
    }
  ],
  "updated": "2024-08-02T14:30:15.123456789Z",
  "labels": {
    "team": "backend"
  },
  "provenance": "api",
  "isPaused": false,
  "record": {
    "metric": "http_requests:rate5m:sum",
    "from": "A",
    "target_datasource_uid": "TARGET_PROMETHEUS_UID"
  }
}

Important notes for recording rules:

  • The metric field must be a valid Prometheus metric name and contain no whitespace.
  • The from field specifies which query reference (refId) to use as the source for the recorded metric.
  • The target_datasource_uid specifies which Prometheus-compatible data source to write the results to. If not specified, the default data source configured in [recording_rules].default_datasource_uid is used.
  • Recording rules do not support condition, noDataState, execErrState, or notification_settings fields.
  • Set for to 0s for recording rules as they do not have a pending state.

Contact points

Method URI Name Summary
DELETE /api/v1/provisioning/contact-points/:uid route delete contactpoints Delete a contact point.
GET /api/v1/provisioning/contact-points route get contactpoints Get all the contact points.
POST /api/v1/provisioning/contact-points route post contactpoints Create a contact point.
PUT /api/v1/provisioning/contact-points/:uid route put contactpoint Update an existing contact point.
GET /api/v1/provisioning/contact-points/export route get contactpoints export Export all contact points in provisioning file format.

Example Request for all the contact points:

http
GET /api/v1/provisioning/contact-points
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example Response:

http
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "uid": "",
    "name": "email receiver",
    "type": "email",
    "settings": {
      "addresses": "<example@example.com>"
    },
    "disableResolveMessage": false
  }
]

Receiver permissions

The receiver permissions endpoints manage access control for contact point receivers. These endpoints allow you to assign permissions to users, teams, or built-in roles for specific receivers.

Method URI Name Summary
POST /api/access-control/receivers/:uid/users/:userID route set user receiver permission Set permissions for a user on a specific receiver.
POST /api/access-control/receivers/:uid/teams/:teamID route set team receiver permission Set permissions for a team on a specific receiver.
POST /api/access-control/receivers/:uid/builtInRoles/:builtInRole route set builtin receiver permission Set permissions for a built-in role on a specific receiver.

Example Request to assign permissions to a user:

http
POST /api/access-control/receivers/abc123/users/5
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "permission": "Edit"
}

Example Response:

http
HTTP/1.1 200 OK
Content-Type: application/json

{
  "message": "Permission updated"
}

Example Request to remove permissions from a team:

http
POST /api/access-control/receivers/abc123/teams/3
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "permission": ""
}

Example Response:

http
HTTP/1.1 200 OK
Content-Type: application/json

{
  "message": "Permission removed"
}

Example Request to assign permissions to a built-in role:

http
POST /api/access-control/receivers/abc123/builtInRoles/Viewer
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "permission": "View"
}

Example Response:

http
HTTP/1.1 200 OK
Content-Type: application/json

{
  "message": "Permission updated"
}

Available Permissions sets:

  • View - Read-only access to the receiver.
    • Grants alert.notifications.receivers:read.
  • Edit - Ability to update and test the receiver.
    • Grants View actions plus:
      • alert.notifications.receivers:write
      • alert.notifications.receivers:delete
      • alert.notifications.receivers.test:create
  • Admin - Full access including managing permissions and reading secrets.
    • Grants Edit actions plus:
      • alert.notifications.receivers.secrets:read
      • receivers.permissions:read
      • receivers.permissions:write
      • alert.notifications.receivers.protected:write
  • Empty string ("") - Removes the permission.

Notification policies

Method URI Name Summary
DELETE /api/v1/provisioning/policies route reset policy tree Clears the notification policy tree.
GET /api/v1/provisioning/policies route get policy tree Get the notification policy tree.
PUT /api/v1/provisioning/policies route put policy tree Sets the notification policy tree.
GET /api/v1/provisioning/policies/export route get policy tree export Export the notification policy tree in provisioning file format.

Example Request for exporting the notification policy tree in YAML format:

http
GET /api/v1/provisioning/policies/export?format=yaml
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example Response:

http
HTTP/1.1 200 OK
Content-Type: text/yaml

apiVersion: 1
policies:
    - orgId: 1
      receiver: My Contact Email Point
      group_by:
        - grafana_folder
        - alertname
      routes:
        - receiver: My Contact Email Point
          object_matchers:
            - - monitor
              - =
              - testdata
          mute_time_intervals:
            - weekends

Notification template groups

Template groups enable you to define multiple notification templates ({{ define "" }}) within a single group. They can be managed from the Grafana Alerting UI.

Method URI Name Summary
DELETE /api/v1/provisioning/templates/:name route delete template Delete a notification template group.
GET /api/v1/provisioning/templates/:name route get template Get a notification template group.
GET /api/v1/provisioning/templates route get template Get all notification template groups.
PUT /api/v1/provisioning/templates/:name route put template Create or update a notification template group.

Example Request for all notification template groups:

http
GET /api/v1/provisioning/templates
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example Response:

http
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "name": "custom_email.message",
    "template": "{{ define \"custom_email.message\" }}\n  Custom alert!\n{{ end }}",
    "provenance": "file"
  },
  {
    "name": "custom_email.subject",
    "template": "{{ define \"custom_email.subject\" }}\n{{ len .Alerts.Firing }} firing alert(s), {{ len .Alerts.Resolved }} resolved alert(s)\n{{ end }}",
    "provenance": "file"
  }
]

Mute timings

Method URI Name Summary
DELETE /api/v1/provisioning/mute-timings/:name route delete mute timing Delete a mute timing.
GET /api/v1/provisioning/mute-timings/:name route get mute timing Get a mute timing.
GET /api/v1/provisioning/mute-timings route get mute timings Get all the mute timings.
POST /api/v1/provisioning/mute-timings route post mute timing Create a new mute timing.
PUT /api/v1/provisioning/mute-timings/:name route put mute timing Replace an existing mute timing.
GET /api/v1/provisioning/mute-timings/export route get mute timings export Export all mute timings in provisioning file format.
GET /api/v1/provisioning/mute-timings/:name/export route get mute timing export Export a mute timing in provisioning file format.

Example Request for all mute timings:

http
GET /api/v1/provisioning/mute-timings
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example Response:

http
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "name": "weekends",
    "time_intervals": [
      {
        "weekdays": [
          "saturday",
          "sunday"
        ]
      }
    ],
    "version": "",
    "provenance": "file"
  }
]

Edit resources in the Grafana UI

By default, you cannot edit API-provisioned alerting resources in Grafana.

To enable editing these resources in the Grafana UI, add the X-Disable-Provenance: true header to the following API requests:

To reset the notification policy tree to the default and unlock it for editing in the Grafana UI, use:

Data source-managed resources

Caution

Pre-provisioned Loki and Prometheus data source-managed alerts have been deprecated in Grafana Cloud and can not be created in new stacks. New Grafana Cloud stacks will use Grafana-managed alerting (GMA) by default. Datasource-managed alerting (DMA) is not provisioned in new stacks. Existing stacks are not affected.

This applies to the default Loki and Prometheus Grafana Cloud data sources managed by Grafana Labs and Cloud Alertmanager, which will not be available nor will Grafana provision the data source for it. If you add your own Mimir, Loki, or Alertmanager data sources, you can continue to use data source-managed alerts.

Cloud users can import DMA rules into GMA rules with the import tool. See the import data source-managed alerts to Grafana-managed alerts documentation for information on how to do this.

Paths

Delete a specific alert rule by UID. (RouteDeleteAlertRule)

DELETE /api/v1/provisioning/alert-rules/:uid

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/alertrules/{name} for alert rules and /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/recordingrules/{name} for recording rules.

Parameters

Name Source Type Go type Required Default Description
UID path string string ✓ Alert rule UID
X-Disable-Provenance: true header string string Allows editing of provisioned resources in the Grafana UI

All responses

Code Status Description Has headers Schema
204 No Content The alert rule was deleted successfully. schema

Responses

204 - The alert rule was deleted successfully.

Status: No Content

Schema

Delete a rule group. (RouteDeleteAlertRuleGroup)

DELETE /api/v1/provisioning/folder/:folderUid/rule-groups/:group

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/alertrules for alert rules and /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/recordingrules for recording rules.

Parameters

Name Source Type Go type Required Default Description
FolderUID path string string ✓
Group path string string ✓
X-Disable-Provenance: true header string string Allows editing of provisioned resources in the Grafana UI

All responses

Code Status Description Has headers Schema
204 No Content The alert rule group was deleted successfully. schema
403 Forbidden ForbiddenError schema
404 Not Found NotFound schema

Responses

204 - The alert rule group was deleted successfully.

Status: No Content

Schema
403 - ForbiddenError

Status: Forbidden

Schema

ForbiddenError

404 - NotFound

Status: Not Found

Schema

NotFound

Delete a contact point. (RouteDeleteContactpoints)

DELETE /api/v1/provisioning/contact-points/:uid

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/receivers/{name} for receivers.

Parameters

Name Source Type Go type Required Default Description
UID path string string ✓ UID is the contact point unique identifier

All responses

Code Status Description Has headers Schema
204 No Content The contact point was deleted successfully. schema

Responses

204 - The contact point was deleted successfully.

Status: No Content

Schema

Delete a mute timing. (RouteDeleteMuteTiming)

DELETE /api/v1/provisioning/mute-timings/:name

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/timeintervals/{name} for mute timings.

Parameters

Name Source Type Go type Required Default Description
name path string string ✓ Mute timing name
version query string string Current version of the resource. Used for optimistic concurrency validation. Keep empty to bypass validation.

All responses

Code Status Description Has headers Schema
204 No Content The mute timing was deleted successfully. schema
409 Conflict GenericPublicError schema

Responses

204 - The mute timing was deleted successfully.

Status: No Content

Schema
409 - Conflict

Status: Conflict

Schema

GenericPublicError

Delete a notification template group. (RouteDeleteTemplate)

DELETE /api/v1/provisioning/templates/:name

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/templategroups/{name} for notification template groups.

Parameters

Name Source Type Go type Required Default Description
name path string string ✓ Name of the template group
version query string string Current version of the resource. Used for optimistic concurrency validation. Keep empty to bypass validation.

All responses

Code Status Description Has headers Schema
204 No Content The template was deleted successfully. schema
409 Conflict GenericPublicError schema

Responses

204 - The template was deleted successfully.

Status: No Content

Schema
409 - Conflict

Status: Conflict

Schema

GenericPublicError

Get a specific alert rule by UID. (RouteGetAlertRule)

GET /api/v1/provisioning/alert-rules/:uid

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/alertrules/{name} for alert rules and /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/recordingrules/{name} for recording rules.

Parameters

Name Source Type Go type Required Default Description
UID path string string ✓ Alert rule UID

All responses

Code Status Description Has headers Schema
200 OK ProvisionedAlertRule schema
404 Not Found Not found. schema

Responses

200 - ProvisionedAlertRule

Status: OK

Schema

ProvisionedAlertRule

404 - Not found.

Status: Not Found

Schema

Export an alert rule in provisioning file format. (RouteGetAlertRuleExport)

GET /api/v1/provisioning/alert-rules/:uid/export

Produces

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

These outputs are for file provisioning or Terraform provisioning, and they-including the JSON output—cannot be used to update resources via the HTTP API.

Parameters

Name Source Type Go type Required Default Description
UID path string string ✓ Alert rule UID
download query boolean bool Whether to initiate a download of the file or not.
format query string string yaml Format of the downloaded file, either yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence.

All responses

Code Status Description Has headers Schema
200 OK AlertingFileExport schema
404 Not Found Not found. schema

Responses

200 - AlertingFileExport

Status: OK

Schema

AlertingFileExport

404 - Not found.

Status: Not Found

Schema

Get a rule group. (RouteGetAlertRuleGroup)

GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/alertrules for alert rules and /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/recordingrules for recording rules.

Parameters

Name Source Type Go type Required Default Description
FolderUID path string string ✓
Group path string string ✓

All responses

Code Status Description Has headers Schema
200 OK AlertRuleGroup schema
404 Not Found Not found. schema

Responses

200 - AlertRuleGroup

Status: OK

Schema

AlertRuleGroup

404 - Not found.

Status: Not Found

Schema

Export an alert rule group in provisioning file format. (RouteGetAlertRuleGroupExport)

GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group/export

Produces

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

These outputs are for file provisioning or Terraform provisioning, and they-including the JSON output—cannot be used to update resources via the HTTP API.

Parameters

Name Source Type Go type Required Default Description
FolderUID path string string ✓
Group path string string ✓
download query boolean bool Whether to initiate a download of the file or not.
format query string string yaml Format of the downloaded file, either yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence.

All responses

Code Status Description Has headers Schema
200 OK AlertingFileExport schema
404 Not Found Not found. schema

Responses

200 - AlertingFileExport

Status: OK

Schema

AlertingFileExport

404 - Not found.

Status: Not Found

Schema

Get all the alert rules. (RouteGetAlertRules)

GET /api/v1/provisioning/alert-rules

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/alertrules for alert rules and /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/recordingrules for recording rules.

All responses

Code Status Description Has headers Schema
200 OK ProvisionedAlertRules schema

Responses

200 - ProvisionedAlertRules

Status: OK

Schema

ProvisionedAlertRules

Export all alert rules in provisioning file format. (RouteGetAlertRulesExport)

GET /api/v1/provisioning/alert-rules/export

Produces

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

These outputs are for file provisioning or Terraform provisioning, and they-including the JSON output—cannot be used to update resources via the HTTP API.

Parameters

Name Source Type Go type Required Default Description
download query boolean bool Whether to initiate a download of the file or not.
format query string string yaml Format of the downloaded file, either yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence.

All responses

Code Status Description Has headers Schema
200 OK AlertingFileExport schema
404 Not Found Not found. schema

Responses

200 - AlertingFileExport

Status: OK

Schema

AlertingFileExport

404 - Not found.

Status: Not Found

Schema

Get all the contact points. (RouteGetContactpoints)

GET /api/v1/provisioning/contact-points

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/receivers for receivers.

Parameters

Name Source Type Go type Required Default Description
name query string string Filter by name

All responses

Code Status Description Has headers Schema
200 OK ContactPoints schema

Responses

200 - ContactPoints

Status: OK

Schema

ContactPoints

Export all contact points in provisioning file format. (RouteGetContactpointsExport)

GET /api/v1/provisioning/contact-points/export

Produces

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

These outputs are for file provisioning or Terraform provisioning, and they-including the JSON output—cannot be used to update resources via the HTTP API.

Parameters

Name Source Type Go type Required Default Description
decrypt query boolean bool Whether any contained secure settings should be decrypted or left redacted. Redacted settings will contain RedactedValue instead. Currently, only org admin can view decrypted secure settings.
download query boolean bool Whether to initiate a download of the file or not.
format query string string yaml Format of the downloaded file, either yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence.
name query string string Filter by name

All responses

Code Status Description Has headers Schema
200 OK AlertingFileExport schema
403 Forbidden PermissionDenied schema

Responses

200 - AlertingFileExport

Status: OK

Schema

AlertingFileExport

403 - PermissionDenied

Status: Forbidden

Schema

PermissionDenied

Set permissions for a user on a specific receiver. (RouteSetUserReceiverPermission)

POST /api/access-control/receivers/:uid/users/:userID

This endpoint sets or removes permissions for a specific user on a receiver. To remove a permission, send an empty string as the permission value.

Note

This endpoint requires Grafana Enterprise and the user must have the receivers.permissions:write permission for the specified receiver.

Parameters

Name Source Type Go type Required Default Description
uid path string string ✓ UID of the receiver
userID path int64 int64 ✓ ID of the user to assign permissions to
body body object object ✓ JSON body with permission field: View, Edit, Admin, or "" (empty to remove)

All responses

Code Status Description Has headers Schema
200 OK Permission updated schema
400 Bad Request Invalid request schema
403 Forbidden Permission denied schema

Responses

200 - Permission updated

Status: OK

Schema
JSON
{
  "message": "Permission updated"
}
400 - Invalid request

Status: Bad Request

Schema
403 - Permission denied

Status: Forbidden

Schema

PermissionDenied

Set permissions for a team on a specific receiver. (RouteSetTeamReceiverPermission)

POST /api/access-control/receivers/:uid/teams/:teamID

This endpoint sets or removes permissions for a specific team on a receiver. To remove a permission, send an empty string as the permission value.

Note

This endpoint requires Grafana Enterprise and the user must have the receivers.permissions:write permission for the specified receiver.

Parameters

Name Source Type Go type Required Default Description
uid path string string ✓ UID of the receiver
teamID path int64 int64 ✓ ID of the team to assign permissions to
body body object object ✓ JSON body with permission field: View, Edit, Admin, or "" (empty to remove)

All responses

Code Status Description Has headers Schema
200 OK Permission updated schema
400 Bad Request Invalid request schema
403 Forbidden Permission denied schema

Responses

200 - Permission updated

Status: OK

Schema
JSON
{
  "message": "Permission updated"
}
400 - Invalid request

Status: Bad Request

Schema
403 - Permission denied

Status: Forbidden

Schema

PermissionDenied

Set permissions for a built-in role on a specific receiver. (RouteSetBuiltinReceiverPermission)

POST /api/access-control/receivers/:uid/builtInRoles/:builtInRole

This endpoint sets or removes permissions for a built-in role on a receiver. To remove a permission, send an empty string as the permission value.

Note

This endpoint requires Grafana Enterprise and the user must have the receivers.permissions:write permission for the specified receiver.

Parameters

Name Source Type Go type Required Default Description
uid path string string ✓ UID of the receiver
builtInRole path string string ✓ Built-in role name: Viewer, Editor, or Admin
body body object object ✓ JSON body with permission field: View, Edit, Admin, or "" (empty to remove)

All responses

Code Status Description Has headers Schema
200 OK Permission updated schema
400 Bad Request Invalid request schema
403 Forbidden Permission denied schema

Responses

200 - Permission updated

Status: OK

Schema
JSON
{
  "message": "Permission updated"
}
400 - Invalid request

Status: Bad Request

Schema
403 - Permission denied

Status: Forbidden

Schema

PermissionDenied

Get a mute timing. (RouteGetMuteTiming)

GET /api/v1/provisioning/mute-timings/:name

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/timeintervals/{name} for mute timings.

Parameters

Name Source Type Go type Required Default Description
name path string string ✓ Mute timing name

All responses

Code Status Description Has headers Schema
200 OK MuteTimeInterval schema
404 Not Found Not found. schema

Responses

200 - MuteTimeInterval

Status: OK

Schema

MuteTimeInterval

404 - Not found.

Status: Not Found

Schema

Get all the mute timings. (RouteGetMuteTimings)

GET /api/v1/provisioning/mute-timings

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/timeintervals for mute timings.

All responses

Code Status Description Has headers Schema
200 OK MuteTimings schema

Responses

200 - MuteTimings

Status: OK

Schema

MuteTimings

Export all mute timings in provisioning file format. (RouteGetMuteTimingsExport)

GET /api/v1/provisioning/mute-timings/export

Produces

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

These outputs are for file provisioning or Terraform provisioning, and they-including the JSON output—cannot be used to update resources via the HTTP API.

Parameters

Name Source Type Go type Required Default Description
download query boolean bool Whether to initiate a download of the file or not.
format query string string yaml Format of the downloaded file, either yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence.

All responses

Code Status Description Has headers Schema
200 OK MuteTimingsExport schema
403 Forbidden PermissionDenied schema

Responses

200 - MuteTimingsExport

Status: OK

Schema

AlertingFileExport

403 - PermissionDenied

Status: Forbidden

Schema

PermissionDenied

Export a mute timing in provisioning file format. (RouteGetMuteTimingExport)

GET /api/v1/provisioning/mute-timings/:name/export

Produces

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

These outputs are for file provisioning or Terraform provisioning, and they-including the JSON output—cannot be used to update resources via the HTTP API.

Parameters

Name Source Type Go type Required Default Description
name path string string ✓ Mute timing name.
download query boolean bool Whether to initiate a download of the file or not.
format query string string yaml Format of the downloaded file, either yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence.

All responses

Code Status Description Has headers Schema
200 OK MuteTimingExport schema
403 Forbidden PermissionDenied schema

Responses

200 - MuteTimingExport

Status: OK

Schema

AlertingFileExport

403 - PermissionDenied

Status: Forbidden

Schema

PermissionDenied

Get the notification policy tree. (RouteGetPolicyTree)

GET /api/v1/provisioning/policies

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/routingtrees for notification policies.

All responses

Code Status Description Has headers Schema
200 OK Route schema

Responses

200 - Route

Status: OK

Schema

Route

Export the notification policy tree in provisioning file format. (RouteGetPolicyTreeExport)

GET /api/v1/provisioning/policies/export

Produces

  • application/json
  • application/yaml
  • application/terraform+hcl
  • text/yaml
  • text/hcl

These outputs are for file provisioning or Terraform provisioning, and they-including the JSON output—cannot be used to update resources via the HTTP API.

Parameters

Name Source Type Go type Required Default Description
download query boolean bool Whether to initiate a download of the file or not.
format query string string yaml Format of the downloaded file, either yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence.
routeName query string string Name of a specific routing tree to export. If omitted, the default policy tree is exported.

All responses

Code Status Description Has headers Schema
200 OK AlertingFileExport schema
404 Not Found NotFound schema

Responses

200 - AlertingFileExport

Status: OK

Schema

AlertingFileExport

404 - NotFound

Status: Not Found

Schema

NotFound

Get a notification template group. (RouteGetTemplate)

GET /api/v1/provisioning/templates/:name

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/templategroups/{name} for notification template groups.

Parameters

Name Source Type Go type Required Default Description
name path string string ✓ Name of the template group

All responses

Code Status Description Has headers Schema
200 OK NotificationTemplate schema
404 Not Found GenericPublicError schema

Responses

200 - NotificationTemplate

Status: OK

Schema

NotificationTemplate

404 - Not found.

GenericPublicError

Schema

Get all notification template groups. (RouteGetTemplates)

GET /api/v1/provisioning/templates

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/templategroups for notification template groups.

All responses

Code Status Description Has headers Schema
200 OK NotificationTemplates schema

Responses

200 - NotificationTemplates

Status: OK

Schema

NotificationTemplates

Create a new alert rule. (RoutePostAlertRule)

POST /api/v1/provisioning/alert-rules

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/alertrules for alert rules and /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/recordingrules for recording rules.

This action creates a new alert rule.

The provenance (X-Disable-Provenance) of the new rule must match the provenance configured for its rule group. Mixing provisioned and unprovisioned alert rules within the same rule group is not allowed.

Parameters

Name Source Type Go type Required Default Description
X-Disable-Provenance: true header string string Allows editing of provisioned resources in the Grafana UI
Body body ProvisionedAlertRule models.ProvisionedAlertRule

All responses

Code Status Description Has headers Schema
201 Created ProvisionedAlertRule schema
400 Bad Request ValidationError schema

Responses

201 - ProvisionedAlertRule

Status: Created

Schema

ProvisionedAlertRule

400 - ValidationError

Status: Bad Request

Schema

ValidationError

Create a contact point. (RoutePostContactpoints)

POST /api/v1/provisioning/contact-points

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/receivers for receivers.

When creating a contact point, the EmbeddedContactPoint.name property determines if the new contact point is added to an existing one. In the UI, contact points with the same name are grouped together under a single contact point.

Parameters

Name Source Type Go type Required Default Description
X-Disable-Provenance: true header string string Allows editing of provisioned resources in the Grafana UI
Body body EmbeddedContactPoint models.EmbeddedContactPoint

All responses

Code Status Description Has headers Schema
202 Accepted EmbeddedContactPoint schema
400 Bad Request ValidationError schema

Responses

202 - EmbeddedContactPoint

Status: Accepted

Schema

EmbeddedContactPoint

400 - ValidationError

Status: Bad Request

Schema

ValidationError

Create a new mute timing. (RoutePostMuteTiming)

POST /api/v1/provisioning/mute-timings

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/timeintervals for mute timings.

Parameters

Name Source Type Go type Required Default Description
X-Disable-Provenance: true header string string Allows editing of provisioned resources in the Grafana UI
Body body MuteTimeInterval models.MuteTimeInterval

All responses

Code Status Description Has headers Schema
201 Created MuteTimeInterval schema
400 Bad Request ValidationError schema

Responses

201 - MuteTimeInterval

Status: Created

Schema

MuteTimeInterval

400 - ValidationError

Status: Bad Request

Schema

ValidationError

Update an existing alert rule. (RoutePutAlertRule)

PUT /api/v1/provisioning/alert-rules/:uid

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/alertrules/{name} for alert rules and /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/recordingrules/{name} for recording rules.

Parameters

Name Source Type Go type Required Default Description
UID path string string ✓ Alert rule UID
X-Disable-Provenance: true header string string Allows editing of provisioned resources in the Grafana UI
Body body ProvisionedAlertRule models.ProvisionedAlertRule

All responses

Code Status Description Has headers Schema
200 OK ProvisionedAlertRule schema
400 Bad Request ValidationError schema

Responses

200 - ProvisionedAlertRule

Status: OK

Schema

ProvisionedAlertRule

400 - ValidationError

Status: Bad Request

Schema

ValidationError

Create or update a rule group. (RoutePutAlertRuleGroup)

PUT /api/v1/provisioning/folder/:folderUid/rule-groups/:group

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/alertrules for alert rules and /apis/rules.alerting.grafana.app/v0alpha1/namespaces/{namespace}/recordingrules for recording rules.

This action also changes the provenance setting (X-Disable-Provenance) for all alert rules in the alert group.

Parameters

Name Source Type Go type Required Default Description
FolderUID path string string ✓
Group path string string ✓
X-Disable-Provenance: true header string string Allows editing of provisioned resources in the Grafana UI. This also applies to all alert rules within the alert group.
Body body AlertRuleGroup models.AlertRuleGroup This action is idempotent and rules included in this body will overwrite configured rules for the group

All responses

Code Status Description Has headers Schema
200 OK AlertRuleGroup schema
400 Bad Request ValidationError schema

Responses

200 - AlertRuleGroup

Status: OK

Schema

AlertRuleGroup

400 - ValidationError

Status: Bad Request

Schema

ValidationError

Update an existing contact point. (RoutePutContactpoint)

PUT /api/v1/provisioning/contact-points/:uid

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/receivers/{name} for receivers.

Parameters

Name Source Type Go type Required Default Description
UID path string string ✓ UID is the contact point unique identifier
X-Disable-Provenance: true header string string Allows editing of provisioned resources in the Grafana UI
Body body EmbeddedContactPoint models.EmbeddedContactPoint

All responses

Code Status Description Has headers Schema
202 Accepted Ack schema
400 Bad Request ValidationError schema

Responses

202 - Ack

Status: Accepted

Schema

Ack

400 - ValidationError

Status: Bad Request

Schema

ValidationError

Replace an existing mute timing. (RoutePutMuteTiming)

PUT /api/v1/provisioning/mute-timings/:name

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/timeintervals/{name} for mute timings.

Parameters

Name Source Type Go type Required Default Description
name path string string ✓ Mute timing name
X-Disable-Provenance: true header string string Allows editing of provisioned resources in the Grafana UI
Body body MuteTimeInterval models.MuteTimeInterval

All responses

Code Status Description Has headers Schema
200 OK MuteTimeInterval schema
400 Bad Request ValidationError schema
409 Conflict GenericPublicError schema

Responses

200 - MuteTimeInterval

Status: OK

Schema

MuteTimeInterval

400 - ValidationError

Status: Bad Request

Schema

ValidationError

409 - Conflict

Status: Conflict

Schema

GenericPublicError

Sets the notification policy tree. (RoutePutPolicyTree)

Warning

Since the policy tree is a single resource, provisioning it will overwrite all policies in the notification policy tree. However, it does not affect internal policies created when alert rules directly select a contact point.

PUT /api/v1/provisioning/policies

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/routingtrees for notification policies.

Parameters

Name Source Type Go type Required Default Description
X-Disable-Provenance: true header string string Allows editing of provisioned resources in the Grafana UI
Body body Route models.Route The new notification routing tree to use

All responses

Code Status Description Has headers Schema
202 Accepted Ack schema
400 Bad Request ValidationError schema

Responses

202 - Ack

Status: Accepted

Schema

Ack

400 - ValidationError

Status: Bad Request

Schema

ValidationError

Create or update a notification template group. (RoutePutTemplate)

PUT /api/v1/provisioning/templates/:name

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/templategroups/{name} for notification template groups.

Parameters

Name Source Type Go type Required Default Description
name path string string ✓ Name of the template group
X-Disable-Provenance: true header string string Allows editing of provisioned resources in the Grafana UI
Body body NotificationTemplateContent models.NotificationTemplateContent

All responses

Code Status Description Has headers Schema
202 Accepted NotificationTemplate schema
400 Bad Request GenericPublicError schema
409 Conflict GenericPublicError schema

Responses

202 - NotificationTemplate

Status: Accepted

Schema

NotificationTemplate

400 - ValidationError

Status: Bad Request

Schema

GenericPublicError

409 - Conflict

Status: Conflict

Schema

GenericPublicError

Clears the notification policy tree. (RouteResetPolicyTree)

DELETE /api/v1/provisioning/policies

Warning

This API is deprecated and will be removed in a future release. Use the Grafana App Platform alerting APIs instead: /apis/notifications.alerting.grafana.app/v1beta1/namespaces/{namespace}/routingtrees for notification policies.

All responses

Code Status Description Has headers Schema
202 Accepted Ack schema

Responses

202 - Ack

Status: Accepted

Schema

Ack

Models

Ack

interface{}

AlertQuery

Properties

Name Type Go type Required Default Description Example
datasourceUid string string Grafana data source unique identifier; it should be ‘expr’ for a Server Side Expression operation.
model interface{} interface{} JSON is the raw JSON query and includes the above properties as well as custom properties.
queryType string string QueryType is an optional identifier for the type of query. It can be used to distinguish different types of queries.
refId string string RefID is the unique identifier of the query, set by the frontend call.
relativeTimeRange RelativeTimeRange RelativeTimeRange

AlertQueryExport

Properties

Name Type Go type Required Default Description Example
datasourceUid string string
model interface{} interface{}
queryType string string
refId string string
relativeTimeRange RelativeTimeRange RelativeTimeRange

AlertRuleExport

Properties

Name Type Go type Required Default Description Example
annotations map of string map[string]string
condition string string
dashboardUid string string
data []AlertQueryExport []*AlertQueryExport
execErrState string string
for Duration Duration
keepFiringFor Duration Duration How long the alert continues to fire after the condition is no longer met. Prevents alert flapping. 2m
isPaused boolean bool
labels map of string map[string]string
noDataState string string
panelId int64 (formatted integer) int64
title string string
uid string string

AlertRuleGroup

Properties

Name Type Go type Required Default Description Example
folderUid string string
interval int64 (formatted integer) int64
rules []ProvisionedAlertRule []*ProvisionedAlertRule
title string string

AlertRuleGroupExport

Properties

Name Type Go type Required Default Description Example
folder string string
interval Duration Duration
name string string
orgId int64 (formatted integer) int64
rules []AlertRuleExport []*AlertRuleExport

AlertingFileExport

Properties

Name Type Go type Required Default Description Example
apiVersion int64 (formatted integer) int64
contactPoints []ContactPointExport []*ContactPointExport
groups []AlertRuleGroupExport []*AlertRuleGroupExport
policies []NotificationPolicyExport []*NotificationPolicyExport

ContactPointExport

Properties

Name Type Go type Required Default Description Example
name string string
orgId int64 (formatted integer) int64
receivers []ReceiverExport []*ReceiverExport

ContactPoints

[]EmbeddedContactPoint

Duration

Name Type Go type Default Description Example
Duration string int64

EmbeddedContactPoint

EmbeddedContactPoint is the contact point type used by Grafana-managed alerts.

When creating a contact point, the EmbeddedContactPoint.name property determines if the new contact point is added to an existing one. In the UI, contact points with the same name are grouped together under a single contact point.

Properties

Name Type Go type Required Default Description Example
disableResolveMessage boolean bool false
name string string name groups multiple contact points with the same name in the UI. webhook_1
provenance string string
settings JSON JSON ✓
type string string ✓ webhook
uid string string UID is the unique identifier of the contact point. The UID can be set by the user. my_external_reference

Json

interface{}

MatchRegexps

MatchRegexps

MatchType

Name Type Go type Default Description Example
MatchType int64 (formatted integer) int64

Matcher

Properties

Name Type Go type Required Default Description Example
Name string string
Type MatchType MatchType
Value string string

Matchers

Matchers is a slice of Matchers that is sortable, implements Stringer, and provides a Matches method to match a LabelSet against all Matchers in the slice. Note that some users of Matchers might require it to be sorted.

[]Matcher

MuteTimeInterval

Properties

Name Type Go type Required Default Description Example
name string string
time_intervals []TimeInterval []*TimeInterval
version string string Version of resource

MuteTimingExport

Properties

MuteTimingsExport

Properties

MuteTimings

[]MuteTimeInterval

NotFound

interface{}

NotificationPolicyExport

Properties

Name Type Go type Required Default Description Example
Policy RouteExport RouteExport inline
orgId int64 (formatted integer) int64

NotificationTemplate

Properties

Name Type Go type Required Default Description Example
name string string
provenance Provenance Provenance
template string string
version string string Version of resource

NotificationTemplateContent

Properties

Name Type Go type Required Default Description Example
template string string
version string string Version of resource. Should be empty for new templates.

NotificationTemplates

[]NotificationTemplate

ObjectMatchers

Matchers

Inlined models

PermissionDenied

interface{}

Provenance

Name Type Go type Default Description Example
Provenance string string

ProvisionedAlertRule

Properties

Name Type Go type Required Default Description Example
annotations map of string map[string]string Optional key-value pairs. __dashboardUid__ and __panelId__ must be set together; one cannot be set without the other. {"runbook_url":"https://supercoolrunbook.com/page/13"}
condition string string ✓ A
data []AlertQuery []*AlertQuery ✓ [{"datasourceUid":"__expr__","model":{"conditions":[{"evaluator":{"params":[0,0],"type":"gt"},"operator":{"type":"and"},"query":{"params":[]},"reducer":{"params":[],"type":"avg"},"type":"query"}],"datasource":{"type":"__expr__","uid":"__expr__"},"expression":"1 == 1","hide":false,"intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"},"queryType":"","refId":"A","relativeTimeRange":{"from":0,"to":0}}]
execErrState string string ✓
folderUID string string ✓ project_x
for Duration Duration ✓
id int64 (formatted integer) int64
isPaused boolean bool false
labels map of string map[string]string {"team":"sre-team-1"}
noDataState string string ✓
orgID int64 (formatted integer) `int64 ✓
provenance Provenance Provenance
record Record Record Recording rule configuration. If present, this is a recording rule instead of an alert rule. {"metric":"http_requests:rate5m:sum","from":"A","target_datasource_uid":"my-prom"}
ruleGroup string string ✓ eval_group_1
title string string ✓ Always firing
uid string string
updated date-time (formatted string) strfmt.DateTime

ProvisionedAlertRules

[]ProvisionedAlertRule

RawMessage

interface{}

Record

Record defines the configuration for a recording rule, which pre-computes query results and saves them as a new time series metric.

Properties

Name Type Go type Required Default Description Example
metric string string ✓ The name of the new metric to create. Must be a valid Prometheus metric name with no whitespace. http_requests:rate5m:sum
from string string ✓ The query reference ID (refId) to use as the source for the recorded metric. A
target_datasource_uid string string UID of the Prometheus-compatible data source to write results to. Falls back to configured default if not specified. my-prometheus-datasource-uid

ReceiverExport

Properties

Name Type Go type Required Default Description Example
disableResolveMessage boolean bool
settings RawMessage RawMessage
type string string
uid string string

Regexp

A Regexp is safe for concurrent use by multiple goroutines, except for configuration methods, such as Longest.

interface{}

RelativeTimeRange

RelativeTimeRange is the per query start and end time for requests.

Properties

Name Type Go type Required Default Description Example
from Duration Duration
to Duration Duration

Route

A Route is a node that contains definitions of how to handle alerts. This is modified from the upstream alertmanager in that it adds the ObjectMatchers property.

Properties

Name Type Go type Required Default Description Example
continue boolean bool
group_by []string []string
group_interval string string
group_wait string string
match map of string map[string]string Deprecated. Remove before v1.0 release.
match_re MatchRegexps MatchRegexps
matchers Matchers Matchers
mute_time_intervals []string []string
object_matchers ObjectMatchers ObjectMatchers
provenance Provenance Provenance
receiver string string
repeat_interval string string
routes []Route []*Route

RouteExport

RouteExport is the provisioned file export of definitions.Route. This is needed to hide fields that aren’t usable in provisioning file format. An alternative would be to define a custom MarshalJSON and MarshalYAML that excludes them.

Properties

Name Type Go type Required Default Description Example
continue boolean bool
group_by []string []string
group_interval string string
group_wait string string
match map of string map[string]string Deprecated. Remove before v1.0 release.
match_re MatchRegexps MatchRegexps
matchers Matchers Matchers
mute_time_intervals []string []string
object_matchers ObjectMatchers ObjectMatchers
receiver string string
repeat_interval string string
routes []RouteExport []*RouteExport

TimeInterval

TimeInterval describes intervals of time. ContainsTime will tell you if a golang time is contained within the interval.

Properties

Name Type Go type Required Default Description Example
days_of_month []string []string
location string string
months []string []string
times []TimeRange []*TimeRange
weekdays []string []string
years []string []string

TimeRange

For example, 4:00PM to End of the day would Begin at 1020 and End at 1440.

Properties

Name Type Go type Required Default Description Example
end_time string string "end_time": "24:00"
start_time string string "start_time": "18:00"

ValidationError

Properties

Name Type Go type Required Default Description Example
msg string string error message

GenericPublicError

Properties

Name Type Go type Required Default Description Example
statusCode string string ✓ HTTP Status Code
messageId string string ✓ Unique code of the error
message string string Error message
extra map of any map[string]any Extra information about the error. Format is specific to the error code.