Validate query

POST https://api.ap1.datadoghq.com/api/v2/tags/enrichment/validate-queryhttps://api.ap2.datadoghq.com/api/v2/tags/enrichment/validate-queryhttps://api.datadoghq.eu/api/v2/tags/enrichment/validate-queryhttps://api.ddog-gov.com/api/v2/tags/enrichment/validate-queryhttps://api.us2.ddog-gov.com/api/v2/tags/enrichment/validate-queryhttps://api.datadoghq.com/api/v2/tags/enrichment/validate-queryhttps://api.us3.datadoghq.com/api/v2/tags/enrichment/validate-queryhttps://api.us5.datadoghq.com/api/v2/tags/enrichment/validate-query

Overview

Validate a tag pipeline query - Validate the syntax and structure of a tag pipeline query

OAuth apps require the cloud_cost_management_read authorization scope to access this endpoint.

Request

Body Data (required)

Expand All

Field

Type

Description

data

object

The definition of RulesValidateQueryRequestData object.

attributes

object

The definition of RulesValidateQueryRequestDataAttributes object.

Query [required]

string

The attributes Query.

id

string

The RulesValidateQueryRequestData id.

type [required]

enum

Validate query resource type. Allowed enum values: validate_query

default: validate_query

{
  "data": {
    "attributes": {
      "Query": "example:query AND test:true"
    },
    "type": "validate_query"
  }
}

Response

OK

The definition of RulesValidateQueryResponse object.

Expand All

Field

Type

Description

data

object

The definition of RulesValidateQueryResponseData object.

attributes

object

The definition of RulesValidateQueryResponseDataAttributes object.

Canonical [required]

string

The attributes Canonical.

id

string

The RulesValidateQueryResponseData id.

type [required]

enum

Validate response resource type. Allowed enum values: validate_response

default: validate_response

{
  "data": {
    "attributes": {
      "Canonical": "canonical query representation"
    },
    "type": "validate_response"
  }
}

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Code Example

                          ## 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/v2/tags/enrichment/validate-query" \ -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 { "data": { "attributes": { "Query": "example:query AND test:true" }, "type": "validate_query" } } EOF
// Validate query 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/datadogV2"
)

func main() {
	body := datadogV2.RulesValidateQueryRequest{
		Data: &datadogV2.RulesValidateQueryRequestData{
			Attributes: &datadogV2.RulesValidateQueryRequestDataAttributes{
				Query: "example:query AND test:true",
			},
			Type: datadogV2.RULESVALIDATEQUERYREQUESTDATATYPE_VALIDATE_QUERY,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewCloudCostManagementApi(apiClient)
	resp, r, err := api.ValidateQuery(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `CloudCostManagementApi.ValidateQuery`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `CloudCostManagementApi.ValidateQuery`:\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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Validate query returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.CloudCostManagementApi;
import com.datadog.api.client.v2.model.RulesValidateQueryRequest;
import com.datadog.api.client.v2.model.RulesValidateQueryRequestData;
import com.datadog.api.client.v2.model.RulesValidateQueryRequestDataAttributes;
import com.datadog.api.client.v2.model.RulesValidateQueryRequestDataType;
import com.datadog.api.client.v2.model.RulesValidateQueryResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    CloudCostManagementApi apiInstance = new CloudCostManagementApi(defaultClient);

    RulesValidateQueryRequest body =
        new RulesValidateQueryRequest()
            .data(
                new RulesValidateQueryRequestData()
                    .attributes(
                        new RulesValidateQueryRequestDataAttributes()
                            .query("example:query AND test:true"))
                    .type(RulesValidateQueryRequestDataType.VALIDATE_QUERY));

    try {
      RulesValidateQueryResponse result = apiInstance.validateQuery(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling CloudCostManagementApi#validateQuery");
      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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
"""
Validate query returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
from datadog_api_client.v2.model.rules_validate_query_request import RulesValidateQueryRequest
from datadog_api_client.v2.model.rules_validate_query_request_data import RulesValidateQueryRequestData
from datadog_api_client.v2.model.rules_validate_query_request_data_attributes import (
    RulesValidateQueryRequestDataAttributes,
)
from datadog_api_client.v2.model.rules_validate_query_request_data_type import RulesValidateQueryRequestDataType

body = RulesValidateQueryRequest(
    data=RulesValidateQueryRequestData(
        attributes=RulesValidateQueryRequestDataAttributes(
            query="example:query AND test:true",
        ),
        type=RulesValidateQueryRequestDataType.VALIDATE_QUERY,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = CloudCostManagementApi(api_client)
    response = api_instance.validate_query(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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Validate query returns "OK" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new

body = DatadogAPIClient::V2::RulesValidateQueryRequest.new({
  data: DatadogAPIClient::V2::RulesValidateQueryRequestData.new({
    attributes: DatadogAPIClient::V2::RulesValidateQueryRequestDataAttributes.new({
      query: "example:query AND test:true",
    }),
    type: DatadogAPIClient::V2::RulesValidateQueryRequestDataType::VALIDATE_QUERY,
  }),
})
p api_instance.validate_query(body)

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Validate query returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_cloud_cost_management::CloudCostManagementAPI;
use datadog_api_client::datadogV2::model::RulesValidateQueryRequest;
use datadog_api_client::datadogV2::model::RulesValidateQueryRequestData;
use datadog_api_client::datadogV2::model::RulesValidateQueryRequestDataAttributes;
use datadog_api_client::datadogV2::model::RulesValidateQueryRequestDataType;

#[tokio::main]
async fn main() {
    let body = RulesValidateQueryRequest::new().data(
        RulesValidateQueryRequestData::new(RulesValidateQueryRequestDataType::VALIDATE_QUERY)
            .attributes(RulesValidateQueryRequestDataAttributes::new(
                "example:query AND test:true".to_string(),
            )),
    );
    let configuration = datadog::Configuration::new();
    let api = CloudCostManagementAPI::with_config(configuration);
    let resp = api.validate_query(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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Validate query returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.CloudCostManagementApi(configuration);

const params: v2.CloudCostManagementApiValidateQueryRequest = {
  body: {
    data: {
      attributes: {
        query: "example:query AND test:true",
      },
      type: "validate_query",
    },
  },
};

apiInstance
  .validateQuery(params)
  .then((data: v2.RulesValidateQueryResponse) => {
    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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"