POST https://api.ap1.datadoghq.com/api/v2/cases/projects/{project_id}/notification_rules https://api.ap2.datadoghq.com/api/v2/cases/projects/{project_id}/notification_rules https://api.datadoghq.eu/api/v2/cases/projects/{project_id}/notification_rules https://api.ddog-gov.com/api/v2/cases/projects/{project_id}/notification_rules https://api.us2.ddog-gov.com/api/v2/cases/projects/{project_id}/notification_rules https://api.datadoghq.com/api/v2/cases/projects/{project_id}/notification_rules https://api.us3.datadoghq.com/api/v2/cases/projects/{project_id}/notification_rules https://api.us5.datadoghq.com/api/v2/cases/projects/{project_id}/notification_rules
Overview Create a notification rule for a project.
OAuth apps require the cases_write authorization scope to access this endpoint.
Arguments Path Parameters Request Body Data (required) Notification rule payload
Expand All
Notification rule creation attributes
Whether the notification rule is enabled
default: true
Query to filter cases for this notification rule
List of notification recipients
Microsoft Teams channel name
Microsoft Teams connector name
Microsoft Teams team name
Microsoft Teams tenant ID
Microsoft Teams tenant name
Type of recipient (SLACK_CHANNEL, EMAIL, HTTP, PAGERDUTY_SERVICE, MS_TEAMS_CHANNEL)
List of triggers for this notification rule
Change type (added, removed, changed)
Field name for attribute value changed trigger
Status ID to transition from
Status name to transition from
Status ID to transition to
Status name to transition to
Type of trigger (CASE_CREATED, STATUS_TRANSITIONED, ATTRIBUTE_VALUE_CHANGED, EVENT_CORRELATION_SIGNAL_CORRELATED)
Notification rule resource type
Allowed enum values: notification_rule
default: notification_rule
{
"data" : {
"attributes" : {
"is_enabled" : false ,
"query" : "string" ,
"recipients" : [
{
"data" : {
"channel" : "string" ,
"channel_id" : "string" ,
"channel_name" : "string" ,
"connector_name" : "string" ,
"email" : "string" ,
"name" : "string" ,
"service_name" : "string" ,
"team_id" : "string" ,
"team_name" : "string" ,
"tenant_id" : "string" ,
"tenant_name" : "string" ,
"workspace" : "string" ,
"workspace_id" : "string"
},
"type" : "EMAIL"
}
],
"triggers" : [
{
"data" : {
"change_type" : "string" ,
"field" : "string" ,
"from_status" : "string" ,
"from_status_name" : "string" ,
"to_status" : "string" ,
"to_status_name" : "string"
},
"type" : "CASE_CREATED"
}
]
},
"type" : "notification_rule"
}
} Response CREATED
Notification rule response
Expand All
A notification rule for case management
Notification rule attributes
Whether the notification rule is enabled
Query to filter cases for this notification rule
List of notification recipients
Microsoft Teams channel name
Microsoft Teams connector name
Microsoft Teams team name
Microsoft Teams tenant ID
Microsoft Teams tenant name
Type of recipient (SLACK_CHANNEL, EMAIL, HTTP, PAGERDUTY_SERVICE, MS_TEAMS_CHANNEL)
List of triggers for this notification rule
Change type (added, removed, changed)
Field name for attribute value changed trigger
Status ID to transition from
Status name to transition from
Status ID to transition to
Status name to transition to
Type of trigger (CASE_CREATED, STATUS_TRANSITIONED, ATTRIBUTE_VALUE_CHANGED, EVENT_CORRELATION_SIGNAL_CORRELATED)
The notification rule's identifier
Notification rule resource type
Allowed enum values: notification_rule
default: notification_rule
{
"data" : {
"attributes" : {
"is_enabled" : false ,
"query" : "string" ,
"recipients" : [
{
"data" : {
"channel" : "string" ,
"channel_id" : "string" ,
"channel_name" : "string" ,
"connector_name" : "string" ,
"email" : "string" ,
"name" : "string" ,
"service_name" : "string" ,
"team_id" : "string" ,
"team_name" : "string" ,
"tenant_id" : "string" ,
"tenant_name" : "string" ,
"workspace" : "string" ,
"workspace_id" : "string"
},
"type" : "EMAIL"
}
],
"triggers" : [
{
"data" : {
"change_type" : "string" ,
"field" : "string" ,
"from_status" : "string" ,
"from_status_name" : "string" ,
"to_status" : "string" ,
"to_status_name" : "string"
},
"type" : "CASE_CREATED"
}
]
},
"id" : "aeadc05e-98a8-11ec-ac2c-da7ad0900001" ,
"type" : "notification_rule"
}
} Bad Request
{
"errors" : [
"Bad Request"
]
} Unauthorized
{
"errors" : [
"Bad Request"
]
} Forbidden
{
"errors" : [
"Bad Request"
]
} Not Found
{
"errors" : [
"Bad Request"
]
} Too many requests
{
"errors" : [
"Bad Request"
]
} Code Example Copy
## default
#
# Path parameters export project_id = "e555e290-ed65-49bd-ae18-8acbfcf18db7" # Curl command curl -X POST "https://api.ap1.datadoghq.com "https://api.ap2.datadoghq.com "https://api.datadoghq.eu "https://api.ddog-gov.com "https://api.us2.ddog-gov.com "https://api.datadoghq.com "https://api.us3.datadoghq.com "https://api.us5.datadoghq.com /api/v2/cases/projects/${project_id}/notification_rules " \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY} " \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY} " \
-d @- << EOF
{
"data": {
"attributes": {
"recipients": [
{
"type": "EMAIL"
}
],
"triggers": [
{
"type": "CASE_CREATED"
}
]
},
"type": "notification_rule"
}
}
EOF
"""
Create a notification rule returns "CREATED" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi
from datadog_api_client.v2.model.case_notification_rule_create import CaseNotificationRuleCreate
from datadog_api_client.v2.model.case_notification_rule_create_attributes import CaseNotificationRuleCreateAttributes
from datadog_api_client.v2.model.case_notification_rule_create_request import CaseNotificationRuleCreateRequest
from datadog_api_client.v2.model.case_notification_rule_recipient import CaseNotificationRuleRecipient
from datadog_api_client.v2.model.case_notification_rule_recipient_data import CaseNotificationRuleRecipientData
from datadog_api_client.v2.model.case_notification_rule_resource_type import CaseNotificationRuleResourceType
from datadog_api_client.v2.model.case_notification_rule_trigger import CaseNotificationRuleTrigger
from datadog_api_client.v2.model.case_notification_rule_trigger_data import CaseNotificationRuleTriggerData
body = CaseNotificationRuleCreateRequest (
data = CaseNotificationRuleCreate (
attributes = CaseNotificationRuleCreateAttributes (
is_enabled = True ,
recipients = [
CaseNotificationRuleRecipient (
data = CaseNotificationRuleRecipientData (),
type = "EMAIL" ,
),
],
triggers = [
CaseNotificationRuleTrigger (
data = CaseNotificationRuleTriggerData (),
type = "CASE_CREATED" ,
),
],
),
type = CaseNotificationRuleResourceType . NOTIFICATION_RULE ,
),
)
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = CaseManagementApi ( api_client )
response = api_instance . create_project_notification_rule ( project_id = "project_id" , 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 us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" python3 "example.py"
# Create a notification rule returns "CREATED" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V2 :: CaseManagementAPI . new
body = DatadogAPIClient :: V2 :: CaseNotificationRuleCreateRequest . new ({
data : DatadogAPIClient :: V2 :: CaseNotificationRuleCreate . new ({
attributes : DatadogAPIClient :: V2 :: CaseNotificationRuleCreateAttributes . new ({
is_enabled : true ,
recipients : [
DatadogAPIClient :: V2 :: CaseNotificationRuleRecipient . new ({
data : DatadogAPIClient :: V2 :: CaseNotificationRuleRecipientData . new ({}),
type : "EMAIL" ,
}),
] ,
triggers : [
DatadogAPIClient :: V2 :: CaseNotificationRuleTrigger . new ({
data : DatadogAPIClient :: V2 :: CaseNotificationRuleTriggerData . new ({}),
type : "CASE_CREATED" ,
}),
] ,
}),
type : DatadogAPIClient :: V2 :: CaseNotificationRuleResourceType :: NOTIFICATION_RULE ,
}),
})
p api_instance . create_project_notification_rule ( "project_id" , 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 us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" rb "example.rb"
// Create a 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 () {
body := datadogV2 . CaseNotificationRuleCreateRequest {
Data : datadogV2 . CaseNotificationRuleCreate {
Attributes : datadogV2 . CaseNotificationRuleCreateAttributes {
IsEnabled : datadog . PtrBool ( true ),
Recipients : [] datadogV2 . CaseNotificationRuleRecipient {
{
Data : & datadogV2 . CaseNotificationRuleRecipientData {},
Type : datadog . PtrString ( "EMAIL" ),
},
},
Triggers : [] datadogV2 . CaseNotificationRuleTrigger {
{
Data : & datadogV2 . CaseNotificationRuleTriggerData {},
Type : datadog . PtrString ( "CASE_CREATED" ),
},
},
},
Type : datadogV2 . CASENOTIFICATIONRULERESOURCETYPE_NOTIFICATION_RULE ,
},
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewCaseManagementApi ( apiClient )
resp , r , err := api . CreateProjectNotificationRule ( ctx , "project_id" , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `CaseManagementApi.CreateProjectNotificationRule`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `CaseManagementApi.CreateProjectNotificationRule`:\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 us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" go run "main.go"
// Create a notification rule returns "CREATED" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v2.api.CaseManagementApi ;
import com.datadog.api.client.v2.model.CaseNotificationRuleCreate ;
import com.datadog.api.client.v2.model.CaseNotificationRuleCreateAttributes ;
import com.datadog.api.client.v2.model.CaseNotificationRuleCreateRequest ;
import com.datadog.api.client.v2.model.CaseNotificationRuleRecipient ;
import com.datadog.api.client.v2.model.CaseNotificationRuleRecipientData ;
import com.datadog.api.client.v2.model.CaseNotificationRuleResourceType ;
import com.datadog.api.client.v2.model.CaseNotificationRuleResponse ;
import com.datadog.api.client.v2.model.CaseNotificationRuleTrigger ;
import com.datadog.api.client.v2.model.CaseNotificationRuleTriggerData ;
import java.util.Collections ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
CaseManagementApi apiInstance = new CaseManagementApi ( defaultClient );
CaseNotificationRuleCreateRequest body =
new CaseNotificationRuleCreateRequest ()
. data (
new CaseNotificationRuleCreate ()
. attributes (
new CaseNotificationRuleCreateAttributes ()
. isEnabled ( true )
. recipients (
Collections . singletonList (
new CaseNotificationRuleRecipient ()
. data ( new CaseNotificationRuleRecipientData ())
. type ( "EMAIL" )))
. triggers (
Collections . singletonList (
new CaseNotificationRuleTrigger ()
. data ( new CaseNotificationRuleTriggerData ())
. type ( "CASE_CREATED" ))))
. type ( CaseNotificationRuleResourceType . NOTIFICATION_RULE ));
try {
CaseNotificationRuleResponse result =
apiInstance . createProjectNotificationRule ( "e555e290-ed65-49bd-ae18-8acbfcf18db7" , body );
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling CaseManagementApi#createProjectNotificationRule" );
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 us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" java "Example.java"
// Create a notification rule returns "CREATED" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_case_management ::CaseManagementAPI ;
use datadog_api_client ::datadogV2 ::model ::CaseNotificationRuleCreate ;
use datadog_api_client ::datadogV2 ::model ::CaseNotificationRuleCreateAttributes ;
use datadog_api_client ::datadogV2 ::model ::CaseNotificationRuleCreateRequest ;
use datadog_api_client ::datadogV2 ::model ::CaseNotificationRuleRecipient ;
use datadog_api_client ::datadogV2 ::model ::CaseNotificationRuleRecipientData ;
use datadog_api_client ::datadogV2 ::model ::CaseNotificationRuleResourceType ;
use datadog_api_client ::datadogV2 ::model ::CaseNotificationRuleTrigger ;
use datadog_api_client ::datadogV2 ::model ::CaseNotificationRuleTriggerData ;
#[tokio::main]
async fn main () {
let body = CaseNotificationRuleCreateRequest ::new ( CaseNotificationRuleCreate ::new (
CaseNotificationRuleCreateAttributes ::new (
vec! [ CaseNotificationRuleRecipient ::new ()
. data ( CaseNotificationRuleRecipientData ::new ())
. type_ ( "EMAIL" . to_string ())],
vec! [ CaseNotificationRuleTrigger ::new ()
. data ( CaseNotificationRuleTriggerData ::new ())
. type_ ( "CASE_CREATED" . to_string ())],
)
. is_enabled ( true ),
CaseNotificationRuleResourceType ::NOTIFICATION_RULE ,
));
let configuration = datadog ::Configuration ::new ();
let api = CaseManagementAPI ::with_config ( configuration );
let resp = api
. create_project_notification_rule ( "project_id" . to_string (), 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 us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" cargo run
/**
* Create a notification rule returns "CREATED" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v2 . CaseManagementApi ( configuration );
const params : v2.CaseManagementApiCreateProjectNotificationRuleRequest = {
body : {
data : {
attributes : {
isEnabled : true ,
recipients : [
{
data : {},
type : "EMAIL" ,
},
],
triggers : [
{
data : {},
type : "CASE_CREATED" ,
},
],
},
type : "notification_rule" ,
},
},
projectId : "project_id" ,
};
apiInstance
. createProjectNotificationRule ( params )
. then (( data : v2.CaseNotificationRuleResponse ) => {
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 us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" tsc "example.ts"