- Alerting provisioning API
- Information
- Content negotiation
- All endpoints
- Paths
- Delete a specific alert rule by UID. (RouteDeleteAlertRule)
- Delete a contact point. (RouteDeleteContactpoints)
- Delete a mute timing. (RouteDeleteMuteTiming)
- Delete a template. (RouteDeleteTemplate)
- Get a specific alert rule by UID. (RouteGetAlertRule)
- Get all the contact points. (RouteGetContactpoints)
- Get a mute timing. (RouteGetMuteTiming)
- Get all the mute timings. (RouteGetMuteTimings)
- Get the notification policy tree. (RouteGetPolicyTree)
- Get a message template. (RouteGetTemplate)
- Get all message templates. (RouteGetTemplates)
- Create a new alert rule. (RoutePostAlertRule)
- Create a contact point. (RoutePostContactpoints)
- Create a new mute timing. (RoutePostMuteTiming)
- Update an existing alert rule. (RoutePutAlertRule)
- Update the interval of a rule group. (RoutePutAlertRuleGroup)
- Update an existing contact point. (RoutePutContactpoint)
- Replace an existing mute timing. (RoutePutMuteTiming)
- Sets the notification policy tree. (RoutePutPolicyTree)
- Updates an existing template. (RoutePutTemplate)
- AlertQuery
- AlertRule
- AlertRuleGroup
- DayOfMonthRange
- Duration
- EmbeddedContactPoint
- MatchType
- Matcher
- Matchers
- MessageTemplate
- MessageTemplateContent
- MonthRange
- MuteTimeInterval
- MuteTimings
- NotFound
- ObjectMatchers
- RelativeTimeRange
- Route
- TimeInterval
- TimeRange
- ValidationError
- WeekdayRange
- YearRange
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-points
All 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-timings
All 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/policies
All 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/templates
All 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-rules
Parameters
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-points
Consumes
- 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-timings
Consumes
- 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/policies
Consumes
- 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 ‘-100’ 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 | {“runbookurl”:”https://supercoolrunbook.com/page/13"} | |||
Condition | string | string | ✓ | A | ||
Data | []alertquery | []*AlertQuery | ✓ | [{“datasourceUid”:”-100”,”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 |