Notification Rule API (Deprecated)
Create an API Integration and obtain your apiKey to make requests listed below.
You can refer Notification Settings for detailed information about the notification rules and their steps.
Notification Rule API Requests
Add Notification Rule Request
Add Notification Rule request is used to add a new notification rule to the specified user in OpsGenie.
Adding a notification rule with step(s) is not supported. You should create a notification rule without its steps first and then configure the steps by using the Notification Rule Step API requests to achieve this.
It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
name | Name of the notification rule. |
actionType | Type of the action that notification rule will have. Should be one of New Alert, Acknowledged Alert, Closed Alert, Schedule Start, Renotified Alert, Assigned Alert, Add Note, Schedule End. |
conditionMatchType | Type of the operation will be applied on conditions. Should be one of Match All, Match Any Condition, Match All Conditions |
conditions | List of conditions will be checked before applying notification rule. Mandatory when actionType is not Schedule Start/End and conditionMatchType is Match Any Condition or Match All Conditions. You can refer here for more about the parameter definition. |
notifyBefore | List of Time Periods that notification for schedule start/end will be sent. Mandatory for Schedule Start/End rules. Can be Just Before, 15 mins, 1 hour, 1 day |
Optional Parameters
Parameter | |
---|---|
applyOrder | The order of the notification rule within the notification rules with the same action type. applyOrder value is actually the index of the notification rule whose minimum value is 0 and whose maximum value is n-1 where the number of notification rules with the same action type is n. If the number of notification rules with the given type is greater than or equal to applyOrder value, the behavior will be the same as not providing this parameter. |
restrictions | Time interval that notification rule will work. It can be just one restriction which will be applied all days, or list of restrictions will be applied to the specified days. You may refer here for more about the parameter definition. |
schedules | This field is valid for Schedule Start/End rules. It can be list of schedule names/ids that notification rule will be applied when on call of that schedule starts/ends. This field shall only be populated with the specified user's schedules. |
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule' -d '
{
"username":"[email protected]",
"name": "New Alert Night",
"actionType": "New Alert",
"conditionMatchType": "Match All Conditions",
"conditions": [
{
"not": "false",
"field": "message",
"operation": "contains",
"expectedValue": "night"
},
{
"not": "true",
"field": "extraProperties",
"operation": "contains Key",
"expectedValue": "prop1"
}
],
"restrictions":{
"startHour":"15",
"startMinute":"04",
"endHour":"18",
"endMinute":"58"
}
}'
Response:
{
"id" : "d609c2d4-c7e0-4c3c-b339-40bb58f89963",
"status" : "successful",
"code" : 200
}
Sample Schedule Start Notification Rule Request
curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule' -d '
{
"username":"[email protected]",
"name": "Schedule Start",
"actionType": "Schedule Start",
"schedules": ["network_team_schedule"],
"notifyBefore": ["Just Before", "15 Mins"],
"restrictions":[
{
"startHour":"15",
"startMinute":"04",
"endHour":"18",
"endMinute":"58",
"startDay":"Monday",
"endDay": "Tuesday"
},
{
"startHour":"10",
"startMinute":"00",
"endHour":"18",
"endMinute":"15",
"startDay":"Wednesday",
"endDay": "Thursday"
}
]
}
Response:
{
"code": 200,
"id": "56be7184-94d9-4335-b8d6-c3cab63f9455",
"status": "successful"
}
Update Notification Rule Request
Update Notification Rule request is used to update notification rules of users in OpsGenie.
Updating notification rule with steps is not supported.
It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
id | Id of the notification rule will be updated. |
Optional Parameters
Parameter | |
---|---|
name | Name of the notification rule. |
conditionMatchType | Type of the operation will be applied on conditions. |
conditions | List of conditions will be checked before applying notification rule. You can refer here for more about the parameter definition. |
notifyBefore | List of Time Periods that notification for schedule start will be sent. |
restrictions | Time interval that notification rule will work. To remove all restrictions, this field should be populated with empty object ({}) or empty list ([]). You may refer here for more about the parameter definition. |
schedules | This field is valid for Schedule Start rules. It can be list of schedule names/ids that notification rule will be applied when on call of that schedule starts. This field shall only be populated with the users schedules. |
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule' -d '
{
"username":"[email protected]",
"id" : "d609c2d4-c7e0-4c3c-b339-40bb58f89963",
"conditionMatchType": "Match All",
"restrictions":{}
}'
Response:
{
"id" : "d609c2d4-c7e0-4c3c-b339-40bb58f89963",
"status" : "successful",
"code" : 200
}
Sample Schedule Start Notification Rule Request
curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule' -d '
{
"username":"[email protected]",
"id": "56be7184-94d9-4335-b8d6-c3cab63f9455",
"schedules": [],
"restrictions":[]
}
Response:
{
"code": 200,
"id": "56be7184-94d9-4335-b8d6-c3cab63f9455",
"status": "successful"
}
Delete Notification Rule Request
Delete Notification Rule request is used to delete notification rules of users in OpsGenie.
It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
id | Id of notification rule will be deleted. |
Sample Request
curl -XDELETE 'https://api.opsgenie.com/v1/json/user/notificationRule?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&[email protected]&id=57d6bdbc-6ad2-4366-8438-6d1f4e10fb60'
Response:
{
"code": 200,
"status": "successful"
}
Enable Notification Rule Request
Enable Notification Rule request is used to enable notification rules of users in OpsGenie.
It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
id | Id of notification rule will be enabled. |
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule/enable?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889' -d '
{
"username": "[email protected]",
"id": "8f38dcfb-b5ff-48ce-bedb-6322681eacb6"
}'
Response:
{
"status": "success"
}
Disable Notification Rule Request
Disable Notification Rule request is used to disable notification rules of users in OpsGenie.
It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
id | Id of notification rule will be disabled. |
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule/disable?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889' -d '
{
"username": "[email protected]",
"id": "8f38dcfb-b5ff-48ce-bedb-6322681eacb6"
}'
Response:
{
"status": "success"
}
Change Notification Rule Order Request
Change Notification Rule Order Request is used to change the appliance order of the notification rule within the notification rules with same action type.
It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
id | Id of the notification rule whose appliance order will be updated. |
applyOrder | The new order of the notification rule within the notification rules of same action type. applyOrder value is actually the index of the notification rule whose minimum value is 0 and whose maximum value is n-1 where the number of notification rules with the same action type is n. |
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule/changeOrder?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889' -d '
{
"username": "[email protected]",
"id": "8f38dcfb-b5ff-48ce-bedb-6322681eacb6",
"applyOrder" : 1
}'
Response:
{
"status": "success"
}
Repeat Notification Rule Request
Repeat Notification Rule request is used to repeat notification rules of users in OpsGenie.
Repeat option is only valid for New Alert Notification Rules
It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
id | Id of notification rule will be repeated. |
loopAfter | The amount of time in minutes that notification steps will be repeatedly apply. If enabled parameter is specified with true, loopAfter parameter should also be specified. You may refer Notification Settings for further information about repeating. |
Optional Parameters
Parameter | |
---|---|
enabled | Boolean value that will decide whether repeating is enabled or not. Possible values are true and false. |
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule/repeat?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889' -d '
{
"username": "[email protected]",
"id": "8f38dcfb-b5ff-48ce-bedb-6322681eacb6",
"loopAfter":"5"
}'
Response
{
"status": "success"
}
Get Notification Rule Request
This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.
Get Notification Rule request is used to retrieve notification rule details of users in OpsGenie. It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
id | Id of the notification rule that will be retrieved. |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
Sample Request
curl -XGET 'https://api.opsgenie.com/v1/json/user/notificationRule?apiKey=ba503523-f94c-4adb-a2f4-376e99f68885&[email protected]&id=67c4855a-4c1b-4cbf-9be2-87eb212760e9
Response:
{
"actionType": "New Alert",
"name": "New Alert",
"restrictions": {
"endHour": 18,
"startHour": 0,
"startMinute": 0,
"endMinute": 0
},
"id": "67c4855a-4c1b-4cbf-9be2-87eb212760e9",
"conditions": [
{
"not": false,
"field": "message",
"expectedValue": "new",
"operation": "Contains"
},
{
"not": false,
"field": "actions",
"expectedValue": "ping",
"operation": "Contains"
}
],
"steps": [
{
"method": "voice",
"to": "1-9999999999",
"id": "6419cef5-ca1f-4842-9ddc-518952c60c2b",
"sendAfter": 0,
"enabled": true
}
],
"enabled": true,
"conditionMatchType": "Match All Conditions",
"loopAfter": 0
}
Sample Request for Schedule Start Notification Rule
curl -XGET 'https://api.opsgenie.com/v1/json/user/notificationRule?apiKey=ba503523-f94c-4adb-a2f4-376e99f68885&[email protected]&id=5ef5cc7f-23f4-4168-9f0f-d543d0c325b4
{
"actionType": "Schedule Start",
"schedules": [
"network_team_schedule"
],
"name": "Schedule Start",
"notifyBefore": [
"Just Before",
"15 mins"
],
"restrictions": [
{
"endHour": 0,
"startDay": "SUNDAY",
"startHour": 0,
"endDay": "MONDAY",
"startMinute": 0,
"endMinute": 0
}
],
"id": "5ef5cc7f-23f4-4168-9f0f-d543d0c325b4",
"steps": [
{
"method": "email",
"to": "[email protected]",
"id": "2dae31b1-5e89-4c33-a05f-d1f0e746c4db",
"sendAfter": 0,
"enabled": true
}
],
"enabled": true
}
List Notification Rules Request
This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.
List Notification Rule request is used to retrieve all notification rules with details of users in OpsGenie. It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
Sample Request
curl -XGET 'https://api.opsgenie.com/v1/json/user/notificationRule?apiKey=ba503523-f94c-4adb-a2f4-376e99f68885&[email protected]
Response:
{
"rules": [
{
"actionType": "Schedule Start",
"applyOrder": 0,
"schedules": [
"network_team_schedule"
],
"name": "Schedule Start",
"notifyBefore": [
"Just Before",
"15 mins"
],
"restrictions": [
{
"endHour": 0,
"startDay": "SUNDAY",
"startHour": 0,
"endDay": "MONDAY",
"startMinute": 0,
"endMinute": 0
}
],
"id": "5ef5cc7f-23f4-4168-9f0f-d543d0c325b4",
"steps": [
{
"method": "email",
"to": "[email protected]",
"id": "2dae31b1-5e89-4c33-a05f-d1f0e746c4db",
"sendAfter": 0,
"enabled": true
}
],
"enabled": true
},
{
"actionType": "New Alert",
"applyOrder": 0,
"name": "New Alert",
"restrictions": {
"endHour": 18,
"startHour": 0,
"startMinute": 0,
"endMinute": 0
},
"id": "67c4855a-4c1b-4cbf-9be2-87eb212760e9",
"conditions": [
{
"not": false,
"field": "message",
"expectedValue": "new",
"operation": "Contains"
},
{
"not": false,
"field": "actions",
"expectedValue": "ping",
"operation": "Contains"
}
],
"steps": [
{
"method": "voice",
"to": "1-9999999999",
"id": "6419cef5-ca1f-4842-9ddc-518952c60c2b",
"sendAfter": 0,
"enabled": true
}
],
"enabled": true,
"conditionMatchType": "Match All Conditions",
"loopAfter": 0
},
{
"actionType": "New Alert",
"applyOrder": 1,
"name": "New Alert Night",
"restrictions": {
"endHour": 18,
"startHour": 15,
"startMinute": 4,
"endMinute": 58
},
"id": "d609c2d4-c7e0-4c3c-b339-40bb58f89963",
"conditions": [
{
"not": false,
"field": "message",
"expectedValue": "asdf",
"operation": "Equals"
},
{
"not": true,
"field": "extraProperties",
"expectedValue": "asdf",
"operation": "Contains Key"
}
],
"steps": [
{
"method": "email",
"to": "[email protected]",
"id": "bd96aa09-e161-4c7e-8d15-ba5e55b7b1e2",
"sendAfter": 5,
"enabled": true
}
],
"enabled": true,
"conditionMatchType": "Match All Conditions",
"loopAfter": 5
}
]
}
Parameters of Conditions
conditions field should contain list of condition objects. condition objects should have the following format:
Parameter | |
---|---|
not | |
field | Alert field will be checked for the condition.Available fields: message, alias, description, source, entity, tags, actions, extraProperties, recipients, teams. |
operation | Condition Operation which will be applied when comparing alert field and the expected value. Available operations changes according to the fields type. String Operations: Contains, Equals, Starts With, Ends With, Matches, Is Empty, Equals Ignore Whitespace List Operations: Contains, Is Empty Map Operations: Contains, Contains Key, Contains Value, Is Empty Number Operations: Matches, Equals, Greater Than, Less Than * Boolean Operations: Equals |
expectedValue | User defined value that will be compared with alert field according to the operation |
Parameters Of Restriction
Restrictions can be only one restriction object which will be applied to all weekdays, or list of restriction objects containing additional startDay and endDay info.
To get detailed information about time restrictions, you can refer to our Time Constraints and Time Zones support doc.
Parameter | |
---|---|
startHour | Value of the hour that notification rule start working. |
startMinute | Value of the minute that notification rule start working. |
endHour | Value of the hour that notification rule end working. |
endMinute | Value of the minute that notification rule end working. |
startDay | Name of day when restriction will start. Mandatory only list of restriction objects. May be one of monday, tuesday, wednesday, thursday, friday, saturday, sunday |
endDay | Name of day when restriction will end. Mandatory only list of restriction objects. May be one of monday, tuesday, wednesday, thursday, friday, saturday, sunday |
Notification Rule Step API Requests
Add Notification Rule Step Request
Add Notification Rule Step request is used to add steps to notification rules in OpsGenie.
It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
ruleId | Id of the notification rule that step will belong to. |
method | Method of the contact that notification will be sent to, should be one of email, voice or sms. |
to | Address of the contact that notification will be sent to. |
sendAfter | Minute time period notification will be sent after. Valid and Mandatory only for New Alert and Assigned Alert notification rules. |
Adding Notification Rule Step with a mobile contact is not supported.
Sample Request
{curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule/step' -d '
"username":"[email protected]",
"ruleId":"d609c2d4-c7e0-4c3c-b339-40bb58f89963",
"method":"email",
"to":"[email protected]",
"sendAfter":"5"
}
Response
{
"code": 200,
"id": "6680f7b3-715e-4add-86f0-690f08d31711",
"status": "successful"
}
Update Notification Rule Step Request
Update Notification Rule Step request is used to update steps of notification rules in OpsGenie.
It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
ruleId | Id of the notification rule that step belongs to. |
id | Id of the rule step will be updated. |
Optional Parameters
Parameter | |
---|---|
method | Method of the contact notification will be sent to, should be one of email, voice or sms. |
to | Address of the contact notification will be sent to. |
sendAfter | Minute time period notification will be sent after. Valid only for New Alert and Assigned Alert notification rules. |
Updating Notification Rule Step with a mobile contact is not supported.
Sample Request
{curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule/step' -d '
"username":"[email protected]",
"ruleId":"d609c2d4-c7e0-4c3c-b339-40bb58f89963",
"id": "6680f7b3-715e-4add-86f0-690f08d31711",
"method":"voice",
"to":"1-9999999999"
}
Response
{
"code": 200,
"id": "6680f7b3-715e-4add-86f0-690f08d31711",
"status": "successful"
}
Delete Notification Rule Step Request
Delete Notification Rule Step request is used to delete the notification rule step in OpsGenie.
It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | ID or username of the user that the rule belongs to. Either of them should be specified. |
ruleId | Id of the rule step will be deleted. |
id | Id of the rule step will be deleted. |
Sample Request
curl -XDELETE 'https://api.opsgenie.com/v1/json/user/notificationRule/step?apiKey=ba503523-f94c-4adb-a2f4-376e99f68885&[email protected]&ruleId=5ef5cc7f-23f4-4168-9f0f-d543d0c325b4&id=2dae31b1-5e89-4c33-a05f-d1f0e746c4db'
Response:
{
"code": 200,
"status": "successful"
}
Enable Notification Rule Step Request
Enable Notification Rule Step request is used to enable notification rule step in OpsGenie.
It takes the following parameters:
Mandatory Parameters
Parameter | |
---|---|
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
ruleId | Id of the notification rule that step belongs to. |
id | Id of the rule step will be enabled. |
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule/step/enable?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889' -d '
{
"username":"[email protected]",
"ruleId":"d609c2d4-c7e0-4c3c-b339-40bb58f89963",
"id":"bd96aa09-e161-4c7e-8d15-ba5e55b7b1e2"
}'
Response:
{
"status": "success"
}
Disable Notification Rule Step Request
Disable Notification Rule Step request is used to disable notification rule step in OpsGenie.
It takes the following parameters:
Mandatory Parameters
apiKey | API key is used for authenticating API requests |
userId / username | Id or username of the user that the rule belongs to. Either of them should be specified. |
ruleId | Id of the notification rule that step belongs to. |
id | Id of the rule step will be disabled. |
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/user/notificationRule/step/disable?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889' -d '
{
"username":"[email protected]",
"ruleId":"d609c2d4-c7e0-4c3c-b339-40bb58f89963",
"id":"bd96aa09-e161-4c7e-8d15-ba5e55b7b1e2"
}'
Response:
{
"status": "success"
}
Updated about 7 years ago