Applications detection rules API - POST a rule

Creates a new application detection rule and adds it to the end of the rules list. To enforce a particular order, use the PUT reorder rules request.

You can create detection rules only for an existing application. If you need to create a rule for an application that doesn't exist yet, create an application first and then configure detection rules for it.

The request consumes and produces an application/json payload.

POSTSaaShttps://{your-environment-id}.live.dynatrace.com/api/config/v1/applicationDetectionRules
Environment ActiveGatehttps://{your-activegate-domain}:9999/e/{your-environment-id}/api/config/v1/applicationDetectionRules

Authentication

To execute this request, you need an access token with WriteConfig scope.

To learn how to obtain and use it, see Tokens and authentication.

Parameters

The body must not provide an ID. An ID is assigned automatically by Dynatrace.

ParameterTypeDescriptionInRequired
positionstring

The position of the new rule:

  • APPEND: at the bottom of the rule list.
  • PREPEND: at the top of the rule list.

If not set, the APPEND is used.

  • APPEND
  • PREPEND
queryoptional
bodyApplicationDetectionRuleConfig

The JSON body of the request. Contains configuration of the new application detection rule.

You must not specify the ID of the rule.

The order field is ignored in this request. To enforce a particular order use the PUT /applicationDetectionRules/order request.

bodyoptional

Request body objects

The ApplicationDetectionRuleConfig object

Application detection rule.

ElementTypeDescriptionRequired
applicationIdentifierstring

The Dynatrace entity ID of the application, for example APPLICATION-4A3B43.

You must use an existing ID. If you need to create a rule for an application that doesn't exist yet, create an application first and then configure detection rules for it.

required
filterConfigApplicationFilter

The condition of an application detection rule.

required
idstring

The ID of the rule.

optional
metadataConfigurationMetadataDtoImpl

Metadata useful for debugging.

optional
namestring

The unique name of the Application detection rule.

optional
orderstring

The order of the rule in the rules list.

The rules are evaluated from top to bottom. The first matching rule applies.

optional

The ApplicationFilter object

The condition of an application detection rule.

ElementTypeDescriptionRequired
applicationMatchTargetstring

Where to look for the the pattern value.

  • DOMAIN
  • URL
required
applicationMatchTypestring

The operator of the matching.

  • BEGINS_WITH
  • CONTAINS
  • ENDS_WITH
  • EQUALS
  • MATCHES
required
patternstring

The value to look for.

required

The ConfigurationMetadataDtoImpl object

Metadata useful for debugging.

ElementTypeDescriptionRequired
clusterVersionstring

Dynatrace version.

optional
configurationVersionsinteger[]

A sorted list of the version numbers of the configuration.

optional
currentConfigurationVersionsstring[]

A sorted list of version numbers of the configuration.

optional

Request body JSON model

This is a model of the request body, showing the possible elements. It has to be adjusted for usage in an actual request.

{
"applicationIdentifier": "APPLICATION-123456",
"filterConfig": {
"applicationMatchTarget": "DOMAIN",
"applicationMatchType": "EQUALS",
"pattern": "myapp.example.com"
},
"id": "12345678-abcd-1234-abcd-1234567890ab",
"metadata": {
"clusterVersion": "Mock version",
"configurationVersions": [
4,
2
]
},
"name": "uniqueName"
}

Response

Response codes

CodeTypeDescription
201EntityShortRepresentation

Success. The application detection rule has been created. Response contains the ID of the new rule.

400ErrorEnvelope

Failed. The input is invalid.

Response body objects

The EntityShortRepresentation object

The short representation of a Dynatrace entity.

ElementTypeDescription
descriptionstring

A short description of the Dynatrace entity.

idstring

The ID of the Dynatrace entity.

namestring

The name of the Dynatrace entity.

Response body JSON model

{
"description": "Dynatrace entity for the REST API example",
"id": "6a98d7bc-abb9-44f8-ae6a-73e68e71812a",
"name": "Dynatrace entity"
}

Validate payload

We recommend that you validate the payload before submitting it with an actual request. A response code of 204 indicates a valid payload.

The request consumes an application/json payload.

POSTSaaShttps://{your-environment-id}.live.dynatrace.com/api/config/v1/applicationDetectionRules/validator
Environment ActiveGatehttps://{your-activegate-domain}:9999/e/{your-environment-id}/api/config/v1/applicationDetectionRules/validator

Authentication

To execute this request, you need an access token with WriteConfig scope.

To learn how to obtain and use it, see Tokens and authentication.

Response

Response codes

CodeTypeDescription
204-

Validated. The submitted configuration is valid. Response doesn't have a body.

400ErrorEnvelope

Failed. The input is invalid.

Example

In this example, the request creates a new application detection rule for the BookingApp application that has the ID of APPLICATION-900C1E36674F607D.

The API token is passed in the Authorization header.

The request body is truncated in the Curl section. See the Request body section for the full body. You can download or copy the example request body to try it out on your own. Be sure to use an application ID that is available in your environment.

Curl

curl -X POST \
https://mySampleEnv.live.dynatrace.com/api/config/v1/applicationDetectionRules \
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
-H 'Content-Type: application/json' \
-d '{ <truncated - see the Request body section > }'

Request URL

https://mySampleEnv.live.dynatrace.com/api/config/v1/applicationDetectionRules

Request body

{
"applicationIdentifier": "APPLICATION-900C1E36674F607D",
"filterConfig": {
"pattern": "booking",
"applicationMatchType": "CONTAINS",
"applicationMatchTarget": "URL"
}
}

Response body

{
"id": "9568a82b-73d8-4b18-be1a-4289433e2619",
"name": "BookingApp"
}

Response code

201

Result

The new application detection rule looks like this in the UI:

POST example