Alerts and Notification Channels APIs

List of APIs to manage alerts and notification channels

Notification Channel APIs

Configure channel

post
/alerts/v1/notifications/create
Body
objectOptionalExample: {"manager":"grafana","name":"functional-metrics-email","type":"email","config":{"recipientAddresses":"[email protected];[email protected]","subject":"Obsrv Prod Alert"}}
Responses
200

Successful response

application/json
post
/alerts/v1/notifications/create
200

Successful response

No content

Publish Channel

get
/alerts/v1/notifications/publish/{alert_id}
Path parameters
alert_idstringRequired

Unique identifier for the alert

Responses
200

Successful response

application/json
get
/alerts/v1/notifications/publish/{alert_id}
200

Successful response

No content

Search Notificaation Channels

post
/alerts/v1/notifications/search
Body
Responses
200

Successful response

application/json
post
/alerts/v1/notifications/search
200

Successful response

No content

Update Specific Channel

patch
/alerts/v1/notifications/update/{alert_id}
Path parameters
alert_idstringRequired

Unique identifier for the alert

Body
objectOptionalExample: {"name":"updated name"}
Responses
200

Successful response

application/json
patch
/alerts/v1/notifications/update/{alert_id}
200

Successful response

No content

Delete Channel

delete
/alerts/v1/notifications/delete/{alert_id}
Path parameters
alert_idstringRequired

Unique identifier for the alert

Responses
200

Successful response

application/json
delete
/alerts/v1/notifications/delete/{alert_id}
200

Successful response

No content

Verify Configured Channel

post
/alerts/v1/notifications/test
Body
objectOptionalExample: {"message":"Testing Email integration. If you can read this, it's working!","payload":{"error":{"selectChannel":true,"configureChannel":true},"manager":"grafana","name":"udhw","type":"email","config":{"recipientAddresses":"[email protected]"}}}
Responses
200

Successful response

application/json
post
/alerts/v1/notifications/test
200

Successful response

No content

Alerts APIs

Add Rule

