GET  https://api.ap1.datadoghq.com/api/v1/graph/snapshot https://api.ap2.datadoghq.com/api/v1/graph/snapshot https://api.datadoghq.eu/api/v1/graph/snapshot https://api.ddog-gov.com/api/v1/graph/snapshot https://api.datadoghq.com/api/v1/graph/snapshot https://api.us3.datadoghq.com/api/v1/graph/snapshot https://api.us5.datadoghq.com/api/v1/graph/snapshot 
Overview 
Take graph snapshots. Snapshots are PNG images generated by rendering a specified widget in a web page and capturing it once the data is available. The image is then uploaded to cloud storage.
Note : When a snapshot is created, there is some delay before it is available.
Arguments Query Strings The POSIX timestamp of the start of the query in seconds.
The POSIX timestamp of the end of the query in seconds.
A query that adds event bands to the graph.
A JSON document defining the graph. graph_def can be used instead of metric_query.
The JSON document uses the grammar defined here 
and should be formatted to a single line then URL encoded.
A title for the graph. If no title is specified, the graph does not have a title.
The height of the graph. If no height is specified, the graph’s original height is used.
The width of the graph. If no width is specified, the graph’s original width is used.
Response OK
Object representing a graph snapshot.
Expand All
A JSON document defining the graph. graph_def can be used instead of metric_query.
The JSON document uses the grammar defined here 
and should be formatted to a single line then URL encoded.
The metric query. One of metric_query or graph_def is required.
{ 
  "graph_def" :  "string" , 
   "metric_query" :  "string" , 
   "snapshot_url" :  "https://app.datadoghq.com/s/f12345678/aaa-bbb-ccc" 
 } 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 
                  # Required query arguments export  metric_query = "CHANGE_ME" export  start = "CHANGE_ME" export  end = "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.datadoghq.com "https://api.us3.datadoghq.com "https://api.us5.datadoghq.com /api/v1/graph/snapshot ? metric_query = ${metric_query} & start = ${start} & end = ${end} "  \
-H  "Accept: application/json"  \
-H  "DD-API-KEY: ${DD_API_KEY} "  \
-H  "DD-APPLICATION-KEY: ${DD_APP_KEY} "  
"""
 Take graph snapshots returns "OK" response
 """ 
 from  datetime  import  datetime 
from  dateutil.relativedelta  import  relativedelta 
from  datadog_api_client  import  ApiClient ,  Configuration 
from  datadog_api_client.v1.api.snapshots_api  import  SnapshotsApi 
 configuration  =  Configuration () 
with  ApiClient ( configuration )  as  api_client : 
    api_instance  =  SnapshotsApi ( api_client ) 
     response  =  api_instance . get_graph_snapshot ( 
         metric_query = "avg:system.load.1{*}" , 
         start = int (( datetime . now ()  +  relativedelta ( days =- 1 )) . timestamp ()), 
         end = int ( datetime . now () . timestamp ()), 
         title = "System load" , 
         height = 400 , 
         width = 600 , 
     ) 
 
     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 "  DD_API_KEY = "<DD_API_KEY>"  DD_APP_KEY = "<DD_APP_KEY>"  python3  "example.py" 
 
# Take graph snapshots returns "OK" response 
 require  "datadog_api_client" 
api_instance  =  DatadogAPIClient :: V1 :: SnapshotsAPI . new 
opts  =  { 
  metric_query :  "avg:system.load.1{*}" , 
   title :  "System load" , 
   height :  400 , 
   width :  600 , 
 } 
p  api_instance . get_graph_snapshot (( Time . now  +  - 1  *  86400 ) . to_i ,  Time . now . to_i ,  opts ) 
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 "  DD_API_KEY = "<DD_API_KEY>"  DD_APP_KEY = "<DD_APP_KEY>"  rb  "example.rb" 
 
require  'rubygems' 
require  'dogapi' 
 api_key  =  '<DATADOG_API_KEY>' 
app_key  =  '<DATADOG_APPLICATION_KEY>' 
 dog  =  Dogapi :: Client . new ( api_key ,  app_key ) 
 end_ts  =  Time . now () . to_i 
start_ts  =  end_ts  -  ( 60  *  60 ) 
dog . graph_snapshot ( "system.load.1{*}" ,  start_ts ,  end_ts ) 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 "  DD_API_KEY = "<DD_API_KEY>"  DD_APP_KEY = "<DD_APP_KEY>"  rb  "example.rb" 
 
