Note : This feature is in private beta. To request access, use the request access form in the Service Level Objectives docs.
GET https://api.ap1.datadoghq.com/api/v2/slo/report/{report_id}/download https://api.ap2.datadoghq.com/api/v2/slo/report/{report_id}/download https://api.datadoghq.eu/api/v2/slo/report/{report_id}/download https://api.ddog-gov.com/api/v2/slo/report/{report_id}/download https://api.us2.ddog-gov.com/api/v2/slo/report/{report_id}/download https://api.datadoghq.com/api/v2/slo/report/{report_id}/download https://api.us3.datadoghq.com/api/v2/slo/report/{report_id}/download https://api.us5.datadoghq.com/api/v2/slo/report/{report_id}/download
Overview
Download an SLO report. This can only be performed after the report job has completed.
Reports are not guaranteed to exist indefinitely. Datadog recommends that you download the report as soon as it is available.
OAuth apps require the slos_read authorization scope to access this endpoint.
Arguments Path Parameters The ID of the report job.
Response Bad Request
{
"errors" : [
"Bad Request"
]
} Forbidden
{
"errors" : [
"Bad Request"
]
} Not Found
{
"errors" : [
"Bad Request"
]
} Too many requests
{
"errors" : [
"Bad Request"
]
} Code Example Copy
# Path parameters export report_id = "CHANGE_ME" # Curl command curl -X GET "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/slo/report/${report_id}/download " \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY} " \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY} "
"""
Get SLO report returns "OK" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v2.api.service_level_objectives_api import ServiceLevelObjectivesApi
configuration = Configuration ()
configuration . unstable_operations [ "get_slo_report" ] = True
with ApiClient ( configuration ) as api_client :
api_instance = ServiceLevelObjectivesApi ( api_client )
response = api_instance . get_slo_report (
report_id = "9fb2dc2a-ead0-11ee-a174-9fe3a9d7627f" ,
)
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"
# Get SLO report returns "OK" response
require "datadog_api_client"
DatadogAPIClient . configure do | config |
config . unstable_operations [ "v2.get_slo_report" . to_sym ] = true
end
api_instance = DatadogAPIClient :: V2 :: ServiceLevelObjectivesAPI . new
p api_instance . get_slo_report ( "9fb2dc2a-ead0-11ee-a174-9fe3a9d7627f" )
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"
// Get SLO report returns "OK" response
package main
import (
"context"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main () {
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
configuration . SetUnstableOperationEnabled ( "v2.GetSLOReport" , true )
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewServiceLevelObjectivesApi ( apiClient )
resp , r , err := api . GetSLOReport ( ctx , "9fb2dc2a-ead0-11ee-a174-9fe3a9d7627f" )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `ServiceLevelObjectivesApi.GetSLOReport`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
fmt . Fprintf ( os . Stdout , "Response from `ServiceLevelObjectivesApi.GetSLOReport`:\n%s\n" , resp )
}
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"
// Get SLO report returns "OK" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v2.api.ServiceLevelObjectivesApi ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
defaultClient . setUnstableOperationEnabled ( "v2.getSLOReport" , true );
ServiceLevelObjectivesApi apiInstance = new ServiceLevelObjectivesApi ( defaultClient );
try {
String result = apiInstance . getSLOReport ( "9fb2dc2a-ead0-11ee-a174-9fe3a9d7627f" );
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling ServiceLevelObjectivesApi#getSLOReport" );
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"
// Get SLO report returns "OK" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_service_level_objectives ::ServiceLevelObjectivesAPI ;
#[tokio::main]
async fn main () {
let mut configuration = datadog ::Configuration ::new ();
configuration . set_unstable_operation_enabled ( "v2.GetSLOReport" , true );
let api = ServiceLevelObjectivesAPI ::with_config ( configuration );
let resp = api
. get_slo_report ( "9fb2dc2a-ead0-11ee-a174-9fe3a9d7627f" . to_string ())
. 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
/**
* Get SLO report returns "OK" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
configuration . unstableOperations [ "v2.getSLOReport" ] = true ;
const apiInstance = new v2 . ServiceLevelObjectivesApi ( configuration );
const params : v2.ServiceLevelObjectivesApiGetSLOReportRequest = {
reportId : "9fb2dc2a-ead0-11ee-a174-9fe3a9d7627f" ,
};
apiInstance
. getSLOReport ( params )
. then (( data : string ) => {
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"