grafana/pkg/services/ngalert/api/tooling/api.json
Alexander Weaver 0e066dd5f8
Alerting: Allow filtering of contact points by name (#51933)
* Define query param and regenerate

* Add query struct for contact points

* Filter contact points by name in query

* Document that name filter is optional
2022-07-11 17:11:46 -05:00

3922 lines
78 KiB
JSON

{
"basePath": "/api/v1",
"consumes": [
"application/json"
],
"definitions": {
"Ack": {
"type": "object"
},
"AddApiKeyCommand": {
"description": "COMMANDS",
"properties": {
"name": {
"type": "string"
},
"role": {
"enum": [
"Viewer",
"Editor",
"Admin"
],
"type": "string"
},
"secondsToLive": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"Alert": {
"properties": {
"activeAt": {
"format": "date-time",
"type": "string"
},
"annotations": {
"$ref": "#/definitions/overrideLabels"
},
"labels": {
"$ref": "#/definitions/overrideLabels"
},
"state": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"labels",
"annotations",
"state",
"value"
],
"title": "Alert has info for an alert.",
"type": "object"
},
"AlertDiscovery": {
"properties": {
"alerts": {
"items": {
"$ref": "#/definitions/Alert"
},
"type": "array"
}
},
"required": [
"alerts"
],
"title": "AlertDiscovery has info for all active alerts.",
"type": "object"
},
"AlertInstancesResponse": {
"properties": {
"instances": {
"description": "Instances is an array of arrow encoded dataframes\neach frame has a single row, and a column for each instance (alert identified by unique labels) with a boolean value (firing/not firing)",
"items": {
"items": {
"format": "uint8",
"type": "integer"
},
"type": "array"
},
"type": "array"
}
},
"type": "object"
},
"AlertManager": {
"properties": {
"url": {
"type": "string"
}
},
"title": "AlertManager models a configured Alert Manager.",
"type": "object"
},
"AlertManagerNotFound": {
"type": "object"
},
"AlertManagerNotReady": {
"type": "object"
},
"AlertManagersResult": {
"properties": {
"activeAlertManagers": {
"items": {
"$ref": "#/definitions/AlertManager"
},
"type": "array"
},
"droppedAlertManagers": {
"items": {
"$ref": "#/definitions/AlertManager"
},
"type": "array"
}
},
"title": "AlertManagersResult contains the result from querying the alertmanagers endpoint.",
"type": "object"
},
"AlertQuery": {
"properties": {
"datasourceUid": {
"description": "Grafana data source unique identifier; it should be '-100' for a Server Side Expression operation.",
"type": "string"
},
"model": {
"description": "JSON is the raw JSON query and includes the above properties as well as custom properties.",
"type": "object"
},
"queryType": {
"description": "QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.",
"type": "string"
},
"refId": {
"description": "RefID is the unique identifier of the query, set by the frontend call.",
"type": "string"
},
"relativeTimeRange": {
"$ref": "#/definitions/RelativeTimeRange"
}
},
"title": "AlertQuery represents a single query associated with an alert definition.",
"type": "object"
},
"AlertResponse": {
"properties": {
"data": {
"$ref": "#/definitions/AlertDiscovery"
},
"error": {
"type": "string"
},
"errorType": {
"$ref": "#/definitions/ErrorType"
},
"status": {
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"AlertRule": {
"properties": {
"Annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"Condition": {
"type": "string"
},
"DashboardUID": {
"type": "string"
},
"Data": {
"items": {
"$ref": "#/definitions/AlertQuery"
},
"type": "array"
},
"ExecErrState": {
"enum": [
"Alerting",
"Error",
"OK"
],
"type": "string"
},
"For": {
"$ref": "#/definitions/Duration"
},
"ID": {
"format": "int64",
"type": "integer"
},
"IntervalSeconds": {
"format": "int64",
"type": "integer"
},
"Labels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"NamespaceUID": {
"type": "string"
},
"NoDataState": {
"enum": [
"Alerting",
"NoData",
"OK"
],
"type": "string"
},
"OrgID": {
"format": "int64",
"type": "integer"
},
"PanelID": {
"format": "int64",
"type": "integer"
},
"RuleGroup": {
"type": "string"
},
"RuleGroupIndex": {
"format": "int64",
"type": "integer"
},
"Title": {
"type": "string"
},
"UID": {
"type": "string"
},
"Updated": {
"format": "date-time",
"type": "string"
},
"Version": {
"format": "int64",
"type": "integer"
}
},
"title": "AlertRule is the model for alert rules in unified alerting.",
"type": "object"
},
"AlertRuleGroup": {
"properties": {
"folderUid": {
"type": "string"
},
"interval": {
"format": "int64",
"type": "integer"
},
"rules": {
"items": {
"$ref": "#/definitions/AlertRule"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"type": "object"
},
"AlertRuleGroupMetadata": {
"properties": {
"interval": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"AlertingRule": {
"description": "adapted from cortex",
"properties": {
"alerts": {
"items": {
"$ref": "#/definitions/Alert"
},
"type": "array"
},
"annotations": {
"$ref": "#/definitions/overrideLabels"
},
"duration": {
"format": "double",
"type": "number"
},
"evaluationTime": {
"format": "double",
"type": "number"
},
"health": {
"type": "string"
},
"labels": {
"$ref": "#/definitions/overrideLabels"
},
"lastError": {
"type": "string"
},
"lastEvaluation": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"query": {
"type": "string"
},
"state": {
"description": "State can be \"pending\", \"firing\", \"inactive\".",
"type": "string"
},
"type": {
"$ref": "#/definitions/RuleType"
}
},
"required": [
"name",
"query",
"health",
"type",
"state",
"annotations",
"alerts"
],
"type": "object"
},
"ApiRuleNode": {
"properties": {
"alert": {
"type": "string"
},
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"expr": {
"type": "string"
},
"for": {
"$ref": "#/definitions/Duration"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"record": {
"type": "string"
}
},
"type": "object"
},
"Authorization": {
"properties": {
"credentials": {
"$ref": "#/definitions/Secret"
},
"credentials_file": {
"type": "string"
},
"type": {
"type": "string"
}
},
"title": "Authorization contains HTTP authorization credentials.",
"type": "object"
},
"BasicAuth": {
"properties": {
"password": {
"$ref": "#/definitions/Secret"
},
"password_file": {
"type": "string"
},
"username": {
"type": "string"
}
},
"title": "BasicAuth contains basic HTTP authentication credentials.",
"type": "object"
},
"Config": {
"properties": {
"global": {
"$ref": "#/definitions/GlobalConfig"
},
"inhibit_rules": {
"items": {
"$ref": "#/definitions/InhibitRule"
},
"type": "array"
},
"mute_time_intervals": {
"items": {
"$ref": "#/definitions/MuteTimeInterval"
},
"type": "array"
},
"route": {
"$ref": "#/definitions/Route"
},
"templates": {
"items": {
"type": "string"
},
"type": "array"
}
},
"title": "Config is the top-level configuration for Alertmanager's config files.",
"type": "object"
},
"ContactPoints": {
"items": {
"$ref": "#/definitions/EmbeddedContactPoint"
},
"type": "array"
},
"DateTime": {
"description": "DateTime is a time but it serializes to ISO8601 format with millis\nIt knows how to read 3 different variations of a RFC3339 date time.\nMost APIs we encounter want either millisecond or second precision times.\nThis just tries to make it worry-free.",
"format": "date-time",
"type": "string"
},
"DayOfMonthRange": {
"properties": {
"Begin": {
"format": "int64",
"type": "integer"
},
"End": {
"format": "int64",
"type": "integer"
}
},
"title": "A DayOfMonthRange is an inclusive range that may have negative Beginning/End values that represent distance from the End of the month Beginning at -1.",
"type": "object"
},
"DiscoveryBase": {
"properties": {
"error": {
"type": "string"
},
"errorType": {
"$ref": "#/definitions/ErrorType"
},
"status": {
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"DsPermissionType": {
"description": "Datasource permission\nDescription:\n`0` - No Access\n`1` - Query\nEnum: 0,1",
"format": "int64",
"type": "integer"
},
"Duration": {
"format": "int64",
"title": "Duration is a type used for marshalling durations.",
"type": "integer"
},
"EmailConfig": {
"properties": {
"auth_identity": {
"type": "string"
},
"auth_password": {
"$ref": "#/definitions/Secret"
},
"auth_secret": {
"$ref": "#/definitions/Secret"
},
"auth_username": {
"type": "string"
},
"from": {
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"hello": {
"type": "string"
},
"html": {
"type": "string"
},
"require_tls": {
"type": "boolean"
},
"send_resolved": {
"type": "boolean"
},
"smarthost": {
"$ref": "#/definitions/HostPort"
},
"text": {
"type": "string"
},
"tls_config": {
"$ref": "#/definitions/TLSConfig"
},
"to": {
"description": "Email address to notify.",
"type": "string"
}
},
"title": "EmailConfig configures notifications via mail.",
"type": "object"
},
"EmbeddedContactPoint": {
"description": "EmbeddedContactPoint is the contact point type that is used\nby grafanas embedded alertmanager implementation.",
"properties": {
"disableResolveMessage": {
"example": false,
"type": "boolean"
},
"name": {
"description": "Name is used as grouping key in the UI. Contact points with the\nsame name will be grouped in the UI.",
"example": "webhook_1",
"type": "string"
},
"provenance": {
"readOnly": true,
"type": "string"
},
"settings": {
"$ref": "#/definitions/Json"
},
"type": {
"enum": [
"alertmanager",
" dingding",
" discord",
" email",
" googlechat",
" kafka",
" line",
" opsgenie",
" pagerduty",
" pushover",
" sensugo",
" slack",
" teams",
" telegram",
" threema",
" victorops",
" webhook",
" wecom"
],
"example": "webhook",
"type": "string"
},
"uid": {
"description": "UID is the unique identifier of the contact point. The UID can be\nset by the user.",
"example": "my_external_reference",
"type": "string"
}
},
"required": [
"type",
"settings"
],
"type": "object"
},
"ErrorType": {
"title": "ErrorType models the different API error types.",
"type": "string"
},
"EvalAlertConditionCommand": {
"description": "EvalAlertConditionCommand is the command for evaluating a condition",
"properties": {
"condition": {
"type": "string"
},
"data": {
"items": {
"$ref": "#/definitions/AlertQuery"
},
"type": "array"
},
"now": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"EvalQueriesPayload": {
"properties": {
"data": {
"items": {
"$ref": "#/definitions/AlertQuery"
},
"type": "array"
},
"now": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"EvalQueriesResponse": {},
"ExtendedReceiver": {
"properties": {
"email_configs": {
"$ref": "#/definitions/EmailConfig"
},
"grafana_managed_receiver": {
"$ref": "#/definitions/PostableGrafanaReceiver"
},
"opsgenie_configs": {
"$ref": "#/definitions/OpsGenieConfig"
},
"pagerduty_configs": {
"$ref": "#/definitions/PagerdutyConfig"
},
"pushover_configs": {
"$ref": "#/definitions/PushoverConfig"
},
"slack_configs": {
"$ref": "#/definitions/SlackConfig"
},
"victorops_configs": {
"$ref": "#/definitions/VictorOpsConfig"
},
"webhook_configs": {
"$ref": "#/definitions/WebhookConfig"
},
"wechat_configs": {
"$ref": "#/definitions/WechatConfig"
}
},
"type": "object"
},
"Failure": {
"$ref": "#/definitions/ResponseDetails"
},
"GettableAlertmanagers": {
"properties": {
"data": {
"$ref": "#/definitions/AlertManagersResult"
},
"status": {
"type": "string"
}
},
"type": "object"
},
"GettableApiAlertingConfig": {
"properties": {
"global": {
"$ref": "#/definitions/GlobalConfig"
},
"inhibit_rules": {
"items": {
"$ref": "#/definitions/InhibitRule"
},
"type": "array"
},
"muteTimeProvenances": {
"additionalProperties": {
"$ref": "#/definitions/Provenance"
},
"type": "object"
},
"mute_time_intervals": {
"items": {
"$ref": "#/definitions/MuteTimeInterval"
},
"type": "array"
},
"receivers": {
"description": "Override with our superset receiver type",
"items": {
"$ref": "#/definitions/GettableApiReceiver"
},
"type": "array"
},
"route": {
"$ref": "#/definitions/Route"
},
"templates": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"GettableApiReceiver": {
"properties": {
"email_configs": {
"items": {
"$ref": "#/definitions/EmailConfig"
},
"type": "array"
},
"grafana_managed_receiver_configs": {
"items": {
"$ref": "#/definitions/GettableGrafanaReceiver"
},
"type": "array"
},
"name": {
"description": "A unique identifier for this receiver.",
"type": "string"
},
"opsgenie_configs": {
"items": {
"$ref": "#/definitions/OpsGenieConfig"
},
"type": "array"
},
"pagerduty_configs": {
"items": {
"$ref": "#/definitions/PagerdutyConfig"
},
"type": "array"
},
"pushover_configs": {
"items": {
"$ref": "#/definitions/PushoverConfig"
},
"type": "array"
},
"slack_configs": {
"items": {
"$ref": "#/definitions/SlackConfig"
},
"type": "array"
},
"sns_configs": {
"items": {
"$ref": "#/definitions/SNSConfig"
},
"type": "array"
},
"victorops_configs": {
"items": {
"$ref": "#/definitions/VictorOpsConfig"
},
"type": "array"
},
"webhook_configs": {
"items": {
"$ref": "#/definitions/WebhookConfig"
},
"type": "array"
},
"wechat_configs": {
"items": {
"$ref": "#/definitions/WechatConfig"
},
"type": "array"
}
},
"type": "object"
},
"GettableExtendedRuleNode": {
"properties": {
"alert": {
"type": "string"
},
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"expr": {
"type": "string"
},
"for": {
"$ref": "#/definitions/Duration"
},
"grafana_alert": {
"$ref": "#/definitions/GettableGrafanaRule"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"record": {
"type": "string"
}
},
"type": "object"
},
"GettableGrafanaReceiver": {
"properties": {
"disableResolveMessage": {
"type": "boolean"
},
"name": {
"type": "string"
},
"provenance": {
"$ref": "#/definitions/Provenance"
},
"secureFields": {
"additionalProperties": {
"type": "boolean"
},
"type": "object"
},
"settings": {
"$ref": "#/definitions/Json"
},
"type": {
"type": "string"
},
"uid": {
"type": "string"
}
},
"type": "object"
},
"GettableGrafanaReceivers": {
"properties": {
"grafana_managed_receiver_configs": {
"items": {
"$ref": "#/definitions/GettableGrafanaReceiver"
},
"type": "array"
}
},
"type": "object"
},
"GettableGrafanaRule": {
"properties": {
"condition": {
"type": "string"
},
"data": {
"items": {
"$ref": "#/definitions/AlertQuery"
},
"type": "array"
},
"exec_err_state": {
"enum": [
"OK",
"Alerting",
"Error"
],
"type": "string"
},
"id": {
"format": "int64",
"type": "integer"
},
"intervalSeconds": {
"format": "int64",
"type": "integer"
},
"namespace_id": {
"format": "int64",
"type": "integer"
},
"namespace_uid": {
"type": "string"
},
"no_data_state": {
"enum": [
"Alerting",
"NoData",
"OK"
],
"type": "string"
},
"orgId": {
"format": "int64",
"type": "integer"
},
"provenance": {
"$ref": "#/definitions/Provenance"
},
"rule_group": {
"type": "string"
},
"title": {
"type": "string"
},
"uid": {
"type": "string"
},
"updated": {
"format": "date-time",
"type": "string"
},
"version": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"GettableNGalertConfig": {
"properties": {
"alertmanagers": {
"items": {
"type": "string"
},
"type": "array"
},
"alertmanagersChoice": {
"enum": [
"all",
"internal",
"external"
],
"type": "string"
}
},
"type": "object"
},
"GettableRuleGroupConfig": {
"properties": {
"interval": {
"$ref": "#/definitions/Duration"
},
"name": {
"type": "string"
},
"rules": {
"items": {
"$ref": "#/definitions/GettableExtendedRuleNode"
},
"type": "array"
},
"source_tenants": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"GettableStatus": {
"properties": {
"cluster": {
"$ref": "#/definitions/clusterStatus"
},
"config": {
"$ref": "#/definitions/PostableApiAlertingConfig"
},
"uptime": {
"description": "uptime",
"format": "date-time",
"type": "string"
},
"versionInfo": {
"$ref": "#/definitions/versionInfo"
}
},
"required": [
"cluster",
"config",
"uptime",
"versionInfo"
],
"type": "object"
},
"GettableUserConfig": {
"properties": {
"alertmanager_config": {
"$ref": "#/definitions/GettableApiAlertingConfig"
},
"template_file_provenances": {
"additionalProperties": {
"$ref": "#/definitions/Provenance"
},
"type": "object"
},
"template_files": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"GlobalConfig": {
"description": "GlobalConfig defines configuration parameters that are valid globally\nunless overwritten.",
"properties": {
"http_config": {
"$ref": "#/definitions/HTTPClientConfig"
},
"opsgenie_api_key": {
"$ref": "#/definitions/Secret"
},
"opsgenie_api_key_file": {
"type": "string"
},
"opsgenie_api_url": {
"$ref": "#/definitions/URL"
},
"pagerduty_url": {
"$ref": "#/definitions/URL"
},
"resolve_timeout": {
"$ref": "#/definitions/Duration"
},
"slack_api_url": {
"$ref": "#/definitions/SecretURL"
},
"slack_api_url_file": {
"type": "string"
},
"smtp_auth_identity": {
"type": "string"
},
"smtp_auth_password": {
"$ref": "#/definitions/Secret"
},
"smtp_auth_secret": {
"$ref": "#/definitions/Secret"
},
"smtp_auth_username": {
"type": "string"
},
"smtp_from": {
"type": "string"
},
"smtp_hello": {
"type": "string"
},
"smtp_require_tls": {
"type": "boolean"
},
"smtp_smarthost": {
"$ref": "#/definitions/HostPort"
},
"victorops_api_key": {
"$ref": "#/definitions/Secret"
},
"victorops_api_url": {
"$ref": "#/definitions/URL"
},
"wechat_api_corp_id": {
"type": "string"
},
"wechat_api_secret": {
"$ref": "#/definitions/Secret"
},
"wechat_api_url": {
"$ref": "#/definitions/URL"
}
},
"type": "object"
},
"HTTPClientConfig": {
"properties": {
"authorization": {
"$ref": "#/definitions/Authorization"
},
"basic_auth": {
"$ref": "#/definitions/BasicAuth"
},
"bearer_token": {
"$ref": "#/definitions/Secret"
},
"bearer_token_file": {
"description": "The bearer token file for the targets. Deprecated in favour of\nAuthorization.CredentialsFile.",
"type": "string"
},
"follow_redirects": {
"description": "FollowRedirects specifies whether the client should follow HTTP 3xx redirects.\nThe omitempty flag is not set, because it would be hidden from the\nmarshalled configuration when set to false.",
"type": "boolean"
},
"oauth2": {
"$ref": "#/definitions/OAuth2"
},
"proxy_url": {
"$ref": "#/definitions/URL"
},
"tls_config": {
"$ref": "#/definitions/TLSConfig"
}
},
"title": "HTTPClientConfig configures an HTTP client.",
"type": "object"
},
"HostPort": {
"properties": {
"Host": {
"type": "string"
},
"Port": {
"type": "string"
}
},
"title": "HostPort represents a \"host:port\" network address.",
"type": "object"
},
"InclusiveRange": {
"properties": {
"Begin": {
"format": "int64",
"type": "integer"
},
"End": {
"format": "int64",
"type": "integer"
}
},
"title": "InclusiveRange is used to hold the Beginning and End values of many time interval components.",
"type": "object"
},
"InhibitRule": {
"description": "InhibitRule defines an inhibition rule that mutes alerts that match the\ntarget labels if an alert matching the source labels exists.\nBoth alerts have to have a set of labels being equal.",
"properties": {
"equal": {
"$ref": "#/definitions/LabelNames"
},
"source_match": {
"additionalProperties": {
"type": "string"
},
"description": "SourceMatch defines a set of labels that have to equal the given\nvalue for source alerts. Deprecated. Remove before v1.0 release.",
"type": "object"
},
"source_match_re": {
"$ref": "#/definitions/MatchRegexps"
},
"source_matchers": {
"$ref": "#/definitions/Matchers"
},
"target_match": {
"additionalProperties": {
"type": "string"
},
"description": "TargetMatch defines a set of labels that have to equal the given\nvalue for target alerts. Deprecated. Remove before v1.0 release.",
"type": "object"
},
"target_match_re": {
"$ref": "#/definitions/MatchRegexps"
},
"target_matchers": {
"$ref": "#/definitions/Matchers"
}
},
"type": "object"
},
"Json": {
"type": "object"
},
"Label": {
"properties": {
"Name": {
"type": "string"
}
},
"title": "Label is a key/value pair of strings.",
"type": "object"
},
"LabelName": {
"description": "A LabelName is a key for a LabelSet or Metric. It has a value associated\ntherewith.",
"type": "string"
},
"LabelNames": {
"items": {
"$ref": "#/definitions/LabelName"
},
"title": "LabelNames is a sortable LabelName slice. In implements sort.Interface.",
"type": "array"
},
"LabelSet": {
"additionalProperties": {
"$ref": "#/definitions/LabelValue"
},
"description": "A LabelSet is a collection of LabelName and LabelValue pairs. The LabelSet\nmay be fully-qualified down to the point where it may resolve to a single\nMetric in the data store or not. All operations that occur within the realm\nof a LabelSet can emit a vector of Metric entities to which the LabelSet may\nmatch.",
"type": "object"
},
"LabelValue": {
"title": "A LabelValue is an associated value for a LabelName.",
"type": "string"
},
"Labels": {
"description": "Labels is a sorted set of labels. Order has to be guaranteed upon\ninstantiation.",
"items": {
"$ref": "#/definitions/Label"
},
"type": "array"
},
"MatchRegexps": {
"additionalProperties": {
"$ref": "#/definitions/Regexp"
},
"title": "MatchRegexps represents a map of Regexp.",
"type": "object"
},
"MatchType": {
"format": "int64",
"title": "MatchType is an enum for label matching types.",
"type": "integer"
},
"Matcher": {
"properties": {
"Name": {
"type": "string"
},
"Type": {
"$ref": "#/definitions/MatchType"
},
"Value": {
"type": "string"
}
},
"title": "Matcher models the matching of a label.",
"type": "object"
},
"Matchers": {
"description": "Matchers is a slice of Matchers that is sortable, implements Stringer, and\nprovides a Matches method to match a LabelSet against all Matchers in the\nslice. Note that some users of Matchers might require it to be sorted.",
"items": {
"$ref": "#/definitions/Matcher"
},
"type": "array"
},
"MessageTemplate": {
"properties": {
"name": {
"type": "string"
},
"provenance": {
"$ref": "#/definitions/Provenance"
},
"template": {
"type": "string"
}
},
"type": "object"
},
"MessageTemplateContent": {
"properties": {
"template": {
"type": "string"
}
},
"type": "object"
},
"MessageTemplates": {
"items": {
"$ref": "#/definitions/MessageTemplate"
},
"type": "array"
},
"MonthRange": {
"properties": {
"Begin": {
"format": "int64",
"type": "integer"
},
"End": {
"format": "int64",
"type": "integer"
}
},
"title": "A MonthRange is an inclusive range between [1, 12] where 1 = January.",
"type": "object"
},
"MultiStatus": {
"type": "object"
},
"MuteTimeInterval": {
"properties": {
"name": {
"type": "string"
},
"time_intervals": {
"items": {
"$ref": "#/definitions/TimeInterval"
},
"type": "array"
}
},
"title": "MuteTimeInterval represents a named set of time intervals for which a route should be muted.",
"type": "object"
},
"MuteTimings": {
"items": {
"$ref": "#/definitions/MuteTimeInterval"
},
"type": "array"
},
"NamespaceConfigResponse": {
"additionalProperties": {
"items": {
"$ref": "#/definitions/GettableRuleGroupConfig"
},
"type": "array"
},
"type": "object"
},
"NotFound": {
"type": "object"
},
"NotifierConfig": {
"properties": {
"send_resolved": {
"type": "boolean"
}
},
"title": "NotifierConfig contains base options common across all notifier configurations.",
"type": "object"
},
"OAuth2": {
"properties": {
"TLSConfig": {
"$ref": "#/definitions/TLSConfig"
},
"client_id": {
"type": "string"
},
"client_secret": {
"$ref": "#/definitions/Secret"
},
"client_secret_file": {
"type": "string"
},
"endpoint_params": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"scopes": {
"items": {
"type": "string"
},
"type": "array"
},
"token_url": {
"type": "string"
}
},
"title": "OAuth2 is the oauth2 client configuration.",
"type": "object"
},
"ObjectMatchers": {
"$ref": "#/definitions/Matchers",
"description": "ObjectMatchers is Matchers with a different Unmarshal and Marshal methods that accept matchers as objects\nthat have already been parsed."
},
"OpsGenieConfig": {
"properties": {
"actions": {
"type": "string"
},
"api_key": {
"$ref": "#/definitions/Secret"
},
"api_key_file": {
"type": "string"
},
"api_url": {
"$ref": "#/definitions/URL"
},
"description": {
"type": "string"
},
"details": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"entity": {
"type": "string"
},
"http_config": {
"$ref": "#/definitions/HTTPClientConfig"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
},
"priority": {
"type": "string"
},
"responders": {
"items": {
"$ref": "#/definitions/OpsGenieConfigResponder"
},
"type": "array"
},
"send_resolved": {
"type": "boolean"
},
"source": {
"type": "string"
},
"tags": {
"type": "string"
},
"update_alerts": {
"type": "boolean"
}
},
"title": "OpsGenieConfig configures notifications via OpsGenie.",
"type": "object"
},
"OpsGenieConfigResponder": {
"properties": {
"id": {
"description": "One of those 3 should be filled.",
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"description": "team, user, escalation, schedule etc.",
"type": "string"
},
"username": {
"type": "string"
}
},
"type": "object"
},
"PagerdutyConfig": {
"properties": {
"class": {
"type": "string"
},
"client": {
"type": "string"
},
"client_url": {
"type": "string"
},
"component": {
"type": "string"
},
"description": {
"type": "string"
},
"details": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"group": {
"type": "string"
},
"http_config": {
"$ref": "#/definitions/HTTPClientConfig"
},
"images": {
"items": {
"$ref": "#/definitions/PagerdutyImage"
},
"type": "array"
},
"links": {
"items": {
"$ref": "#/definitions/PagerdutyLink"
},
"type": "array"
},
"routing_key": {
"$ref": "#/definitions/Secret"
},
"send_resolved": {
"type": "boolean"
},
"service_key": {
"$ref": "#/definitions/Secret"
},
"severity": {
"type": "string"
},
"url": {
"$ref": "#/definitions/URL"
}
},
"title": "PagerdutyConfig configures notifications via PagerDuty.",
"type": "object"
},
"PagerdutyImage": {
"description": "PagerdutyImage is an image",
"properties": {
"alt": {
"type": "string"
},
"href": {
"type": "string"
},
"src": {
"type": "string"
}
},
"type": "object"
},
"PagerdutyLink": {
"description": "PagerdutyLink is a link",
"properties": {
"href": {
"type": "string"
},
"text": {
"type": "string"
}
},
"type": "object"
},
"PermissionDenied": {
"type": "object"
},
"Point": {
"properties": {
"T": {
"format": "int64",
"type": "integer"
},
"V": {
"format": "double",
"type": "number"
}
},
"title": "Point represents a single data point for a given timestamp.",
"type": "object"
},
"PostableApiAlertingConfig": {
"properties": {
"global": {
"$ref": "#/definitions/GlobalConfig"
},
"inhibit_rules": {
"items": {
"$ref": "#/definitions/InhibitRule"
},
"type": "array"
},
"mute_time_intervals": {
"items": {
"$ref": "#/definitions/MuteTimeInterval"
},
"type": "array"
},
"receivers": {
"description": "Override with our superset receiver type",
"items": {
"$ref": "#/definitions/PostableApiReceiver"
},
"type": "array"
},
"route": {
"$ref": "#/definitions/Route"
},
"templates": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"PostableApiReceiver": {
"properties": {
"email_configs": {
"items": {
"$ref": "#/definitions/EmailConfig"
},
"type": "array"
},
"grafana_managed_receiver_configs": {
"items": {
"$ref": "#/definitions/PostableGrafanaReceiver"
},
"type": "array"
},
"name": {
"description": "A unique identifier for this receiver.",
"type": "string"
},
"opsgenie_configs": {
"items": {
"$ref": "#/definitions/OpsGenieConfig"
},
"type": "array"
},
"pagerduty_configs": {
"items": {
"$ref": "#/definitions/PagerdutyConfig"
},
"type": "array"
},
"pushover_configs": {
"items": {
"$ref": "#/definitions/PushoverConfig"
},
"type": "array"
},
"slack_configs": {
"items": {
"$ref": "#/definitions/SlackConfig"
},
"type": "array"
},
"sns_configs": {
"items": {
"$ref": "#/definitions/SNSConfig"
},
"type": "array"
},
"victorops_configs": {
"items": {
"$ref": "#/definitions/VictorOpsConfig"
},
"type": "array"
},
"webhook_configs": {
"items": {
"$ref": "#/definitions/WebhookConfig"
},
"type": "array"
},
"wechat_configs": {
"items": {
"$ref": "#/definitions/WechatConfig"
},
"type": "array"
}
},
"type": "object"
},
"PostableExtendedRuleNode": {
"properties": {
"alert": {
"type": "string"
},
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"expr": {
"type": "string"
},
"for": {
"$ref": "#/definitions/Duration"
},
"grafana_alert": {
"$ref": "#/definitions/PostableGrafanaRule"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"record": {
"type": "string"
}
},
"type": "object"
},
"PostableGrafanaReceiver": {
"properties": {
"disableResolveMessage": {
"type": "boolean"
},
"name": {
"type": "string"
},
"secureSettings": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"settings": {
"$ref": "#/definitions/Json"
},
"type": {
"type": "string"
},
"uid": {
"type": "string"
}
},
"type": "object"
},
"PostableGrafanaReceivers": {
"properties": {
"grafana_managed_receiver_configs": {
"items": {
"$ref": "#/definitions/PostableGrafanaReceiver"
},
"type": "array"
}
},
"type": "object"
},
"PostableGrafanaRule": {
"properties": {
"condition": {
"type": "string"
},
"data": {
"items": {
"$ref": "#/definitions/AlertQuery"
},
"type": "array"
},
"exec_err_state": {
"enum": [
"OK",
"Alerting",
"Error"
],
"type": "string"
},
"no_data_state": {
"enum": [
"Alerting",
"NoData",
"OK"
],
"type": "string"
},
"title": {
"type": "string"
},
"uid": {
"type": "string"
}
},
"type": "object"
},
"PostableNGalertConfig": {
"properties": {
"alertmanagers": {
"items": {
"type": "string"
},
"type": "array"
},
"alertmanagersChoice": {
"enum": [
"all",
"internal",
"external"
],
"type": "string"
}
},
"type": "object"
},
"PostableRuleGroupConfig": {
"properties": {
"interval": {
"$ref": "#/definitions/Duration"
},
"name": {
"type": "string"
},
"rules": {
"items": {
"$ref": "#/definitions/PostableExtendedRuleNode"
},
"type": "array"
}
},
"type": "object"
},
"PostableUserConfig": {
"properties": {
"alertmanager_config": {
"$ref": "#/definitions/PostableApiAlertingConfig"
},
"template_files": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"Provenance": {
"type": "string"
},
"PushoverConfig": {
"properties": {
"expire": {
"$ref": "#/definitions/duration"
},
"html": {
"type": "boolean"
},
"http_config": {
"$ref": "#/definitions/HTTPClientConfig"
},
"message": {
"type": "string"
},
"priority": {
"type": "string"
},
"retry": {
"$ref": "#/definitions/duration"
},
"send_resolved": {
"type": "boolean"
},
"sound": {
"type": "string"
},
"title": {
"type": "string"
},
"token": {
"$ref": "#/definitions/Secret"
},
"url": {
"type": "string"
},
"url_title": {
"type": "string"
},
"user_key": {
"$ref": "#/definitions/Secret"
}
},
"type": "object"
},
"Receiver": {
"properties": {
"email_configs": {
"items": {
"$ref": "#/definitions/EmailConfig"
},
"type": "array"
},
"name": {
"description": "A unique identifier for this receiver.",
"type": "string"
},
"opsgenie_configs": {
"items": {
"$ref": "#/definitions/OpsGenieConfig"
},
"type": "array"
},
"pagerduty_configs": {
"items": {
"$ref": "#/definitions/PagerdutyConfig"
},
"type": "array"
},
"pushover_configs": {
"items": {
"$ref": "#/definitions/PushoverConfig"
},
"type": "array"
},
"slack_configs": {
"items": {
"$ref": "#/definitions/SlackConfig"
},
"type": "array"
},
"sns_configs": {
"items": {
"$ref": "#/definitions/SNSConfig"
},
"type": "array"
},
"victorops_configs": {
"items": {
"$ref": "#/definitions/VictorOpsConfig"
},
"type": "array"
},
"webhook_configs": {
"items": {
"$ref": "#/definitions/WebhookConfig"
},
"type": "array"
},
"wechat_configs": {
"items": {
"$ref": "#/definitions/WechatConfig"
},
"type": "array"
}
},
"title": "Receiver configuration provides configuration on how to contact a receiver.",
"type": "object"
},
"Regexp": {
"description": "A Regexp is safe for concurrent use by multiple goroutines,\nexcept for configuration methods, such as Longest.",
"title": "Regexp is the representation of a compiled regular expression.",
"type": "object"
},
"RelativeTimeRange": {
"description": "RelativeTimeRange is the per query start and end time\nfor requests.",
"properties": {
"from": {
"$ref": "#/definitions/Duration"
},
"to": {
"$ref": "#/definitions/Duration"
}
},
"type": "object"
},
"ResponseDetails": {
"properties": {
"msg": {
"type": "string"
}
},
"type": "object"
},
"Route": {
"description": "A Route is a node that contains definitions of how to handle alerts. This is modified\nfrom the upstream alertmanager in that it adds the ObjectMatchers property.",
"properties": {
"continue": {
"type": "boolean"
},
"group_by": {
"items": {
"type": "string"
},
"type": "array"
},
"group_interval": {
"$ref": "#/definitions/Duration"
},
"group_wait": {
"$ref": "#/definitions/Duration"
},
"match": {
"additionalProperties": {
"type": "string"
},
"description": "Deprecated. Remove before v1.0 release.",
"type": "object"
},
"match_re": {
"$ref": "#/definitions/MatchRegexps"
},
"matchers": {
"$ref": "#/definitions/Matchers"
},
"mute_time_intervals": {
"items": {
"type": "string"
},
"type": "array"
},
"object_matchers": {
"$ref": "#/definitions/ObjectMatchers"
},
"provenance": {
"$ref": "#/definitions/Provenance"
},
"receiver": {
"type": "string"
},
"repeat_interval": {
"$ref": "#/definitions/Duration"
},
"routes": {
"items": {
"$ref": "#/definitions/Route"
},
"type": "array"
}
},
"type": "object"
},
"Rule": {
"description": "adapted from cortex",
"properties": {
"evaluationTime": {
"format": "double",
"type": "number"
},
"health": {
"type": "string"
},
"labels": {
"$ref": "#/definitions/overrideLabels"
},
"lastError": {
"type": "string"
},
"lastEvaluation": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"query": {
"type": "string"
},
"type": {
"$ref": "#/definitions/RuleType"
}
},
"required": [
"name",
"query",
"health",
"type"
],
"type": "object"
},
"RuleDiscovery": {
"properties": {
"groups": {
"items": {
"$ref": "#/definitions/RuleGroup"
},
"type": "array"
}
},
"required": [
"groups"
],
"type": "object"
},
"RuleGroup": {
"properties": {
"evaluationTime": {
"format": "double",
"type": "number"
},
"file": {
"type": "string"
},
"interval": {
"format": "double",
"type": "number"
},
"lastEvaluation": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"rules": {
"description": "In order to preserve rule ordering, while exposing type (alerting or recording)\nspecific properties, both alerting and recording rules are exposed in the\nsame array.",
"items": {
"$ref": "#/definitions/AlertingRule"
},
"type": "array"
}
},
"required": [
"name",
"file",
"rules",
"interval"
],
"type": "object"
},
"RuleGroupConfigResponse": {
"properties": {
"interval": {
"$ref": "#/definitions/Duration"
},
"name": {
"type": "string"
},
"rules": {
"items": {
"$ref": "#/definitions/GettableExtendedRuleNode"
},
"type": "array"
},
"source_tenants": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"RuleResponse": {
"properties": {
"data": {
"$ref": "#/definitions/RuleDiscovery"
},
"error": {
"type": "string"
},
"errorType": {
"$ref": "#/definitions/ErrorType"
},
"status": {
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"RuleType": {
"title": "RuleType models the type of a rule.",
"type": "string"
},
"SNSConfig": {
"properties": {
"api_url": {
"type": "string"
},
"attributes": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"http_config": {
"$ref": "#/definitions/HTTPClientConfig"
},
"message": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"send_resolved": {
"type": "boolean"
},
"sigv4": {
"$ref": "#/definitions/SigV4Config"
},
"subject": {
"type": "string"
},
"target_arn": {
"type": "string"
},
"topic_arn": {
"type": "string"
}
},
"type": "object"
},
"Sample": {
"properties": {
"Metric": {
"$ref": "#/definitions/Labels"
},
"T": {
"format": "int64",
"type": "integer"
},
"V": {
"format": "double",
"type": "number"
}
},
"title": "Sample is a single sample belonging to a metric.",
"type": "object"
},
"Secret": {
"title": "Secret special type for storing secrets.",
"type": "string"
},
"SecretURL": {
"$ref": "#/definitions/URL",
"title": "SecretURL is a URL that must not be revealed on marshaling."
},
"SigV4Config": {
"description": "SigV4Config is the configuration for signing remote write requests with\nAWS's SigV4 verification process. Empty values will be retrieved using the\nAWS default credentials chain.",
"properties": {
"AccessKey": {
"type": "string"
},
"Profile": {
"type": "string"
},
"Region": {
"type": "string"
},
"RoleARN": {
"type": "string"
},
"SecretKey": {
"$ref": "#/definitions/Secret"
}
},
"type": "object"
},
"SlackAction": {
"description": "See https://api.slack.com/docs/message-attachments#action_fields and https://api.slack.com/docs/message-buttons\nfor more information.",
"properties": {
"confirm": {
"$ref": "#/definitions/SlackConfirmationField"
},
"name": {
"type": "string"
},
"style": {
"type": "string"
},
"text": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"type": "string"
},
"value": {
"type": "string"
}
},
"title": "SlackAction configures a single Slack action that is sent with each notification.",
"type": "object"
},
"SlackConfig": {
"properties": {
"actions": {
"items": {
"$ref": "#/definitions/SlackAction"
},
"type": "array"
},
"api_url": {
"$ref": "#/definitions/SecretURL"
},
"api_url_file": {
"type": "string"
},
"callback_id": {
"type": "string"
},
"channel": {
"description": "Slack channel override, (like #other-channel or @username).",
"type": "string"
},
"color": {
"type": "string"
},
"fallback": {
"type": "string"
},
"fields": {
"items": {
"$ref": "#/definitions/SlackField"
},
"type": "array"
},
"footer": {
"type": "string"
},
"http_config": {
"$ref": "#/definitions/HTTPClientConfig"
},
"icon_emoji": {
"type": "string"
},
"icon_url": {
"type": "string"
},
"image_url": {
"type": "string"
},
"link_names": {
"type": "boolean"
},
"mrkdwn_in": {
"items": {
"type": "string"
},
"type": "array"
},
"pretext": {
"type": "string"
},
"send_resolved": {
"type": "boolean"
},
"short_fields": {
"type": "boolean"
},
"text": {
"type": "string"
},
"thumb_url": {
"type": "string"
},
"title": {
"type": "string"
},
"title_link": {
"type": "string"
},
"username": {
"type": "string"
}
},
"title": "SlackConfig configures notifications via Slack.",
"type": "object"
},
"SlackConfirmationField": {
"description": "SlackConfirmationField protect users from destructive actions or particularly distinguished decisions\nby asking them to confirm their button click one more time.\nSee https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields for more information.",
"properties": {
"dismiss_text": {
"type": "string"
},
"ok_text": {
"type": "string"
},
"text": {
"type": "string"
},
"title": {
"type": "string"
}
},
"type": "object"
},
"SlackField": {
"description": "Each field must contain a title, value, and optionally, a boolean value to indicate if the field\nis short enough to be displayed next to other fields designated as short.\nSee https://api.slack.com/docs/message-attachments#fields for more information.",
"properties": {
"short": {
"type": "boolean"
},
"title": {
"type": "string"
},
"value": {
"type": "string"
}
},
"title": "SlackField configures a single Slack field that is sent with each notification.",
"type": "object"
},
"SmtpNotEnabled": {
"$ref": "#/definitions/ResponseDetails"
},
"Success": {
"$ref": "#/definitions/ResponseDetails"
},
"TLSConfig": {
"properties": {
"ca_file": {
"description": "The CA cert to use for the targets.",
"type": "string"
},
"cert_file": {
"description": "The client cert file for the targets.",
"type": "string"
},
"insecure_skip_verify": {
"description": "Disable target certificate validation.",
"type": "boolean"
},
"key_file": {
"description": "The client key file for the targets.",
"type": "string"
},
"server_name": {
"description": "Used to verify the hostname for the targets.",
"type": "string"
}
},
"title": "TLSConfig configures the options for TLS connections.",
"type": "object"
},
"TestReceiverConfigResult": {
"properties": {
"error": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"uid": {
"type": "string"
}
},
"type": "object"
},
"TestReceiverResult": {
"properties": {
"grafana_managed_receiver_configs": {
"items": {
"$ref": "#/definitions/TestReceiverConfigResult"
},
"type": "array"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"TestReceiversConfigAlertParams": {
"properties": {
"annotations": {
"$ref": "#/definitions/LabelSet"
},
"labels": {
"$ref": "#/definitions/LabelSet"
}
},
"type": "object"
},
"TestReceiversConfigBodyParams": {
"properties": {
"alert": {
"$ref": "#/definitions/TestReceiversConfigAlertParams"
},
"receivers": {
"items": {
"$ref": "#/definitions/PostableApiReceiver"
},
"type": "array"
}
},
"type": "object"
},
"TestReceiversResult": {
"properties": {
"alert": {
"$ref": "#/definitions/TestReceiversConfigAlertParams"
},
"notified_at": {
"format": "date-time",
"type": "string"
},
"receivers": {
"items": {
"$ref": "#/definitions/TestReceiverResult"
},
"type": "array"
}
},
"type": "object"
},
"TestRulePayload": {
"properties": {
"expr": {
"example": "(node_filesystem_avail_bytes{fstype!=\"\",job=\"integrations/node_exporter\"} node_filesystem_size_bytes{fstype!=\"\",job=\"integrations/node_exporter\"} * 100 \u003c 5 and node_filesystem_readonly{fstype!=\"\",job=\"integrations/node_exporter\"} == 0)",
"type": "string"
},
"grafana_condition": {
"$ref": "#/definitions/EvalAlertConditionCommand"
}
},
"type": "object"
},
"TestRuleResponse": {
"properties": {
"alerts": {
"$ref": "#/definitions/Vector"
},
"grafana_alert_instances": {
"$ref": "#/definitions/AlertInstancesResponse"
}
},
"type": "object"
},
"TimeInterval": {
"description": "TimeInterval describes intervals of time. ContainsTime will tell you if a golang time is contained\nwithin the interval.",
"properties": {
"days_of_month": {
"items": {
"$ref": "#/definitions/DayOfMonthRange"
},
"type": "array"
},
"months": {
"items": {
"$ref": "#/definitions/MonthRange"
},
"type": "array"
},
"times": {
"items": {
"$ref": "#/definitions/TimeRange"
},
"type": "array"
},
"weekdays": {
"items": {
"$ref": "#/definitions/WeekdayRange"
},
"type": "array"
},
"years": {
"items": {
"$ref": "#/definitions/YearRange"
},
"type": "array"
}
},
"type": "object"
},
"TimeRange": {
"description": "For example, 4:00PM to End of the day would Begin at 1020 and End at 1440.",
"properties": {
"EndMinute": {
"format": "int64",
"type": "integer"
},
"StartMinute": {
"format": "int64",
"type": "integer"
}
},
"title": "TimeRange represents a range of minutes within a 1440 minute day, exclusive of the End minute. A day consists of 1440 minutes.",
"type": "object"
},
"URL": {
"properties": {
"ForceQuery": {
"type": "boolean"
},
"Fragment": {
"type": "string"
},
"Host": {
"type": "string"
},
"Opaque": {
"type": "string"
},
"Path": {
"type": "string"
},
"RawFragment": {
"type": "string"
},
"RawPath": {
"type": "string"
},
"RawQuery": {
"type": "string"
},
"Scheme": {
"type": "string"
},
"User": {
"$ref": "#/definitions/Userinfo"
}
},
"title": "URL is a custom URL type that allows validation at configuration load time.",
"type": "object"
},
"Userinfo": {
"description": "The Userinfo type is an immutable encapsulation of username and\npassword details for a URL. An existing Userinfo value is guaranteed\nto have a username set (potentially empty, as allowed by RFC 2396),\nand optionally a password.",
"type": "object"
},
"ValidationError": {
"properties": {
"msg": {
"example": "error message",
"type": "string"
}
},
"type": "object"
},
"Vector": {
"description": "Vector is basically only an alias for model.Samples, but the\ncontract is that in a Vector, all Samples have the same timestamp.",
"items": {
"$ref": "#/definitions/Sample"
},
"type": "array"
},
"VictorOpsConfig": {
"properties": {
"api_key": {
"$ref": "#/definitions/Secret"
},
"api_key_file": {
"$ref": "#/definitions/Secret"
},
"api_url": {
"$ref": "#/definitions/URL"
},
"custom_fields": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"entity_display_name": {
"type": "string"
},
"http_config": {
"$ref": "#/definitions/HTTPClientConfig"
},
"message_type": {
"type": "string"
},
"monitoring_tool": {
"type": "string"
},
"routing_key": {
"type": "string"
},
"send_resolved": {
"type": "boolean"
},
"state_message": {
"type": "string"
}
},
"title": "VictorOpsConfig configures notifications via VictorOps.",
"type": "object"
},
"WebhookConfig": {
"properties": {
"http_config": {
"$ref": "#/definitions/HTTPClientConfig"
},
"max_alerts": {
"description": "MaxAlerts is the maximum number of alerts to be sent per webhook message.\nAlerts exceeding this threshold will be truncated. Setting this to 0\nallows an unlimited number of alerts.",
"format": "uint64",
"type": "integer"
},
"send_resolved": {
"type": "boolean"
},
"url": {
"$ref": "#/definitions/URL"
}
},
"title": "WebhookConfig configures notifications via a generic webhook.",
"type": "object"
},
"WechatConfig": {
"properties": {
"agent_id": {
"type": "string"
},
"api_secret": {
"$ref": "#/definitions/Secret"
},
"api_url": {
"$ref": "#/definitions/URL"
},
"corp_id": {
"type": "string"
},
"http_config": {
"$ref": "#/definitions/HTTPClientConfig"
},
"message": {
"type": "string"
},
"message_type": {
"type": "string"
},
"send_resolved": {
"type": "boolean"
},
"to_party": {
"type": "string"
},
"to_tag": {
"type": "string"
},
"to_user": {
"type": "string"
}
},
"title": "WechatConfig configures notifications via Wechat.",
"type": "object"
},
"WeekdayRange": {
"properties": {
"Begin": {
"format": "int64",
"type": "integer"
},
"End": {
"format": "int64",
"type": "integer"
}
},
"title": "A WeekdayRange is an inclusive range between [0, 6] where 0 = Sunday.",
"type": "object"
},
"YearRange": {
"properties": {
"Begin": {
"format": "int64",
"type": "integer"
},
"End": {
"format": "int64",
"type": "integer"
}
},
"title": "A YearRange is a positive inclusive range.",
"type": "object"
},
"alert": {
"description": "Alert alert",
"properties": {
"generatorURL": {
"description": "generator URL\nFormat: uri",
"format": "uri",
"type": "string"
},
"labels": {
"$ref": "#/definitions/labelSet"
}
},
"required": [
"labels"
],
"type": "object"
},
"alertGroup": {
"description": "AlertGroup alert group",
"properties": {
"alerts": {
"description": "alerts",
"items": {
"$ref": "#/definitions/gettableAlert"
},
"type": "array"
},
"labels": {
"$ref": "#/definitions/labelSet"
},
"receiver": {
"$ref": "#/definitions/receiver"
}
},
"required": [
"alerts",
"labels",
"receiver"
],
"type": "object"
},
"alertGroups": {
"description": "AlertGroups alert groups",
"items": {
"$ref": "#/definitions/alertGroup"
},
"type": "array"
},
"alertStatus": {
"description": "AlertStatus alert status",
"properties": {
"inhibitedBy": {
"description": "inhibited by",
"items": {
"type": "string"
},
"type": "array"
},
"silencedBy": {
"description": "silenced by",
"items": {
"type": "string"
},
"type": "array"
},
"state": {
"description": "state",
"enum": [
"[unprocessed active suppressed]"
],
"type": "string"
}
},
"required": [
"inhibitedBy",
"silencedBy",
"state"
],
"type": "object"
},
"alertmanagerConfig": {
"description": "AlertmanagerConfig alertmanager config",
"properties": {
"original": {
"description": "original",
"type": "string"
}
},
"required": [
"original"
],
"type": "object"
},
"alertmanagerStatus": {
"description": "AlertmanagerStatus alertmanager status",
"properties": {
"cluster": {
"$ref": "#/definitions/clusterStatus"
},
"config": {
"$ref": "#/definitions/alertmanagerConfig"
},
"uptime": {
"description": "uptime",
"format": "date-time",
"type": "string"
},
"versionInfo": {
"$ref": "#/definitions/versionInfo"
}
},
"required": [
"cluster",
"config",
"uptime",
"versionInfo"
],
"type": "object"
},
"clusterStatus": {
"description": "ClusterStatus cluster status",
"properties": {
"name": {
"description": "name",
"type": "string"
},
"peers": {
"description": "peers",
"items": {
"$ref": "#/definitions/peerStatus"
},
"type": "array"
},
"status": {
"description": "status",
"enum": [
"[ready settling disabled]"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"duration": {
"$ref": "#/definitions/Duration"
},
"gettableAlert": {
"properties": {
"annotations": {
"$ref": "#/definitions/labelSet"
},
"endsAt": {
"description": "ends at",
"format": "date-time",
"type": "string"
},
"fingerprint": {
"description": "fingerprint",
"type": "string"
},
"generatorURL": {
"description": "generator URL\nFormat: uri",
"format": "uri",
"type": "string"
},
"labels": {
"$ref": "#/definitions/labelSet"
},
"receivers": {
"description": "receivers",
"items": {
"$ref": "#/definitions/receiver"
},
"type": "array"
},
"startsAt": {
"description": "starts at",
"format": "date-time",
"type": "string"
},
"status": {
"$ref": "#/definitions/alertStatus"
},
"updatedAt": {
"description": "updated at",
"format": "date-time",
"type": "string"
}
},
"required": [
"labels",
"annotations",
"endsAt",
"fingerprint",
"receivers",
"startsAt",
"status",
"updatedAt"
],
"type": "object"
},
"gettableAlerts": {
"description": "GettableAlerts gettable alerts",
"items": {
"$ref": "#/definitions/gettableAlert"
},
"type": "array"
},
"gettableSilence": {
"description": "GettableSilence gettable silence",
"properties": {
"comment": {
"description": "comment",
"type": "string"
},
"createdBy": {
"description": "created by",
"type": "string"
},
"endsAt": {
"description": "ends at",
"format": "date-time",
"type": "string"
},
"id": {
"description": "id",
"type": "string"
},
"matchers": {
"$ref": "#/definitions/matchers"
},
"startsAt": {
"description": "starts at",
"format": "date-time",
"type": "string"
},
"status": {
"$ref": "#/definitions/silenceStatus"
},
"updatedAt": {
"description": "updated at",
"format": "date-time",
"type": "string"
}
},
"required": [
"comment",
"createdBy",
"endsAt",
"matchers",
"startsAt",
"id",
"status",
"updatedAt"
],
"type": "object"
},
"gettableSilences": {
"items": {
"$ref": "#/definitions/gettableSilence"
},
"type": "array"
},
"labelSet": {
"additionalProperties": {
"type": "string"
},
"description": "LabelSet label set",
"type": "object"
},
"matcher": {
"description": "Matcher matcher",
"properties": {
"isEqual": {
"description": "is equal",
"type": "boolean"
},
"isRegex": {
"description": "is regex",
"type": "boolean"
},
"name": {
"description": "name",
"type": "string"
},
"value": {
"description": "value",
"type": "string"
}
},
"required": [
"isRegex",
"name",
"value"
],
"type": "object"
},
"matchers": {
"description": "Matchers matchers",
"items": {
"$ref": "#/definitions/matcher"
},
"type": "array"
},
"overrideLabels": {
"additionalProperties": {
"type": "string"
},
"description": "The custom marshaling for labels.Labels ends up doing this anyways.",
"title": "override the labels type with a map for generation.",
"type": "object"
},
"peerStatus": {
"description": "PeerStatus peer status",
"properties": {
"address": {
"description": "address",
"type": "string"
},
"name": {
"description": "name",
"type": "string"
}
},
"required": [
"address",
"name"
],
"type": "object"
},
"postableAlert": {
"description": "PostableAlert postable alert",
"properties": {
"annotations": {
"$ref": "#/definitions/labelSet"
},
"endsAt": {
"description": "ends at\nFormat: date-time",
"format": "date-time",
"type": "string"
},
"generatorURL": {
"description": "generator URL\nFormat: uri",
"format": "uri",
"type": "string"
},
"labels": {
"$ref": "#/definitions/labelSet"
},
"startsAt": {
"description": "starts at\nFormat: date-time",
"format": "date-time",
"type": "string"
}
},
"required": [
"labels"
],
"type": "object"
},
"postableAlerts": {
"description": "PostableAlerts postable alerts",
"items": {
"$ref": "#/definitions/postableAlert"
},
"type": "array"
},
"postableSilence": {
"description": "PostableSilence postable silence",
"properties": {
"comment": {
"description": "comment",
"type": "string"
},
"createdBy": {
"description": "created by",
"type": "string"
},
"endsAt": {
"description": "ends at",
"format": "date-time",
"type": "string"
},
"id": {
"description": "id",
"type": "string"
},
"matchers": {
"$ref": "#/definitions/matchers"
},
"startsAt": {
"description": "starts at",
"format": "date-time",
"type": "string"
}
},
"required": [
"comment",
"createdBy",
"endsAt",
"matchers",
"startsAt"
],
"type": "object"
},
"receiver": {
"properties": {
"name": {
"description": "name",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"silence": {
"description": "Silence silence",
"properties": {
"comment": {
"description": "comment",
"type": "string"
},
"createdBy": {
"description": "created by",
"type": "string"
},
"endsAt": {
"description": "ends at",
"format": "date-time",
"type": "string"
},
"matchers": {
"$ref": "#/definitions/matchers"
},
"startsAt": {
"description": "starts at",
"format": "date-time",
"type": "string"
}
},
"required": [
"comment",
"createdBy",
"endsAt",
"matchers",
"startsAt"
],
"type": "object"
},
"silenceStatus": {
"description": "SilenceStatus silence status",
"properties": {
"state": {
"description": "state",
"enum": [
"[expired active pending]"
],
"type": "string"
}
},
"required": [
"state"
],
"type": "object"
},
"versionInfo": {
"description": "VersionInfo version info",
"properties": {
"branch": {
"description": "branch",
"type": "string"
},
"buildDate": {
"description": "build date",
"type": "string"
},
"buildUser": {
"description": "build user",
"type": "string"
},
"goVersion": {
"description": "go version",
"type": "string"
},
"revision": {
"description": "revision",
"type": "string"
},
"version": {
"description": "version",
"type": "string"
}
},
"required": [
"branch",
"buildDate",
"buildUser",
"goVersion",
"revision",
"version"
],
"type": "object"
}
},
"info": {
"description": "Package definitions includes the types required for generating or consuming an OpenAPI\nspec for the Grafana Alerting API.",
"title": "Grafana Alerting API.",
"version": "1.1.0"
},
"paths": {
"/api/v1/provisioning/alert-rules": {
"post": {
"consumes": [
"application/json"
],
"operationId": "RoutePostAlertRule",
"parameters": [
{
"in": "body",
"name": "Body",
"schema": {
"$ref": "#/definitions/AlertRule"
}
}
],
"responses": {
"201": {
"description": "AlertRule",
"schema": {
"$ref": "#/definitions/AlertRule"
}
},
"400": {
"description": "ValidationError",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
},
"summary": "Create a new alert rule.",
"tags": [
"provisioning"
]
}
},
"/api/v1/provisioning/alert-rules/{UID}": {
"delete": {
"operationId": "RouteDeleteAlertRule",
"parameters": [
{
"description": "Alert rule UID",
"in": "path",
"name": "UID",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": " The alert rule was deleted successfully."
}
},
"summary": "Delete a specific alert rule by UID.",
"tags": [
"provisioning"
]
},
"get": {
"operationId": "RouteGetAlertRule",
"parameters": [
{
"description": "Alert rule UID",
"in": "path",
"name": "UID",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "AlertRule",
"schema": {
"$ref": "#/definitions/AlertRule"
}
},
"404": {
"description": " Not found."
}
},
"summary": "Get a specific alert rule by UID.",
"tags": [
"provisioning"
]
},
"put": {
"consumes": [
"application/json"
],
"operationId": "RoutePutAlertRule",
"parameters": [
{
"description": "Alert rule UID",
"in": "path",
"name": "UID",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Body",
"schema": {
"$ref": "#/definitions/AlertRule"
}
}
],
"responses": {
"200": {
"description": "AlertRule",
"schema": {
"$ref": "#/definitions/AlertRule"
}
},
"400": {
"description": "ValidationError",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
},
"summary": "Update an existing alert rule.",
"tags": [
"provisioning"
]
}
},
"/api/v1/provisioning/contact-points": {
"get": {
"operationId": "RouteGetContactpoints",
"parameters": [
{
"description": "Filter by name",
"in": "query",
"name": "name",
"type": "string"
}
],
"responses": {
"200": {
"description": "ContactPoints",
"schema": {
"$ref": "#/definitions/ContactPoints"
}
}
},
"summary": "Get all the contact points.",
"tags": [
"provisioning"
]
},
"post": {
"consumes": [
"application/json"
],
"operationId": "RoutePostContactpoints",
"parameters": [
{
"in": "body",
"name": "Body",
"schema": {
"$ref": "#/definitions/EmbeddedContactPoint"
}
}
],
"responses": {
"202": {
"description": "EmbeddedContactPoint",
"schema": {
"$ref": "#/definitions/EmbeddedContactPoint"
}
},
"400": {
"description": "ValidationError",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
},
"summary": "Create a contact point.",
"tags": [
"provisioning"
]
}
},
"/api/v1/provisioning/contact-points/{UID}": {
"delete": {
"consumes": [
"application/json"
],
"operationId": "RouteDeleteContactpoints",
"parameters": [
{
"description": "UID is the contact point unique identifier",
"in": "path",
"name": "UID",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": " The contact point was deleted successfully."
}
},
"summary": "Delete a contact point.",
"tags": [
"provisioning"
]
},
"put": {
"consumes": [
"application/json"
],
"operationId": "RoutePutContactpoint",
"parameters": [
{
"description": "UID is the contact point unique identifier",
"in": "path",
"name": "UID",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Body",
"schema": {
"$ref": "#/definitions/EmbeddedContactPoint"
}
}
],
"responses": {
"202": {
"description": "Ack",
"schema": {
"$ref": "#/definitions/Ack"
}
},
"400": {
"description": "ValidationError",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
},
"summary": "Update an existing contact point.",
"tags": [
"provisioning"
]
}
},
"/api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group}": {
"get": {
"operationId": "RouteGetAlertRuleGroup",
"parameters": [
{
"in": "path",
"name": "FolderUID",
"required": true,
"type": "string"
},
{
"in": "path",
"name": "Group",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "AlertRuleGroup",
"schema": {
"$ref": "#/definitions/AlertRuleGroup"
}
},
"404": {
"description": " Not found."
}
},
"summary": "Get a rule group.",
"tags": [
"provisioning"
]
},
"put": {
"consumes": [
"application/json"
],
"operationId": "RoutePutAlertRuleGroup",
"parameters": [
{
"in": "path",
"name": "FolderUID",
"required": true,
"type": "string"
},
{
"in": "path",
"name": "Group",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Body",
"schema": {
"$ref": "#/definitions/AlertRuleGroupMetadata"
}
}
],
"responses": {
"200": {
"description": "AlertRuleGroupMetadata",
"schema": {
"$ref": "#/definitions/AlertRuleGroupMetadata"
}
},
"400": {
"description": "ValidationError",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
},
"summary": "Update the interval of a rule group.",
"tags": [
"provisioning"
]
}
},
"/api/v1/provisioning/mute-timings": {
"get": {
"operationId": "RouteGetMuteTimings",
"responses": {
"200": {
"description": "MuteTimings",
"schema": {
"$ref": "#/definitions/MuteTimings"
}
}
},
"summary": "Get all the mute timings.",
"tags": [
"provisioning"
]
},
"post": {
"consumes": [
"application/json"
],
"operationId": "RoutePostMuteTiming",
"parameters": [
{
"in": "body",
"name": "Body",
"schema": {
"$ref": "#/definitions/MuteTimeInterval"
}
}
],
"responses": {
"201": {
"description": "MuteTimeInterval",
"schema": {
"$ref": "#/definitions/MuteTimeInterval"
}
},
"400": {
"description": "ValidationError",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
},
"summary": "Create a new mute timing.",
"tags": [
"provisioning"
]
}
},
"/api/v1/provisioning/mute-timings/{name}": {
"delete": {
"operationId": "RouteDeleteMuteTiming",
"parameters": [
{
"description": "Mute timing name",
"in": "path",
"name": "name",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": " The mute timing was deleted successfully."
}
},
"summary": "Delete a mute timing.",
"tags": [
"provisioning"
]
},
"get": {
"operationId": "RouteGetMuteTiming",
"parameters": [
{
"description": "Mute timing name",
"in": "path",
"name": "name",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "MuteTimeInterval",
"schema": {
"$ref": "#/definitions/MuteTimeInterval"
}
},
"404": {
"description": " Not found."
}
},
"summary": "Get a mute timing.",
"tags": [
"provisioning"
]
},
"put": {
"consumes": [
"application/json"
],
"operationId": "RoutePutMuteTiming",
"parameters": [
{
"description": "Mute timing name",
"in": "path",
"name": "name",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Body",
"schema": {
"$ref": "#/definitions/MuteTimeInterval"
}
}
],
"responses": {
"200": {
"description": "MuteTimeInterval",
"schema": {
"$ref": "#/definitions/MuteTimeInterval"
}
},
"400": {
"description": "ValidationError",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
},
"summary": "Replace an existing mute timing.",
"tags": [
"provisioning"
]
}
},
"/api/v1/provisioning/policies": {
"delete": {
"consumes": [
"application/json"
],
"operationId": "RouteResetPolicyTree",
"responses": {
"202": {
"description": "Ack",
"schema": {
"$ref": "#/definitions/Ack"
}
}
},
"summary": "Clears the notification policy tree.",
"tags": [
"provisioning"
]
},
"get": {
"operationId": "RouteGetPolicyTree",
"responses": {
"200": {
"description": "Route",
"schema": {
"$ref": "#/definitions/Route"
}
}
},
"summary": "Get the notification policy tree.",
"tags": [
"provisioning"
]
},
"put": {
"consumes": [
"application/json"
],
"operationId": "RoutePutPolicyTree",
"parameters": [
{
"description": "The new notification routing tree to use",
"in": "body",
"name": "Body",
"schema": {
"$ref": "#/definitions/Route"
}
}
],
"responses": {
"202": {
"description": "Ack",
"schema": {
"$ref": "#/definitions/Ack"
}
},
"400": {
"description": "ValidationError",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
},
"summary": "Sets the notification policy tree.",
"tags": [
"provisioning"
]
}
},
"/api/v1/provisioning/templates": {
"get": {
"operationId": "RouteGetTemplates",
"responses": {
"200": {
"description": "MessageTemplates",
"schema": {
"$ref": "#/definitions/MessageTemplates"
}
},
"404": {
"description": " Not found."
}
},
"summary": "Get all message templates.",
"tags": [
"provisioning"
]
}
},
"/api/v1/provisioning/templates/{name}": {
"delete": {
"operationId": "RouteDeleteTemplate",
"parameters": [
{
"description": "Template Name",
"in": "path",
"name": "name",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": " The template was deleted successfully."
}
},
"summary": "Delete a template.",
"tags": [
"provisioning"
]
},
"get": {
"operationId": "RouteGetTemplate",
"parameters": [
{
"description": "Template Name",
"in": "path",
"name": "name",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "MessageTemplate",
"schema": {
"$ref": "#/definitions/MessageTemplate"
}
},
"404": {
"description": " Not found."
}
},
"summary": "Get a message template.",
"tags": [
"provisioning"
]
},
"put": {
"consumes": [
"application/json"
],
"operationId": "RoutePutTemplate",
"parameters": [
{
"description": "Template Name",
"in": "path",
"name": "name",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "Body",
"schema": {
"$ref": "#/definitions/MessageTemplateContent"
}
}
],
"responses": {
"202": {
"description": "MessageTemplate",
"schema": {
"$ref": "#/definitions/MessageTemplate"
}
},
"400": {
"description": "ValidationError",
"schema": {
"$ref": "#/definitions/ValidationError"
}
}
},
"summary": "Updates an existing template.",
"tags": [
"provisioning"
]
}
}
},
"produces": [
"application/json"
],
"schemes": [
"http",
"https"
],
"securityDefinitions": {
"basic": {
"type": "basic"
}
},
"swagger": "2.0"
}