// Take graph snapshots returns "OK" response 
 
 package   main 
 
 import   ( 
 	 "context" 
 	 "encoding/json" 
 	 "fmt" 
 	 "os" 
 	 "time" 
 
 	 "github.com/DataDog/datadog-api-client-go/v2/api/datadog" 
 	 "github.com/DataDog/datadog-api-client-go/v2/api/datadogV1" 
 ) 
 
 func   main ()   { 
 	 ctx   :=   datadog . NewDefaultContext ( context . Background ()) 
 	 configuration   :=   datadog . NewConfiguration () 
 	 apiClient   :=   datadog . NewAPIClient ( configuration ) 
 	 api   :=   datadogV1 . NewSnapshotsApi ( apiClient ) 
 	 resp ,   r ,   err   :=   api . GetGraphSnapshot ( ctx ,   time . Now (). AddDate ( 0 ,   0 ,   - 1 ). Unix (),   time . Now (). Unix (),   * datadogV1 . NewGetGraphSnapshotOptionalParameters (). WithMetricQuery ( "avg:system.load.1{*}" ). WithTitle ( "System load" ). WithHeight ( 400 ). WithWidth ( 600 )) 
 
 	 if   err   !=   nil   { 
 		 fmt . Fprintf ( os . Stderr ,   "Error when calling `SnapshotsApi.GetGraphSnapshot`: %v\n" ,   err ) 
 		 fmt . Fprintf ( os . Stderr ,   "Full HTTP response: %v\n" ,   r ) 
 	 } 
 
 	 responseContent ,   _   :=   json . MarshalIndent ( resp ,   "" ,   "  " ) 
 	 fmt . Fprintf ( os . Stdout ,   "Response from `SnapshotsApi.GetGraphSnapshot`:\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 "  DD_API_KEY = "<DD_API_KEY>"  DD_APP_KEY = "<DD_APP_KEY>"  go run  "main.go" 
 
// Take graph snapshots returns "OK" response 
 import   com.datadog.api.client.ApiClient ; 
 import   com.datadog.api.client.ApiException ; 
 import   com.datadog.api.client.v1.api.SnapshotsApi ; 
 import   com.datadog.api.client.v1.api.SnapshotsApi.GetGraphSnapshotOptionalParameters ; 
 import   com.datadog.api.client.v1.model.GraphSnapshot ; 
 import   java.time.OffsetDateTime ; 
 
 public   class  Example   { 
    public   static   void   main ( String []   args )   { 
      ApiClient   defaultClient   =   ApiClient . getDefaultApiClient (); 
      SnapshotsApi   apiInstance   =   new   SnapshotsApi ( defaultClient ); 
 
      try   { 
        GraphSnapshot   result   = 
            apiInstance . getGraphSnapshot ( 
                OffsetDateTime . now (). plusDays ( - 1 ). toInstant (). getEpochSecond (), 
                OffsetDateTime . now (). toInstant (). getEpochSecond (), 
                new   GetGraphSnapshotOptionalParameters () 
                    . metricQuery ( "avg:system.load.1{*}" ) 
                    . title ( "System load" ) 
                    . height ( 400L ) 
                    . width ( 600L )); 
        System . out . println ( result ); 
      }   catch   ( ApiException   e )   { 
        System . err . println ( "Exception when calling SnapshotsApi#getGraphSnapshot" ); 
        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 "  DD_API_KEY = "<DD_API_KEY>"  DD_APP_KEY = "<DD_APP_KEY>"  java  "Example.java" 
 
from  datadog  import  initialize ,  api 
import  time 
 options  =  { 
    'api_key' :  '<DATADOG_API_KEY>' , 
     'app_key' :  '<DATADOG_APPLICATION_KEY>' 
 } 
 initialize ( ** options ) 
 # Take a graph snapshot 
end  =  int ( time . time ()) 
start  =  end  -  ( 60  *  60 ) 
api . Graph . create ( 
    graph_def = '{ \
      "viz": "timeseries",  \
     "requests": [  \
       {"q": "avg:system.load.1{*}", "conditional_formats": [], "type": "line"}, \
       {"q": "avg:system.load.5{*}", "type": "line"},  \
       {"q": "avg:system.load.15{*}", "type": "line"} \
       ],  \
     "events": [ \
       {"q": "hosts:* ", "tags_execution": "and"} \
       ]}' , 
    start = start , 
     end = end 
 ) 
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 "  DD_API_KEY = "<DD_API_KEY>"  DD_APP_KEY = "<DD_APP_KEY>"  python  "example.py" 
 
// Take graph snapshots returns "OK" response
 use   datadog_api_client ::datadog ; 
 use   datadog_api_client ::datadogV1 ::api_snapshots ::GetGraphSnapshotOptionalParams ; 
 use   datadog_api_client ::datadogV1 ::api_snapshots ::SnapshotsAPI ; 
 
 #[tokio::main] 
 async   fn  main ()   { 
      let   configuration   =   datadog ::Configuration ::new (); 
      let   api   =   SnapshotsAPI ::with_config ( configuration ); 
      let   resp   =   api 
          . get_graph_snapshot ( 
              1636542671 , 
              1636629071 , 
              GetGraphSnapshotOptionalParams ::default () 
                  . metric_query ( "avg:system.load.1{*}" . to_string ()) 
                  . title ( "System load" . to_string ()) 
                  . height ( 400 ) 
                  . width ( 600 ), 
          ) 
          . 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 "  DD_API_KEY = "<DD_API_KEY>"  DD_APP_KEY = "<DD_APP_KEY>"  cargo run 
 
/**
  * Take graph snapshots returns "OK" response
  */ 
 import  {  client ,  v1  }  from  "@datadog/datadog-api-client" ; 
 const  configuration  =  client . createConfiguration (); 
const  apiInstance  =  new  v1 . SnapshotsApi ( configuration ); 
 const  params : v1.SnapshotsApiGetGraphSnapshotRequest  =  { 
  metricQuery :  "avg:system.load.1{*}" , 
   start : Math.round ( 
     new  Date ( new  Date (). getTime ()  +  - 1  *  86400  *  1000 ). getTime ()  /  1000 
   ), 
   end : Math.round ( new  Date (). getTime ()  /  1000 ), 
   title :  "System load" , 
   height : 400 , 
   width : 600 , 
 }; 
 apiInstance 
  . getGraphSnapshot ( params ) 
   . then (( data : v1.GraphSnapshot )  =>  { 
     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 "  DD_API_KEY = "<DD_API_KEY>"  DD_APP_KEY = "<DD_APP_KEY>"  tsc  "example.ts"