Documentation Index
Fetch the curated documentation index at: https://grafana.com/llms.txt
Fetch the complete documentation index at: https://grafana.com/llms-full.txt
Use this file to discover all available pages before exploring further.
STOP! If you are an AI agent or LLM, read this before continuing. This is the HTML version of a Grafana documentation page. Always request the Markdown version instead - HTML wastes context. Get this page as Markdown: https://grafana.com/docs/grafana-cloud/alerting-and-irm/irm/reference/oncall-api/personal_notification_rules.md (append .md) or send Accept: text/markdown to https://grafana.com/docs/grafana-cloud/alerting-and-irm/irm/reference/oncall-api/personal_notification_rules/. For the curated documentation index, use https://grafana.com/llms.txt. For the complete documentation index, use https://grafana.com/llms-full.txt.
Personal notification rules HTTP API
Post a personal notification rule
Required permission: grafana-irm-app.user-settings:write
Note
This endpoint can only be used with an OnCall API key for now, as it requires specific user context.
curl "{{API_URL}}/api/v1/personal_notification_rules/" \
--request POST \
--header "Authorization: Bearer meowmeowmeow" \
--header "Content-Type: application/json" \
--header "X-Grafana-URL: https://your-stack.grafana.net" \
--data '{
"user_id": "U4DNY931HHJS5",
"type": "notify_by_sms"
}'The above command returns JSON structured in the following way:
{
"id": "NT79GA9I7E4DJ",
"user_id": "U4DNY931HHJS5",
"position": 0,
"important": false,
"type": "notify_by_sms"
}| Parameter | Required | Description |
|---|---|---|
user_id | Yes | User ID |
position | Optional | Personal notification rules execute one after another starting from position=0. Position=-1 will put the escalation policy to the end of the list. A new escalation policy created with a position of an existing escalation policy will move the old one (and all following) down on the list. |
type | Yes | One of: wait, notify_by_slack, notify_by_sms, notify_by_phone_call, notify_by_telegram, notify_by_email, notify_by_mobile_app, notify_by_mobile_app_critical,notify_by_webhook, or notify_by_msteams. |
duration | Optional | A time in seconds to wait (when type=wait). Can be one of 60, 300, 900, 1800, or 3600. |
important | Optional | Boolean value indicates if a rule is “important”. Default is false. |
HTTP request
POST {{API_URL}}/api/v1/personal_notification_rules/
Get personal notification rule
Required permission: grafana-irm-app.user-settings:read
Note
This endpoint can only be used with an OnCall API key for now, as it requires specific user context.
curl "{{API_URL}}/api/v1/personal_notification_rules/ND9EHN5LN1DUU/" \
--request GET \
--header "Authorization: Bearer meowmeowmeow" \
--header "Content-Type: application/json" \
--header "X-Grafana-URL: https://your-stack.grafana.net"The above command returns JSON structured in the following way:
{
"id": "ND9EHN5LN1DUU",
"user_id": "U4DNY931HHJS5",
"position": 1,
"duration": 300,
"important": false,
"type": "wait"
}HTTP request
GET {{API_URL}}/api/v1/personal_notification_rules/<PERSONAL_NOTIFICATION_RULE_ID>/
List personal notification rules
Required permission: grafana-irm-app.user-settings:read
Note
This endpoint can only be used with an OnCall API key for now, as it requires specific user context.
curl "{{API_URL}}/api/v1/personal_notification_rules/" \
--request GET \
--header "Authorization: Bearer meowmeowmeow" \
--header "Content-Type: application/json" \
--header "X-Grafana-URL: https://your-stack.grafana.net"The above command returns JSON structured in the following ways:
{
"count": 4,
"next": null,
"previous": null,
"results": [
{
"id": "NT79GA9I7E4DJ",
"user_id": "U4DNY931HHJS5",
"position": 0,
"important": false,
"type": "notify_by_sms"
},
{
"id": "ND9EHN5LN1DUU",
"user_id": "U4DNY931HHJS5",
"position": 1,
"duration": 300,
"important": false,
"type": "wait"
},
{
"id": "NEF49YQ1HNPDD",
"user_id": "U4DNY931HHJS5",
"position": 2,
"important": false,
"type": "notify_by_phone_call"
},
{
"id": "NWAL6WFJNWDD8",
"user_id": "U4DNY931HHJS5",
"position": 0,
"important": true,
"type": "notify_by_phone_call"
}
],
"current_page_number": 1,
"page_size": 50,
"total_pages": 1
}Note: The response is paginated. You may need to make multiple requests to get all records.
The following available filter parameters should be provided as GET arguments:
user_idimportant
HTTP Request
GET {{API_URL}}/api/v1/personal_notification_rules/
Delete a personal notification rule
Required permission: grafana-irm-app.user-settings:write
Note
This endpoint can only be used with an OnCall API key for now, as it requires specific user context.
curl "{{API_URL}}/api/v1/personal_notification_rules/NWAL6WFJNWDD8/" \
--request DELETE \
--header "Authorization: Bearer meowmeowmeow" \
--header "Content-Type: application/json" \
--header "X-Grafana-URL: https://your-stack.grafana.net"HTTP request
DELETE {{API_URL}}/api/v1/personal_notification_rules/<PERSONAL_NOTIFICATION_RULE_ID>/
Was this page helpful?
Related resources from Grafana Labs


