POST https://api.ap1.datadoghq.com/api/v1/slo/bulk_delete https://api.ap2.datadoghq.com/api/v1/slo/bulk_delete https://api.datadoghq.eu/api/v1/slo/bulk_delete https://api.ddog-gov.com/api/v1/slo/bulk_delete https://api.us2.ddog-gov.com/api/v1/slo/bulk_delete https://api.datadoghq.com/api/v1/slo/bulk_delete https://api.us3.datadoghq.com/api/v1/slo/bulk_delete https://api.us5.datadoghq.com/api/v1/slo/bulk_delete
Overview
Delete (or partially delete) multiple service level objective objects.
This endpoint facilitates deletion of one or more thresholds for one or more
service level objective objects. If all thresholds are deleted, the service level
objective object is deleted as well.
This endpoint requires the
slos_write permission.
OAuth apps require the slos_write authorization scope to access this endpoint.
Request Body Data (required) Delete multiple service level objective objects request body.
Expand All
An array of all SLO timeframes.
{
"id1" : [
"7d" ,
"30d"
],
"id2" : [
"7d" ,
"30d"
]
} Response OK
The bulk partial delete service level objective object endpoint
response.
This endpoint operates on multiple service level objective objects, so
it may be partially successful. In such cases, the “data” and “error”
fields in this response indicate which deletions succeeded and failed.
Expand All
An array of service level objective objects.
An array of service level objective object IDs that indicates
which objects that were completely deleted.
An array of service level objective object IDs that indicates
which objects that were modified (objects for which at least one
threshold was deleted, but that were not completely deleted).
Array of errors object returned.
The ID of the service level objective object associated with
this error.
The timeframe of the threshold associated with this error
or "all" if all thresholds are affected.
Allowed enum values: 7d,30d,90d,all
{
"data" : {
"deleted" : [],
"updated" : []
},
"errors" : [
{
"id" : "" ,
"message" : "" ,
"timeframe" : "30d"
}
]
} Bad Request
Error response object.
Expand All
Array of errors returned by the API.
{
"errors" : [
"Bad Request"
]
} Forbidden
Error response object.
Expand All
Array of errors returned by the API.
{
"errors" : [
"Bad Request"
]
} Too many requests
Error response object.
Expand All
Array of errors returned by the API.
{
"errors" : [
"Bad Request"
]
} Code Example Copy
## default
#
# 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/v1/slo/bulk_delete " \
-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
{
"id1": [
"7d",
"30d"
],
"id2": [
"7d",
"30d"
]
}
EOF
"""
Bulk Delete SLO Timeframes returns "OK" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v1.api.service_level_objectives_api import ServiceLevelObjectivesApi
from datadog_api_client.v1.model.slo_bulk_delete import SLOBulkDelete
from datadog_api_client.v1.model.slo_timeframe import SLOTimeframe
body = SLOBulkDelete (
id1 = [
SLOTimeframe . SEVEN_DAYS ,
SLOTimeframe . THIRTY_DAYS ,
],
id2 = [
SLOTimeframe . SEVEN_DAYS ,
SLOTimeframe . THIRTY_DAYS ,
],
)
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = ServiceLevelObjectivesApi ( api_client )
response = api_instance . delete_slo_timeframe_in_bulk ( 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"
# Bulk Delete SLO Timeframes returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V1 :: ServiceLevelObjectivesAPI . new
body = {
id1 : [
DatadogAPIClient :: V1 :: SLOTimeframe :: SEVEN_DAYS ,
DatadogAPIClient :: V1 :: SLOTimeframe :: THIRTY_DAYS ,
] , id2 : [
DatadogAPIClient :: V1 :: SLOTimeframe :: SEVEN_DAYS ,
DatadogAPIClient :: V1 :: SLOTimeframe :: THIRTY_DAYS ,
] ,
}
p api_instance . delete_slo_timeframe_in_bulk ( 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"
require 'dogapi'
api_key = '<DATADOG_API_KEY>'
app_key = '<DATADOG_APPLICATION_KEY>'
slo_id_one = '<YOUR_FIRST_SLO_ID>' . freeze
slo_id_two = '<YOUR_SECOND_SLO_ID>' . freeze
dog = Dogapi :: Client . new ( api_key , app_key )
# Delete multiple timeframes
thresholds = {
slo_id_one => %w[7d] ,
slo_id_two => %w[7d 30d]
}
dog . delete_timeframes_service_level_objective ( thresholds )
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"
// Bulk Delete SLO Timeframes 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/datadogV1"
)
func main () {
body := map [ string ][] datadogV1 . SLOTimeframe {
"id1" : [] datadogV1 . SLOTimeframe {
datadogV1 . SLOTIMEFRAME_SEVEN_DAYS ,
datadogV1 . SLOTIMEFRAME_THIRTY_DAYS ,
},
"id2" : [] datadogV1 . SLOTimeframe {
datadogV1 . SLOTIMEFRAME_SEVEN_DAYS ,
datadogV1 . SLOTIMEFRAME_THIRTY_DAYS ,
},
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV1 . NewServiceLevelObjectivesApi ( apiClient )
resp , r , err := api . DeleteSLOTimeframeInBulk ( ctx , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `ServiceLevelObjectivesApi.DeleteSLOTimeframeInBulk`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `ServiceLevelObjectivesApi.DeleteSLOTimeframeInBulk`:\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"
// Bulk Delete SLO Timeframes returns "OK" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v1.api.ServiceLevelObjectivesApi ;
import com.datadog.api.client.v1.model.SLOBulkDeleteResponse ;
import com.datadog.api.client.v1.model.SLOTimeframe ;
import java.util.Arrays ;
import java.util.List ;
import java.util.Map ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
ServiceLevelObjectivesApi apiInstance = new ServiceLevelObjectivesApi ( defaultClient );
Map < String , List < SLOTimeframe >> body =
Map . ofEntries (
Map . entry ( "id1" , Arrays . asList ( SLOTimeframe . SEVEN_DAYS , SLOTimeframe . THIRTY_DAYS )),
Map . entry ( "id2" , Arrays . asList ( SLOTimeframe . SEVEN_DAYS , SLOTimeframe . THIRTY_DAYS )));
try {
SLOBulkDeleteResponse result = apiInstance . deleteSLOTimeframeInBulk ( body );
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println (
"Exception when calling ServiceLevelObjectivesApi#deleteSLOTimeframeInBulk" );
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"
from datadog import initialize , api
options = {
'api_key' : '<DATADOG_API_KEY>' ,
'app_key' : '<DATADOG_APPLICATION_KEY>'
}
slo_id_1 = '<YOUR_SLO_ID>'
slo_id_2 = '<YOUR_SLO_ID>'
initialize ( ** options )
delete_timeframes = {
slo_id_1 : [ "7d" ]
slo_id_2 : [ "7d" , "30d" ]
}
api . ServiceLevelObjective . bulk_delete ( delete_timeframes )
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>" python "example.py"
// Bulk Delete SLO Timeframes returns "OK" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV1 ::api_service_level_objectives ::ServiceLevelObjectivesAPI ;
use datadog_api_client ::datadogV1 ::model ::SLOTimeframe ;
use std ::collections ::BTreeMap ;
#[tokio::main]
async fn main () {
let body = BTreeMap ::from ([
(
"id1" . to_string (),
vec! [ SLOTimeframe ::SEVEN_DAYS , SLOTimeframe ::THIRTY_DAYS ],
),
(
"id2" . to_string (),
vec! [ SLOTimeframe ::SEVEN_DAYS , SLOTimeframe ::THIRTY_DAYS ],
),
]);
let configuration = datadog ::Configuration ::new ();
let api = ServiceLevelObjectivesAPI ::with_config ( configuration );
let resp = api . delete_slo_timeframe_in_bulk ( 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
/**
* Bulk Delete SLO Timeframes returns "OK" response
*/
import { client , v1 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v1 . ServiceLevelObjectivesApi ( configuration );
const params : v1.ServiceLevelObjectivesApiDeleteSLOTimeframeInBulkRequest = {
body : {
id1 : [ "7d" , "30d" ],
id2 : [ "7d" , "30d" ],
},
};
apiInstance
. deleteSLOTimeframeInBulk ( params )
. then (( data : v1.SLOBulkDeleteResponse ) => {
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"