Custom tags API - POST tags

Add custom tags to the specified monitored entities.

The request consumes and produces an application/json payload.

Early Adopter

This request is an Early Adopter release and may be changed in non-compatible way.

POST
  • Managed https://{your-domain}/e/{your-environment-id}/api/v2/tags
  • SaaS https://{your-environment-id}.live.dynatrace.com/api/v2/tags

Authentication

To execute this request, you need the Write entities using API V2 (entities.write) permission assigned to your API token. To learn how to obtain and use it, see Tokens and authentication.

Parameters

Parameter Type Description In Required
entitySelector string

Specifies the entities where you want to update tags.

You need to set one of these criteria:

  • Entity type: type("value").
  • Dynatrace entity ID: entityId("id"). You can specify several IDs, separated by a comma (entityId("id-1","id-2")).

And you can add one or several of the following criteria:

  • Tag: tag("value"). Tags in [context]key:value, key:value, and value formats are detected and parsed automatically. If a value-only tag has a colon (:) in it, you must escape the colon with a backslash(\). Otherwise, the tag will be parsed as a key:value tag. All tag values are case-sensitive.
  • Management zone ID: mzId("ID")
  • Management zone name: mzName("value"). Management zone names are case-sensitive.
  • Dynatrace entity name: entityName("value"). You can specify several entity names, separated by a comma (entityName("name-1","name-2")). Entity names are case-sensitive.
  • Health state (HEALTHY,UNHEALTHY): healthState("HEALTHY")

Further information can be found here. To set several criteria, separate them with a comma (,). For example, type("HOST"),healthState("HEALTHY"). Only results matching all criteria are included in response.

The length of the string is limited to 10,000 characters.

query optional
body AddEntityTags

The JSON body of the request. Contains tags to be added to the matching entities.

body optional

The AddEntityTags object

A list of tags to be added to monitored entities.

Element Type Description Required
tags AddEntityTag[]

A list of tags to be added to monitored entities.

required

The AddEntityTag object

The custom tag to be added to monitored entities.

Element Type Description Required
value string

The value of the custom tag to be added to monitored entities. May be null

optional
key string

The key of the custom tag to be added to monitored entities.

required

Response format

The AddedEntityTags object

A list of custom tags added to monitored entities.

Element Type Description
matchedEntitiesCount integer

The number of monitored entities where the tags have been added.

appliedTags METag[]

A list of added custom tags.

The METag object

The tag of a monitored entity.

Element Type Description
stringRepresentation string

The string representation of the tag.

value string

The value of the tag.

key string

The key of the tag.

context string

The origin of the tag, such as AWS or Cloud Foundry.

Custom tags use the CONTEXTLESS value.

Example

In this example, the request adds the REST-test and RESTexample custom tags to hosts that already have the easyTravel tag. To achieve that, the entitySelector query parameter is set to type("HOST"),tag("easyTravel").

The API token is passed in the Authorization header.

Curl

curl -L -X POST 'https://mySampleEnv.live.dynatrace.com/api/v2/tags?entitySelector=type(%22HOST%22),tag(%22easyTravel%22)' \
-H 'Authorization: Api-Token abcdefjhij1234567890' \
-H 'Content-Type: application/json' \
--data-raw '{
  "tags": [
  {
    "key": "REST-test"
  },
  {
    "key": "RESTexample"
  }
  ]
}'

Request URL

https://mySampleEnv.live.dynatrace.com/api/v2/tags?entitySelector=type(%22HOST%22),tag(%22easyTravel%22)

Request body

Download
{
  "tags": [
    {
      "key": "REST-test"
    },
    {
      "key": "RESTexample"
    }
  ]
}

Response body

{
  "matchedEntitiesCount": 3,
  "appliedTags": [
    {
      "context": "CONTEXTLESS",
      "key": "REST-test",
      "stringRepresentation": "REST-test"
    },
    {
      "context": "CONTEXTLESS",
      "key": "RESTexample",
      "stringRepresentation": "RESTexample"
    }
  ]
}

Response code

200