Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
Alerting provisioning API
Information
Version
1.0.0
Content negotiation
Consumes
- application/json
Produces
- application/json
All endpoints
Alert rules
| Method | URI | Name | Summary |
|---|---|---|---|
| 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. |
| PUT | /api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group} | route put alert rule group | Update the interval of a rule group. |
| DELETE | /api/v1/provisioning/alert-rules/{UID} | route delete alert rule | Delete a specific alert rule by UID. |
Contact points
| Method | URI | Name | Summary |
|---|---|---|---|
| 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. |
| DELETE | /api/v1/provisioning/contact-points/{UID} | route delete contactpoints | Delete a contact point. |
Notification policies
| Method | URI | Name | Summary |
|---|---|---|---|
| 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. |
Mute timings
| Method | URI | Name | Summary |
|---|---|---|---|
| GET | /api/v1/provisioning/mute-timings | route get mute timings | Get all the mute timings. |
| GET | /api/v1/provisioning/mute-timings/{name} | route get mute timing | Get a mute timing. |
| 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. |
| DELETE | /api/v1/provisioning/mute-timings/{name} | route delete mute timing | Delete a mute timing. |
Templates
| Method | URI | Name | Summary |
|---|---|---|---|
| GET | /api/v1/provisioning/templates | route get templates | Get all message templates. |
| GET | /api/v1/provisioning/templates/{name} | route get template | Get a message template. |
| PUT | /api/v1/provisioning/templates/{name} | route put template | Creates or updates a template. |
| DELETE | /api/v1/provisioning/templates/{name} | route delete template | Delete a template. |
Paths
Delete a specific alert rule by UID. (RouteDeleteAlertRule)
DELETE /api/v1/provisioning/alert-rules/{UID}Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| UID | path | string | string | ✓ |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 204 | No Content | The alert rule was deleted successfully. | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
204 - The alert rule was deleted successfully.
Status: No Content
Schema
400 - ValidationError
Status: Bad Request
Schema
Delete a contact point. (RouteDeleteContactpoints)
DELETE /api/v1/provisioning/contact-points/{UID}Consumes
- application/json
Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| UID | path | string | string | ✓ | UID should be the contact point unique identifier |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 202 | Accepted | Ack | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
202 - Ack
Status: Accepted
Schema
400 - ValidationError
Status: Bad Request
Schema
Delete a mute timing. (RouteDeleteMuteTiming)
DELETE /api/v1/provisioning/mute-timings/{name}Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| name | path | string | string | ✓ | Template Name |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 204 | No Content | Ack | schema |
Responses
204 - Ack
Status: No Content
Schema
Delete a template. (RouteDeleteTemplate)
DELETE /api/v1/provisioning/templates/{name}Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| name | path | string | string | ✓ | Template Name |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 204 | No Content | Ack | schema |
Responses
204 - Ack
Status: No Content
Schema
Get a specific alert rule by UID. (RouteGetAlertRule)
GET /api/v1/provisioning/alert-rules/{UID}Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| UID | path | string | string | ✓ |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 200 | OK | AlertRule | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
200 - AlertRule
Status: OK
Schema
400 - ValidationError
Status: Bad Request
Schema
Get all the contact points. (RouteGetContactpoints)
GET /api/v1/provisioning/contact-pointsAll responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 200 | OK | Route | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
200 - Route
Status: OK
Schema
400 - ValidationError
Status: Bad Request
Schema
Get a mute timing. (RouteGetMuteTiming)
GET /api/v1/provisioning/mute-timings/{name}Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| name | path | string | string | ✓ | Template Name |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 200 | OK | MuteTimeInterval | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
200 - MuteTimeInterval
Status: OK
Schema
400 - ValidationError
Status: Bad Request
Schema
Get all the mute timings. (RouteGetMuteTimings)
GET /api/v1/provisioning/mute-timingsAll responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 200 | OK | MuteTimings | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
200 - MuteTimings
Status: OK
Schema
400 - ValidationError
Status: Bad Request
Schema
Get the notification policy tree. (RouteGetPolicyTree)
GET /api/v1/provisioning/policiesAll responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 200 | OK | Route | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
200 - Route
Status: OK
Schema
400 - ValidationError
Status: Bad Request
Schema
Get a message template. (RouteGetTemplate)
GET /api/v1/provisioning/templates/{name}Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| name | path | string | string | ✓ | Template Name |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 200 | OK | MessageTemplate | schema | |
| 404 | Not Found | NotFound | schema |
Responses
200 - MessageTemplate
Status: OK
Schema
404 - NotFound
Status: Not Found
Schema
Get all message templates. (RouteGetTemplates)
GET /api/v1/provisioning/templatesAll responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 200 | OK | MessageTemplate | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
200 - MessageTemplate
Status: OK
Schema
400 - ValidationError
Status: Bad Request
Schema
Create a new alert rule. (RoutePostAlertRule)
POST /api/v1/provisioning/alert-rulesParameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| Body | body | AlertRule | models.AlertRule |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 201 | Created | AlertRule | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
201 - AlertRule
Status: Created
Schema
400 - ValidationError
Status: Bad Request
Schema
Create a contact point. (RoutePostContactpoints)
POST /api/v1/provisioning/contact-pointsConsumes
- application/json
Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| 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
400 - ValidationError
Status: Bad Request
Schema
Create a new mute timing. (RoutePostMuteTiming)
POST /api/v1/provisioning/mute-timingsConsumes
- application/json
Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| 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
400 - ValidationError
Status: Bad Request
Schema
Update an existing alert rule. (RoutePutAlertRule)
PUT /api/v1/provisioning/alert-rules/{UID}Consumes
- application/json
Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| UID | path | string | string | ✓ | |||
| Body | body | AlertRule | models.AlertRule |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 200 | OK | AlertRule | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
200 - AlertRule
Status: OK
Schema
400 - ValidationError
Status: Bad Request
Schema
Update the interval of a rule group. (RoutePutAlertRuleGroup)
PUT /api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group}Consumes
- application/json
Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| FolderUID | path | string | string | ✓ | |||
| Group | path | string | string | ✓ | |||
| Body | body | AlertRuleGroup | models.AlertRuleGroup |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 200 | OK | AlertRuleGroup | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
200 - AlertRuleGroup
Status: OK
Schema
400 - ValidationError
Status: Bad Request
Schema
Update an existing contact point. (RoutePutContactpoint)
PUT /api/v1/provisioning/contact-points/{UID}Consumes
- application/json
Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| UID | path | string | string | ✓ | UID should be the contact point unique identifier | ||
| 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
400 - ValidationError
Status: Bad Request
Schema
Replace an existing mute timing. (RoutePutMuteTiming)
PUT /api/v1/provisioning/mute-timings/{name}Consumes
- application/json
Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| name | path | string | string | ✓ | Template Name | ||
| Body | body | MuteTimeInterval | models.MuteTimeInterval |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 200 | OK | MuteTimeInterval | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
200 - MuteTimeInterval
Status: OK
Schema
400 - ValidationError
Status: Bad Request
Schema
Sets the notification policy tree. (RoutePutPolicyTree)
PUT /api/v1/provisioning/policiesConsumes
- application/json
Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| Body | body | Route | models.Route |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 202 | Accepted | Ack | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
202 - Ack
Status: Accepted
Schema
400 - ValidationError
Status: Bad Request
Schema
Updates an existing template. (RoutePutTemplate)
PUT /api/v1/provisioning/templates/{name}Consumes
- application/json
Parameters
| Name | Source | Type | Go type | Separator | Required | Default | Description |
|---|---|---|---|---|---|---|---|
| name | path | string | string | ✓ | Template Name | ||
| Body | body | MessageTemplateContent | models.MessageTemplateContent |
All responses
| Code | Status | Description | Has headers | Schema |
|---|---|---|---|---|
| 202 | Accepted | Ack | schema | |
| 400 | Bad Request | ValidationError | schema |
Responses
202 - Ack
Status: Accepted
Schema
400 - ValidationError
Status: Bad Request
Schema
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 | object | 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 |
AlertRule
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| Annotations | map of string | map[string]string | {"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 | ✓ | Allowed values: “OK”, “Alerting”, “Error” | ||
| FolderUID | string | string | ✓ | project_x | ||
| ID | int64 (formatted integer) | int64 | ||||
| Labels | map of string | map[string]string | {"team":"sre-team-1"} | |||
| NoDataState | string | string | ✓ | Allowed values: “OK”, “NoData”, “Error” | ||
| OrgID | int64 (formatted integer) | int64 | ✓ | |||
| RuleGroup | string | string | ✓ | eval_group_1 | ||
| Title | string | string | ✓ | Always firing | ||
| UID | string | string | ||||
| Updated | date-time (formatted string) | strfmt.DateTime | ||||
| for | Duration | Duration | ✓ | |||
| provenance | string | Provenance |
AlertRuleGroup
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| Interval | int64 (formatted integer) | int64 |
DayOfMonthRange
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| Begin | int64 (formatted integer) | int64 | ||||
| End | int64 (formatted integer) | int64 |
Duration
| Name | Type | Go type | Default | Description | Example |
|---|---|---|---|---|---|
| Duration | int64 (formatted integer) | int64 |
EmbeddedContactPoint
EmbeddedContactPoint is the contact point type that is used by grafanas embedded alertmanager implementation.
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| DisableResolveMessage | boolean | bool | false | |||
| Name | string | string | ✓ | Name is used as grouping key in the UI. Contact points with the same name will be grouped in the UI. | webhook_1 | |
| Provenance | string | string | ||||
| 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 | ||
| settings | object | JSON | ✓ |
MatchType
| Name | Type | Go type | Default | Description | Example |
|---|---|---|---|---|---|
| MatchType | int64 (formatted integer) | int64 | 0 = MatchEqual, 1 = MatchNotEqual, 2 = MatchRegexp, 3 = MatchNotRegexp |
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
MessageTemplate
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| Name | string | string | ||||
| Template | string | string | ||||
| provenance | string | Provenance |
MessageTemplateContent
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| Template | string | string |
MonthRange
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| Begin | int64 (formatted integer) | int64 | ||||
| End | int64 (formatted integer) | int64 |
MuteTimeInterval
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| Name | string | string | ||||
| TimeIntervals | []timeinterval | []*TimeInterval |
MuteTimings
NotFound
ObjectMatchers
Inlined models
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.
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| Continue | boolean | bool | ||||
| GroupByStr | []string | []string | ||||
| MuteTimeIntervals | []string | []string | ||||
| Receiver | string | string | ||||
| Routes | []route | []*Route | ||||
| group_interval | Duration | Duration | ||||
| group_wait | Duration | Duration | ||||
| object_matchers | ObjectMatchers | ObjectMatchers | ||||
| provenance | string | Provenance | ||||
| repeat_interval | Duration | Duration |
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 |
|---|---|---|---|---|---|---|
| DaysOfMonth | []dayofmonthrange | []*DayOfMonthRange | ||||
| Months | []monthrange | []*MonthRange | ||||
| Times | []timerange | []*TimeRange | ||||
| Weekdays | []weekdayrange | []*WeekdayRange | ||||
| Years | []yearrange | []*YearRange |
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 |
|---|---|---|---|---|---|---|
| EndMinute | int64 (formatted integer) | int64 | ||||
| StartMinute | int64 (formatted integer) | int64 |
ValidationError
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| Msg | string | string |
WeekdayRange
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| Begin | int64 (formatted integer) | int64 | ||||
| End | int64 (formatted integer) | int64 |
YearRange
Properties
| Name | Type | Go type | Required | Default | Description | Example |
|---|---|---|---|---|---|---|
| Begin | int64 (formatted integer) | int64 | ||||
| End | int64 (formatted integer) | int64 |