post
/alerts/v1/create
Header parameters
AcceptstringOptionalExample: application/json, text/plain, */*
Accept-LanguagestringOptionalExample: en-GB,en
Cache-ControlstringOptionalExample: no-store
ConnectionstringOptionalExample: keep-alive
Content-TypestringOptionalExample: application/json
CookiestringOptionalExample: connect.sid=s%3A5w5I87Tior-cvNu-SijqRFKGxy_b-WIP.lDKfWAJZbxW0kMaUqj%2B0Ivu%2FvNXXL8S796Fa7%2BNyM9Q; grafana_session=4eb514f6fef4ad6884e47e50254af650; grafana_session_expiry=1687239735
OriginstringOptionalExample: http://localhost:3001
PragmastringOptionalExample: no-store
RefererstringOptionalExample: http://localhost:3001/alertRules/add
Sec-Fetch-DeststringOptionalExample: empty
Sec-Fetch-ModestringOptionalExample: cors
Sec-Fetch-SitestringOptionalExample: same-origin
Sec-GPCintegerOptionalExample: 1
User-AgentstringOptionalExample: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Body
stringOptionalExample: "{\n \"name\": \"Total Api Calls1\",\n \"manager\":\"grafana\",\n \"description\": \"This alert is set up to notify you when the CPU usage on a host reaches a Low level.\",\n \"expression\": \"(node_total_api_calls) > 20\",\n \"category\": \"Infra\",\n \"severity\":\"warning\",\n \"frequency\": \"1m\",\n \"interval\": \"1m\",\n \"labels\": {\n \"component\": \"api\",\n \"notificationChannel\": \"slack\"\n },\n \"annotations\":{\n \"summary\":\"Host Low CPU usage\"\n },\n \"metadata\": {\n \"query\": [\n {\n \"refId\": \"A\",\n \"datasourceUid\": \"$datasourceUid\",\n \"queryType\": \"\",\n \"relativeTimeRange\": {\n \"from\": 600,\n \"to\": 0\n },\n \"model\": {\n \"refId\": \"A\",\n \"hide\": false,\n \"editorMode\": \"code\",\n \"expr\": \"node_total_api_calls\",\n \"legendFormat\": \"__auto\",\n \"range\": true\n }\n },\n {\n \"refId\": \"B\",\n \"datasourceUid\": \"__expr__\",\n \"queryType\": \"\",\n \"model\": {\n \"refId\": \"B\",\n \"hide\": false,\n \"type\": \"reduce\",\n \"datasource\": {\n \"uid\": \"__expr__\",\n \"type\": \"__expr__\"\n },\n \"conditions\": [\n {\n \"type\": \"query\",\n \"evaluator\": {\n \"params\": [],\n \"type\": \"gt\"\n },\n \"operator\": {\n \"type\": \"and\"\n },\n \"query\": {\n \"params\": [\n \"B\"\n ]\n },\n \"reducer\": {\n \"params\": [],\n \"type\": \"last\"\n }\n }\n ],\n \"reducer\": \"last\",\n \"expression\": \"A\"\n },\n \"relativeTimeRange\": {\n \"from\": 600,\n \"to\": 0\n }\n },\n {\n \"refId\": \"C\",\n \"datasourceUid\": \"__expr__\",\n \"queryType\": \"\",\n \"model\": {\n \"refId\": \"C\",\n \"hide\": false,\n \"type\": \"threshold\",\n \"datasource\": {\n \"uid\": \"__expr__\",\n \"type\": \"__expr__\"\n },\n \"conditions\": [\n {\n \"type\": \"query\",\n \"evaluator\": {\n \"params\": [\n 20\n ],\n \"type\": \"gt\"\n },\n \"operator\": {\n \"type\": \"and\"\n },\n \"query\": {\n \"params\": [\n \"C\"\n ]\n },\n \"reducer\": {\n \"params\": [],\n \"type\": \"last\"\n }\n }\n ],\n \"expression\": \"B\"\n },\n \"relativeTimeRange\": {\n \"from\": 600,\n \"to\": 0\n }\n }\n ]\n }\n}"
Responses
200

Successful response

application/json
post
/alerts/v1/create
200

Successful response

No content

Publish Alert Rules

get
/alerts/v1/publish/{alert_id}
Path parameters
alert_idstringRequired

Unique identifier for the alert

Responses
200

Successful response

application/json
get
/alerts/v1/publish/{alert_id}
200

Successful response

No content

Get Alert Rule

get
/alerts/v1/get/{alert_id}
Path parameters
alert_idstringRequired

Unique identifier for the alert

Responses
200

Successful response

application/json
get
/alerts/v1/get/{alert_id}
200

Successful response

No content

Search Alert Rule

post
/alerts/v1/search
Body
objectOptionalExample: {"request":{}}
Responses
200

Successful response

application/json
post
/alerts/v1/search
200

Successful response

No content

Update Rule

patch
/alerts/v1/update/{alert_id}

This URL will provide access to users to edit any properties in the Alert rule and save the changes.

Path parameters
alert_idstringRequired

Unique identifier for the alert

Body
objectOptionalExample: {"description":"This alert rule is designed to promptly notify you when one or more servers in your infrastructure become unresponsive or inaccessible.","labels":{"severity":"warning"}}
Responses
200

Successful response

application/json
patch
/alerts/v1/update/{alert_id}
200

Successful response

No content

Delete Configured Alert Rules

delete
/alerts/v1/delete/{alert_id}

This URLwill provided access to user to delete any custom rule.

Path parameters
alert_idstringRequired

Unique identifier for the alert

Responses
200

Successful response

application/json
delete
/alerts/v1/delete/{alert_id}
200

Successful response

No content

Alerts Silience APIs

Add Silence

post
/alerts/v1/silence/create
Body
objectOptionalExample: {"startDate":"2024-01-11T07:56:23Z","endDate":"2024-01-11T08:56:23Z","alertId":"c7464d32-1d8d-4eaf-9b23-1313a3ff8149","manager":"grafana"}
Responses
200

Successful response

application/json
post
/alerts/v1/silence/create
200

Successful response

No content

Get Silence

get
/alerts/v1/silence/get/{alert_id}
Path parameters
alert_idstringRequired

Unique identifier for the alert

Responses
200

Successful response

application/json
get
/alerts/v1/silence/get/{alert_id}
200

Successful response

No content

get
/alerts/v1/silence/search
Responses
200

Successful response

application/json
get
/alerts/v1/silence/search
200

Successful response

No content