Discover Dynatrace Extensions 2.0 API to list Java processes for JMX and PMI metrics, upload, install, and manage extension versions.
Use the @dynatrace-sdk/client-extensions-v2 SDK client instead of calling this API directly — it handles authentication, typing, and the environment URL for you. This REST reference is for external and automation use.
Dynatrace Extensions API provides access to Extensions 2.0 resources in your environment, letting you discover, upload, install, and inspect extensions that extend monitoring coverage. It also helps you identify Java processes available for JMX or PMI metric collection and retrieve their details, which supports configuring custom metric collection for specific applications. Typical usage includes automating extension lifecycle tasks, checking what is already available in the environment, and gathering the process information needed to enable or troubleshoot extension-based monitoring.
Platform API endpoints use Platform token and OAuth client authentication. Attach a platform token or OAuth access token to the Authorization HTTP header using the Bearer scheme.
--header 'Authorization: Bearer <platform-token-or-oauth-access-token>'
For details, see Tokens and authentication and Platform tokens.
GET /discovery/jmx/processes) Early AccessGET /discovery/jmx/processes/{process-id}) Early AccessGET /discovery/pmi/processes) Early AccessGET /discovery/pmi/processes/{process-id}) Early AccessGET /extensions)POST /extensions)GET /extensions/{extension-name})POST /extensions/{extension-name})GET /extensions/{extension-name}/environment-configuration)POST /extensions/{extension-name}/environment-configuration)PUT /extensions/{extension-name}/environment-configuration)DELETE /extensions/{extension-name}/environment-configuration)GET /extensions/{extension-name}/environment-configuration/alert-templates/{alert-template-id})GET /extensions/{extension-name}/monitoring-configurations)POST /extensions/{extension-name}/monitoring-configurations)GET /extensions/{extension-name}/monitoring-configurations/statuses)GET /extensions/{extension-name}/monitoring-configurations/{configuration-id})PUT /extensions/{extension-name}/monitoring-configurations/{configuration-id})DELETE /extensions/{extension-name}/monitoring-configurations/{configuration-id})PUT /extensions/{extension-name}/monitoring-configurations/{configuration-id}/actions)GET /extensions/{extension-name}/monitoring-configurations/{configuration-id}/audit)GET /extensions/{extension-name}/monitoring-configurations/{configuration-id}/status)GET /extensions/{extension-name}/{extension-version})DELETE /extensions/{extension-name}/{extension-version})GET /extensions/{extension-name}/{extension-version}/active-gate-groups)GET /extensions/{extension-name}/{extension-version}/schema)POST /extensions:validate)GET /schemas)GET /schemas/{schema-version})GET /schemas/{schema-version}/{file-name})