Get a monitor user template

Note: This endpoint is in Preview. If you have any feedback, contact Datadog support.

GET https://api.ap1.datadoghq.com/api/v2/monitor/template/{template_id}https://api.ap2.datadoghq.com/api/v2/monitor/template/{template_id}https://api.datadoghq.eu/api/v2/monitor/template/{template_id}https://api.ddog-gov.com/api/v2/monitor/template/{template_id}https://api.us2.ddog-gov.com/api/v2/monitor/template/{template_id}https://api.datadoghq.com/api/v2/monitor/template/{template_id}https://api.us3.datadoghq.com/api/v2/monitor/template/{template_id}https://api.us5.datadoghq.com/api/v2/monitor/template/{template_id}

Overview

Retrieve a monitor user template by its ID. This endpoint requires the monitors_read permission.

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

Arguments

Path Parameters

Name

Type

Description

template_id [required]

string

ID of the monitor user template.

Query Strings

Name

Type

Description

with_all_versions

boolean

Whether to include all versions of the template in the response in the versions field.

Response

OK

Response for retrieving a monitor user template.

Expand All

Field

Type

Description

data

object

Monitor user template data.

attributes

object

A monitor user template object.

created

date-time

The created timestamp of the template.

description

string

A brief description of the monitor user template.

modified

date-time

The last modified timestamp. When the template version was created.

monitor_definition

object

A valid monitor definition in the same format as the V1 Monitor API.

tags

[string]

The definition of MonitorUserTemplateTags object.

template_variables

[object]

The definition of MonitorUserTemplateTemplateVariables object.

available_values

[string]

Available values for the variable.

defaults

[string]

Default values of the template variable.

name [required]

string

The name of the template variable.

tag_key

string

The tag key associated with the variable. This works the same as dashboard template variables.

title

string

The title of the monitor user template.

version

int64

The version of the monitor user template.

versions

[object]

All versions of the monitor user template.

created

date-time

The created timestamp of the template.

description

string

A brief description of the monitor user template.

id

string

The unique identifier. The initial version will match the template ID.

monitor_definition

object

A valid monitor definition in the same format as the V1 Monitor API.

tags

[string]

The definition of MonitorUserTemplateTags object.

template_variables

[object]

The definition of MonitorUserTemplateTemplateVariables object.

available_values

[string]

Available values for the variable.

defaults

[string]

Default values of the template variable.

name [required]

string

The name of the template variable.

tag_key

string

The tag key associated with the variable. This works the same as dashboard template variables.

title

string

The title of the monitor user template.

version

int64

The version of the monitor user template.

id

string

The unique identifier.

type

enum

Monitor user template resource type. Allowed enum values: monitor-user-template

default: monitor-user-template

{
  "data": {
    "attributes": {
      "created": "2024-01-02T03:04:23.274966+00:00",
      "description": "This is a template for monitoring user activity.",
      "modified": "2024-02-02T03:04:23.274966+00:00",
      "monitor_definition": {
        "message": "You may need to add web hosts if this is consistently high.",
        "name": "Bytes received on host0",
        "query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
        "type": "query alert"
      },
      "tags": [
        "product:Our Custom App",
        "integration:Azure"
      ],
      "template_variables": [
        {
          "available_values": [
            "value1",
            "value2"
          ],
          "defaults": [
            "defaultValue"
          ],
          "name": "regionName",
          "tag_key": "datacenter"
        }
      ],
      "title": "Postgres CPU Monitor",
      "version": 0,
      "versions": [
        {
          "created": "2024-01-02T03:04:23.274966+00:00",
          "description": "This is a template for monitoring user activity.",
          "id": "00000000-0000-1234-0000-000000000000",
          "monitor_definition": {
            "message": "You may need to add web hosts if this is consistently high.",
            "name": "Bytes received on host0",
            "query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
            "type": "query alert"
          },
          "tags": [
            "product:Our Custom App",
            "integration:Azure"
          ],
          "template_variables": [
            {
              "available_values": [
                "value1",
                "value2"
              ],
              "defaults": [
                "defaultValue"
              ],
              "name": "regionName",
              "tag_key": "datacenter"
            }
          ],
          "title": "Postgres CPU Monitor",
          "version": 0
        }
      ]
    },
    "id": "00000000-0000-1234-0000-000000000000",
    "type": "monitor-user-template"
  }
}

