A notification plan contains a set of notification actions that Rackspace Monitoring executes when triggered by an alarm. Rackspace Monitoring currently supports webhook, email, PagerDuty, and SMS notifications.
Each notification state can contain multiple notification actions. For example, you can create a notification plan that hits a webhook/email to notify your operations team if a warning occurs. However, if the warning escalates to an Error, the notification plan could be configured to hit a different webhook/email that triggers both email and SMS messages to the operations team.
The notification plan supports the following states:
- Critical
- Warning
- OK
The default npTechnicalContracsEmail
notification plan emails all technical contacts on file for an account whenever the state changes.
Attributes
The following table describes the attributes for the notification plan resource.
Name | Description | Validation |
---|---|---|
label | Friendly name for the notification. | * String between 1 and 255 characters long |
critical_state | The notification list to send to when the state is CRITICAL. | Optional Array [Valid Notification] |
metadata | Arbitrary key/value pairs. | Optional Hash [String,String between 1 and 255 characters long:String, String between 1 and 255 characters long] * Array or object with number of items between 0 and 256 |
ok_state | The notification list to send to when the state is OK. | Optional Array [Valid Notification] |
warning_state | The notification list to send to when the state is WARNING. | Optional Array [Valid Notification] |
Use the following notification plan API operations to create, view, and manage notification plan resources.
- Create a notification plan
- List notification plans
- Get a notification plan by ID
- Update a notification plan by ID
- Delete a notification plan
Create a notification plan
POST /notification_plans
Create a new notification in the monitoring system by using a valid set of attributes from the notification plans table.
The following table shows the possible response codes for this operation:
Response Code | Name | Description |
---|---|---|
201 | Accepted | ‘Location’ header contains a link to the newly created notification plan. |
400 | Bad request | The system received an invalid value in a request. |
401 | Unauthorized | The system received a request from a user that is not authenticated. |
403 | Forbidden | The system received a request that the user is not authorized to make. |
500 | Internal Server Error | An unexpected condition was encountered. |
503 | Service Unavailable | The system is experiencing heavy load or another system failure. |
The following table shows the header parameters for the request:
Name | Type | Description |
---|---|---|
X-Auth-Token | String (Required) | A valid authentication token with administrative access. For details, see Get your credentials |
Example Create notification plan: JSON request
{
"label": "Notification Plan 1",
"critical_state": [
"ntAAAA"
],
"warning_state": [
"ntCCCCC"
],
"ok_state": [
"ntBBBB"
]
}
This operation does not return a response body.
List notification plans
GET /notification_plans
Lists the notification plans for the Rackspace Cloud Monitoring account. Use /notification_plans?id=notification_planOneId & id=notification_planTwoId
to filter the results to only include information about the specified notification plans.
This operation can be paginated. For information, see Paginated collections
The following table shows the possible response codes for this operation:
Response Code | Name | Description |
---|---|---|
200 | OK | Request completed. |
401 | Unauthorized | The system received a request from a user that is not authenticated. |
403 | Forbidden | The system received a request that the user is not authorized to make. |
500 | Internal Server Error | An unexpected condition was encountered. |
503 | Service Unavailable | The system is experiencing heavy load or another system failure. |
The following table shows the header parameters for the request:
Name | Type | Description |
---|---|---|
X-Auth-Token | String (Required) | A valid authentication token with administrative access. For details, see Get your credentials |
Note
This operation does not accept a request body.
Example List notification plans: JSON response
{
"values": [
{
"label": "Notification Plan 1",
"critical_state": [
"ntAAAA"
],
"warning_state": [
"ntCCCCC"
],
"ok_state": [
"ntBBBB"
]
}
],
"metadata": {
"count": 1,
"limit": 50,
"marker": null,
"next_marker": null,
"next_href": null
}
}
Get a notification plan by ID
GET /notification_plans/{notificationPlanId}
Returns information about the specified notification plan.
The following table shows the possible response codes for this operation:
Response Code | Name | Description |
---|---|---|
200 | OK | Request completed. |
401 | Unauthorized | The system received a request from a user that is not authenticated. |
403 | Forbidden | The system received a request that the user is not authorized to make. |
500 | Internal Server Error | An unexpected condition was encountered. |
503 | Service Unavailable | The system is experiencing heavy load or another system failure. |
This table shows the header parameters for the request:
Name | Type | Description |
---|---|---|
X-Auth-Token | String (Required) | A valid authentication token with administrative access. For details, see Get your credentials |
Note
This operation does not accept a request body.
Example Get notification plan by ID: JSON response
{
"label": "Notification Plan 1",
"critical_state": [
"ntAAAA"
],
"warning_state": [
"ntCCCCC"
],
"ok_state": [
"ntBBBB"
]
}
Update a notification plan by ID
PUT /notification_plans/{notificationPlanId}
Updates the notification plan properties.
You can make partial updates to a notification plan. When you submit the update request, only specify the parameters you want to update.
Update a notification in the monitoring system by using a valid set of attributes from the notification plans table.
The following table shows the possible response codes for this operation:
Response Code | Name | Description |
---|---|---|
400 | Bad request | The system received an invalid value in a request. |
401 | Unauthorized | The system received a request from a user that is not authenticated. |
403 | Forbidden | The system received a request that the user is not authorized to make. |
404 | Not Found | The URL, entity, or account requested is not found in the system. |
500 | Internal Server Error | An unexpected condition was encountered. |
503 | Service Unavailable | The system is experiencing heavy load or another system failure. |
Request¶
The following table shows the header parameters for the request:
Name | Type | Description |
---|---|---|
X-Auth-Token | String (Required) | A valid authentication token with administrative access. For details, see Get your credentials |
Example Update notification plan: JSON request
{
"critical_state": [
"ntBBBB"
],
"warning_state": []
}
This operation does not return a response body.
Delete a notification plan
DELETE /notification_plans/{notificationPlanId}
Delete a notification plan from your account.
The following table shows the possible response codes for this operation:
Response Code | Name | Description |
---|---|---|
200 | OK | The request completed. |
401 | Unauthorized | The system received a request from a user that is not authenticated. |
403 | Forbidden | The system received a request that the user is not authorized to make. |
404 | Not Found | The URL, entity, or account requested is not found in the system. |
500 | Internal Server Error | An unexpected condition was encountered. |
503 | Service Unavailable | The system is experiencing heavy load or another system failure. |
The following table shows the header parameters for the request:
Name | Type | Description |
---|---|---|
X-Auth-Token | String (Required) | A valid authentication token with administrative access. See Get your credentials |
Note
This operation does not accept a request body.
This operation does not return a response body.