POST https://api.ap1.datadoghq.com/api/v1/synthetics/tests/uptimes https://api.ap2.datadoghq.com/api/v1/synthetics/tests/uptimes https://api.datadoghq.eu/api/v1/synthetics/tests/uptimes https://api.ddog-gov.com/api/v1/synthetics/tests/uptimes https://api.us2.ddog-gov.com/api/v1/synthetics/tests/uptimes https://api.datadoghq.com/api/v1/synthetics/tests/uptimes https://api.us3.datadoghq.com/api/v1/synthetics/tests/uptimes https://api.us5.datadoghq.com/api/v1/synthetics/tests/uptimes
Overview Fetch uptime for multiple Synthetic tests by ID.
This endpoint requires the synthetics_read permission.
OAuth apps require the synthetics_read authorization scope to access this endpoint.
Request Body Data (required) Public ID list of the Synthetic tests and timeframe.
Expand All
Timestamp in seconds (Unix epoch) for the start of uptime.
An array of Synthetic test IDs you want uptimes for.
Timestamp in seconds (Unix epoch) for the end of uptime.
{
"from_ts" : 1726041488 ,
"public_ids" : [
"p8m-9gw-nte"
],
"to_ts" : 1726055954
} Response OK.
Expand All
Timestamp in seconds for the start of uptime.
Object containing the uptime information.
An array of error objects returned while querying the history data for the service level objective.
A message with more details about the error.
The state transition history for the monitor, represented as an array of
pairs. Each pair is an array where the first element is the transition timestamp
in Unix epoch format (integer) and the second element is the state (integer).
For the state, an integer value of 0 indicates uptime, 1 indicates downtime,
and 2 indicates no data.
The number of decimal places to which the SLI value is accurate for the given from-to timestamps.
Timestamp in seconds for the end of uptime.
{
"from_ts" : "integer" ,
"overall" : {
"errors" : [
{
"error_message" : "" ,
"error_type" : ""
}
],
"group" : "name" ,
"history" : [
[
1579212382 ,
0
]
],
"span_precision" : 2 ,
"uptime" : 99.99
},
"public_id" : "abc-def-123" ,
"to_ts" : "integer"
} - JSON format is wrong
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/synthetics/tests/uptimes " \
-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
{
"from_ts": 1726041488,
"public_ids": [
"abc-def-123"
],
"to_ts": 1726127888
}
EOF
// Fetch uptime for multiple tests 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 := datadogV1 . SyntheticsFetchUptimesPayload {
FromTs : 1726041488 ,
PublicIds : [] string {
"p8m-9gw-nte" ,
},
ToTs : 1726055954 ,
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV1 . NewSyntheticsApi ( apiClient )
resp , r , err := api . FetchUptimes ( ctx , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `SyntheticsApi.FetchUptimes`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `SyntheticsApi.FetchUptimes`:\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"
// Fetch uptime for multiple tests returns "OK." response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v1.api.SyntheticsApi ;
import com.datadog.api.client.v1.model.SyntheticsFetchUptimesPayload ;
import com.datadog.api.client.v1.model.SyntheticsTestUptime ;
import java.util.Collections ;
import java.util.List ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
SyntheticsApi apiInstance = new SyntheticsApi ( defaultClient );
SyntheticsFetchUptimesPayload body =
new SyntheticsFetchUptimesPayload ()
. fromTs ( 1726041488L )
. publicIds ( Collections . singletonList ( "p8m-9gw-nte" ))
. toTs ( 1726055954L );
try {
List < SyntheticsTestUptime > result = apiInstance . fetchUptimes ( body );
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling SyntheticsApi#fetchUptimes" );
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"
"""
Fetch uptime for multiple tests returns "OK." response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v1.api.synthetics_api import SyntheticsApi
from datadog_api_client.v1.model.synthetics_fetch_uptimes_payload import SyntheticsFetchUptimesPayload
body = SyntheticsFetchUptimesPayload (
from_ts = 1726041488 ,
public_ids = [
"p8m-9gw-nte" ,
],
to_ts = 1726055954 ,
)
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = SyntheticsApi ( api_client )
response = api_instance . fetch_uptimes ( 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"
# Fetch uptime for multiple tests returns "OK." response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V1 :: SyntheticsAPI . new
body = DatadogAPIClient :: V1 :: SyntheticsFetchUptimesPayload . new ({
from_ts : 1726041488 ,
public_ids : [
"p8m-9gw-nte" ,
] ,
to_ts : 1726055954 ,
})
p api_instance . fetch_uptimes ( 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"
// Fetch uptime for multiple tests returns "OK." response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV1 ::api_synthetics ::SyntheticsAPI ;
use datadog_api_client ::datadogV1 ::model ::SyntheticsFetchUptimesPayload ;
#[tokio::main]
async fn main () {
let body =
SyntheticsFetchUptimesPayload ::new ( 1726041488 , vec! [ "p8m-9gw-nte" . to_string ()], 1726055954 );
let configuration = datadog ::Configuration ::new ();
let api = SyntheticsAPI ::with_config ( configuration );
let resp = api . fetch_uptimes ( 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
/**
* Fetch uptime for multiple tests returns "OK." response
*/
import { client , v1 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v1 . SyntheticsApi ( configuration );
const params : v1.SyntheticsApiFetchUptimesRequest = {
body : {
fromTs : 1726041488 ,
publicIds : [ "p8m-9gw-nte" ],
toTs : 1726055954 ,
},
};
apiInstance
. fetchUptimes ( params )
. then (( data : v1.SyntheticsTestUptime []) => {
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"