Synthetic monitors API - GET a monitor
Gets the properties of the specified monitor, including its JSON script.
GET | ManagedDynatrace for Government | https://{your-domain}/e/{your-environment-id}/api/v1/synthetic/monitors/{monitorId} |
SaaS | https://{your-environment-id}.live.dynatrace.com/api/v1/synthetic/monitors/{monitorId} | |
Environment ActiveGate | https://{your-activegate-domain}/e/{your-environment-id}/api/v1/synthetic/monitors/{monitorId} |
Authentication
To execute this request, you need an access token with one of the following scopes:
ExternalSyntheticIntegration
ReadSyntheticData
To learn how to obtain and use it, see Tokens and authentication.
Parameters
Parameter | Type | Description | In | Required |
---|---|---|---|---|
monitorId | string | The ID of the required synthetic monitor | path | required |
Response
To find all model variations that depend on the type of the model, see JSON models.
Response codes
Code | Type | Description |
---|---|---|
200 | Synthetic | Success |
Response body objects
The SyntheticMonitor
object
The synthetic monitor.
The actual set of fields depends the type of the monitor. Find the list of actual objects in the description of the type field or see Synthetic monitors API - JSON models.
Element | Type | Description |
---|---|---|
entityId | string | The entity ID of the monitor. |
name | string | The name of the monitor. |
frequencyMin | integer | The frequency of the monitor, in minutes. You can use one of the following values: |
enabled | boolean | The monitor is enabled ( |
type | string | Defines the actual set of fields depending on the value. See one of the following objects:
|
createdFrom | string | The origin of a monitor |
script | object | The script of a browser or HTTP monitor. |
locations | string[] | A list of locations from which the monitor is executed. To specify a location, use its entity ID. |
anomalyDetection | Anomaly | The anomaly detection configuration. |
tags | Tag | A set of tags assigned to the monitor. |
managementZones | Management | A set of management zones to which the monitor belongs to. |
automaticallyAssignedApps | string[] | A set of automatically assigned applications. |
manuallyAssignedApps | string[] | A set of manually assigned applications. |
The AnomalyDetection
object
The anomaly detection configuration.
Element | Type | Description |
---|---|---|
outageHandling | Outage | Outage handling configuration. |
loadingTimeThresholds | Loading | Performance thresholds configuration. |
The OutageHandlingPolicy
object
Outage handling configuration.
Element | Type | Description |
---|---|---|
globalOutage | boolean | When enabled ( |
globalOutagePolicy | Global | Global outage handling configuration. |
localOutage | boolean | When enabled ( |
localOutagePolicy | Local | Local outage handling configuration. Alert if affectedLocations of locations are unable to access the web application consecutiveRuns times consecutively. |
retryOnError | boolean | Schedule retry if browser monitor execution results in a fail. For HTTP monitors this property is ignored. |
The GlobalOutagePolicy
object
Global outage handling configuration.
Element | Type | Description |
---|---|---|
consecutiveRuns | integer | Alert if all locations are unable to access the web application X times consecutively. |
The LocalOutagePolicy
object
Local outage handling configuration.
Alert if affectedLocations of locations are unable to access the web application consecutiveRuns times consecutively.
Element | Type | Description |
---|---|---|
affectedLocations | integer | The number of affected locations to trigger an alert. |
consecutiveRuns | integer | The number of consecutive fails to trigger an alert. |
The LoadingTimeThresholdsPolicyDto
object
Performance thresholds configuration.
Element | Type | Description |
---|---|---|
enabled | boolean | Performance threshold is enabled ( |
thresholds | Loading | The list of performance threshold rules. |
The LoadingTimeThreshold
object
The performance threshold rule.
Element | Type | Description |
---|---|---|
type | string | The type of the threshold: total loading time or action loading time. |
valueMs | integer | Notify if monitor takes longer than X milliseconds to load. |
requestIndex | integer | Specify the request to which an ACTION threshold applies. |
eventIndex | integer | Specify the event to which an ACTION threshold applies. |
The TagWithSourceInfo
object
Tag with source of a Dynatrace entity.
Element | Type | Description |
---|---|---|
source | string | The source of the tag, such as USER, RULE_BASED or AUTO |
context | string | The origin of the tag, such as AWS or Cloud Foundry. Custom tags use the |
key | string | The key of the tag. Custom tags have the tag value here. |
value | string | The value of the tag. Not applicable to custom tags. |
The ManagementZone
object
The configuration of a management zone.
Element | Type | Description |
---|---|---|
id | string | The ID of the management zone. |
name | string | The name of the management zone. |
Response body JSON model
{
"entityId": "string",
"name": "string",
"frequencyMin": 1,
"enabled": true,
"type": "BROWSER",
"createdFrom": "API",
"script": {},
"locations": [
"string"
],
"anomalyDetection": {
"outageHandling": {
"globalOutage": true,
"globalOutagePolicy": {
"consecutiveRuns": 1
},
"localOutage": true,
"localOutagePolicy": {
"affectedLocations": 1,
"consecutiveRuns": 1
},
"retryOnError": true
},
"loadingTimeThresholds": {
"enabled": true,
"thresholds": [
{
"type": "ACTION",
"valueMs": 1,
"requestIndex": 1,
"eventIndex": 1
}
]
}
},
"tags": [
{
"source": "AUTO",
"context": "AWS",
"key": "string",
"value": "string"
}
],
"managementZones": [
{
"id": "string",
"name": "string"
}
],
"automaticallyAssignedApps": [
"string"
],
"manuallyAssignedApps": [
"string"
]
}
Example
In this example, the request lists the parameters of the dynatrace.com monitor, which is a browser clickpath that navigates to https://www.dynatrace.com/ and signs up for a free trial.
The API token is passed in the Authorization header.
Curl
curl -X GET \
https://mySampleEnv.live.dynatrace.com/api/v1/synthetic/monitors/SYNTHETIC_TEST-0000000000025434 \
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'
Request URL
https://mySampleEnv.live.dynatrace.com/api/v1/synthetic/monitors/SYNTHETIC_TEST-0000000000025434
Response body
{
"entityId": "SYNTHETIC_TEST-0000000000025434",
"name": "dynatrace.com",
"frequencyMin": 15,
"enabled": true,
"type": "browser",
"script": {
"type": "clickpath",
"version": "1.0",
"configuration": {
"device": {
"deviceName":"Desktop",
"orientation":"landscape"
}
},
"events": [
{
"type":"navigate",
"description":"Loading of \"http://www.dynatrace.com\"",
"url":"http://www.dynatrace.com",
"wait": {
"waitFor":"page_complete"
}
},
{
"type":"click",
"description":"click on \"Free trial\"",
"target": {
"locators": [
{
"type":"css",
"value":"a:contains(\"Free trial\"):eq(1)"
},
{
"type":"css",
"value":".btn:eq(1)"
},
{
"type":"css",
"value":"#content div div div div div div div p:nth-child(3) a"
},
{
"type":"css",
"value":"#content div.homepage-hero-wrapper div.gallery div.flickity-viewport div.flickity-slider div.gallery-cell div.section div.column p.cta--row a.btn:eq(0)"
}
]
},
"button": 0,
"wait": {
"waitFor":"page_complete"
}
}
{
"type":"click",
"description":"click on \"email\"",
"target": {
"locators": [
{
"type":"css",
"value":"input[type=\"email\"][name=\"email\"]:eq(0)"
},
{
"type":"dom",
"value":"document.forms[0][\"email\"]"
},
{
"type":"css",
"value":".inputfield:eq(0)"
},
{
"type":"css",
"value":"#content div div:nth-child(2) form:nth-child(9) input:nth-child(3)"
},
{
"type":"css",
"value":"#content div.section div.tile form.cta input.inputfield:eq(0)"
}
]
},
"button":0
},
{
"type":"keystrokes",
"description":"keystrokes on \"email\"",
"target":{
"locators":[
{
"type":"css",
"value":"input[type=\"email\"][name=\"email\"]:eq(0)"
},
{
"type":"dom",
"value":"document.forms[0][\"email\"]"
},
{
"type":"css",
"value":".inputfield:eq(0)"
},
{
"type":"css",
"value":"#content div div:nth-child(2) form:nth-child(9) input:nth-child(3)"
},
{
"type":"css",
"value":"#content div.section div.tile form.cta input.inputfield:eq(0)"
}
]
},
"textValue":"sample@sample.com",
"masked":false,
"simulateBlurEvent":true
},
{
"type":"click",
"description":"click on \"Start free trial\"",
"target":{
"locators":[
{
"type":"css",
"value":"input[type=\"submit\"]:eq(0)"
},
{
"type":"dom",
"value":"document.forms[0][19]"
},
{
"type":"css",
"value":".btn:eq(1)"
},
{
"type":"css",
"value":"#content div div:nth-child(2) form:nth-child(9) div:nth-child(22) input"
},
{
"type":"css",
"value":"#content div.section div.tile form.cta div.cta__formgroup input.btn:eq(0)"
}
]
},
"button":0,
"wait":{
"waitFor":"page_complete"
}
}
]
},
"locations": [
"GEOLOCATION-B69A5A40388CC698",
"GEOLOCATION-A9022AAFA0763F56"
],
"anomalyDetection": {
"outageHandling": {
"globalOutage": true,
"localOutage": false,
"localOutagePolicy": {
"affectedLocations": 1,
"consecutiveRuns": 3
}
},
"loadingTimeThresholds": {
"enabled": false,
"thresholds": []
}
},
"tags": [],
"managementZones": [
{
"id": "-7832237287622819191",
"name": "!!allSynthetic"
}
]
}
Response code
200