Navigation
MonitoringUpdated July 3, 2026

Dynatrace Problems API Reference

referencedynatraceapiproblemsmonitoringtroubleshootingcurljqfiltering

Dynatrace Problems API Tricks

Placeholder for dynatrace API calls to Problems for doing lookups and such

This is to look up a list of Problems by a specific filter set, and then collect and sort more data for it so it can be analyzed.

On MacOs, the startTime and endTime values have 3 extra 0s on them, so you may need to remove them or adjust your date command to get the correct conversion.

Requirements

Get the list of Problems, now minus 2 weeks, entityTags and Text String

# gitleaks:allow
curl -X 'GET' \
'https://$YOUR_DT_API_URL/api/v2/problems?from=now-2w&problemSelector=text%28%22GAX%2025%22%29%2CentityTags%28%22GAX%3ABlue%20Core%22%2C%22GAX%3AOrange%20Core%22%29' \
-H 'accept: application/json; charset=utf-8' \
-H 'Authorization: Api-Token dt0c01.XXX-YOURTOKEN-XXX > response_########.json

Get the Problem Title

cat response_########.json | jq '.problems[] .title'

Get the Start Time and convert

# gitleaks:allow
for i in `cat response_########.json | jq '.problems[] .startTime'`
do
date -j -f %s $i
done

Get the End Time and convert

# gitleaks:allow
for i in `cat response_########.json | jq '.problems[] .endTime'`
do
date -j -f %s $i
done

Get a clean Process EntityID for each problem

# gitleaks:allow
for i in `cat response_########.json | jq '.problems[] .affectedEntities[] .entityId.id' | awk -F\" '{print $2}'`
do
curl -X 'GET' \
https://$YOUR_DT_API_URL/api/v2/entities/$i \
-H 'accept: application/json; charset=utf-8' \
-H 'Authorization: Api-Token <YOUR_DYNATRACE_API_TOKEN>' | jq .displayName
done

Get the HostID from the Process Instance

# gitleaks:allow
for i in `cat response_########.json | jq '.problems[] .affectedEntities[] .entityId.id' | awk -F\" '{print $2}'`
do
curl -X 'GET' \
https://$YOUR_DT_API_URL/api/v2/entities/$i \
-H 'accept: application/json; charset=utf-8' \
-H 'Authorization: Api-Token <YOUR_DYNATRACE_API_TOKEN>' | jq '.fromRelationships.isProcessOf[] .id' >> kyrie.out
done

Get the Host Name from the host entityId

# gitleaks:allow
for i in `cat kyrie.out | awk -F\" '{print $2}'`
do
curl -X 'GET' \
https://$YOUR_DT_API_URL/api/v2/entities/$i \
-H 'accept: application/json; charset=utf-8' \
-H 'Authorization: Api-Token <YOUR_DYNATRACE_API_TOKEN>' | jq .displayName | awk -F\" '{print $2}' >> kyrie2.out
done