Services API - GET all services
We have a new version of this API—Entity API v2. Check it out!
Gets a list of all services in your Dynatrace environment, along with their parameters and relationships.
The full list can be lengthy, so you can narrow it down by specifying filter parameters, like tags. See the Parameters section for more details.
You can additionally limit the output by using the pagination:
- Specify the number of results per page in the pageSize query parameter.
- Then use the cursor from the Next-Page-Key response header in the nextPageKey query parameter to obtain subsequent pages.
The request produces an application/json
payload.
GET | Managed | https://{your-domain}/e/{your-environment-id}/api/v1/entity/services |
SaaS | https://{your-environment-id}.live.dynatrace.com/api/v1/entity/services | |
Environment ActiveGate | https://{your-activegate-domain}/e/{your-environment-id}/api/v1/entity/services |
Authentication
To execute this request, you need an access token with Access problem and event feed, metrics, and topology (DataExport
) scope. To learn how to obtain and use it, see Tokens and authentication.
Parameters
The timeframe is restricted to a maximum period of 3 days.
Parameter | Type | Description | In | Required |
---|---|---|---|---|
startTimestamp | integer | The start timestamp of the requested timeframe, in milliseconds (UTC). If not set, then 72 hours behind from now is used. | query | optional |
endTimestamp | integer | The end timestamp of the requested timeframe, in milliseconds (UTC). If not set, then the current timestamp is used. The timeframe must not exceed 3 days. | query | optional |
relativeTime | string | The relative timeframe, back from now. | query | optional |
tag | string[] | Filters the resulting set of services by the specified tag. You can specify several tags in the following format: In case of key-value tags, such as imported AWS or CloudFoundry tags, use the following format: | query | optional |
entity | string[] | Filters result to the specified services only. To specify several services use the following format: | query | optional |
managementZone | integer | Only return services that are part of the specified management zone. | query | optional |
includeDetails | boolean | Includes ( Excluding details may make queries faster. If not set, then | query | optional |
pageSize | integer | The number of services per result page. If not set, pagination is not used and the result contains all services fitting the specified filtering criteria. | query | optional |
nextPageKey | string | The cursor for the next page of results. You can find it in the Next-Page-Key header of the previous response. If you're using pagination, the first page is always returned without this cursor. You must keep all other query parameters as they were in the first request to obtain subsequent pages. | query | optional |
Response headers
Header | Type | Description |
---|---|---|
Total-Count | integer | The estimated number of results. |
Next-Page-Key | string | The cursor for the next page of results. Without it you'll get the first page again. |
Page-Size | string | The maximum number of results per page. |
Response
Response codes
Code | Type | Description |
---|---|---|
200 | Service[] | Success |
400 | Error | Failed. The input is invalid. |
Response body objects
The Service
object
Element | Type | Description |
---|---|---|
entityId | string | The Dynatrace entity ID of the required entity. Can be |
displayName | string | The name of the Dynatrace entity as displayed in the UI. Can be |
customizedName | string | The customized name of the entity Can be |
discoveredName | string | The discovered name of the entity Can be |
firstSeenTimestamp | integer | The timestamp of when the entity was first detected, in UTC milliseconds Can be |
lastSeenTimestamp | integer | The timestamp of when the entity was last detected, in UTC milliseconds Can be |
tags | Tag | The list of entity tags. Can be |
fromRelationships | object | - Can be |
toRelationships | object | - Can be |
iibApplicationName | string | The IIB application name. Can be |
managementZones | Entity | The management zones that the entity is part of. Can be |
ibmCtgServerName | string | The IBM CICS Transaction Gateway name. Can be |
ibmCtgGatewayUrl | string | The IBM CTG gateway URL. Can be |
webServiceName | string | - Can be |
webServiceNamespace | string | - Can be |
remoteServiceName | string | The name of the remote service. Can be |
className | string | - Can be |
ipAddresses | string[] | - Can be |
databaseName | string | - Can be |
serviceTechnologyTypes | string[] | - Can be |
akkaActorSystem | string | The services of the akka actor system. Can be |
contextRoot | string | - Can be |
databaseVendor | string | - Can be |
webServerName | string | - Can be |
path | string | - Can be |
serviceType | string | - Can be |
databaseHostNames | string[] | - Can be |
esbApplicationName | string | The ESB application name. Can be |
agentTechnologyType | string | - Can be |
softwareTechnologies | Technology | - Can be |
port | integer | - Can be |
webApplicationId | string | - Can be |
remoteEndpoint | string | The endpoint of the remote service. Can be |
The TagInfo
object
Tag of a Dynatrace entity.
Element | Type | Description |
---|---|---|
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. Can be |
The EntityShortRepresentation
object
The short representation of a Dynatrace entity.
Element | Type | Description |
---|---|---|
id | string | The ID of the Dynatrace entity. |
name | string | The name of the Dynatrace entity. Can be |
description | string | A short description of the Dynatrace entity. Can be |
The TechnologyInfo
object
Element | Type | Description |
---|---|---|
type | string | - Can be |
edition | string | - Can be |
version | string | - Can be |
Response body JSON model
[
{
"entityId": "string",
"displayName": "string",
"customizedName": "string",
"discoveredName": "string",
"firstSeenTimestamp": 1,
"lastSeenTimestamp": 1,
"tags": [
{
"context": "AWS",
"key": "string",
"value": "string"
}
],
"fromRelationships": {
"runsOnProcessGroupInstance": [
"string"
],
"calls": [
"string"
],
"runsOn": [
"string"
]
},
"toRelationships": {
"calls": [
"string"
]
},
"iibApplicationName": "string",
"managementZones": [
{
"id": "6a98d7bc-abb9-44f8-ae6a-73e68e71812a",
"name": "Dynatrace entity",
"description": "Dynatrace entity for the REST API example"
}
],
"ibmCtgServerName": "string",
"ibmCtgGatewayUrl": "string",
"webServiceName": "string",
"webServiceNamespace": "string",
"remoteServiceName": "string",
"className": "string",
"ipAddresses": [
"string"
],
"databaseName": "string",
"serviceTechnologyTypes": [
"string"
],
"akkaActorSystem": "string",
"contextRoot": "string",
"databaseVendor": "string",
"webServerName": "string",
"path": "string",
"serviceType": "AMP",
"databaseHostNames": [
"string"
],
"esbApplicationName": "string",
"agentTechnologyType": "APACHE",
"softwareTechnologies": [
{
"type": "string",
"edition": "string",
"version": "string"
}
],
"port": 1,
"webApplicationId": "string",
"remoteEndpoint": "string"
}
]
Example
In this example, the request lists all the services of the environment detected within the last 5 minutes.
The API token is passed in the Authorization header.
The result is truncated to two entries.
Curl
curl -X GET \
'https://mySampleEnv.live.dynatrace.com/api/v1/entity/services?relativeTime=5mins' \
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
Request URL
https://mySampleEnv.live.dynatrace.com/api/v1/entity/services?relativeTime=5mins
Response body
[
{
"entityId": "SERVICE-72503CBDD2AEF066",
"displayName": "PHP-FPM via domain socket /run/php7-fpm.sock",
"discoveredName": "PHP-FPM via domain socket /run/php7-fpm.sock",
"firstSeenTimestamp": 1505902015554,
"lastSeenTimestamp": 1544025169570,
"tags": [
{
"context": "CONTEXTLESS",
"key": "Sample tag"
}
],
"fromRelationships": {
"runsOnProcessGroupInstance": [
"PROCESS_GROUP_INSTANCE-165E2E1655782C30",
"PROCESS_GROUP_INSTANCE-2E41AD6095ACE67B",
"PROCESS_GROUP_INSTANCE-3E537F0F455E9757"
],
"runsOn": [
"PROCESS_GROUP-E5C3CC7EC1F80B5B"
]
},
"toRelationships": {
"calls": [
"SERVICE-5304CCF4AFBFF35E"
]
},
"agentTechnologyType": "N/A",
"serviceType": "WebRequest",
"softwareTechnologies": [
{
"type": "SQLITE",
"edition": null,
"version": null
},
{
"type": "PHP",
"edition": "FPM",
"version": "7.0.32"
},
{
"type": "PHP_FPM",
"edition": null,
"version": null
}
]
},
{
"entityId": "SERVICE-52AC624D70C377BC",
"displayName": "Requests to public networks",
"discoveredName": "Requests to public networks",
"firstSeenTimestamp": 1421376505750,
"lastSeenTimestamp": 1544025153570,
"tags": [],
"fromRelationships": {},
"toRelationships": {
"calls": [
"SERVICE-635F6C4CAD07BC56",
"SERVICE-74C7ACD74FA27688",
"SERVICE-C7790E5EDD1F895E"
]
},
"agentTechnologyType": "N/A",
"serviceType": "WebRequest"
}
]
Response code
200