Create an incident notification rule
https://api.datadoghq.com/api/v2/incidents/config/notification-ruleshttps://api.us3.datadoghq.com/api/v2/incidents/config/notification-ruleshttps://api.us5.datadoghq.com/api/v2/incidents/config/notification-ruleshttps://api.datadoghq.eu/api/v2/incidents/config/notification-ruleshttps://api.ap1.datadoghq.com/api/v2/incidents/config/notification-ruleshttps://api.ap2.datadoghq.com/api/v2/incidents/config/notification-ruleshttps://api.uk1.datadoghq.com/api/v2/incidents/config/notification-ruleshttps://api.ddog-gov.com/api/v2/incidents/config/notification-ruleshttps://api.us2.ddog-gov.com/api/v2/incidents/config/notification-rulesOverview
Creates a new notification rule.
OAuth apps require the incident_notification_settings_write authorization scope to access this endpoint.
Request
Body Data (required)
data [required]Notification rule data for a create request.
attributes [required]The attributes for creating a notification rule.
conditions [required]The conditions that trigger this notification rule.
field [required]The incident field to evaluate
values [required]The value(s) to compare against. Multiple values are ORed together.
enabledWhether the notification rule is enabled.
falsehandles [required]The notification handles (targets) for this rule.
renotify_onList of incident fields that trigger re-notification when changed.
trigger [required]The trigger event for this notification rule.
visibilityThe visibility of the notification rule.
all, organization, privaterelationshipsThe definition of NotificationRuleCreateDataRelationships object.
incident_typeRelationship to an incident type.
data [required]Relationship to incident type object.
id [required]The incident type's ID.
type [required]Incident type resource type.
incident_typesincident_typesnotification_templateA relationship reference to a notification template.
data [required]The notification template relationship data.
id [required]The unique identifier of the notification template.
type [required]Notification templates resource type.
notification_templatestype [required]Notification rules resource type.
incident_notification_rules{
"data": {
"attributes": {
"conditions": [
{
"field": "severity",
"values": [
"SEV-1",
"SEV-2"
]
}
],
"enabled": true,
"handles": [
"@team-email@company.com",
"@slack-channel"
],
"renotify_on": [
"status",
"severity"
],
"trigger": "incident_created_trigger",
"visibility": "organization"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "incident_types"
}
},
"notification_template": {
"data": {
"id": "00000000-0000-0000-0000-000000000001",
"type": "notification_templates"
}
}
},
"type": "incident_notification_rules"
}
}Response
Created
Response with a notification rule.
data [required]Notification rule data from a response.
attributesThe notification rule's attributes.
conditions [required]The conditions that trigger this notification rule.
field [required]The incident field to evaluate
values [required]The value(s) to compare against. Multiple values are ORed together.
created [required]Timestamp when the notification rule was created.
enabled [required]Whether the notification rule is enabled.
handles [required]The notification handles (targets) for this rule.
modified [required]Timestamp when the notification rule was last modified.
renotify_onList of incident fields that trigger re-notification when changed.
trigger [required]The trigger event for this notification rule.
visibility [required]The visibility of the notification rule.
all, organization, privateid [required]The unique identifier of the notification rule.
relationshipsThe notification rule's resource relationships.
created_by_userRelationship to user.
data [required]Relationship to user object.
id [required]A unique identifier that represents the user.
type [required]Users resource type.
usersusersincident_typeRelationship to an incident type.
data [required]Relationship to incident type object.
id [required]The incident type's ID.
type [required]Incident type resource type.
incident_typesincident_typeslast_modified_by_userRelationship to user.
data [required]Relationship to user object.
id [required]A unique identifier that represents the user.
type [required]Users resource type.
usersusersnotification_templateA relationship reference to a notification template.
data [required]The notification template relationship data.
id [required]The unique identifier of the notification template.
type [required]Notification templates resource type.
notification_templatestype [required]Notification rules resource type.
incident_notification_rulesincludedRelated objects that are included in the response.
<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<type=incident_types>Incident type response data.
attributesIncident type's attributes.
configurationThe incident-type-scoped behavior settings. All fields are optional on update. Any field omitted from a PATCH request keeps its current value. This object is read-only on the incident type resource itself and is only mutated through the update (PATCH) endpoint.
allow_incident_deletionWhether incidents of this type can be deleted.
falseallow_workflowsWhether automation workflows can be triggered for incidents of this type.
truecreate_messageAn optional message shown to users when they declare an incident of this type.
editable_timestampsWhether responders can edit incident timestamps for incidents of this type.
falseprivate_incidentsWhether responders can create private incidents of this type. This is an opt-in setting, distinct from private_incidents_by_default, which controls whether incidents are created private automatically.
falseprivate_incidents_by_defaultWhether incidents of this type are created as private by default.
falseslug_sourceWhen set to servicenow, incidents will display the ServiceNow record ID instead of the public ID. If no ServiceNow integration exists, the public ID will be displayed.
defaultdefault, servicenowtest_incidentsWhether incidents of this type are treated as test incidents.
truecreatedAtTimestamp when the incident type was created.
createdByA unique identifier that represents the user that created the incident type.
descriptionText that describes the incident type.
is_defaultIf true, this incident type will be used as the default incident type if a type is not specified during the creation of incident resources.
falselastModifiedByA unique identifier that represents the user that last modified the incident type.
modifiedAtTimestamp when the incident type was last modified.
name [required]The name of the incident type.
prefixThe string that will be prepended to the incident title across the Datadog app.
id [required]The incident type's ID.
relationshipsThe incident type's resource relationships.
created_by_userRelationship to user.
data [required]Relationship to user object.
id [required]A unique identifier that represents the user.
type [required]Users resource type.
usersusersgoogle_meet_configurationA reference to a Google Meet Configuration resource.
data [required]The Google Meet configuration relationship data object.
id [required]The unique identifier of the Google Meet configuration.
type [required]The type of the Google Meet configuration.
last_modified_by_userRelationship to user.
data [required]Relationship to user object.
id [required]A unique identifier that represents the user.
type [required]Users resource type.
usersusersmicrosoft_teams_configurationA reference to a Microsoft Teams Configuration resource.
data [required]The Microsoft Teams configuration relationship data object.
id [required]The unique identifier of the Microsoft Teams configuration.
type [required]The type of the Microsoft Teams configuration.
zoom_configurationA reference to a Zoom configuration resource.
data [required]The Zoom configuration relationship data object.
id [required]The unique identifier of the Zoom configuration.
type [required]The type of the Zoom configuration.
type [required]Incident type resource type.
incident_typesincident_types<type=notification_templates>A notification template object for inclusion in other resources.
attributesThe notification template's attributes.
category [required]The category of the notification template.
content [required]The content body of the notification template.
created [required]Timestamp when the notification template was created.
modified [required]Timestamp when the notification template was last modified.
name [required]The name of the notification template.
subject [required]The subject line of the notification template.
id [required]The unique identifier of the notification template.
relationshipsThe notification template's resource relationships.
created_by_userRelationship to user.
data [required]Relationship to user object.
id [required]A unique identifier that represents the user.
type [required]Users resource type.
usersusersincident_typeRelationship to an incident type.
data [required]Relationship to incident type object.
id [required]The incident type's ID.
type [required]Incident type resource type.
incident_typesincident_typeslast_modified_by_userRelationship to user.
data [required]Relationship to user object.
id [required]A unique identifier that represents the user.
type [required]Users resource type.
usersuserstype [required]Notification templates resource type.
notification_templates{
"data": {
"attributes": {
"conditions": [
{
"field": "severity",
"values": [
"SEV-1",
"SEV-2"
]
}
],
"created": "2025-01-15T10:30:00Z",
"enabled": true,
"handles": [
"@team-email@company.com",
"@slack-channel"
],
"modified": "2025-01-15T14:45:00Z",
"renotify_on": [
"status",
"severity"
],
"trigger": "incident_created_trigger",
"visibility": "organization"
},
"id": "00000000-0000-0000-0000-000000000001",
"relationships": {
"created_by_user": {
"data": {
"id": "00000000-0000-0000-2345-000000000000",
"type": "users"
}
},
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "incident_types"
}
},
"last_modified_by_user": {
"data": {
"id": "00000000-0000-0000-2345-000000000000",
"type": "users"
}
},
"notification_template": {
"data": {
"id": "00000000-0000-0000-0000-000000000001",
"type": "notification_templates"
}
}
},
"type": "incident_notification_rules"
},
"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"
]
}Unauthorized
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"
]
}Not Found
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
# 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/incidents/config/notification-rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"conditions": [
{
"field": "severity",
"values": [
"SEV-1",
"SEV-2"
]
}
],
"enabled": true,
"handles": [
"@team-email@company.com",
"@slack-channel"
],
"renotify_on": [
"status",
"severity"
],
"trigger": "incident_created_trigger",
"visibility": "organization"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "incident_types"
}
},
"notification_template": {
"data": {
"id": "00000000-0000-0000-0000-000000000001",
"type": "notification_templates"
}
}
},
"type": "incident_notification_rules"
}
}
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/incidents/config/notification-rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"conditions": [
{
"field": "severity",
"values": [
"SEV-1",
"SEV-2"
]
}
],
"enabled": true,
"handles": [
"@team-email@company.com",
"@slack-channel"
],
"renotify_on": [
"status",
"severity"
],
"trigger": "incident_created_trigger",
"visibility": "organization"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "incident_types"
}
},
"notification_template": {
"data": {
"id": "00000000-0000-0000-0000-000000000001",
"type": "notification_templates"
}
}
},
"type": "incident_notification_rules"
}
}
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/incidents/config/notification-rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"conditions": [
{
"field": "severity",
"values": [
"SEV-1",
"SEV-2"
]
}
],
"enabled": true,
"handles": [
"@team-email@company.com",
"@slack-channel"
],
"renotify_on": [
"status",
"severity"
],
"trigger": "incident_created_trigger",
"visibility": "organization"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "incident_types"
}
},
"notification_template": {
"data": {
"id": "00000000-0000-0000-0000-000000000001",
"type": "notification_templates"
}
}
},
"type": "incident_notification_rules"
}
}
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/incidents/config/notification-rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"conditions": [
{
"field": "severity",
"values": [
"SEV-1",
"SEV-2"
]
}
],
"enabled": true,
"handles": [
"@team-email@company.com",
"@slack-channel"
],
"renotify_on": [
"status",
"severity"
],
"trigger": "incident_created_trigger",
"visibility": "organization"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "incident_types"
}
},
"notification_template": {
"data": {
"id": "00000000-0000-0000-0000-000000000001",
"type": "notification_templates"
}
}
},
"type": "incident_notification_rules"
}
}
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/incidents/config/notification-rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"conditions": [
{
"field": "severity",
"values": [
"SEV-1",
"SEV-2"
]
}
],
"enabled": true,
"handles": [
"@team-email@company.com",
"@slack-channel"
],
"renotify_on": [
"status",
"severity"
],
"trigger": "incident_created_trigger",
"visibility": "organization"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "incident_types"
}
},
"notification_template": {
"data": {
"id": "00000000-0000-0000-0000-000000000001",
"type": "notification_templates"
}
}
},
"type": "incident_notification_rules"
}
}
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/incidents/config/notification-rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"conditions": [
{
"field": "severity",
"values": [
"SEV-1",
"SEV-2"
]
}
],
"enabled": true,
"handles": [
"@team-email@company.com",
"@slack-channel"
],
"renotify_on": [
"status",
"severity"
],
"trigger": "incident_created_trigger",
"visibility": "organization"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "incident_types"
}
},
"notification_template": {
"data": {
"id": "00000000-0000-0000-0000-000000000001",
"type": "notification_templates"
}
}
},
"type": "incident_notification_rules"
}
}
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/incidents/config/notification-rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"conditions": [
{
"field": "severity",
"values": [
"SEV-1",
"SEV-2"
]
}
],
"enabled": true,
"handles": [
"@team-email@company.com",
"@slack-channel"
],
"renotify_on": [
"status",
"severity"
],
"trigger": "incident_created_trigger",
"visibility": "organization"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "incident_types"
}
},
"notification_template": {
"data": {
"id": "00000000-0000-0000-0000-000000000001",
"type": "notification_templates"
}
}
},
"type": "incident_notification_rules"
}
}
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/incidents/config/notification-rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"conditions": [
{
"field": "severity",
"values": [
"SEV-1",
"SEV-2"
]
}
],
"enabled": true,
"handles": [
"@team-email@company.com",
"@slack-channel"
],
"renotify_on": [
"status",
"severity"
],
"trigger": "incident_created_trigger",
"visibility": "organization"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "incident_types"
}
},
"notification_template": {
"data": {
"id": "00000000-0000-0000-0000-000000000001",
"type": "notification_templates"
}
}
},
"type": "incident_notification_rules"
}
}
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/incidents/config/notification-rules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"conditions": [
{
"field": "severity",
"values": [
"SEV-1",
"SEV-2"
]
}
],
"enabled": true,
"handles": [
"@team-email@company.com",
"@slack-channel"
],
"renotify_on": [
"status",
"severity"
],
"trigger": "incident_created_trigger",
"visibility": "organization"
},
"relationships": {
"incident_type": {
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "incident_types"
}
},
"notification_template": {
"data": {
"id": "00000000-0000-0000-0000-000000000001",
"type": "notification_templates"
}
}
},
"type": "incident_notification_rules"
}
}
EOF// Create incident notification rule returns "Created" 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() {
// there is a valid "incident_type" in the system
IncidentTypeDataID := os.Getenv("INCIDENT_TYPE_DATA_ID")
body := datadogV2.CreateIncidentNotificationRuleRequest{
Data: datadogV2.IncidentNotificationRuleCreateData{
Attributes: datadogV2.IncidentNotificationRuleCreateAttributes{
Conditions: []datadogV2.IncidentNotificationRuleConditionsItems{
{
Field: "severity",
Values: []string{
"SEV-1",
"SEV-2",
},
},
},
Handles: []string{
"@test-email@company.com",
},
Visibility: datadogV2.INCIDENTNOTIFICATIONRULECREATEATTRIBUTESVISIBILITY_ORGANIZATION.Ptr(),
Trigger: "incident_created_trigger",
Enabled: datadog.PtrBool(true),
},
Relationships: &datadogV2.IncidentNotificationRuleCreateDataRelationships{
IncidentType: &datadogV2.RelationshipToIncidentType{
Data: datadogV2.RelationshipToIncidentTypeData{
Id: IncidentTypeDataID,
Type: datadogV2.INCIDENTTYPETYPE_INCIDENT_TYPES,
},
},
},
Type: datadogV2.INCIDENTNOTIFICATIONRULETYPE_INCIDENT_NOTIFICATION_RULES,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.CreateIncidentNotificationRule", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewIncidentsApi(apiClient)
resp, r, err := api.CreateIncidentNotificationRule(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `IncidentsApi.CreateIncidentNotificationRule`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `IncidentsApi.CreateIncidentNotificationRule`:\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 incident notification rule returns "Created" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.IncidentsApi;
import com.datadog.api.client.v2.model.CreateIncidentNotificationRuleRequest;
import com.datadog.api.client.v2.model.IncidentNotificationRule;
import com.datadog.api.client.v2.model.IncidentNotificationRuleConditionsItems;
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateAttributes;
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateAttributesVisibility;
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateData;
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateDataRelationships;
import com.datadog.api.client.v2.model.IncidentNotificationRuleType;
import com.datadog.api.client.v2.model.IncidentTypeType;
import com.datadog.api.client.v2.model.RelationshipToIncidentType;
import com.datadog.api.client.v2.model.RelationshipToIncidentTypeData;
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"));
defaultClient.setUnstableOperationEnabled("v2.createIncidentNotificationRule", true);
IncidentsApi apiInstance = new IncidentsApi(defaultClient);
// there is a valid "incident_type" in the system
String INCIDENT_TYPE_DATA_ID = System.getenv("INCIDENT_TYPE_DATA_ID");
CreateIncidentNotificationRuleRequest body =
new CreateIncidentNotificationRuleRequest()
.data(
new IncidentNotificationRuleCreateData()
.attributes(
new IncidentNotificationRuleCreateAttributes()
.conditions(
Collections.singletonList(
new IncidentNotificationRuleConditionsItems()
.field("severity")
.values(Arrays.asList("SEV-1", "SEV-2"))))
.handles(Collections.singletonList("@test-email@company.com"))
.visibility(
IncidentNotificationRuleCreateAttributesVisibility.ORGANIZATION)
.trigger("incident_created_trigger")
.enabled(true))
.relationships(
new IncidentNotificationRuleCreateDataRelationships()
.incidentType(
new RelationshipToIncidentType()
.data(
new RelationshipToIncidentTypeData()
.id(INCIDENT_TYPE_DATA_ID)
.type(IncidentTypeType.INCIDENT_TYPES))))
.type(IncidentNotificationRuleType.INCIDENT_NOTIFICATION_RULES));
try {
IncidentNotificationRule result = apiInstance.createIncidentNotificationRule(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling IncidentsApi#createIncidentNotificationRule");
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 incident notification rule returns "Created" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.incidents_api import IncidentsApi
from datadog_api_client.v2.model.create_incident_notification_rule_request import CreateIncidentNotificationRuleRequest
from datadog_api_client.v2.model.incident_notification_rule_conditions_items import (
IncidentNotificationRuleConditionsItems,
)
from datadog_api_client.v2.model.incident_notification_rule_create_attributes import (
IncidentNotificationRuleCreateAttributes,
)
from datadog_api_client.v2.model.incident_notification_rule_create_attributes_visibility import (
IncidentNotificationRuleCreateAttributesVisibility,
)
from datadog_api_client.v2.model.incident_notification_rule_create_data import IncidentNotificationRuleCreateData
from datadog_api_client.v2.model.incident_notification_rule_create_data_relationships import (
IncidentNotificationRuleCreateDataRelationships,
)
from datadog_api_client.v2.model.incident_notification_rule_type import IncidentNotificationRuleType
from datadog_api_client.v2.model.incident_type_type import IncidentTypeType
from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType
from datadog_api_client.v2.model.relationship_to_incident_type_data import RelationshipToIncidentTypeData
# there is a valid "incident_type" in the system
INCIDENT_TYPE_DATA_ID = environ["INCIDENT_TYPE_DATA_ID"]
body = CreateIncidentNotificationRuleRequest(
data=IncidentNotificationRuleCreateData(
attributes=IncidentNotificationRuleCreateAttributes(
conditions=[
IncidentNotificationRuleConditionsItems(
field="severity",
values=[
"SEV-1",
"SEV-2",
],
),
],
handles=[
"@test-email@company.com",
],
visibility=IncidentNotificationRuleCreateAttributesVisibility.ORGANIZATION,
trigger="incident_created_trigger",
enabled=True,
),
relationships=IncidentNotificationRuleCreateDataRelationships(
incident_type=RelationshipToIncidentType(
data=RelationshipToIncidentTypeData(
id=INCIDENT_TYPE_DATA_ID,
type=IncidentTypeType.INCIDENT_TYPES,
),
),
),
type=IncidentNotificationRuleType.INCIDENT_NOTIFICATION_RULES,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["create_incident_notification_rule"] = True
with ApiClient(configuration) as api_client:
api_instance = IncidentsApi(api_client)
response = api_instance.create_incident_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 incident notification rule returns "Created" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
config.unstable_operations["v2.create_incident_notification_rule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::IncidentsAPI.new
# there is a valid "incident_type" in the system
INCIDENT_TYPE_DATA_ID = ENV["INCIDENT_TYPE_DATA_ID"]
body = DatadogAPIClient::V2::CreateIncidentNotificationRuleRequest.new({
data: DatadogAPIClient::V2::IncidentNotificationRuleCreateData.new({
attributes: DatadogAPIClient::V2::IncidentNotificationRuleCreateAttributes.new({
conditions: [
DatadogAPIClient::V2::IncidentNotificationRuleConditionsItems.new({
field: "severity",
values: [
"SEV-1",
"SEV-2",
],
}),
],
handles: [
"@test-email@company.com",
],
visibility: DatadogAPIClient::V2::IncidentNotificationRuleCreateAttributesVisibility::ORGANIZATION,
trigger: "incident_created_trigger",
enabled: true,
}),
relationships: DatadogAPIClient::V2::IncidentNotificationRuleCreateDataRelationships.new({
incident_type: DatadogAPIClient::V2::RelationshipToIncidentType.new({
data: DatadogAPIClient::V2::RelationshipToIncidentTypeData.new({
id: INCIDENT_TYPE_DATA_ID,
type: DatadogAPIClient::V2::IncidentTypeType::INCIDENT_TYPES,
}),
}),
}),
type: DatadogAPIClient::V2::IncidentNotificationRuleType::INCIDENT_NOTIFICATION_RULES,
}),
})
p api_instance.create_incident_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 incident notification rule returns "Created" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_incidents::IncidentsAPI;
use datadog_api_client::datadogV2::model::CreateIncidentNotificationRuleRequest;
use datadog_api_client::datadogV2::model::IncidentNotificationRuleConditionsItems;
use datadog_api_client::datadogV2::model::IncidentNotificationRuleCreateAttributes;
use datadog_api_client::datadogV2::model::IncidentNotificationRuleCreateAttributesVisibility;
use datadog_api_client::datadogV2::model::IncidentNotificationRuleCreateData;
use datadog_api_client::datadogV2::model::IncidentNotificationRuleCreateDataRelationships;
use datadog_api_client::datadogV2::model::IncidentNotificationRuleType;
use datadog_api_client::datadogV2::model::IncidentTypeType;
use datadog_api_client::datadogV2::model::RelationshipToIncidentType;
use datadog_api_client::datadogV2::model::RelationshipToIncidentTypeData;
#[tokio::main]
async fn main() {
// there is a valid "incident_type" in the system
let incident_type_data_id = std::env::var("INCIDENT_TYPE_DATA_ID").unwrap();
let body = CreateIncidentNotificationRuleRequest::new(
IncidentNotificationRuleCreateData::new(
IncidentNotificationRuleCreateAttributes::new(
vec![IncidentNotificationRuleConditionsItems::new(
"severity".to_string(),
vec!["SEV-1".to_string(), "SEV-2".to_string()],
)],
vec!["@test-email@company.com".to_string()],
"incident_created_trigger".to_string(),
)
.enabled(true)
.visibility(IncidentNotificationRuleCreateAttributesVisibility::ORGANIZATION),
IncidentNotificationRuleType::INCIDENT_NOTIFICATION_RULES,
)
.relationships(
IncidentNotificationRuleCreateDataRelationships::new().incident_type(
RelationshipToIncidentType::new(RelationshipToIncidentTypeData::new(
incident_type_data_id.clone(),
IncidentTypeType::INCIDENT_TYPES,
)),
),
),
);
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled("v2.create_incident_notification_rule", true);
let api = IncidentsAPI::with_config(configuration);
let resp = api.create_incident_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="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run/**
* Create incident notification rule returns "Created" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
configuration.unstableOperations["v2.createIncidentNotificationRule"] = true;
const apiInstance = new v2.IncidentsApi(configuration);
// there is a valid "incident_type" in the system
const INCIDENT_TYPE_DATA_ID = process.env.INCIDENT_TYPE_DATA_ID as string;
const params: v2.IncidentsApiCreateIncidentNotificationRuleRequest = {
body: {
data: {
attributes: {
conditions: [
{
field: "severity",
values: ["SEV-1", "SEV-2"],
},
],
handles: ["@test-email@company.com"],
visibility: "organization",
trigger: "incident_created_trigger",
enabled: true,
},
relationships: {
incidentType: {
data: {
id: INCIDENT_TYPE_DATA_ID,
type: "incident_types",
},
},
},
type: "incident_notification_rules",
},
},
};
apiInstance
.createIncidentNotificationRule(params)
.then((data: v2.IncidentNotificationRule) => {
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"