Create a monitor notification rule
https://api.datadoghq.com/api/v2/monitor/notification_rulehttps://api.us3.datadoghq.com/api/v2/monitor/notification_rulehttps://api.us5.datadoghq.com/api/v2/monitor/notification_rulehttps://api.datadoghq.eu/api/v2/monitor/notification_rulehttps://api.ap1.datadoghq.com/api/v2/monitor/notification_rulehttps://api.ap2.datadoghq.com/api/v2/monitor/notification_rulehttps://api.uk1.datadoghq.com/api/v2/monitor/notification_rulehttps://api.ddog-gov.com/api/v2/monitor/notification_rulehttps://api.us2.ddog-gov.com/api/v2/monitor/notification_ruleOverview
Creates a monitor notification rule.
Request
Body Data (required)
Request body to create a monitor notification rule.
data [required]Object to create a monitor notification rule.
attributes [required]Attributes of the monitor notification rule.
bundle_configUse bundle config to enable alert bundling to reduce monitor signal noises. Note: This feature is in preview and is subject to change. If you have any feedback, contact Datadog support.
duration [required]Duration of the bundling period.
conditional_recipientsUse conditional recipients to define different recipients for different situations. Cannot be used with recipients.
conditions [required]Conditions of the notification rule.
recipients [required]A list of recipients to notify. Uses the same format as the monitor message field. Must not start with an '@'.
scope [required]Defines the condition under which the recipients are notified. Supported formats:
- Monitor status condition using
transition_type:<status>, for exampletransition_type:is_alert. - A single tag key:value pair, for example
env:prod.
fallback_recipientsIf none of the conditions applied, fallback_recipients will get notified.
filterSpecifies the matching criteria for monitor notifications.
Object 1Filters monitor notifications by a list of tag key:value pairs.
tags [required]A list of tag key:value pairs (e.g. team:product). All tags must match (AND semantics).
Object 2Filters monitor notifications using a scope expression over key:value pairs with boolean logic (AND, OR, NOT).
scope [required]A scope expression composed by key:value pairs (e.g. service:foo) with boolean operators (AND, OR, NOT) and parentheses for grouping.
name [required]The name of the monitor notification rule.
recipientsA list of recipients to notify. Uses the same format as the monitor message field. Must not start with an '@'. Cannot be used with conditional_recipients.
typeMonitor notification rule resource type.
monitor-notification-rulemonitor-notification-ruleCreate a monitor notification rule returns "OK" response
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel",
"jira-test"
]
},
"type": "monitor-notification-rule"
}
}Create a monitor notification rule with bundle config returns "OK" response
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel"
],
"bundle_config": {
"duration": 3600
}
},
"type": "monitor-notification-rule"
}
}Create a monitor notification rule with conditional recipients returns "OK" response
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"conditional_recipients": {
"conditions": [
{
"scope": "transition_type:is_alert",
"recipients": [
"slack-test-channel",
"jira-test"
]
}
]
}
},
"type": "monitor-notification-rule"
}
}Response
OK
A monitor notification rule.
dataMonitor notification rule data.
attributesAttributes of the monitor notification rule.
bundle_configUse bundle config to enable alert bundling to reduce monitor signal noises. Note: This feature is in preview and is subject to change. If you have any feedback, contact Datadog support.
duration [required]Duration of the bundling period.
conditional_recipientsUse conditional recipients to define different recipients for different situations. Cannot be used with recipients.
conditions [required]Conditions of the notification rule.
recipients [required]A list of recipients to notify. Uses the same format as the monitor message field. Must not start with an '@'.
scope [required]Defines the condition under which the recipients are notified. Supported formats:
- Monitor status condition using
transition_type:<status>, for exampletransition_type:is_alert. - A single tag key:value pair, for example
env:prod.
fallback_recipientsIf none of the conditions applied, fallback_recipients will get notified.
createdCreation time of the monitor notification rule.
filterSpecifies the matching criteria for monitor notifications.
Object 1Filters monitor notifications by a list of tag key:value pairs.
tags [required]A list of tag key:value pairs (e.g. team:product). All tags must match (AND semantics).
Object 2Filters monitor notifications using a scope expression over key:value pairs with boolean logic (AND, OR, NOT).
scope [required]A scope expression composed by key:value pairs (e.g. service:foo) with boolean operators (AND, OR, NOT) and parentheses for grouping.
modifiedTime the monitor notification rule was last modified.
nameThe name of the monitor notification rule.
recipientsA list of recipients to notify. Uses the same format as the monitor message field. Must not start with an '@'. Cannot be used with conditional_recipients.
idThe ID of the monitor notification rule.
relationshipsAll relationships associated with monitor notification rule.
created_byThe user who created the monitor notification rule.
dataData for the user who created the monitor notification rule.
idUser ID of the monitor notification rule creator.
typeUsers resource type.
usersuserstypeMonitor notification rule resource type.
monitor-notification-rulemonitor-notification-ruleincludedArray of objects related to the monitor notification rule that the user requested.
<type=users>User object returned by the API.
attributesAttributes of user object returned by the API.
created_atThe ISO 8601 timestamp of when the user account was created.
disabledWhether the user account is deactivated. Disabled users cannot log in.
emailThe email address of the user, used for login and notifications.
handleThe unique handle (username) of the user, typically matching their email prefix.
iconURL of the user's profile icon, typically a Gravatar URL derived from the email address.
last_login_timeThe ISO 8601 timestamp of the user's most recent login, or null if the user has never logged in.
mfa_enabledWhether multi-factor authentication (MFA) is enabled for the user's account.
modified_atThe ISO 8601 timestamp of when the user account was last modified.
nameThe full display name of the user as shown in the Datadog UI.
service_accountWhether this is a service account rather than a human user. Service accounts are used for programmatic API access.
statusThe current status of the user account (for example, Active, Pending, or Disabled).
titleThe job title of the user (for example, "Senior Engineer" or "Product Manager").
uuidThe globally unique identifier (UUID) of the user.
verifiedWhether the user's email address has been verified.
idID of the user.
relationshipsRelationships of the user object returned by the API.
orgRelationship to an organization.
data [required]Relationship to organization object.
id [required]ID of the organization.
type [required]Organizations resource type.
orgsorgsother_orgsRelationship to organizations.
data [required]Relationships to organization objects.
id [required]ID of the organization.
type [required]Organizations resource type.
orgsorgsother_usersRelationship to users.
data [required]Relationships to user objects.
id [required]A unique identifier that represents the user.
type [required]Users resource type.
usersusersrolesRelationship to roles.
dataAn array containing type and the unique identifier of a role.
idThe unique identifier of the role.
typeRoles type.
rolesrolestypeUsers resource type.
usersusers{
"data": {
"attributes": {
"bundle_config": {
"duration": 3600
},
"conditional_recipients": {
"conditions": [
{
"recipients": [
"slack-test-channel",
"jira-test"
],
"scope": "transition_type:is_alert"
}
],
"fallback_recipients": [
"slack-test-channel",
"jira-test"
]
},
"created": "2020-01-02 03:04:00+00:00",
"filter": {
"tags": [
"team:product",
"host:abc"
]
},
"modified": "2020-01-02 03:04:00+00:00",
"name": "A notification rule name",
"recipients": [
"slack-test-channel",
"jira-test"
]
},
"id": "00000000-0000-1234-0000-000000000000",
"relationships": {
"created_by": {
"data": {
"id": "00000000-0000-1234-0000-000000000000",
"type": "users"
}
}
},
"type": "monitor-notification-rule"
},
"included": [
{
"attributes": {
"created_at": "2019-09-19T10:00:00.000Z",
"disabled": false,
"email": "string",
"handle": "string",
"icon": "string",
"last_login_time": "2019-09-19T10:00:00.000Z",
"mfa_enabled": false,
"modified_at": "2019-09-19T10:00:00.000Z",
"name": "string",
"service_account": false,
"status": "string",
"title": "string",
"uuid": "string",
"verified": false
},
"id": "string",
"relationships": {
"org": {
"data": {
"id": "00000000-0000-beef-0000-000000000000",
"type": "orgs"
}
},
"other_orgs": {
"data": [
{
"id": "00000000-0000-beef-0000-000000000000",
"type": "orgs"
}
]
},
"other_users": {
"data": [
{
"id": "00000000-0000-0000-2345-000000000000",
"type": "users"
}
]
},
"roles": {
"data": [
{
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"type": "roles"
}
]
}
},
"type": "users"
}
]
}Bad Request
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Forbidden
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Code Example
Create a monitor notification rule returns "OK" response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel",
"jira-test"
]
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel",
"jira-test"
]
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel",
"jira-test"
]
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel",
"jira-test"
]
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel",
"jira-test"
]
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel",
"jira-test"
]
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel",
"jira-test"
]
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel",
"jira-test"
]
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel",
"jira-test"
]
},
"type": "monitor-notification-rule"
}
}
EOFCreate a monitor notification rule with bundle config returns "OK" response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel"
],
"bundle_config": {
"duration": 3600
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel"
],
"bundle_config": {
"duration": 3600
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel"
],
"bundle_config": {
"duration": 3600
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel"
],
"bundle_config": {
"duration": 3600
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel"
],
"bundle_config": {
"duration": 3600
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel"
],
"bundle_config": {
"duration": 3600
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel"
],
"bundle_config": {
"duration": 3600
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel"
],
"bundle_config": {
"duration": 3600
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"recipients": [
"slack-test-channel"
],
"bundle_config": {
"duration": 3600
}
},
"type": "monitor-notification-rule"
}
}
EOFCreate a monitor notification rule with conditional recipients returns "OK" response
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"conditional_recipients": {
"conditions": [
{
"scope": "transition_type:is_alert",
"recipients": [
"slack-test-channel",
"jira-test"
]
}
]
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"conditional_recipients": {
"conditions": [
{
"scope": "transition_type:is_alert",
"recipients": [
"slack-test-channel",
"jira-test"
]
}
]
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"conditional_recipients": {
"conditions": [
{
"scope": "transition_type:is_alert",
"recipients": [
"slack-test-channel",
"jira-test"
]
}
]
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"conditional_recipients": {
"conditions": [
{
"scope": "transition_type:is_alert",
"recipients": [
"slack-test-channel",
"jira-test"
]
}
]
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"conditional_recipients": {
"conditions": [
{
"scope": "transition_type:is_alert",
"recipients": [
"slack-test-channel",
"jira-test"
]
}
]
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"conditional_recipients": {
"conditions": [
{
"scope": "transition_type:is_alert",
"recipients": [
"slack-test-channel",
"jira-test"
]
}
]
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"conditional_recipients": {
"conditions": [
{
"scope": "transition_type:is_alert",
"recipients": [
"slack-test-channel",
"jira-test"
]
}
]
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"conditional_recipients": {
"conditions": [
{
"scope": "transition_type:is_alert",
"recipients": [
"slack-test-channel",
"jira-test"
]
}
]
}
},
"type": "monitor-notification-rule"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/monitor/notification_rule" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"filter": {
"tags": [
"test:example-monitor"
]
},
"name": "test rule",
"conditional_recipients": {
"conditions": [
{
"scope": "transition_type:is_alert",
"recipients": [
"slack-test-channel",
"jira-test"
]
}
]
}
},
"type": "monitor-notification-rule"
}
}
EOFCreate a monitor notification rule returns "OK" response
// Create a monitor notification rule returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
body := datadogV2.MonitorNotificationRuleCreateRequest{
Data: datadogV2.MonitorNotificationRuleCreateRequestData{
Attributes: datadogV2.MonitorNotificationRuleAttributes{
Filter: &datadogV2.MonitorNotificationRuleFilter{
MonitorNotificationRuleFilterTags: &datadogV2.MonitorNotificationRuleFilterTags{
Tags: []string{
"test:example-monitor",
},
}},
Name: "test rule",
Recipients: []string{
"slack-test-channel",
"jira-test",
},
},
Type: datadogV2.MONITORNOTIFICATIONRULERESOURCETYPE_MONITOR_NOTIFICATION_RULE.Ptr(),
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewMonitorsApi(apiClient)
resp, r, err := api.CreateMonitorNotificationRule(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.CreateMonitorNotificationRule`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `MonitorsApi.CreateMonitorNotificationRule`:\n%s\n", responseContent)
}
Create a monitor notification rule with bundle config returns "OK" response
// Create a monitor notification rule with bundle config returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
body := datadogV2.MonitorNotificationRuleCreateRequest{
Data: datadogV2.MonitorNotificationRuleCreateRequestData{
Attributes: datadogV2.MonitorNotificationRuleAttributes{
Filter: &datadogV2.MonitorNotificationRuleFilter{
MonitorNotificationRuleFilterTags: &datadogV2.MonitorNotificationRuleFilterTags{
Tags: []string{
"test:example-monitor",
},
}},
Name: "test rule",
Recipients: []string{
"slack-test-channel",
},
BundleConfig: &datadogV2.MonitorNotificationRuleBundleConfig{
Duration: 3600,
},
},
Type: datadogV2.MONITORNOTIFICATIONRULERESOURCETYPE_MONITOR_NOTIFICATION_RULE.Ptr(),
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewMonitorsApi(apiClient)
resp, r, err := api.CreateMonitorNotificationRule(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.CreateMonitorNotificationRule`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `MonitorsApi.CreateMonitorNotificationRule`:\n%s\n", responseContent)
}
Create a monitor notification rule with conditional recipients returns "OK" response
// Create a monitor notification rule with conditional recipients returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
body := datadogV2.MonitorNotificationRuleCreateRequest{
Data: datadogV2.MonitorNotificationRuleCreateRequestData{
Attributes: datadogV2.MonitorNotificationRuleAttributes{
Filter: &datadogV2.MonitorNotificationRuleFilter{
MonitorNotificationRuleFilterTags: &datadogV2.MonitorNotificationRuleFilterTags{
Tags: []string{
"test:example-monitor",
},
}},
Name: "test rule",
ConditionalRecipients: &datadogV2.MonitorNotificationRuleConditionalRecipients{
Conditions: []datadogV2.MonitorNotificationRuleCondition{
{
Scope: "transition_type:is_alert",
Recipients: []string{
"slack-test-channel",
"jira-test",
},
},
},
},
},
Type: datadogV2.MONITORNOTIFICATIONRULERESOURCETYPE_MONITOR_NOTIFICATION_RULE.Ptr(),
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewMonitorsApi(apiClient)
resp, r, err := api.CreateMonitorNotificationRule(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `MonitorsApi.CreateMonitorNotificationRule`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `MonitorsApi.CreateMonitorNotificationRule`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"Create a monitor notification rule returns "OK" response
// Create a monitor notification rule returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.MonitorsApi;
import com.datadog.api.client.v2.model.MonitorNotificationRuleAttributes;
import com.datadog.api.client.v2.model.MonitorNotificationRuleCreateRequest;
import com.datadog.api.client.v2.model.MonitorNotificationRuleCreateRequestData;
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilter;
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilterTags;
import com.datadog.api.client.v2.model.MonitorNotificationRuleResourceType;
import com.datadog.api.client.v2.model.MonitorNotificationRuleResponse;
import java.util.Arrays;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
MonitorNotificationRuleCreateRequest body =
new MonitorNotificationRuleCreateRequest()
.data(
new MonitorNotificationRuleCreateRequestData()
.attributes(
new MonitorNotificationRuleAttributes()
.filter(
new MonitorNotificationRuleFilter(
new MonitorNotificationRuleFilterTags()
.tags(Collections.singletonList("test:example-monitor"))))
.name("test rule")
.recipients(Arrays.asList("slack-test-channel", "jira-test")))
.type(MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE));
try {
MonitorNotificationRuleResponse result = apiInstance.createMonitorNotificationRule(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#createMonitorNotificationRule");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Create a monitor notification rule with bundle config returns "OK" response
// Create a monitor notification rule with bundle config returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.MonitorsApi;
import com.datadog.api.client.v2.model.MonitorNotificationRuleAttributes;
import com.datadog.api.client.v2.model.MonitorNotificationRuleBundleConfig;
import com.datadog.api.client.v2.model.MonitorNotificationRuleCreateRequest;
import com.datadog.api.client.v2.model.MonitorNotificationRuleCreateRequestData;
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilter;
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilterTags;
import com.datadog.api.client.v2.model.MonitorNotificationRuleResourceType;
import com.datadog.api.client.v2.model.MonitorNotificationRuleResponse;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
MonitorNotificationRuleCreateRequest body =
new MonitorNotificationRuleCreateRequest()
.data(
new MonitorNotificationRuleCreateRequestData()
.attributes(
new MonitorNotificationRuleAttributes()
.filter(
new MonitorNotificationRuleFilter(
new MonitorNotificationRuleFilterTags()
.tags(Collections.singletonList("test:example-monitor"))))
.name("test rule")
.recipients(Collections.singletonList("slack-test-channel"))
.bundleConfig(new MonitorNotificationRuleBundleConfig().duration(3600)))
.type(MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE));
try {
MonitorNotificationRuleResponse result = apiInstance.createMonitorNotificationRule(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#createMonitorNotificationRule");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Create a monitor notification rule with conditional recipients returns "OK" response
// Create a monitor notification rule with conditional recipients returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.MonitorsApi;
import com.datadog.api.client.v2.model.MonitorNotificationRuleAttributes;
import com.datadog.api.client.v2.model.MonitorNotificationRuleCondition;
import com.datadog.api.client.v2.model.MonitorNotificationRuleConditionalRecipients;
import com.datadog.api.client.v2.model.MonitorNotificationRuleCreateRequest;
import com.datadog.api.client.v2.model.MonitorNotificationRuleCreateRequestData;
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilter;
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilterTags;
import com.datadog.api.client.v2.model.MonitorNotificationRuleResourceType;
import com.datadog.api.client.v2.model.MonitorNotificationRuleResponse;
import java.util.Arrays;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
MonitorNotificationRuleCreateRequest body =
new MonitorNotificationRuleCreateRequest()
.data(
new MonitorNotificationRuleCreateRequestData()
.attributes(
new MonitorNotificationRuleAttributes()
.filter(
new MonitorNotificationRuleFilter(
new MonitorNotificationRuleFilterTags()
.tags(Collections.singletonList("test:example-monitor"))))
.name("test rule")
.conditionalRecipients(
new MonitorNotificationRuleConditionalRecipients()
.conditions(
Collections.singletonList(
new MonitorNotificationRuleCondition()
.scope("transition_type:is_alert")
.recipients(
Arrays.asList(
"slack-test-channel", "jira-test"))))))
.type(MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE));
try {
MonitorNotificationRuleResponse result = apiInstance.createMonitorNotificationRule(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonitorsApi#createMonitorNotificationRule");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"Create a monitor notification rule returns "OK" response
"""
Create a monitor notification rule returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.monitors_api import MonitorsApi
from datadog_api_client.v2.model.monitor_notification_rule_attributes import MonitorNotificationRuleAttributes
from datadog_api_client.v2.model.monitor_notification_rule_create_request import MonitorNotificationRuleCreateRequest
from datadog_api_client.v2.model.monitor_notification_rule_create_request_data import (
MonitorNotificationRuleCreateRequestData,
)
from datadog_api_client.v2.model.monitor_notification_rule_filter_tags import MonitorNotificationRuleFilterTags
from datadog_api_client.v2.model.monitor_notification_rule_resource_type import MonitorNotificationRuleResourceType
body = MonitorNotificationRuleCreateRequest(
data=MonitorNotificationRuleCreateRequestData(
attributes=MonitorNotificationRuleAttributes(
filter=MonitorNotificationRuleFilterTags(
tags=[
"test:example-monitor",
],
),
name="test rule",
recipients=[
"slack-test-channel",
"jira-test",
],
),
type=MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = MonitorsApi(api_client)
response = api_instance.create_monitor_notification_rule(body=body)
print(response)
Create a monitor notification rule with bundle config returns "OK" response
"""
Create a monitor notification rule with bundle config returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.monitors_api import MonitorsApi
from datadog_api_client.v2.model.monitor_notification_rule_attributes import MonitorNotificationRuleAttributes
from datadog_api_client.v2.model.monitor_notification_rule_bundle_config import MonitorNotificationRuleBundleConfig
from datadog_api_client.v2.model.monitor_notification_rule_create_request import MonitorNotificationRuleCreateRequest
from datadog_api_client.v2.model.monitor_notification_rule_create_request_data import (
MonitorNotificationRuleCreateRequestData,
)
from datadog_api_client.v2.model.monitor_notification_rule_filter_tags import MonitorNotificationRuleFilterTags
from datadog_api_client.v2.model.monitor_notification_rule_resource_type import MonitorNotificationRuleResourceType
body = MonitorNotificationRuleCreateRequest(
data=MonitorNotificationRuleCreateRequestData(
attributes=MonitorNotificationRuleAttributes(
filter=MonitorNotificationRuleFilterTags(
tags=[
"test:example-monitor",
],
),
name="test rule",
recipients=[
"slack-test-channel",
],
bundle_config=MonitorNotificationRuleBundleConfig(
duration=3600,
),
),
type=MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = MonitorsApi(api_client)
response = api_instance.create_monitor_notification_rule(body=body)
print(response)
Create a monitor notification rule with conditional recipients returns "OK" response
"""
Create a monitor notification rule with conditional recipients returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.monitors_api import MonitorsApi
from datadog_api_client.v2.model.monitor_notification_rule_attributes import MonitorNotificationRuleAttributes
from datadog_api_client.v2.model.monitor_notification_rule_condition import MonitorNotificationRuleCondition
from datadog_api_client.v2.model.monitor_notification_rule_conditional_recipients import (
MonitorNotificationRuleConditionalRecipients,
)
from datadog_api_client.v2.model.monitor_notification_rule_create_request import MonitorNotificationRuleCreateRequest
from datadog_api_client.v2.model.monitor_notification_rule_create_request_data import (
MonitorNotificationRuleCreateRequestData,
)
from datadog_api_client.v2.model.monitor_notification_rule_filter_tags import MonitorNotificationRuleFilterTags
from datadog_api_client.v2.model.monitor_notification_rule_resource_type import MonitorNotificationRuleResourceType
body = MonitorNotificationRuleCreateRequest(
data=MonitorNotificationRuleCreateRequestData(
attributes=MonitorNotificationRuleAttributes(
filter=MonitorNotificationRuleFilterTags(
tags=[
"test:example-monitor",
],
),
name="test rule",
conditional_recipients=MonitorNotificationRuleConditionalRecipients(
conditions=[
MonitorNotificationRuleCondition(
scope="transition_type:is_alert",
recipients=[
"slack-test-channel",
"jira-test",
],
),
],
),
),
type=MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = MonitorsApi(api_client)
response = api_instance.create_monitor_notification_rule(body=body)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"Create a monitor notification rule returns "OK" response
# Create a monitor notification rule returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::MonitorsAPI.new
body = DatadogAPIClient::V2::MonitorNotificationRuleCreateRequest.new({
data: DatadogAPIClient::V2::MonitorNotificationRuleCreateRequestData.new({
attributes: DatadogAPIClient::V2::MonitorNotificationRuleAttributes.new({
filter: DatadogAPIClient::V2::MonitorNotificationRuleFilterTags.new({
tags: [
"test:example-monitor",
],
}),
name: "test rule",
recipients: [
"slack-test-channel",
"jira-test",
],
}),
type: DatadogAPIClient::V2::MonitorNotificationRuleResourceType::MONITOR_NOTIFICATION_RULE,
}),
})
p api_instance.create_monitor_notification_rule(body)
Create a monitor notification rule with bundle config returns "OK" response
# Create a monitor notification rule with bundle config returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::MonitorsAPI.new
body = DatadogAPIClient::V2::MonitorNotificationRuleCreateRequest.new({
data: DatadogAPIClient::V2::MonitorNotificationRuleCreateRequestData.new({
attributes: DatadogAPIClient::V2::MonitorNotificationRuleAttributes.new({
filter: DatadogAPIClient::V2::MonitorNotificationRuleFilterTags.new({
tags: [
"test:example-monitor",
],
}),
name: "test rule",
recipients: [
"slack-test-channel",
],
bundle_config: DatadogAPIClient::V2::MonitorNotificationRuleBundleConfig.new({
duration: 3600,
}),
}),
type: DatadogAPIClient::V2::MonitorNotificationRuleResourceType::MONITOR_NOTIFICATION_RULE,
}),
})
p api_instance.create_monitor_notification_rule(body)
Create a monitor notification rule with conditional recipients returns "OK" response
# Create a monitor notification rule with conditional recipients returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::MonitorsAPI.new
body = DatadogAPIClient::V2::MonitorNotificationRuleCreateRequest.new({
data: DatadogAPIClient::V2::MonitorNotificationRuleCreateRequestData.new({
attributes: DatadogAPIClient::V2::MonitorNotificationRuleAttributes.new({
filter: DatadogAPIClient::V2::MonitorNotificationRuleFilterTags.new({
tags: [
"test:example-monitor",
],
}),
name: "test rule",
conditional_recipients: DatadogAPIClient::V2::MonitorNotificationRuleConditionalRecipients.new({
conditions: [
DatadogAPIClient::V2::MonitorNotificationRuleCondition.new({
scope: "transition_type:is_alert",
recipients: [
"slack-test-channel",
"jira-test",
],
}),
],
}),
}),
type: DatadogAPIClient::V2::MonitorNotificationRuleResourceType::MONITOR_NOTIFICATION_RULE,
}),
})
p api_instance.create_monitor_notification_rule(body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"Create a monitor notification rule returns "OK" response
// Create a monitor notification rule returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_monitors::MonitorsAPI;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleAttributes;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleCreateRequest;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleCreateRequestData;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleFilter;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleFilterTags;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleResourceType;
#[tokio::main]
async fn main() {
let body = MonitorNotificationRuleCreateRequest::new(
MonitorNotificationRuleCreateRequestData::new(
MonitorNotificationRuleAttributes::new("test rule".to_string())
.filter(
MonitorNotificationRuleFilter::MonitorNotificationRuleFilterTags(Box::new(
MonitorNotificationRuleFilterTags::new(vec![
"test:example-monitor".to_string()
]),
)),
)
.recipients(vec![
"slack-test-channel".to_string(),
"jira-test".to_string(),
]),
)
.type_(MonitorNotificationRuleResourceType::MONITOR_NOTIFICATION_RULE),
);
let configuration = datadog::Configuration::new();
let api = MonitorsAPI::with_config(configuration);
let resp = api.create_monitor_notification_rule(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Create a monitor notification rule with bundle config returns "OK" response
// Create a monitor notification rule with bundle config returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_monitors::MonitorsAPI;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleAttributes;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleBundleConfig;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleCreateRequest;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleCreateRequestData;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleFilter;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleFilterTags;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleResourceType;
#[tokio::main]
async fn main() {
let body = MonitorNotificationRuleCreateRequest::new(
MonitorNotificationRuleCreateRequestData::new(
MonitorNotificationRuleAttributes::new("test rule".to_string())
.bundle_config(MonitorNotificationRuleBundleConfig::new(3600))
.filter(
MonitorNotificationRuleFilter::MonitorNotificationRuleFilterTags(Box::new(
MonitorNotificationRuleFilterTags::new(vec![
"test:example-monitor".to_string()
]),
)),
)
.recipients(vec!["slack-test-channel".to_string()]),
)
.type_(MonitorNotificationRuleResourceType::MONITOR_NOTIFICATION_RULE),
);
let configuration = datadog::Configuration::new();
let api = MonitorsAPI::with_config(configuration);
let resp = api.create_monitor_notification_rule(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Create a monitor notification rule with conditional recipients returns "OK" response
// Create a monitor notification rule with conditional recipients returns "OK"
// response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_monitors::MonitorsAPI;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleAttributes;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleCondition;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleConditionalRecipients;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleCreateRequest;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleCreateRequestData;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleFilter;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleFilterTags;
use datadog_api_client::datadogV2::model::MonitorNotificationRuleResourceType;
#[tokio::main]
async fn main() {
let body = MonitorNotificationRuleCreateRequest::new(
MonitorNotificationRuleCreateRequestData::new(
MonitorNotificationRuleAttributes::new("test rule".to_string())
.conditional_recipients(MonitorNotificationRuleConditionalRecipients::new(vec![
MonitorNotificationRuleCondition::new(
vec!["slack-test-channel".to_string(), "jira-test".to_string()],
"transition_type:is_alert".to_string(),
),
]))
.filter(
MonitorNotificationRuleFilter::MonitorNotificationRuleFilterTags(Box::new(
MonitorNotificationRuleFilterTags::new(vec![
"test:example-monitor".to_string()
]),
)),
),
)
.type_(MonitorNotificationRuleResourceType::MONITOR_NOTIFICATION_RULE),
);
let configuration = datadog::Configuration::new();
let api = MonitorsAPI::with_config(configuration);
let resp = api.create_monitor_notification_rule(body).await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runCreate a monitor notification rule returns "OK" response
/**
* Create a monitor notification rule returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.MonitorsApi(configuration);
const params: v2.MonitorsApiCreateMonitorNotificationRuleRequest = {
body: {
data: {
attributes: {
filter: {
tags: ["test:example-monitor"],
},
name: "test rule",
recipients: ["slack-test-channel", "jira-test"],
},
type: "monitor-notification-rule",
},
},
};
apiInstance
.createMonitorNotificationRule(params)
.then((data: v2.MonitorNotificationRuleResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Create a monitor notification rule with bundle config returns "OK" response
/**
* Create a monitor notification rule with bundle config returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.MonitorsApi(configuration);
const params: v2.MonitorsApiCreateMonitorNotificationRuleRequest = {
body: {
data: {
attributes: {
filter: {
tags: ["test:example-monitor"],
},
name: "test rule",
recipients: ["slack-test-channel"],
bundleConfig: {
duration: 3600,
},
},
type: "monitor-notification-rule",
},
},
};
apiInstance
.createMonitorNotificationRule(params)
.then((data: v2.MonitorNotificationRuleResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Create a monitor notification rule with conditional recipients returns "OK" response
/**
* Create a monitor notification rule with conditional recipients returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.MonitorsApi(configuration);
const params: v2.MonitorsApiCreateMonitorNotificationRuleRequest = {
body: {
data: {
attributes: {
filter: {
tags: ["test:example-monitor"],
},
name: "test rule",
conditionalRecipients: {
conditions: [
{
scope: "transition_type:is_alert",
recipients: ["slack-test-channel", "jira-test"],
},
],
},
},
type: "monitor-notification-rule",
},
},
};
apiInstance
.createMonitorNotificationRule(params)
.then((data: v2.MonitorNotificationRuleResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"