Alerting provisioning API

    Consumes

    • application/json

    Produces

    • application/json

    Alert rules

    Contact points

    MethodURINameSummary
    GET/api/v1/provisioning/contact-pointsroute get contactpointsGet all the contact points.
    POST/api/v1/provisioning/contact-pointsCreate a contact point.
    PUT/api/v1/provisioning/contact-points/{UID}route put contactpointUpdate an existing contact point.
    DELETE/api/v1/provisioning/contact-points/{UID}Delete a contact point.

    Notification policies

    MethodURINameSummary
    GET/api/v1/provisioning/policiesGet the notification policy tree.
    PUT/api/v1/provisioning/policiesroute put policy treeSets the notification policy tree.

    Mute timings

    MethodURINameSummary
    GET/api/v1/provisioning/mute-timingsroute get mute timingsGet all the mute timings.
    GET/api/v1/provisioning/mute-timings/{name}Get a mute timing.
    POST/api/v1/provisioning/mute-timingsroute post mute timingCreate a new mute timing.
    PUT/api/v1/provisioning/mute-timings/{name}Replace an existing mute timing.
    DELETE/api/v1/provisioning/mute-timings/{name}route delete mute timingDelete a mute timing.

    Templates

    MethodURINameSummary
    GET/api/v1/provisioning/templatesroute get templatesGet all message templates.
    GET/api/v1/provisioning/templates/{name}Get a message template.
    PUT/api/v1/provisioning/templates/{name}route put templateCreates or updates a template.
    DELETE/api/v1/provisioning/templates/{name}Delete a template.

    Delete a specific alert rule by UID. (RouteDeleteAlertRule)

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    UIDstringstring

    All responses

    CodeStatusDescriptionHas headersSchema
    204No ContentThe alert rule was deleted successfully.
    400Bad RequestValidationError

    Responses

    204 - The alert rule was deleted successfully.

    Status: No Content

    Schema
    400 - ValidationError

    Status: Bad Request

    Schema

    Delete a contact point. (RouteDeleteContactpoints)

    1. DELETE /api/v1/provisioning/contact-points/{UID}

    Consumes

    • application/json

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    UIDpathstringstringUID should be the contact point unique identifier

    All responses

    CodeStatusDescriptionHas headersSchema
    202AcceptedAck
    400Bad RequestValidationError

    Responses

    202 - Ack

    Status: Accepted

    Schema

    400 - ValidationError

    Status: Bad Request

    Schema

    ValidationError

    Delete a mute timing. (RouteDeleteMuteTiming)

    1. DELETE /api/v1/provisioning/mute-timings/{name}

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    namepathstringstringTemplate Name

    All responses

    CodeStatusDescriptionHas headersSchema
    204No ContentAck

    Responses

    204 - Ack

    Status: No Content

    Schema

    Delete a template. (RouteDeleteTemplate)

    1. DELETE /api/v1/provisioning/templates/{name}

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    namepathstringstringTemplate Name

    All responses

    CodeStatusDescriptionHas headersSchema
    No ContentAckschema

    Responses

    204 - Ack

    Status: No Content

    Schema

    Ack

    Get a specific alert rule by UID. (RouteGetAlertRule)

    1. GET /api/v1/provisioning/alert-rules/{UID}

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    UIDpathstringstring

    All responses

    CodeStatusDescriptionHas headersSchema
    200OKAlertRule
    400Bad RequestValidationError

    Responses

    200 - AlertRule

    Status: OK

    Schema

    400 - ValidationError

    Status: Bad Request

    Schema

    ValidationError

    Get all the contact points. (RouteGetContactpoints)

    1. GET /api/v1/provisioning/contact-points

    All responses

    CodeStatusDescriptionHas headersSchema
    OKRouteschema
    Bad RequestValidationErrorschema

    Responses

    200 - Route

    Status: OK

    Schema

    Route

    400 - ValidationError

    Status: Bad Request

    Schema

    Get a mute timing. (RouteGetMuteTiming)

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    namepathstringstringTemplate Name

    All responses

    CodeStatusDescriptionHas headersSchema
    OKMuteTimeIntervalschema
    Bad RequestValidationErrorschema

    Responses

    200 - MuteTimeInterval

    Status: OK

    Schema

    MuteTimeInterval

    400 - ValidationError

    Status: Bad Request

    Schema

    Get all the mute timings. (RouteGetMuteTimings)

    1. GET /api/v1/provisioning/mute-timings

    All responses

    CodeStatusDescriptionHas headersSchema
    200OKMuteTimings
    400Bad RequestValidationError

    Responses

    200 - MuteTimings

    Status: OK

    Schema

    400 - ValidationError

    Status: Bad Request

    Schema

    ValidationError

    Get the notification policy tree. (RouteGetPolicyTree)

    1. GET /api/v1/provisioning/policies

    All responses

    CodeStatusDescriptionHas headersSchema
    OKRouteschema
    Bad RequestValidationErrorschema

    Responses

    200 - Route

    Status: OK

    Schema

    Route

    400 - ValidationError

    Status: Bad Request

    Schema

    1. GET /api/v1/provisioning/templates/{name}

    Parameters

    All responses

    CodeStatusDescriptionHas headersSchema
    OKMessageTemplateschema
    Not FoundNotFoundschema

    Responses

    200 - MessageTemplate

    Status: OK

    Schema

    MessageTemplate

    404 - NotFound
    Schema

    Get all message templates. (RouteGetTemplates)

    1. GET /api/v1/provisioning/templates

    All responses

    CodeStatusDescriptionHas headersSchema
    200OKMessageTemplate
    400Bad RequestValidationError

    Responses

    200 - MessageTemplate

    Status: OK

    Schema

    400 - ValidationError

    Status: Bad Request

    Schema

    ValidationError

    Create a new alert rule. (RoutePostAlertRule)

    1. POST /api/v1/provisioning/alert-rules

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    Bodybodymodels.AlertRule

    All responses

    CodeStatusDescriptionHas headersSchema
    CreatedAlertRuleschema
    Bad RequestValidationErrorschema

    Responses

    201 - AlertRule

    Status: Created

    Schema

    AlertRule

    400 - ValidationError

    Status: Bad Request

    Schema

    Create a contact point. (RoutePostContactpoints)

    Consumes

    • application/json

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    Bodybodymodels.EmbeddedContactPoint

    All responses

    CodeStatusDescriptionHas headersSchema
    AcceptedAckschema
    Bad RequestValidationErrorschema

    Responses

    202 - Ack

    Status: Accepted

    Schema

    Ack

    400 - ValidationError

    Status: Bad Request

    Schema

    Create a new mute timing. (RoutePostMuteTiming)

    1. POST /api/v1/provisioning/mute-timings

    Consumes

    • application/json

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    Bodybodymodels.MuteTimeInterval

    All responses

    CodeStatusDescriptionHas headersSchema
    CreatedMuteTimeIntervalschema
    Bad RequestValidationErrorschema

    Responses

    201 - MuteTimeInterval

    Status: Created

    Schema

    MuteTimeInterval

    400 - ValidationError

    Status: Bad Request

    Schema

    Update an existing alert rule. (RoutePutAlertRule)

    1. PUT /api/v1/provisioning/alert-rules/{UID}

    Consumes

    • application/json

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    UIDpathstringstring
    Bodybodymodels.AlertRule

    All responses

    CodeStatusDescriptionHas headersSchema
    OKAlertRuleschema
    Bad RequestValidationErrorschema

    Responses

    200 - AlertRule

    Status: OK

    Schema

    AlertRule

    400 - ValidationError

    Status: Bad Request

    Schema

    Update the interval of a rule group. (RoutePutAlertRuleGroup)

    1. PUT /api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group}

    Consumes

    • application/json

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    FolderUIDpathstringstring
    Grouppathstringstring
    Bodybodymodels.AlertRuleGroup

    All responses

    CodeStatusDescriptionHas headersSchema
    OKAlertRuleGroupschema
    Bad RequestValidationErrorschema

    Responses

    200 - AlertRuleGroup

    Status: OK

    Schema

    AlertRuleGroup

    400 - ValidationError

    Status: Bad Request

    Schema

    Update an existing contact point. (RoutePutContactpoint)

    1. PUT /api/v1/provisioning/contact-points/{UID}

    Consumes

    • application/json

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    UIDpathstringUID should be the contact point unique identifier
    Bodybodymodels.EmbeddedContactPoint

    All responses

    CodeStatusDescriptionHas headersSchema
    AcceptedAckschema
    Bad RequestValidationErrorschema

    Responses

    202 - Ack

    Status: Accepted

    Schema

    Ack

    400 - ValidationError

    Status: Bad Request

    Schema

    Replace an existing mute timing. (RoutePutMuteTiming)

    1. PUT /api/v1/provisioning/mute-timings/{name}

    Consumes

    • application/json

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    namepathstringstringTemplate Name
    Bodybodymodels.MuteTimeInterval

    All responses

    CodeStatusDescriptionHas headersSchema
    OKMuteTimeIntervalschema
    Bad RequestValidationErrorschema

    Responses

    200 - MuteTimeInterval

    Status: OK

    Schema

    MuteTimeInterval

    400 - ValidationError

    Status: Bad Request

    Schema

    Sets the notification policy tree. (RoutePutPolicyTree)

    Consumes

    • application/json

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    Bodybodymodels.Route

    All responses

    CodeStatusDescriptionHas headersSchema
    AcceptedAckschema
    Bad RequestValidationErrorschema

    Responses

    202 - Ack
    Schema

    Ack

    400 - ValidationError

    Status: Bad Request

    Schema

    Updates an existing template. (RoutePutTemplate)

    1. PUT /api/v1/provisioning/templates/{name}

    Consumes

    • application/json

    Parameters

    NameSourceTypeGo typeSeparatorRequiredDefaultDescription
    namepathstringstringTemplate Name
    Bodybodymodels.MessageTemplateContent

    All responses

    Responses

    202 - Ack

    Status: Accepted

    Schema

    Ack

    400 - ValidationError

    Status: Bad Request

    Schema

    AlertQuery

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    DatasourceUIDstringstringGrafana data source unique identifier; it should be ‘-100’ for a Server Side Expression operation.
    Modelobjectinterface{}JSON is the raw JSON query and includes the above properties as well as custom properties.
    QueryTypestringstringQueryType is an optional identifier for the type of query.
    It can be used to distinguish different types of queries.
    RefIDstringstringRefID is the unique identifier of the query, set by the frontend call.
    relativeTimeRangeRelativeTimeRange

    AlertRule

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    Annotationsmap of stringmap[string]string{“runbookurl”:”
    ConditionstringstringA
    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}}]
    ExecErrStatestringstringAllowed values: “OK”, “Alerting”, “Error”
    FolderUIDstringstringproject_x
    IDint64 (formatted integer)int64
    Labelsmap of stringmap[string]string{“team”:”sre-team-1”}
    NoDataStatestringstringAllowed values: “OK”, “NoData”, “Error”
    OrgIDint64 (formatted integer)int64
    RuleGroupstringstringeval_group_1
    TitlestringstringAlways firing
    UIDstringstring
    Updateddate-time (formatted string)strfmt.DateTime
    forDuration
    provenancestringProvenance

    AlertRuleGroup

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    Intervalint64 (formatted integer)int64

    DayOfMonthRange

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    Beginint64 (formatted integer)int64
    Endint64 (formatted integer)int64

    Duration

    NameTypeGo typeDefaultDescriptionExample
    Durationint64 (formatted integer)int64

    EmbeddedContactPoint

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    DisableResolveMessagebooleanfalse
    NamestringstringName is used as grouping key in the UI. Contact points with the same name will be grouped in the UI.webhook_1
    Provenancestringstring
    Typestringstringwebhook
    UIDstringstringUID is the unique identifier of the contact point. The UID can be set by the user.my_external_reference
    settingsobjectJSON
    NameTypeGo typeDefaultDescriptionExample
    MatchTypeint64 (formatted integer)int640 = MatchEqual, 1 = MatchNotEqual, 2 = MatchRegexp, 3 = MatchNotRegexp

    Matcher

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    Namestringstring
    TypeMatchTypeMatchType
    Valuestringstring

    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

    NameTypeGo typeRequiredDefaultDescriptionExample
    Namestringstring
    Templatestringstring
    provenancestringProvenance

    MessageTemplateContent

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    Templatestringstring

    MonthRange

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    Beginint64 (formatted integer)int64
    Endint64 (formatted integer)int64

    MuteTimeInterval

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    Namestringstring
    TimeIntervals[][]*TimeInterval

    MuteTimings

    []

    NotFound

    ObjectMatchers

    Inlined models

    RelativeTimeRange

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    fromDurationDuration
    toDuration

    Route

    A Route is a node that contains definitions of how to handle alerts.

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    Continuebooleanbool
    GroupByStr[]string[]string
    MuteTimeIntervals[]string[]string
    Receiverstringstring
    Routes[][]*Route
    group_intervalDurationDuration
    group_waitDuration
    object_matchersObjectMatchersObjectMatchers
    provenancestringProvenance
    repeat_intervalDuration

    TimeInterval

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    DaysOfMonth[][]DayOfMonthRange
    Months[]monthrange[]MonthRange
    Times[][]TimeRange
    Weekdays[]weekdayrange[]WeekdayRange
    Years[][]*YearRange

    TimeRange

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

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    EndMinuteint64 (formatted integer)int64
    StartMinuteint64 (formatted integer)int64

    ValidationError

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    Msgstringstring

    WeekdayRange

    Properties

    NameTypeGo typeRequiredDefaultDescriptionExample
    Beginint64 (formatted integer)int64
    Endint64 (formatted integer)int64

    YearRange

    NameTypeGo typeRequiredDefaultDescriptionExample
    Beginint64 (formatted integer)int64
    Endint64 (formatted integer)int64