Get all monitor user templates

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

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

Overview

Retrieve all monitor user templates. This endpoint requires the monitors_read permission.

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

Response

OK

Response for retrieving all monitor user templates.

Expand All

Field

Type

Description

data

[object]

An array of monitor user templates.

attributes

object

Attributes for a monitor user template.

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.

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
      },
      "id": "00000000-0000-1234-0000-000000000000",
      "type": "monitor-user-template"
    }
  ]
}

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

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

Code Example

                  # 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" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get all monitor user templates returns "OK" response
"""

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

configuration = Configuration()
configuration.unstable_operations["list_monitor_user_templates"] = True
with ApiClient(configuration) as api_client:
    api_instance = MonitorsApi(api_client)
    response = api_instance.list_monitor_user_templates()

    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 all monitor user templates returns "OK" response

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

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 all monitor user templates 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() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.ListMonitorUserTemplates", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewMonitorsApi(apiClient)
	resp, r, err := api.ListMonitorUserTemplates(ctx)

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

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `MonitorsApi.ListMonitorUserTemplates`:\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 all monitor user templates 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.MonitorUserTemplateListResponse;

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

    try {
      MonitorUserTemplateListResponse result = apiInstance.listMonitorUserTemplates();
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling MonitorsApi#listMonitorUserTemplates");
      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 all monitor user templates returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_monitors::MonitorsAPI;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.ListMonitorUserTemplates", true);
    let api = MonitorsAPI::with_config(configuration);
    let resp = api.list_monitor_user_templates().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 all monitor user templates returns "OK" response
 */

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

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

apiInstance
  .listMonitorUserTemplates()
  .then((data: v2.MonitorUserTemplateListResponse) => {
    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"