Not Found

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

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

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

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

Code Example

                  # Path parameters
export template_id="00000000-0000-1234-0000-000000000000"
# 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/monitor/template/${template_id}" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get a monitor user template returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.monitors_api import MonitorsApi

# there is a valid "monitor_user_template" in the system
MONITOR_USER_TEMPLATE_DATA_ID = environ["MONITOR_USER_TEMPLATE_DATA_ID"]

configuration = Configuration()
configuration.unstable_operations["get_monitor_user_template"] = True
with ApiClient(configuration) as api_client:
    api_instance = MonitorsApi(api_client)
    response = api_instance.get_monitor_user_template(
        template_id=MONITOR_USER_TEMPLATE_DATA_ID,
    )

    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"
# Get a monitor user template returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.get_monitor_user_template".to_sym] = true
end
api_instance = DatadogAPIClient::V2::MonitorsAPI.new

# there is a valid "monitor_user_template" in the system
MONITOR_USER_TEMPLATE_DATA_ID = ENV["MONITOR_USER_TEMPLATE_DATA_ID"]
p api_instance.get_monitor_user_template(MONITOR_USER_TEMPLATE_DATA_ID)

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"
// Get a monitor user template 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() {
	// there is a valid "monitor_user_template" in the system
	MonitorUserTemplateDataID := os.Getenv("MONITOR_USER_TEMPLATE_DATA_ID")

	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.GetMonitorUserTemplate", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewMonitorsApi(apiClient)
	resp, r, err := api.GetMonitorUserTemplate(ctx, MonitorUserTemplateDataID, *datadogV2.NewGetMonitorUserTemplateOptionalParameters())

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

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `MonitorsApi.GetMonitorUserTemplate`:\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"
// Get a monitor user template returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.MonitorsApi;
import com.datadog.api.client.v2.model.MonitorUserTemplateResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.getMonitorUserTemplate", true);
    MonitorsApi apiInstance = new MonitorsApi(defaultClient);

    // there is a valid "monitor_user_template" in the system
    String MONITOR_USER_TEMPLATE_DATA_ID = System.getenv("MONITOR_USER_TEMPLATE_DATA_ID");

    try {
      MonitorUserTemplateResponse result =
          apiInstance.getMonitorUserTemplate(MONITOR_USER_TEMPLATE_DATA_ID);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling MonitorsApi#getMonitorUserTemplate");
      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"
// Get a monitor user template returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_monitors::GetMonitorUserTemplateOptionalParams;
use datadog_api_client::datadogV2::api_monitors::MonitorsAPI;

#[tokio::main]
async fn main() {
    // there is a valid "monitor_user_template" in the system
    let monitor_user_template_data_id = std::env::var("MONITOR_USER_TEMPLATE_DATA_ID").unwrap();
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.GetMonitorUserTemplate", true);
    let api = MonitorsAPI::with_config(configuration);
    let resp = api
        .get_monitor_user_template(
            monitor_user_template_data_id.clone(),
            GetMonitorUserTemplateOptionalParams::default(),
        )
        .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
/**
 * Get a monitor user template returns "OK" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.getMonitorUserTemplate"] = true;
const apiInstance = new v2.MonitorsApi(configuration);

// there is a valid "monitor_user_template" in the system
const MONITOR_USER_TEMPLATE_DATA_ID = process.env
  .MONITOR_USER_TEMPLATE_DATA_ID as string;

const params: v2.MonitorsApiGetMonitorUserTemplateRequest = {
  templateId: MONITOR_USER_TEMPLATE_DATA_ID,
};

apiInstance
  .getMonitorUserTemplate(params)
  .then((data: v2.MonitorUserTemplateResponse) => {
    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"