GET https://api.ap1.datadoghq.com/api/v1/usage/cws https://api.ap2.datadoghq.com/api/v1/usage/cws https://api.datadoghq.eu/api/v1/usage/cws https://api.ddog-gov.com/api/v1/usage/cws https://api.us2.ddog-gov.com/api/v1/usage/cws https://api.datadoghq.com/api/v1/usage/cws https://api.us3.datadoghq.com/api/v1/usage/cws https://api.us5.datadoghq.com/api/v1/usage/cws
Overview Get hourly usage for cloud workload security.
Note: This endpoint has been deprecated. Hourly usage data for all products is now available in the Get hourly usage by product family API . Refer to Migrating from the V1 Hourly Usage APIs to V2 for the associated migration guide.
This endpoint requires the usage_read permission.
OAuth apps require the usage_read authorization scope to access this endpoint.
Arguments Query Strings Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending
before this hour.
Response OK
Response containing the Cloud Workload Security usage for each hour for a given organization.
Expand All
Get hourly usage for Cloud Workload Security.
The total number of Cloud Workload Security container hours from the start of the given hour’s month until the given hour.
The total number of Cloud Workload Security host hours from the start of the given hour’s month until the given hour.
The organization public ID.
{
"usage" : [
{
"cws_container_count" : "integer" ,
"cws_host_count" : "integer" ,
"hour" : "2019-09-19T10:00:00.000Z" ,
"org_name" : "string" ,
"public_id" : "string"
}
]
} Bad Request
Error response object.
Expand All
Array of errors returned by the API.
{
"errors" : [
"Bad Request"
]
} Forbidden - User is not authorized
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 start_hr = "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/v1/usage/cws ? start_hr = ${start_hr} " \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY} " \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY} "
"""
Get hourly usage for cloud workload security 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.usage_metering_api import UsageMeteringApi
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = UsageMeteringApi ( api_client )
response = api_instance . get_usage_cws (
start_hr = ( datetime . now () + relativedelta ( days =- 5 )),
end_hr = ( datetime . now () + relativedelta ( days =- 3 )),
)
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"
# Get hourly usage for cloud workload security returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V1 :: UsageMeteringAPI . new
opts = {
end_hr : ( Time . now + - 3 * 86400 ),
}
p api_instance . get_usage_cws (( Time . now + - 5 * 86400 ), 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 us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" rb "example.rb"
// Get hourly usage for cloud workload security 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 . NewUsageMeteringApi ( apiClient )
resp , r , err := api . GetUsageCWS ( ctx , time . Now (). AddDate ( 0 , 0 , - 5 ), * datadogV1 . NewGetUsageCWSOptionalParameters (). WithEndHr ( time . Now (). AddDate ( 0 , 0 , - 3 )))
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `UsageMeteringApi.GetUsageCWS`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `UsageMeteringApi.GetUsageCWS`:\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"
// Get hourly usage for cloud workload security returns "OK" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v1.api.UsageMeteringApi ;
import com.datadog.api.client.v1.api.UsageMeteringApi.GetUsageCWSOptionalParameters ;
import com.datadog.api.client.v1.model.UsageCWSResponse ;
import java.time.OffsetDateTime ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
UsageMeteringApi apiInstance = new UsageMeteringApi ( defaultClient );
try {
UsageCWSResponse result =
apiInstance . getUsageCWS (
OffsetDateTime . now (). plusDays ( - 5 ),
new GetUsageCWSOptionalParameters (). endHr ( OffsetDateTime . now (). plusDays ( - 3 )));
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling UsageMeteringApi#getUsageCWS" );
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 hourly usage for cloud workload security returns "OK" response
use chrono ::{ DateTime , Utc };
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV1 ::api_usage_metering ::GetUsageCWSOptionalParams ;
use datadog_api_client ::datadogV1 ::api_usage_metering ::UsageMeteringAPI ;
#[tokio::main]
async fn main () {
let configuration = datadog ::Configuration ::new ();
let api = UsageMeteringAPI ::with_config ( configuration );
let resp = api
. get_usage_cws (
DateTime ::parse_from_rfc3339 ( "2021-11-06T11:11:11+00:00" )
. expect ( "Failed to parse datetime" )
. with_timezone ( & Utc ),
GetUsageCWSOptionalParams ::default (). end_hr (
DateTime ::parse_from_rfc3339 ( "2021-11-08T11:11:11+00:00" )
. expect ( "Failed to parse datetime" )
. with_timezone ( & Utc ),
),
)
. 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 hourly usage for cloud workload security returns "OK" response
*/
import { client , v1 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v1 . UsageMeteringApi ( configuration );
const params : v1.UsageMeteringApiGetUsageCWSRequest = {
startHr : new Date ( new Date (). getTime () + - 5 * 86400 * 1000 ),
endHr : new Date ( new Date (). getTime () + - 3 * 86400 * 1000 ),
};
apiInstance
. getUsageCWS ( params )
. then (( data : v1.UsageCWSResponse ) => {
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"