About platform services
The Dynatrace platform provides a collection of so-called platform services where each has its specific area of responsibility. You can access platform services in different ways. Platform services are individually versioned and offer RESTful APIs via HTTP requests. JSON is the message format for all platform service API calls.
URL structure
The general URL structure of the Dynatrace platform API looks like this:
<Root>/platform/<Service-Namespace>/<Service-Name>/<Version>/<Api-Resources>
- The environment-specific domain name
<Your-Environment-Id>.apps.dynatrace.com
defines the<Root>
URL.<Environment-Id>
is the customer environment's unique identifier.
platform
is the mandatory root path for all platform services.<Service-Name>
is the mandatory name of the platform service. A<Service-Namespace>
may prepend the<Service-Name>
to group platform services that belong together.<Version>
is the current platform service version in this format:v<Major-Version>
.<Api-Resources>
is the path within the platform service.
Example
Swagger UI
All Dynatrace platform services are accessible via the Swagger UI on this path:
<Environment-Id>.apps.dynatrace.com/platform/swagger-ui/index.html
SDK
App developers typically don't directly interact with the platform service APIs and instead use the Dynatrace SDK for TypeScript. We build a Dynatrace SDK package to match a certain platform service API version exactly. The package's metadata documents the exact API version that the package represents.
All platform service SDK packages follow this naming schema:
client-<Service-Namespace>-<Service-Name>-v<Version>
<Service-Name>
and <Service-Namespace>
correspond with the URL structure of the platform service that the package represents.
<Version>
is the API version and is only set if more than one major version of the same service is available.
The API version isn't the same as the package build version. Developers might rebuild a package without changing the API version it represents (for example, to include bug fixes or other improvements in the SDK implementation without affecting the API it represents).