
Dt Js Runtime
- 582 installs
- 119 repo stars
- Updated July 29, 2026
- dynatrace/dynatrace-for-ai
Reference for which APIs and modules can be imported and called inside the Dynatrace server-side JavaScript runtime.
About
Documents the built-ins, Web APIs, and Node.js compatibility modules available in the Dynatrace server-side JS runtime, plus what is unsupported. A developer uses it when writing server-side JavaScript for Dynatrace workflows or functions.
- Lists supported Web APIs (fetch, streams, Web Crypto, encoding) and Node modules like path, crypto, and zlib
- Flags unsupported constructs: TCP/UDP sockets, filesystem access, HTTP server creation, and Brotli compression
Dt Js Runtime by the numbers
- 582 all-time installs (skills.sh)
- Ranked #702 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dynatrace/dynatrace-for-ai --skill dt-js-runtimeAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 582 |
|---|---|
| repo stars | ★ 119 |
| Last updated | July 29, 2026 |
| Repository | dynatrace/dynatrace-for-ai ↗ |
What it does
Reference for which APIs and modules can be imported and called inside the Dynatrace server-side JavaScript runtime.
Files
Available APIs & Modules
What you can import and call inside the Dynatrace server-side JS runtime. For quotas and forbidden constructs see limits-and-restrictions.md; for HTTP details see fetch.md.
Standard built-ins
All standard JavaScript (ECMAScript) built-ins are supported, plus the ECMAScript Internationalization API (Intl).
Web APIs
Available Web/Web-platform APIs include:
- Fetch —
fetch,Request,Response,Headers(see fetch.md) - Streams —
ReadableStream,WritableStream,TransformStream - Compression —
CompressionStream,DecompressionStream - Web Crypto —
crypto,crypto.subtle(SubtleCrypto) - Encoding —
TextEncoder,TextDecoder,atob,btoa - Performance —
performancetiming - Events & timers — event handling,
setTimeout/setInterval - `structuredClone`,
URL,URLSearchParams
Deprecated properties of Web APIs might not be supported.
Node.js compatibility modules
A compatibility layer exposes a subset of Node.js core modules:
| Module | Notes |
|---|---|
assert | supported |
buffer | supported |
crypto | supported; some algorithms are unsupported |
http / https | client requests only — server creation is not available |
path | supported |
stream | supported |
util | supported |
zlib | supported; Brotli compression is missing |
Not supported: third-party packages that rely on TCP/UDP sockets or filesystem access.
Full reference: https://developer.dynatrace.com/develop/reference/javascript-runtime/
HTTP Fetch — Internal & External
How to make HTTP calls from the runtime. Quotas in limits-and-restrictions.md; the fetch API itself is listed in apis-and-modules.md.
Internal Dynatrace API (relative path)
Call the platform's own APIs with a relative path — no host, no auth header. The runtime injects credentials automatically, and relative paths bypass the outbound allowlist.
const res = await fetch("/platform/classic/environment-api/v2/settings/objects?...");
const data = await res.json();Prefer the typed @dynatrace-sdk/* clients (see sdk.md) over hand-rolled relative fetches when a client exists.
External URL with credential vault
For external hosts, pull secrets from the credential vault rather than hardcoding them:
import { credentialVaultClient } from "@dynatrace-sdk/client-classic-environment-v2";
const creds = await credentialVaultClient.getCredentialsDetails({ id: "CREDENTIALS_VAULT-..." });
const auth = `Basic ${btoa(`${creds.username}:${creds.password}`)}`;
const res = await fetch("https://api.example.com/...", { headers: { Authorization: auth } });See classic-environment-v2 for the credential vault client.
Outbound allowlist
The tenant controls which external hosts are reachable via the setting builtin:dt-javascript-runtime.allowed-outbound-connections. If an external fetch silently fails, the host is most likely not allowlisted.
Inspect the current allowlist:
dtctl get settings --schema "builtin:dt-javascript-runtime.allowed-outbound-connections" -o jsonOnly full-URL fetches are gated by the allowlist; relative /platform/... paths are not.
Runtime Limits & Restrictions
Hard quotas and unavailable capabilities of the Dynatrace server-side JS runtime.
Limits
| Limit | Value |
|---|---|
| Execution timeout | 120 s |
| Memory | 256 MB RAM |
| Input size | 5 MB max |
| Output size | 5 MB max |
| Outbound network | Allowlisted external hosts only (full URLs); relative /platform/... paths unrestricted — see fetch.md |
Not available
- Inter-app function calls — a function cannot invoke another app's function.
- Binary responses — functions cannot return raw binary payloads.
- WebSocket API — not available.
- Raw TCP/UDP sockets — not available; only HTTP(S) via
fetch/ the Nodehttp/httpsclient. - Filesystem access — not available. Third-party packages that rely on sockets or the filesystem will not work.
Forbidden constructs
eval()— disabled (security).new Function()— disabled (security).globalThis.window— deprecated; unreliable for browser detection and should not be used.
Deprecated properties of otherwise-supported Web APIs may also be unavailable — see apis-and-modules.md.
Full reference: https://developer.dynatrace.com/develop/reference/javascript-runtime/
Dynatrace SDK for TypeScript — Index
The @dynatrace-sdk/* packages expose Dynatrace platform services to runtime code. Two layers:
- Generic / utility packages — convenience helpers (e.g.
unitsfor formatting,app-environmentfor app/user context). - *Low-level `client-`** packages — direct, scope-gated access to individual platform services.
Rules of thumb
- The app/function must declare the OAuth scopes for every service it touches (each SDK file lists them).
- Error handling: wrap calls in
try/catch, treat the error asunknown, narrow with type guards, handle only what you can act on, and rethrow the rest so monitoring detects it. - Prefer a typed client over a hand-rolled relative
fetch(see fetch.md).
Catalog
Load the per-SDK file for methods, scopes, and examples.
| SDK file | npm package | Purpose | Env | Status |
|---|---|---|---|---|
| query | @dynatrace-sdk/client-query | Run DQL against Grail (execute + poll) | ✅ server | current |
| classic-environment-v1 | @dynatrace-sdk/client-classic-environment-v1 | Classic Env API v1 — installers, synthetic, RUM JS, USQL | ✅ server | current |
| classic-environment-v2 | @dynatrace-sdk/client-classic-environment-v2 | Classic Env API v2 — settings, tokens, events, credential vault, audit | ✅ server | current |
| document | @dynatrace-sdk/client-document | Create/share/lock documents (dashboards, notebooks) | ✅ server | current |
| state | @dynatrace-sdk/client-state | Key-value app/user state with TTL | ✅ server | current |
| automation | @dynatrace-sdk/client-automation | Workflows, executions, schedules, triggers, calendars | ✅ server | current |
| automation-utils | @dynatrace-sdk/automation-utils | Helpers inside workflow Run JavaScript actions | ✅ server | current |
| app-environment | @dynatrace-sdk/app-environment | App id/name/version, current user, environment id/url | ✅ server | current |
| app-utils | @dynatrace-sdk/app-utils | Call named app functions (functions.call) | ✅ server | current |
| app-settings-v2 | @dynatrace-sdk/client-app-settings-v2 | App settings objects CRUD + permissions | ✅ server | current |
| app-settings-v1 | @dynatrace-sdk/client-app-settings | App settings (v1) | ✅ server | ⚠ deprecated → v2 |
| bucket-management | @dynatrace-sdk/client-bucket-management | Grail storage buckets (retention) | ✅ server | current |
| resource-store | @dynatrace-sdk/client-resource-store | Grail lookup data files (DPL parsing) | ✅ server | current |
| filter-segments | @dynatrace-sdk/client-filter-segment-management | Grail filter-segments | ✅ server | current |
| davis-analyzers | @dynatrace-sdk/client-davis-analyzers | Davis AI predictive/causal analyzers | ✅ server | current |
| notification-v2 | @dynatrace-sdk/client-notification-v2 | Event & resource notifications | ✅ server | current |
| notification-v1 | @dynatrace-sdk/client-notification | Self-notifications (v1) | ✅ server | ⚠ deprecated → v2 |
| iam | @dynatrace-sdk/client-iam | Query users, groups, service users | ✅ server | current |
| app-engine-registry | @dynatrace-sdk/client-app-engine-registry | Install / list / uninstall apps | ✅ server | current |
| edge-connect | @dynatrace-sdk/client-app-engine-edge-connect | EdgeConnect configs for private-network forwarding | ✅ server | current |
| hub | @dynatrace-sdk/client-hub | Hub catalog — apps, extensions, technologies | ✅ server | current |
| platform-management | @dynatrace-sdk/client-platform-management-service | Env info, license, effective permissions | ✅ server | current |
| units | @dynatrace-sdk/units | Convert/format units, numbers, dates | ✅ server | current |
| navigation | @dynatrace-sdk/navigation | App navigation & intents — browser-only, not available in server runtime | ⚠️ browser | current |
| react-hooks | @dynatrace-sdk/react-hooks | React hooks (useDql, …) — browser-only, not available in server runtime | ⚠️ browser | current |
| user-preferences | @dynatrace-sdk/user-preferences | Logged-in user theme/language/timezone — browser-only, not available in server runtime | ⚠️ browser | current |
Full SDK reference: https://developer.dynatrace.com/develop/sdks/
appEngineRegistryAppsClient
Install, query, and run-search AppEngine apps. Import:
import { appEngineRegistryAppsClient } from "@dynatrace-sdk/client-app-engine-registry";| Method | Returns | Scope | Purpose |
|---|---|---|---|
getApps | AppInfoList | app-engine:apps:read | List installed apps. |
getApp | AppInfo | app-engine:apps:read | Get one installed app by id. |
installApp | AppStub | app-engine:apps:install | Install or update an app from a zipped app bundle (body: Blob). |
uninstallApp | — | app-engine:apps:delete | Uninstall an app by id. |
searchActions | SearchAppActionList | app-engine:apps:run | Search actions of installed apps by whitespace-separated terms (matched against app/action name & description; ≤ 256 chars). |
Install/uninstall are asynchronous — inspect the returned status / pending-operation fields.
Example
import { appEngineRegistryAppsClient } from "@dynatrace-sdk/client-app-engine-registry";
const stub = await appEngineRegistryAppsClient.installApp({ body: new Blob() });appEngineRegistrySchemaManifestClient
App manifest schema and default CSP. Import:
import { appEngineRegistrySchemaManifestClient } from "@dynatrace-sdk/client-app-engine-registry";| Method | Returns | Purpose |
|---|---|---|
getAppManifestSchema() | any (JSON schema) | Get the JSON schema for app manifests. |
getDefaultCspProperties() | AppDefaultCsp | Get the default Content-Security-Policy rules for apps. |
Example
import { appEngineRegistrySchemaManifestClient } from "@dynatrace-sdk/client-app-engine-registry";
const schema = await appEngineRegistrySchemaManifestClient.getAppManifestSchema();AppEngine Registry (@dynatrace-sdk/client-app-engine-registry)
Env: ✅ Server runtime
Status: current
Manage Dynatrace AppEngine apps — install, update, uninstall, and discover apps and their actions.
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
appEngineRegistryAppsClient | getApp, getApps, installApp, uninstallApp, searchActions | App lifecycle & discovery |
appEngineRegistrySchemaManifestClient | getAppManifestSchema, getDefaultCspProperties | Manifest schema & default CSP rules |
Full method/type detail: appEngineRegistryAppsClient.md, appEngineRegistrySchemaManifestClient.md (per-method returns, scopes, examples) · types.md (types + enums).
Required scopes
app-engine:apps:run,app-engine:apps:install,app-engine:apps:delete(per operation).
Example
import { appEngineRegistryAppsClient } from "@dynatrace-sdk/client-app-engine-registry";
const app = await appEngineRegistryAppsClient.getApp({ id: "my.app" });
const apps = await appEngineRegistryAppsClient.getApps();Notes
- App IDs follow namespace convention (
dynatrace.*,my.*). - Install/uninstall are asynchronous; resources carry a
status/PendingOperation/DeploymentStatusreflecting in-progress operations. - Filtering supports up to 3 nesting levels / 256-char limits.
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-app-engine-registry/
AppEngine Registry — Types & Enums
Full field definitions: https://developer.dynatrace.com/develop/sdks/client-app-engine-registry/#types
App info types
AppInfo, AppInfoList, AppStub, AppIcon, AppIsolatedUri, AppSignatureInfo, ModificationInfo, ResourceContext, ResourceStatus, Warning.
CSP types
AppDefaultCsp, AppDefaultCspPolicyDirectives.
Action search types
SearchAppAction, SearchAppActionList.
Error types
Error, ErrorDetails, ErrorDetailsErrorCodeProperties, ErrorEnvelope, ConstraintViolation, ConstraintViolationErrorCodeProperties, SubResourceError, SubResourceConstraintViolation, SubResourceStatus.
Enums
Status, DeploymentStatus, PendingOperation, DeactivationReason, OperationStateBeforeError, ConstraintViolationErrorCode, ErrorDetailsErrorCode, ResourceContextOperationsItem, SubResourceType.
App Environment — Functions
Import individually from @dynatrace-sdk/app-environment.
| Function | Returns | Purpose | Fallback if runtime missing |
|---|---|---|---|
getAppId() | string | App id from app config | dt.missing.app.id |
getAppName() | string | App name from app config | dt.missing.app.name |
getAppVersion() | string | App version from app manifest | dt.missing.app.version |
getCurrentUserDetails() | UserDetails | id, name, email of the logged-in user | placeholder UserDetails (dt.missing.user.*) |
getEnvironmentId() | string | Environment id the app runs on | dt.missing.environment.id |
getEnvironmentUrl() | string | Environment URL the app runs on | https://dynatrace.com/ |
Example
import { getAppId, getCurrentUserDetails } from "@dynatrace-sdk/app-environment";
const appId = getAppId();
const { id, name, email } = getCurrentUserDetails();App Environment (@dynatrace-sdk/app-environment)
Env: ✅ Server runtime
Status: current
Basic information about the app and the environment it runs in.
Key exports
| Function | Returns |
|---|---|
getAppId() | App identifier |
getAppName() | App name |
getAppVersion() | App version (from manifest) |
getCurrentUserDetails() | UserDetails — { id, name, email } |
getEnvironmentId() | Environment identifier |
getEnvironmentUrl() | Environment base URL |
Full detail: functions.md (per-function signatures + examples) · types.md (UserDetails). All exports are synchronous functions — no clients, no scopes.
Example
import { getAppId, getCurrentUserDetails } from "@dynatrace-sdk/app-environment";
const appId = getAppId();
const { id, name, email } = getCurrentUserDetails();Notes
- If the Dynatrace JS runtime is unavailable, functions return placeholder values prefixed
"dt.missing."and log a console warning.
Canonical reference: https://developer.dynatrace.com/develop/sdks/app-environment/
App Environment — Types
Full field definitions: https://developer.dynatrace.com/develop/sdks/app-environment/#types
- `UserDetails` — returned by
getCurrentUserDetails(). Fields:id,name,email.
appSettingsObjectsClient
DEPRECATED — migrate to app-settings-v2.
Import:
import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings";| Method | Returns | Scope | Purpose |
|---|---|---|---|
postAppSettingsObject | object response | app-settings:objects:write | Create a settings object (schemaId, value). |
getAppSettingsObjects | objects list | app-settings:objects:read | List settings objects. |
getAppSettingsObjectByObjectId | object | app-settings:objects:read | Get one object by objectId. |
putAppSettingsObjectByObjectId | update response | app-settings:objects:write | Update an object by objectId. |
deleteAppSettingsObjectByObjectId | — | app-settings:objects:write | Delete an object by objectId. |
getEffectiveAppSettingsValues | effective values | app-settings:objects:read | Effective values for schemas (schema default if none persisted). |
resolveEffectivePermissions | effective permissions | app-settings:objects:read | Resolve effective permissions for an identity. |
Example
import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings";
const data = await appSettingsObjectsClient.getEffectiveAppSettingsValues();App Settings v1 (@dynatrace-sdk/client-app-settings)
Env: ✅ Server runtime
Status: ⚠ DEPRECATED — use app-settings-v2 instead
Retrieve, update, and manage app settings objects. This API version is deprecated; new code should use v2.
Clients & key methods
appSettingsObjectsClient — postAppSettingsObject, getAppSettingsObjectByObjectId, putAppSettingsObjectByObjectId, deleteAppSettingsObjectByObjectId, getAppSettingsObjects, getEffectiveAppSettingsValues, resolveEffectivePermissions.
Full method/type detail: appSettingsObjectsClient.md · types.md. V2 adds richer per-object permission and ownership management — migrate to it.
Required scopes
app-settings:objects:read/app-settings:objects:write.
Notes
- Migrate to v2; the surface is largely the same.
- Secret properties appear unmasked in serverless functions, masked elsewhere.
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-app-settings/
App Settings V1 — Types
DEPRECATED SDK. Full field definitions: https://developer.dynatrace.com/develop/sdks/client-app-settings/#types
Settings object, effective-value, effective-permission, and error types mirror their V2 counterparts. See app-settings-v2/types.md for the current, fuller type set and migrate accordingly.
appSettingsObjectsClient
Manage app settings objects, effective values, and permissions. Import:
import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";Objects & effective values
| Method | Returns | Scope | Purpose |
|---|---|---|---|
postAppSettingsObject | AppSettingsObjectResponse | app-settings:objects:write | Create a settings object (schemaId, value). |
getAppSettingsObjects | AppSettingsObjectsList | app-settings:objects:read | List objects; schemaId, add-fields, page-key/pageSize (max 500). |
getAppSettingsObjectByObjectId | AppSettingsObject | app-settings:objects:read | Get one object by objectId. |
putAppSettingsObjectByObjectId | AppSettingsUpdateResponse | app-settings:objects:write | Update an object by objectId. |
deleteAppSettingsObjectByObjectId | — | app-settings:objects:write | Delete an object by objectId. |
getEffectiveAppSettingsValues | EffectiveAppSettingsValuesList | app-settings:objects:read | Effective values for schemas (schema default if none persisted). Secrets plaintext only from your serverless function, else masked. |
postAppSettingsOwnershipByObjectId | — | app-settings:objects:write | Transfer object ownership (owner or main admin only). |
Permissions
| Method | Returns | Purpose |
|---|---|---|
getAppSettingsPermissionsByObjectId | AppSettingsPermissionsList | List all accessor permissions on an object. |
getAppSettingsPermissionByObjectIdAndAccessorId | AppSettingsAccessorPermissions | Get one accessor's permissions on an object. |
postAppSettingsPermissionByObjectId | — | Add accessor permission on an object. |
putAppSettingsPermissionByObjectIdAndAccessorId | — | Replace an accessor's permission. |
deleteAppSettingsPermissionByObjectIdAndAccessorId | — | Remove an accessor's permission. |
getAppSettingsAllUsersPermissionByObjectId | AppSettingsAccessorPermissions | Get the all-users permission on an object. |
putAppSettingsAllUsersPermissionByObjectId | — | Set the all-users permission. |
deleteAppSettingsAllUsersPermissionByObjectId | — | Remove the all-users permission. |
resolveEffectivePermissions | EffectivePermissions | Resolve effective permissions for an identity. |
Example
import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";
await appSettingsObjectsClient.postAppSettingsObject({
body: { schemaId: "jira-connection", value: {} },
});
const effective = await appSettingsObjectsClient.getEffectiveAppSettingsValues();App Settings v2 (@dynatrace-sdk/client-app-settings-v2)
Env: ✅ Server runtime
Status: current (replaces app-settings-v1)
Retrieve, update, and manage app settings objects, including permissions and ownership.
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
appSettingsObjectsClient | postAppSettingsObject, getAppSettingsObjectByObjectId, putAppSettingsObjectByObjectId, deleteAppSettingsObjectByObjectId, getAppSettingsObjects | Settings object CRUD |
appSettingsObjectsClient | getEffectiveAppSettingsValues | Values incl. schema defaults |
appSettingsObjectsClient | postAppSettingsPermissionByObjectId, ownership transfer | Access control |
Full method/type detail: appSettingsObjectsClient.md (per-method returns, scopes, examples) · types.md (types + enums).
Required scopes
app-settings:objects:read/app-settings:objects:write.
Example
import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";
const data = await appSettingsObjectsClient.postAppSettingsObject({
body: { schemaId: "jira-connection", value: {} },
});Concepts
- Effective values: for
multiObject: falseschemas with no persisted object, the schema default is returned bygetEffectiveAppSettingsValues. - Secrets: secret properties are returned in plain text only when the call originates from your app's serverless function; otherwise irreversibly masked.
- Optimistic locking: mutations use version tokens.
- Pagination: when using
page-keyfor subsequent pages, omit all other query params (same gotcha as classic settings — see classic-environment-v2). MaxpageSize500 (0 = all), default 100. - Permissions model: per-object accessor permissions + an all-users permission; ownership transfer via
postAppSettingsOwnershipByObjectId(owner or main admin only).
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-app-settings-v2/
App Settings V2 — Types & Enums
Full field definitions: https://developer.dynatrace.com/develop/sdks/client-app-settings-v2/#types
Object types
AppSettingsObject, AppSettingsObjectCreate, AppSettingsObjectUpdate, AppSettingsObjectResponse, AppSettingsObjectsList, AppSettingsUpdateResponse, EffectiveAppSettingsValue, EffectiveAppSettingsValuesList, ModificationInfo, Modifications, ResourceContext.
Permission types
AppSettingsAccessorPermissions, AppSettingsAccessorPermissionsList, AppSettingsPermissionsList, AppSettingsUpdatePermissionsRequest, AppSettingsTransferOwnershipRequest, EffectivePermission, EffectivePermissions, PermissionContext, ResolutionRequest, SinglePermissionRequest, Identity.
Error types
Error, ErrorDetails, ErrorIncomplete, ErrorResponse, ConstraintViolation.
Enums
AppSettingsPermissionsListItem, EffectivePermissionGranted, GetAppSettingsPermissionByObjectIdAndAccessorIdPathAccessorType, IdentityType, ResourceContextOperationsItem, SinglePermissionRequestPermission.
App Utils (@dynatrace-sdk/app-utils)
Env: ✅ Server runtime
Status: current
Utilities for app function executions — call a named app function programmatically.
Key exports
| Export | Signature | Purpose |
|---|---|---|
functions.call | (functionName: string, options: { abortSignal?, data? }) => Promise<Response> | Invoke an app function (one declared in the app's app.config.json) with an optional payload and cancellation signal. Returns a Response; use .json() / .text() to read the body. |
Example
import { functions } from "@dynatrace-sdk/app-utils";
const res = await functions.call("my-function", { data: { foo: "bar" } });
const result = await res.json();Notes
- Returns a standard
Response; supports cancellation viaabortSignal.
Canonical reference: https://developer.dynatrace.com/develop/sdks/app-utils/
Automation Utils — Constants
Import from @dynatrace-sdk/automation-utils. Injected values describing the current execution context.
| Constant | Type | Purpose |
|---|---|---|
executionId | string | ID of the current workflow execution. |
actionExecutionId | string | ID of the current action execution. |
taskName | string | Name of the current task. |
workflowId | string | ID of the current workflow. |
Automation Utils — Functions
Import from @dynatrace-sdk/automation-utils.
| Function | Returns | Scope | Purpose |
|---|---|---|---|
execution(executionId?) | Promise<IExecution> | automation:workflows:read | Current workflow execution details. Has .event() for trigger context and .result(taskName) for a task's result. Standard workflows only. |
actionExecution(actionExecutionId?) | Promise<…> | automation:workflows:read | Current action execution details, incl. loopItem for loop iterations. Standard workflows only. |
result(taskName) | Promise<any> | automation:workflows:read | Result of a predecessor task's execution in the current workflow. |
getExecutionLink() | `string \ | null` | — |
getTaskExecutionLink() | `string \ | null` | — |
getWorkflowLink() | `string \ | null` | — |
Examples
import { execution, result } from "@dynatrace-sdk/automation-utils";
const exe = await execution();
const eventContext = exe.event();
const prev = await result("predecessor_task_1");Automation Utils (@dynatrace-sdk/automation-utils)
Env: ✅ Server runtime (inside workflow Run JavaScript actions)
Status: current
Helper functions for accessing AutomationEngine context from within a Run JavaScript action. For full workflow management see automation.
Key exports
| Export | Purpose |
|---|---|
execution() | Current workflow execution; returns an IExecution with helper methods |
actionExecution() | Current action execution details (e.g. loop items) |
result(taskName) | Result of a predecessor task by name |
getWorkflowLink() / getExecutionLink() / getTaskExecutionLink() | Deep-link URLs |
| Constants | executionId, workflowId, taskName, actionExecutionId |
IExecution adds event() (trigger event payload as key-value) and result(taskId).
Full detail: functions.md (per-function signatures + examples) · constants.md · types.md (IExecution).
Required scopes
automation:workflows:readfor most operations.
Example
import { execution, result } from "@dynatrace-sdk/automation-utils";
const exec = await execution();
const prev = await result("fetch_data");Notes
- Available for standard workflows only — simple workflows return 404.
Canonical reference: https://developer.dynatrace.com/develop/sdks/automation-utils/
Automation Utils — Types
Full field definitions: https://developer.dynatrace.com/develop/sdks/automation-utils/#types
- `IExecution` — returned by
execution(). Provides execution metadata plus methodsevent()(trigger/event context) andresult(taskName)(task result).
actionExecutionsClient
Read action executions. Import:
import { actionExecutionsClient } from "@dynatrace-sdk/client-automation";| Method | Returns | Scope | Purpose |
|---|---|---|---|
getActionExecution | ActionExecution | automation:workflows:read | Get an action execution by id. |
getActionExecutionLog | log | automation:workflows:read | Get the log of an action execution. |
actionsSampleResultClient
Read action sample results. Import:
import { actionsSampleResultClient } from "@dynatrace-sdk/client-automation";| Method | Returns | Scope | Purpose |
|---|---|---|---|
getActionSampleResult | sample result | automation:workflows:read | Get a sample result for an action (used to build/preview workflow tasks). |
businessCalendarsClient
Manage business calendars (working days/holidays referenced by schedules). Import:
import { businessCalendarsClient } from "@dynatrace-sdk/client-automation";| Method | Returns | Scope | Purpose |
|---|---|---|---|
createBusinessCalendar | BusinessCalendarResponse | automation:workflows:write | Create a business calendar. |
getBusinessCalendar | BusinessCalendarResponse | automation:workflows:read | Get a calendar by id. |
getBusinessCalendars | PaginatedBusinessCalendarResponseList | automation:workflows:read | List calendars. |
updateBusinessCalendar | BusinessCalendarResponse | automation:workflows:write | Replace a calendar. |
patchBusinessCalendar | BusinessCalendarResponse | automation:workflows:write | Partially update a calendar. |
deleteBusinessCalendar | — | automation:workflows:write | Delete a calendar. |
duplicateBusinessCalendar | BusinessCalendarResponse | automation:workflows:write | Duplicate a calendar. |
getBusinessCalendarHistoryRecord / getBusinessCalendarHistoryRecords | history | automation:workflows:read | Get one / list calendar history. |
restoreBusinessCalendarHistoryRecord | BusinessCalendarResponse | automation:workflows:write | Restore a historical version. |
eventTriggersClient
Preview event-trigger filters. Import:
import { eventTriggersClient } from "@dynatrace-sdk/client-automation";| Method | Returns | Scope | Purpose |
|---|---|---|---|
previewFilter | EventTriggerPreviewResponse | automation:workflows:read | Preview which events match an event-trigger filter (EventTriggerPreviewRequest). |
executionsClient
Control and inspect workflow executions and task executions. Import:
import { executionsClient } from "@dynatrace-sdk/client-automation";| Method | Returns | Scope | Purpose |
|---|---|---|---|
getExecution | Execution | automation:workflows:read | Get an execution by id. |
getExecutions | PaginatedExecutionList | automation:workflows:read | List executions. |
getExecutionActions | actions | automation:workflows:read | Actions assigned to tasks in an execution. |
getExecutionLog | log | automation:workflows:read | Execution log. |
getAllEventLogs | EventLogs | automation:workflows:read | All event logs for an execution. |
getTransitions | TaskTransitions | automation:workflows:read | Task transitions of an execution. |
getTaskExecution | TaskExecution | automation:workflows:read | A task execution. |
getTaskExecutions | TaskExecutions | automation:workflows:read | All task executions. |
getTaskExecutionInput | TaskExecutionInput | automation:workflows:read | Resolved input of a task execution. |
getTaskExecutionResult | result | automation:workflows:read | Result of a task execution. |
getTaskExecutionLog | log | automation:workflows:read | Log of a task execution. |
cancelExecution | — | automation:workflows:run | Cancel an active execution. |
cancelTaskExecution | — | automation:workflows:run | Cancel a task execution (cancels the workflow). |
pauseExecution | — | automation:workflows:run | Pause an execution. |
resumeExecution | — | automation:workflows:run | Resume a paused execution. |
Example
import { executionsClient } from "@dynatrace-sdk/client-automation";
const exec = await executionsClient.getExecution({ id: "..." });
const result = await executionsClient.getTaskExecutionResult({ executionId: "...", id: "..." });Automation (@dynatrace-sdk/client-automation)
Env: ✅ Server runtime
Status: current
Manage and execute workflows via the AutomationEngine API. For helpers used inside a workflow's Run JavaScript action, see automation-utils.
Clients & key methods
| Client | Purpose |
|---|---|
workflowsClient | Workflow CRUD + runWorkflow |
executionsClient | Monitor / pause / resume / cancel executions |
schedulingRulesClient | Scheduling rules (cron / recurrence) + previews |
businessCalendarsClient | Business calendars & holidays |
eventTriggersClient | Davis problem/event triggers |
webhookHandlersClient | Webhook handlers |
schedulesClient | Timezones, holiday calendars |
Full method/type detail (per client): workflowsClient.md, executionsClient.md, schedulingRulesClient.md, businessCalendarsClient.md, schedulesClient.md, settingsClient.md, eventTriggersClient.md, actionExecutionsClient.md, actionsSampleResultClient.md, webhookHandlersClient.md, versionClient.md · types.md.
Required scopes
automation:workflows:read(reads: get/export/list/preview),automation:workflows:write(mutations: create/update/patch/delete/duplicate/restore),automation:workflows:run(execution control: run/cancel/pause/resume); admin ops also needautomation:workflows:admin.
Example
import { workflowsClient } from "@dynatrace-sdk/client-automation";
const execution = await workflowsClient.runWorkflow({
id: "workflow-uuid",
body: { input: {}, params: {} },
});Notes
- Several methods are deprecated (flagged in the official docs).
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-automation/
schedulesClient
Preview schedules and look up calendar reference data. Import:
import { schedulesClient } from "@dynatrace-sdk/client-automation";| Method | Returns | Scope | Purpose |
|---|---|---|---|
previewSchedule | SchedulePreviewResponse | automation:workflows:read | Preview the trigger times a schedule would produce. |
getCountries | CountryList | automation:workflows:read | List countries (for holiday calendars). |
getHolidayCalendar | HolidayCalendarList | automation:workflows:read | Get holidays for a country/calendar. |
getTimezones | timezones | automation:workflows:read | List supported timezones. |
schedulingRulesClient
Manage scheduling rules (date/offset rules used by schedules). Import:
import { schedulingRulesClient } from "@dynatrace-sdk/client-automation";| Method | Returns | Scope | Purpose |
|---|---|---|---|
createRule | Rule | automation:workflows:write | Create a scheduling rule. |
getRule | Rule | automation:workflows:read | Get a rule by id. |
getRules | PaginatedRuleList | automation:workflows:read | List rules. |
updateRule | Rule | automation:workflows:write | Replace a rule. |
patchRule | Rule | automation:workflows:write | Partially update a rule. |
deleteRule | — | automation:workflows:write | Delete a rule. |
duplicateRule | Rule | automation:workflows:write | Duplicate a rule. |
previewRule | RulePreviewResponse | automation:workflows:read | Preview the dates a rule would produce. |
getRuleHistoryRecord / getRuleHistoryRecords | history | automation:workflows:read | Get one / list rule history. |
restoreRuleHistoryRecord | Rule | automation:workflows:write | Restore a historical rule version. |
settingsClient
Automation settings, service users, and permissions. Import:
import { settingsClient } from "@dynatrace-sdk/client-automation";| Method | Returns | Scope | Purpose |
|---|---|---|---|
getSettings | GetSettingsResponse | automation:workflows:read | Get automation settings (incl. available scopes). |
getUserSettings | UserSettings | automation:workflows:read | Get the calling user's settings. |
getUserPermissions | permissions | automation:workflows:read | Get the calling user's permissions. |
getServiceUsers | GetServiceUsersResponse | automation:workflows:read | List service users available to automation. |
updateAuthorizations | — | automation:workflows:write | Update authorizations/scopes. |
Automation — Types & Enums
Full field definitions: https://developer.dynatrace.com/develop/sdks/client-automation/#types
Workflow types
Workflow, WorkflowCreate, WorkflowUpdate, WorkflowInput, WorkflowList, WorkflowExport, WorkflowTemplate, WorkflowDefinitionTemplate, WorkflowTaskDefaults, WorkflowLimit, WorkflowThrottlesResetStatus, Task, Tasks, TaskInput, TaskPosition, TaskTransition, TaskTransitions, TaskRetryOption, TaskConditionOption, Throttle, ThrottleRequest, ThrottleLimitEvent(s).
Execution types
Execution, ExecutionInput, ExecutionParams, ExecutionLimits, ExecutionInputsRequest, ExecutionProvidedInput, PaginatedExecutionList, ActionExecution, ActionExecutionInput, ActionExecutionLoopItem, TaskExecution(s), TaskExecutionInput, TaskExecutionConditions, EventLog(s), EventLogContext.
Trigger types
Trigger, TriggerRequest, TriggerExport, EventTrigger, EventTriggerRequest, EventTriggerExport, EventTriggerPreviewRequest, EventTriggerPreviewResponse, EventQuery, EventQueryTriggerConfig, EventTriggerConfig, CronTrigger, IntervalTrigger, OnceTrigger, TimeTrigger, ScheduleTrigger, TriggerManualDetail, plus Davis configs (DavisEventConfig, DavisEventTriggerConfig, DavisProblemConfig, DavisProblemTriggerConfig, EntityTags).
Schedule / rule / calendar types
Schedule, ScheduleExport, ScheduleInput(s), ScheduleRequest, SchedulePreviewRequest, SchedulePreviewResponse, ScheduleFilterParameters, Rule, RuleCreate, RuleUpdate, RulePreviewResponse, RRule, FixedOffsetRule, RelativeOffsetRule, GroupingRule, BusinessCalendarCreate/Response/Update, Country(List), Holiday(s), HolidayCalendarList, Weekdays(Names/Values).
Settings / webhook / misc
GetSettingsResponse, UserSettings, GetServiceUsersResponse, WebhookHandler, WebhookHandlerList, VersionResponse, ChangeHistory, PaginatedChangeHistory, ModificationInfo, Source, EnvironmentObject, DuplicationRequest.
Error types
Error, ErrorDetails, ErrorEnvelope.
Enums
ExecutionState, ActionExecutionState, TaskExecutionState, EventLogState, WorkflowType, OwnerType, GetWorkflowsQueryOwnerType, TriggerType, TriggerSubType, RuleType, Freq, Byday, Byworkday, Wkst, Direction, Timezone, ValidationMethod, HmacSignatureEncoding, MaintenanceWindowTriggerBehaviorType, EventType, and the preview/trigger config enums.
versionClient
AutomationEngine version. Import:
import { versionClient } from "@dynatrace-sdk/client-automation";| Method | Returns | Scope | Purpose |
|---|---|---|---|
getVersion | VersionResponse | automation:workflows:read | Get the AutomationEngine version. |
webhookHandlersClient
Manage webhook handlers. Import:
import { webhookHandlersClient } from "@dynatrace-sdk/client-automation";| Method | Returns | Scope | Purpose |
|---|---|---|---|
writeWebhookHandler | WebhookHandler | automation:workflows:write | Create/update a webhook handler. |
getWebhookHandler | WebhookHandler | automation:workflows:read | Get a webhook handler by id. |
getWebhookHandlers | WebhookHandlerList | automation:workflows:read | List webhook handlers. |
deleteWebhookHandler | — | automation:workflows:write | Delete a webhook handler. |
workflowsClient
Workflow lifecycle, templates, execution, and history. Import:
import { workflowsClient } from "@dynatrace-sdk/client-automation";| Method | Returns | Scope | Purpose |
|---|---|---|---|
createWorkflow | Workflow | automation:workflows:write | Create a workflow and set usages. |
getWorkflow | Workflow | automation:workflows:read | Get a workflow by id. |
getWorkflows | WorkflowList | automation:workflows:read | List workflows (filter by owner type, etc.). |
updateWorkflow | Workflow | automation:workflows:write | Replace a workflow by id. |
patchWorkflow | Workflow | automation:workflows:write | Partially update a workflow. |
deleteWorkflow | — | automation:workflows:write | Delete a workflow by id. |
duplicateWorkflow | Workflow | automation:workflows:write | Duplicate a workflow. |
runWorkflow | Execution | automation:workflows:run | Create an Execution for the workflow (body.input, body.params). |
getWorkflowActions | actions | automation:workflows:read | List actions used by a workflow. |
getWorkflowTask / getWorkflowTasks | Task / Tasks | automation:workflows:read | Get one / all tasks of a workflow. |
exportWorkflow | WorkflowExport | automation:workflows:read | Export a workflow definition. |
exportWorkflowTemplate | WorkflowTemplate | automation:workflows:read | Export a workflow as a template. |
getWorkflowHistoryRecord / getWorkflowHistoryRecords | history | automation:workflows:read | Get one / list change-history records. |
exportWorkflowHistoryRecord | Workflow | automation:workflows:read | Export a historical version. |
exportWorkflowHistoryRecordTemplate | WorkflowTemplate | automation:workflows:read | Export a historical version as a template. |
restoreWorkflowHistoryRecord | Workflow | automation:workflows:write | Restore a historical version. |
resetWorkflowThrottles | WorkflowThrottlesResetStatus | automation:workflows:write | Reset a workflow's throttles. |
Example
import { workflowsClient } from "@dynatrace-sdk/client-automation";
const wf = await workflowsClient.createWorkflow({ body: { title: "My workflow" } });
const execution = await workflowsClient.runWorkflow({ id: wf.id, body: { input: {}, params: {} } });bucketDefinitionsClient
Manage Grail bucket definitions. Import:
import { bucketDefinitionsClient } from "@dynatrace-sdk/client-bucket-management";| Method | Returns | Scope | Purpose |
|---|---|---|---|
createBucket | Bucket | storage:bucket-definitions:write | Create a bucket definition (bucketName, table, displayName, retentionDays, …). |
getDefinition | Bucket | storage:bucket-definitions:read | Get one bucket by bucketName. Optional add-fields: records, estimatedUncompressedBytes, …QueryIncluded, …OnDemand (slower). |
getDefinitions | Buckets | storage:bucket-definitions:read | Get all bucket definitions (same add-fields options). |
updateBucket | — | storage:bucket-definitions:write | Full update of displayName (≤ 200 chars) / retentionDays; requires optimistic-locking-version matching body version. |
updateBucketPartially | — | storage:bucket-definitions:write | Partial update of displayName / retentionDays; requires optimistic-locking-version. |
truncateBucket | — | storage:bucket-definitions:write | ⚠️ Irreversibly remove the bucket's records. |
deleteBucket | — | storage:bucket-definitions:delete | ⚠️ Irreversibly delete the bucket definition. |
Example
import { bucketDefinitionsClient } from "@dynatrace-sdk/client-bucket-management";
await bucketDefinitionsClient.updateBucketPartially({
bucketName: "custom_logs",
optimisticLockingVersion: 10,
body: { displayName: "Custom logs (updated)", retentionDays: 10 },
});Grail Bucket Management (@dynatrace-sdk/client-bucket-management)
Env: ✅ Server runtime
Status: current
Manage Grail storage buckets — creation, retention, truncation.
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
bucketDefinitionsClient | createBucket, getDefinition, getDefinitions, updateBucket, updateBucketPartially, deleteBucket, truncateBucket | Bucket lifecycle |
Full method/type detail: bucketDefinitionsClient.md (per-method returns, scopes, examples) · types.md (types + enums).
Required scopes
storage:bucket-definitions:read/storage:bucket-definitions:write/storage:bucket-definitions:delete.
Example
import { bucketDefinitionsClient } from "@dynatrace-sdk/client-bucket-management";
const data = await bucketDefinitionsClient.createBucket({
body: { bucketName: "custom_logs", table: "logs", displayName: "Custom logs", retentionDays: 35 },
});Notes
- Bucket name: 3–100 chars, starts with a letter, lowercase/numbers/
_/-only; nodefault_/dt_prefix; immutable after creation. - Retention 1–3657 days; shortening it triggers automatic data deletion.
- Mandatory optimistic locking (version) on updates.
- Creation can take up to 1 minute to appear; delete/truncate are irreversible async operations.
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-bucket-management/
Bucket Management — Types & Enums
Full field definitions: https://developer.dynatrace.com/develop/sdks/client-bucket-management/#types
Bucket types
Bucket, Buckets, CreateBucket, UpdateBucket, PartialUpdateBucket.
Error types
ErrorEnvelope, ErrorInfo, ExceptionalReturn, CustomValidationErrorInfo, InvalidAuditEventsErrorInfo, MediaTypeErrorInfo, ParameterErrorInfo, ProxyErrorInfo, QueryFrontendRawErrorInfo, RequestBodyErrorInfo.
Enums
BucketStatus, UpdateBucketStatus, BucketMetricInterval, CreateBucketMetricInterval, UpdateBucketMetricInterval, GetDefinitionQueryAddFieldsItem, GetDefinitionsQueryAddFieldsItem.
Cluster clients
Cluster identity and version. Import from @dynatrace-sdk/client-classic-environment-v1.
clusterConfigClient
| Method | Purpose |
|---|---|
getClusterId | Get the cluster id. |
clusterVersionClient
| Method | Purpose |
|---|---|
getVersion | Get the cluster version. |
deploymentClient
OneAgent/ActiveGate installer downloads, orchestration, BOSH releases, and Lambda layers. Import:
import { deploymentClient } from "@dynatrace-sdk/client-classic-environment-v1";Installers
| Method | Purpose |
|---|---|
downloadLatestAgentInstaller | Download latest OneAgent installer (by OS/type/arch/bitness/flavor). |
downloadAgentInstallerWithVersion | Download a specific OneAgent installer version. |
getAgentInstallerAvailableVersions | List available OneAgent installer versions. |
getAgentInstallerMetaInfo | Get installer meta info. |
getAgentInstallerWithVersionChecksum | Get checksum for an installer version. |
getAgentInstallerConnectionInfo / getAgentInstallerConnectionInfoEndpoints | Connection info / endpoints. |
getAgentProcessModuleConfig | Get process-module config. |
downloadLatestGatewayInstaller | Download latest ActiveGate installer. |
downloadGatewayInstallerWithVersion | Download a specific ActiveGate installer version. |
getActiveGateInstallerAvailableVersions | List ActiveGate installer versions. |
getActiveGateInstallerConnectionInfo | ActiveGate connection info. |
getGatewayInstallerMetaInfo | ActiveGate installer meta info. |
Orchestration, BOSH, images, Lambda
| Method | Purpose |
|---|---|
downloadLatestAgentOrchestration / downloadAgentOrchestrationWithVersion | Download agent orchestration. |
downloadLatestAgentOrchestrationSignature / downloadAgentOrchestrationSignatureWithVersion | Orchestration signatures. |
downloadBoshReleaseWithVersion / getBoshReleaseAvailableVersions / getBoshReleaseChecksum | BOSH release downloads/info. |
getLatestAgentImage / getLatestActiveGateImage | Latest container images. |
getLambdaLayerBuildUnits / getLatestLambdaBuildUnits | AWS Lambda layer build units. |
getPublicCommunicationAddresses | Public communication addresses. |
oneAgentOnAHostClient
Query hosts by OneAgent characteristics and manage persisted potential problems. Import:
import { oneAgentOnAHostClient } from "@dynatrace-sdk/client-classic-environment-v1";| Method | Purpose |
|---|---|
getHostsWithSpecificAgents | List hosts filtered by agent version, OS, monitoring type, availability, update status, etc. |
getAgentPersistedPotentialProblems | Get persisted potential agent problems. |
deleteAgentPersistedPotentialProblems | Clear persisted potential agent problems. |
Classic Environment v1 (@dynatrace-sdk/client-classic-environment-v1)
Env: ✅ Server runtime
Status: current (many resources superseded by classic-environment-v2)
Client for the Dynatrace Classic Environment API v1: OneAgent/ActiveGate deployment, synthetic monitors, RUM JavaScript, and user-session queries (USQL).
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
clusterConfigClient / clusterVersionClient | getClusterVersion | Cluster identity & version |
deploymentClient | downloadLatestAgentInstaller | OneAgent/ActiveGate/BOSH/Lambda installer downloads |
oneAgentOnAHostClient | host agent status & config | OneAgent-on-host info |
syntheticMonitorsClient | CRUD | Synthetic monitor management |
rumJavaScriptTagManagementClient | RUM tag delivery | RUM JS tag |
rumUserSessionsClient | USQL execution | User-session query language |
Full method/type detail (per client): deployment.md, oneagent-on-host.md, rum-javascript-tags.md, rum-user-sessions.md, synthetic.md, cluster.md · types.md.
Required scopes
- Various
environment-api:*scopes plus specific viewer/management permissions per operation.
Example
import { deploymentClient } from "@dynatrace-sdk/client-classic-environment-v1";
const installer = await deploymentClient.downloadLatestAgentInstaller({
osType: "windows",
installerType: "default",
});Notes
- Prefer v2 where a resource exists there.
- Early-adopter/preview operations may change incompatibly; new enum constants may be added without a version bump.
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-classic-environment-v1/
rumJavaScriptTagManagementClient
Manage RUM JavaScript tags, snippets, and versions for manual web instrumentation. Import:
import { rumJavaScriptTagManagementClient } from "@dynatrace-sdk/client-classic-environment-v1";| Method | Purpose |
|---|---|
getJsTagComplete | Get the complete RUM JavaScript tag. |
getJsTagSri | Get the RUM tag with Subresource Integrity. |
getJsScript | Get the RUM JS script. |
getJsInlineScript | Get the inline RUM script. |
getAsyncCodeSnippet / getSyncCodeSnippet | Async / sync code snippets. |
getJsLatestVersion | Latest available RUM JS version. |
getJsAllAvailableVersions | All available RUM JS versions. |
getJsConfiguredVersions | Configured RUM JS versions. |
getAppRevision | Get the application revision. |
getManualApps | List manually-instrumented applications. |
rumUserSessionsClient
Query user-session data with USQL (User Session Query Language). Import:
import { rumUserSessionsClient } from "@dynatrace-sdk/client-classic-environment-v1";| Method | Purpose |
|---|---|
getUsqlResultAsTable | Run a USQL query and return results as a table. |
getUsqlResultAsTree | Run a USQL query and return results as a tree. |
For new code, prefer DQL via client-query over USQL.
Synthetic clients (v1)
Synthetic monitors and locations/nodes. Import from @dynatrace-sdk/client-classic-environment-v1.
syntheticMonitorsClient
| Method | Purpose |
|---|---|
getMonitorsCollection | List synthetic monitors. |
getMonitor | Get one monitor by id. |
addMonitor | Create a synthetic monitor. |
replaceMonitor | Replace a synthetic monitor. |
deleteMonitor | Delete a synthetic monitor. |
syntheticLocationsNodesAndConfigurationClient
| Method | Purpose |
|---|---|
getNodes | List synthetic nodes. |
getNode | Get one synthetic node by id. |
Classic Environment v1 — Types & Enums
Full field definitions: https://developer.dynatrace.com/develop/sdks/client-classic-environment-v1/#types Full enum definitions (deprecated in favor of literal values): https://developer.dynatrace.com/develop/sdks/client-classic-environment-v1/#enums
Deployment / installer types
AgentInstallerMetaInfoDto, AgentInstallerVersions, AllAvailableVersions, ActiveGateInstallerVersions, ActiveGateConnectionInfo, ConnectionInfo, Address(es), AgentProcessModuleConfigResponse, BoshReleaseAvailableVersions, BoshReleaseChecksum, OneAgentInstallerChecksum, GatewayInstallerMetaInfoDto, ImageDto, LambdaDto, LatestLambdaLayerNames, LatestLambdaLayersMetainfo, ModuleInfo, PluginInfo.
Host types
Host, HostsListPage, HostAgentInfo, HostGroup, HostKubernetesLabels, HostFromRelationships, HostToRelationships, AgentPotentialProblem(sState), ModuleInstance, PluginInstance, TechnologyInfo.
RUM / user-session types
ManualApplication, ConfiguredVersions, UserSession, UserSessionUserAction, UserSessionEvents, UserSessionErrors, UserSessionSyntheticEvent, UsqlResultAsTable, UsqlResultAsTree, KeyPerformanceMetrics.
Synthetic types
SyntheticMonitor(Update), BrowserSyntheticMonitor(Update), HttpSyntheticMonitor(Update), Monitors, MonitorCollectionElement, Node(s), NodeCollectionElement, OutageHandlingPolicy, GlobalOutagePolicy, LocalOutagePolicy, LoadingTimeThreshold(sPolicyDto).
Common / property types
ClusterId, ClusterVersion, ManagementZone, TagInfo, TagWithSourceInfo, EntityIdDto, EntityShortRepresentation, EventDto, Error, ErrorEnvelope, ConstraintViolation, and property wrappers (StringProperty, LongProperty, DoubleProperty, DateProperty, SectionProperty).
Enums
All enums in this SDK are deprecated in favor of literal string values.
Mostly installer download discriminators (OS type, architecture, bitness, flavor, installer type, orchestration type) and host query filters (GetHostsWithSpecificAgentsQuery*), plus host attribute enums (HostOsType, HostCloudType, HostMonitoringMode, HostBitness, …), synthetic monitor enums (SyntheticMonitorType, …), and user-session enums (UserSessionUserType, UserSessionUserActionType, …). See the canonical enums page for the full list.
Access-token clients
Manage API tokens, ActiveGate tokens, agent tokens, and tenant token rotation. Import from @dynatrace-sdk/client-classic-environment-v2.
accessTokensApiTokensClient
| Method | Purpose |
|---|---|
createApiToken | Create an API token (with scopes). |
listApiTokens | List API tokens. |
getApiToken | Get an API token by id. |
lookupApiToken | Look up the token metadata for a token secret. |
updateApiToken | Update an API token. |
deleteApiToken | Delete an API token. |
accessTokensActiveGateTokensClient
| Method | Purpose |
|---|---|
createToken | Create an ActiveGate token. |
listTokens | List ActiveGate tokens. |
getToken | Get an ActiveGate token by id. |
revokeToken | Revoke an ActiveGate token. |
accessTokensAgentTokensClient
| Method | Purpose |
|---|---|
getAgentConnectionToken | Get the agent connection token. |
accessTokensTenantTokensClient
| Method | Purpose |
|---|---|
startRotation | Start tenant token rotation. |
finishRotation | Finish tenant token rotation. |
cancelRotation | Cancel tenant token rotation. |
ActiveGate clients
Inspect ActiveGates, groups, and manage auto-update config/jobs. Import from @dynatrace-sdk/client-classic-environment-v2.
activeGatesClient
| Method | Purpose |
|---|---|
getAllActiveGates | List ActiveGates (filterable by module, OS, type, version, …). |
getOneActiveGateById | Get a single ActiveGate by id. |
activeGatesActiveGateGroupsClient
| Method | Purpose |
|---|---|
getActiveGateGroups | List ActiveGate groups. |
activeGatesAutoUpdateConfigurationClient
| Method | Purpose |
|---|---|
getGlobalAutoUpdateConfigForTenant | Get tenant-global auto-update config. |
putGlobalAutoUpdateConfigForTenant | Update tenant-global auto-update config. |
validateGlobalAutoUpdateConfigForTenant | Validate tenant-global config. |
getAutoUpdateConfigById | Get per-ActiveGate auto-update config. |
putAutoUpdateConfigById | Update per-ActiveGate config. |
validateAutoUpdateConfigById | Validate per-ActiveGate config. |
activeGatesAutoUpdateJobsClient
| Method | Purpose |
|---|---|
getAllUpdateJobList | List all auto-update jobs. |
getUpdateJobListByAgId | List update jobs for an ActiveGate. |
getUpdateJobByJobIdForAg | Get one update job. |
createUpdateJobForAg | Create an update job. |
validateUpdateJobForAg | Validate an update job. |
deleteUpdateJobByJobIdForAg | Delete an update job. |
auditLogsClient
Read the environment activity/audit log. Import:
import { auditLogsClient } from "@dynatrace-sdk/client-classic-environment-v2";| Method | Purpose |
|---|---|
getLogs | Query audit log entries (filterable, paginated). |
getLog | Get one audit log entry by id. |
credentialVaultClient
Stored credentials (certificates, tokens, username/password) — commonly used to authenticate external fetch calls. Import:
import { credentialVaultClient } from "@dynatrace-sdk/client-classic-environment-v2";| Method | Returns | Purpose |
|---|---|---|
createCredentials | created credentials | Create a credentials entry. |
listCredentials | credentials list | List credentials (filter by type). |
getCredentials | credentials | Get credentials metadata by id. |
getCredentialsDetails | credentials details | Get full credentials details by id (username/password, token, certificate). |
getCredentialsDetailsList | details list | Get details for multiple credentials. |
updateCredentials | — | Update a credentials entry. |
removeCredentials | — | Delete a credentials entry. |
Scopes: credential-vault read/write scopes (see canonical page per method).
Example — credential vault for external fetch
import { credentialVaultClient } from "@dynatrace-sdk/client-classic-environment-v2";
const creds = await credentialVaultClient.getCredentialsDetails({ id: "CREDENTIALS_VAULT-..." });
const auth = `Basic ${btoa(`${creds.username}:${creds.password}`)}`;
const res = await fetch("https://api.example.com/...", { headers: { Authorization: auth } });See ../../fetch.md for the full external-fetch pattern.
Monitored-entities clients
Query monitored entities, manage custom tags and monitoring state. Import from @dynatrace-sdk/client-classic-environment-v2.
monitoredEntitiesClient
| Method | Purpose |
|---|---|
getEntities | Query entities via entity selector (paginated). |
getEntity | Get one entity by id. |
getEntityTypes | List entity types. |
getEntityType | Get one entity type. |
pushCustomDevice | Create/update a custom device entity. |
setSecurityContext | Set an entity's security context. |
deleteSecurityContext | Remove an entity's security context. |
monitoredEntitiesCustomTagsClient
| Method | Purpose |
|---|---|
getTags | List custom tags for entities matching a selector. |
postTags | Add custom tags. |
deleteTags | Remove custom tags. |
monitoredEntitiesMonitoringStateClient
| Method | Purpose |
|---|---|
getStates | Get monitoring state of entities. |
Events clients
Custom events and business-event ingestion. Import from @dynatrace-sdk/client-classic-environment-v2.
eventsClient
| Method | Purpose |
|---|---|
createEvent | Ingest a custom event. |
getEvents | Query events (filterable, paginated). |
getEvent | Get one event by id. |
getEventProperties | List event properties. |
getEventProperty | Get one event property. |
getEventTypes | List event types. |
getEventType | Get one event type. |
businessEventsClient
| Method | Purpose |
|---|---|
ingest | Ingest business events (CloudEvent or custom format). Max 5 MiB payload per request. |
Example
import { businessEventsClient } from "@dynatrace-sdk/client-classic-environment-v2";
await businessEventsClient.ingest({ body: { /* CloudEvent(s) */ }, type: "application/cloudevent+json" });extensions_2_0Client
Manage Extensions 2.0 — extension lifecycle, monitoring configurations, schemas. Import:
import { extensions_2_0Client } from "@dynatrace-sdk/client-classic-environment-v2";Extension lifecycle
| Method | Purpose |
|---|---|
listExtensions / listExtensionInfos | List installed extensions / their info. |
listExtensionVersions | List versions of an extension. |
extensionDetails | Get details of an extension version. |
uploadExtension | Upload an extension bundle. |
installExtension | Install a previously uploaded extension version. |
removeExtension | Remove an extension. |
getExtensionStatus | Get extension status. |
Monitoring configurations
| Method | Purpose |
|---|---|
extensionMonitoringConfigurations | List monitoring configurations of an extension. |
createMonitoringConfiguration | Create a monitoring configuration. |
monitoringConfigurationDetails | Get a monitoring configuration. |
updateMonitoringConfiguration | Update a monitoring configuration. |
removeMonitoringConfiguration | Remove a monitoring configuration. |
getExtensionMonitoringConfigurationStatus | Get configuration status. |
getExtensionMonitoringConfigurationEvents | Get configuration events. |
monitoringConfigurationAudit | Get configuration audit. |
executeExtensionMonitoringConfigurationActions | Execute configuration actions. |
Environment configuration & schemas
| Method | Purpose |
|---|---|
getActiveEnvironmentConfiguration | Get active environment configuration. |
activateExtensionEnvironmentConfiguration | Activate environment configuration. |
updateExtensionEnvironmentConfiguration | Update environment configuration. |
deleteEnvironmentConfiguration | Delete environment configuration. |
getEnvironmentConfigurationEvents | Get environment configuration events. |
getEnvironmentConfigurationAssetsInfo | Get environment configuration assets info. |
extensionConfigurationSchema | Get configuration schema for an extension. |
getSchemaFile / listSchemaFiles / listSchemas | Schema file/listing helpers. |
getActiveGateGroupsInfo | ActiveGate groups info for extensions. |
getAlertTemplate | Get an alert template. |
logsClient
Classic log records API (prefer DQL via client-query for new code). Import:
import { logsClient } from "@dynatrace-sdk/client-classic-environment-v2";| Method | Purpose |
|---|---|
getLogRecords | Query log records. |
exportLogRecords | Export log records. |
getLogHistogramData | Get log histogram (aggregated counts). |
storeLog | Ingest/store custom log lines. |
Metrics clients
Classic metrics query/ingest and unit conversion. Import from @dynatrace-sdk/client-classic-environment-v2.
metricsClient
| Method | Purpose |
|---|---|
allMetrics | List metric descriptors (filterable, paginated). |
metric | Get one metric descriptor. |
query | Query metric data points. |
ingest | Ingest metric data points. |
delete | Delete a metric. |
bulkDelete | Bulk-delete metrics. |
metricsUnitsClient
| Method | Purpose |
|---|---|
allUnits | List available units. |
unit | Get one unit. |
convert | Convert a value between units. |
networkZonesClient
Manage network zones. Import:
import { networkZonesClient } from "@dynatrace-sdk/client-classic-environment-v2";| Method | Purpose |
|---|---|
getAllNetworkZones | List network zones. |
getSingleNetworkZone | Get one network zone. |
createOrUpdateNetworkZone | Create or update a network zone. |
deleteNetworkZone | Delete a network zone. |
getHostStats | Get host statistics for a network zone. |
getNetworkZoneSettings | Get global network-zone settings. |
updateNetworkZoneSettings | Update global network-zone settings. |
problemsClient
Query problems and manage problem comments. Import:
import { problemsClient } from "@dynatrace-sdk/client-classic-environment-v2";| Method | Purpose |
|---|---|
getProblems | Query problems (filterable, paginated). |
getProblem | Get one problem by id. |
closeProblem | Close a problem. |
getComments | List comments on a problem. |
getComment | Get one comment. |
createComment | Add a comment to a problem. |
updateComment | Update a comment. |
deleteComment | Delete a comment. |
Classic Environment v2 (@dynatrace-sdk/client-classic-environment-v2)
Env: ✅ Server runtime
Status: current (supersedes v1 — see classic-environment-v1 for not-yet-migrated resources)
Client for the Dynatrace Environment API v2: settings, tokens, ActiveGates, events, audit logs, and the credential vault.
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
settingsObjectsClient | getSettingsObjects, postSettingsObjects, putSettingsObjectByObjectId, deleteSettingsObjectByObjectId | Read/write settings objects (paginated — see Notes) |
credentialVaultClient | getCredentialsDetails, getCredentials, postCredentials | Stored credentials (certificates, tokens, username/password) |
accessTokensApiTokensClient | getApiTokens, postApiToken | API token CRUD |
activeGatesClient | getAllActiveGates | List/inspect ActiveGates |
eventsClient / businessEventsClient | createEvent, ingest | Custom & CloudEvent business-event ingestion |
auditLogsClient | getLogs | Environment activity log |
attacksClient | getAttacks | Security attack queries |
Full detail by domain (34 clients)
This SDK exposes 34 clients, grouped by domain into the files below (each client is its own section). Exact per-method OAuth scopes are on the canonical page; the general pattern is <area>:<resource>:read|write (e.g. settings:objects:read, credential-vault scopes, entities:read, metrics:read/:write, events:ingest, slo:read/:write, securityProblems:read).
| File | Clients |
|---|---|
| access-tokens.md | accessTokensApiTokensClient, accessTokensActiveGateTokensClient, accessTokensAgentTokensClient, accessTokensTenantTokensClient |
| activegates.md | activeGatesClient, activeGatesActiveGateGroupsClient, activeGatesAutoUpdateConfigurationClient, activeGatesAutoUpdateJobsClient |
| credential-vault.md | credentialVaultClient |
| settings.md | settingsObjectsClient, settingsSchemasClient, settingsManagementZonesClient |
| events.md | eventsClient, businessEventsClient |
| logs.md | logsClient |
| metrics.md | metricsClient, metricsUnitsClient |
| entities.md | monitoredEntitiesClient, monitoredEntitiesCustomTagsClient, monitoredEntitiesMonitoringStateClient |
| problems.md | problemsClient |
| security.md | securityProblemsClient, attacksClient, davisSecurityAdvisorClient |
| synthetic.md | syntheticLocationsNodesAndConfigurationClient, syntheticNetworkAvailabilityMonitorsClient, syntheticOnDemandMonitorExecutionsClient, syntheticHttpMonitorExecutionsClient |
| slo.md | serviceLevelObjectivesClient |
| network-zones.md | networkZonesClient |
| extensions.md | extensions_2_0Client |
| audit-logs.md | auditLogsClient |
| releases-and-rum.md | releasesClient, rumManualInsertionTagsClient |
| types.md | Types + enums (large) |
Required scopes
- Per-operation, e.g.
settings:objects:read/settings:objects:write,environment:roles:manage-settings, credential-vault scopes. Each method's docs list the exact scope.
Example — credential vault for an external fetch
import { credentialVaultClient } from "@dynatrace-sdk/client-classic-environment-v2";
const creds = await credentialVaultClient.getCredentialsDetails({ id: "CREDENTIALS_VAULT-..." });
const auth = `Basic ${btoa(`${creds.username}:${creds.password}`)}`;See fetch.md for the full external-fetch pattern.
Notes — settingsObjectsClient pagination gotcha
When a response has a nextPageKey, pass it as the sole parameter — omit schemaIds, fields, pageSize, and everything else. Mixing nextPageKey with any other param causes 400: Constraints violated.
const items = [];
let nextPageKey;
do {
const page = await settingsObjectsClient.getSettingsObjects(
nextPageKey
? { nextPageKey }
: { schemaIds: "builtin:my-schema", fields: "scope,value", pageSize: 500 }
);
items.push(...(page.items ?? []));
nextPageKey = page.nextPageKey;
} while (nextPageKey);The spread trick { schemaIds: "...", ...(nextPageKey ? { nextPageKey } : {}) } looks equivalent but sends both params on page 2 — the API rejects it. The same rule applies to other paginated settings clients (e.g. app-settings).
- Business-event ingestion: 5 MiB max payload per request.
- Early-adopter/preview operations may change incompatibly; new enum values may appear without a version bump — handle unknown values gracefully.
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-classic-environment-v2/
Releases & RUM clients
Import from @dynatrace-sdk/client-classic-environment-v2.
releasesClient
| Method | Purpose |
|---|---|
getReleases | Query monitored releases (filterable). |
rumManualInsertionTagsClient
Generate RUM JavaScript tags for manual insertion.
| Method | Purpose |
|---|---|
getJavaScriptTag | Get the RUM JavaScript tag. |
getInlineCode | Get the inline RUM code. |
getOneAgentJavaScriptTag | Get the OneAgent RUM JavaScript tag. |
getOneAgentJavaScriptTagWithSri | Get the OneAgent RUM tag with Subresource Integrity. |
Security clients
Security problems, attacks, and Davis security advice. Import from @dynatrace-sdk/client-classic-environment-v2.
securityProblemsClient
| Method | Purpose |
|---|---|
getSecurityProblems | Query security problems (filterable, paginated). |
getSecurityProblem | Get one security problem. |
getEventsForSecurityProblem | List events for a security problem. |
getVulnerableFunctions | List vulnerable functions for a security problem. |
muteSecurityProblem / unmuteSecurityProblem | Mute/unmute a security problem. |
bulkMuteSecurityProblems / bulkUnmuteSecurityProblems | Bulk mute/unmute security problems. |
getRemediationItems / getRemediationItem | List / get remediation items. |
getRemediationProgressEntities | Remediation progress entities. |
setRemediationItemMuteState | Set a remediation item's mute state. |
bulkMuteRemediationItems / bulkUnmuteRemediationItems | Bulk mute/unmute remediation items. |
trackingLinkBulkUpdateAndDelete | Bulk update/delete tracking links. |
attacksClient
| Method | Purpose |
|---|---|
getAttacks | Query attacks (filterable, paginated). |
getAttack | Get one attack by id. |
davisSecurityAdvisorClient
| Method | Purpose |
|---|---|
getAdviceForSecurityProblems | Get Davis AI remediation advice for security problems. |
Settings clients
Settings objects, schemas, and management zones. Import from @dynatrace-sdk/client-classic-environment-v2.
settingsObjectsClient
| Method | Purpose |
|---|---|
postSettingsObjects | Create settings object(s). |
getSettingsObjects | List settings objects (filter by schemaIds, fields, pageSize; paginated — see gotcha). |
getSettingsObjectByObjectId | Get one object by objectId. |
putSettingsObjectByObjectId | Update an object by objectId. |
deleteSettingsObjectByObjectId | Delete an object by objectId. |
getSettingsHistory | Get change history of settings objects. |
getEffectiveSettingsValues | Effective values for a schema (defaults if none persisted). |
getPermissions / getPermission / getPermissionAllUsers | Read object permissions. |
addPermission / updatePermission / removePermission | Manage accessor permissions. |
updatePermissionAllUsers / removePermissionAllUsers | Manage all-users permission. |
resolveEffectivePermissions | Resolve effective permissions for an identity. |
transferOwnership | Transfer object ownership. |
Common scopes: settings:objects:read / settings:objects:write, plus settings:objects:admin for some permission ops.
Pagination gotcha
const items = [];
let nextPageKey;
do {
const page = await settingsObjectsClient.getSettingsObjects(
nextPageKey
? { nextPageKey } // sole param!
: { schemaIds: "builtin:my-schema", fields: "scope,value", pageSize: 500 }
);
items.push(...(page.items ?? []));
nextPageKey = page.nextPageKey;
} while (nextPageKey);Passing nextPageKey alongside schemaIds/fields/pageSize on page 2 returns 400: Constraints violated.
settingsSchemasClient
| Method | Purpose |
|---|---|
getAvailableSchemaDefinitions | List available settings schema definitions. |
getSchemaDefinition | Get a specific schema definition. |
settingsManagementZonesClient
| Method | Purpose |
|---|---|
getManagementZoneDetails | Get details of a management zone. |
serviceLevelObjectivesClient
Manage Service-Level Objectives (SLOs). Import:
import { serviceLevelObjectivesClient } from "@dynatrace-sdk/client-classic-environment-v2";| Method | Purpose |
|---|---|
getSlo | Query SLOs (filterable, paginated; optional evaluation). |
getSloById | Get one SLO by id. |
createSlo | Create an SLO. |
updateSloById | Update an SLO. |
deleteSlo | Delete an SLO. |
createAlert | Create a burn-rate/status alert for an SLO. |
Synthetic clients
Synthetic locations/nodes, network-availability monitors, and on-demand/HTTP executions. Import from @dynatrace-sdk/client-classic-environment-v2.
syntheticLocationsNodesAndConfigurationClient
| Method | Purpose |
|---|---|
getLocations / getLocation | List / get synthetic locations. |
addLocation / updateLocation / removeLocation | Manage private locations. |
getLocationsStatus / updateLocationsStatus | Get/set public location status. |
getConfiguration / updateConfiguration | Get/update synthetic configuration. |
getNodes / getNode | List / get synthetic nodes. |
getLocationDeploymentApplyCommands / …DeleteCommands / getLocationDeploymentYaml | Private location deployment helpers. |
getMetricAdapterDeploymentApplyCommands / …DeleteCommands / getMetricAdapterDeploymentYaml | Metric adapter deployment helpers. |
syntheticNetworkAvailabilityMonitorsClient
| Method | Purpose |
|---|---|
getMonitors / getMonitor | List / get network-availability monitors. |
createMonitor / updateMonitor / deleteMonitor | Manage monitors. |
syntheticOnDemandMonitorExecutionsClient
| Method | Purpose |
|---|---|
execute | Trigger on-demand monitor execution(s). |
rerun | Re-run an execution. |
getExecutions / getExecution | List / get executions. |
getBatch | Get an execution batch status. |
getExecutionFullReport | Get the full report of an execution. |
syntheticHttpMonitorExecutionsClient
| Method | Purpose |
|---|---|
getExecutionResult | Get the result of an HTTP monitor execution. |
Classic Environment v2 — Types & Enums
This SDK has a very large type/enum surface (hundreds of exports). Rather than duplicate it all, this file groups the type families; for exact field definitions use the canonical reference:
Full types: https://developer.dynatrace.com/develop/sdks/client-classic-environment-v2/#types Full enums: https://developer.dynatrace.com/develop/sdks/client-classic-environment-v2/#enums
Type families (by domain)
- Access tokens —
ApiToken,ApiTokenCreate,ApiTokenCreated,ApiTokenList,ApiTokenSecret,ApiTokenUpdate,ActiveGateToken*,AgentConnectionToken,TenantToken*. - ActiveGates —
ActiveGate,ActiveGateList,ActiveGateGroup(s),ActiveGateAutoUpdateConfig,ActiveGateGlobalAutoUpdateConfig,UpdateJob,UpdateJobList. - Credential vault —
Credentials,CredentialsList,CredentialsResponseElement,CredentialsDetailsList,*Credentials(AWS/Azure/Hashicorp/CyberArk/Certificate/Token/UserPassword/SNMPV3),ExternalVault(Config). - Settings —
SettingsObject,SettingsObjectCreate,SettingsObjectUpdate,SettingsObjectResponse,ObjectsList,EffectiveSettingsValue(sList),SchemaDefinitionRestDto*,SchemaStub,AccessorPermissions(List),EffectivePermission,TransferOwnershipRequest. - Events —
Event,EventList,EventIngest,EventIngestResult(s),EventType(List),EventProperty,CloudEvent,BizEventIngestResult. - Metrics —
MetricDescriptor(Collection),MetricData,MetricSeries(Collection),MetricDto,Unit,UnitList,UnitConversionResult. - Entities —
Entity,EntitiesList,EntityType(List),EntityId,CustomDeviceCreation,METag,AddEntityTag(s),MonitoredEntityStates. - Problems —
Problem,Problems,Comment,CommentsList,ProblemCloseResult. - Security —
SecurityProblem(List/Details),Attack(List),RemediationItem(List),RiskAssessment*,Vulnerability,VulnerableFunction(s),DavisSecurityAdvice(List). - Synthetic —
SyntheticLocation(s),PrivateSyntheticLocation,Node(s),SyntheticBrowserMonitor*,SyntheticMultiProtocolMonitor*,SyntheticOnDemand*, monitor step/config DTOs. - SLO —
SLO,SLOs,SloBurnRate(Config),BurnRateAlert,StatusAlert. - Network zones —
NetworkZone(List),NetworkZoneSettings,NetworkZoneConnectionStatistics. - Extensions —
Extension(List/Info),ExtensionMonitoringConfiguration(sList),MonitoringConfigurationDto,SchemaFiles,ExtensionEventDto, UI customization DTOs (Ui*Customization). - Audit / releases / RUM —
AuditLog(Entry),Release(s),ReleaseInstance,JavaScriptAgentSettingsDto. - Errors / common —
Error,ErrorEnvelope,ConstraintViolation,ConfigurationMetadata,ModificationInfo,Success(Envelope).
Enums
Hundreds of enums exist, mostly query-parameter and status discriminators (e.g. ProblemStatus, ProblemSeverityLevel, SecurityProblemStatus, AttackState, SLOStatus, ApiTokenScopesItem, ActiveGateType, MetricValueTypeType, SyntheticLocationStatus, AuditLogEntryEventType). See the canonical enums page linked above for the full list and values.
analyzersClient
Run Davis predictive/causal analyzers. Import:
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";| Method | Returns | Scope | Purpose |
|---|---|---|---|
queryAnalyzers | AnalyzerQueryResult | davis:analyzers:read | List analyzer definitions; add-fields (input, output, category, type, …), filter, paginated (page-key, default 50 / max 200). |
getAnalyzer | AnalyzerDefinitionDetails | davis:analyzers:read | Full meta-info for one analyzer by analyzerName. |
getAnalyzerDocumentation | Markdown | davis:analyzers:read | Markdown docs for an analyzer (not all have docs). |
getJsonSchemaForInput | JSON schema | davis:analyzers:read | JSON schema for an analyzer's input. |
getJsonSchemaForResult | JSON schema | davis:analyzers:read | JSON schema for an analyzer's result. |
validateAnalyzerExecution | AnalyzerValidationResult | davis:analyzers:execute | Validate input without executing. |
executeAnalyzer | AnalyzerExecuteResult | davis:analyzers:execute (+ Grail read scopes as needed) | Start an analyzer execution; returns result or a requestToken. Options: preview, timeout (s). |
pollAnalyzerExecution | AnalyzerPollResult | davis:analyzers:execute | Poll by requestToken until executionStatus !== "RUNNING". |
cancelAnalyzerExecution | AnalyzerCancelResult | davis:analyzers:execute | Cancel a started execution by requestToken. |
Example — execute + poll
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";
const res = await analyzersClient.executeAnalyzer({
analyzerName: "dt.statistics.GenericForecastAnalyzer",
body: { timeSeriesData: { expression: "timeseries avg(dt.host.cpu.usage)" }, forecastHorizon: 10 },
});
let r = res;
while (r.result?.executionStatus === "RUNNING" && r.requestToken) {
r = await analyzersClient.pollAnalyzerExecution({ analyzerName: "...", requestToken: r.requestToken });
}Davis AI Analyzers (@dynatrace-sdk/client-davis-analyzers)
Env: ✅ Server runtime
Status: current
Run Davis predictive and causal AI analyzers for custom ML analysis.
Concepts
- Async execution:
executeAnalyzerruns asynchronously. If a result isn't ready within the requested timeout it returns arequestToken; otherwise the final result is returned directly. Poll withpollAnalyzerExecutionwhileexecutionStatus === "RUNNING"; cancel withcancelAnalyzerExecution. Results have a TTL. - Self-describing: input/result JSON schemas and per-analyzer Markdown documentation are retrievable.
- Naming: "Davis AI" naming persists in APIs despite the "Dynatrace Intelligence" rebrand.
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
analyzersClient | executeAnalyzer, pollAnalyzerExecution, cancelAnalyzerExecution | Async execution lifecycle |
analyzersClient | getAnalyzer, queryAnalyzers, validateAnalyzerExecution | Discovery & input validation |
analyzersClient | getAnalyzerDocumentation, getJsonSchemaForInput, getJsonSchemaForResult | Docs & schemas |
Full method/type detail: analyzersClient.md (per-method returns, scopes, examples) · types.md (types + enums).
Required scopes
davis:analyzers:read(discovery/schemas),davis:analyzers:execute(validate/execute/poll/cancel). Some analyzers need extra scopes to read Grail data, e.g.storage:buckets:read,storage:metrics:read.
Example
import { analyzersClient } from "@dynatrace-sdk/client-davis-analyzers";
const res = await analyzersClient.executeAnalyzer({ analyzerName: "...", body: { /* input */ } });
// poll with res.requestToken if not immediately SUCCEEDEDCanonical reference: https://developer.dynatrace.com/develop/sdks/client-davis-analyzers/
Davis Analyzers — Types & Enums
Full field definitions: https://developer.dynatrace.com/develop/sdks/client-davis-analyzers/#types
Definition / discovery types
AnalyzerDefinition, AnalyzerDefinitionDetails, AnalyzerData, AnalyzerDimensionalData, AnalyzerCategory, AnalyzerQueryResult, AnalyzerGeneralParameters, ParameterDefinition, EnumerationElement, DimensionQuery, Timeframe.
Execution types
AnalyzerInput, AnalyzerExecuteResult, AnalyzerPollResult, AnalyzerCancelResult, AnalyzerValidationResult, AnalyzerResult, AnalyzerOutput, AnalyzerOutputSystemParameters, AnalyzerExecutionLog, AnalyzerOutputLog.
Error types
AnalyzerError, AnalyzerErrorDetails, AnalyzerErrorEnvelope, ConstraintViolation.
Enums
AnalyzerDefinitionType, AnalyzerDimensionalDataType, AnalyzerExecutionLogLevel, AnalyzerOutputLogLevel, AnalyzerResultExecutionStatus, AnalyzerResultResultStatus, JsonSchemaConfig, ParameterDefinitionType.
directSharesClient
Direct-shares immediately grant read or read-write access to specific SSO users/groups. Import:
import { directSharesClient } from "@dynatrace-sdk/client-document";| Method | Returns | Scope | Purpose |
|---|---|---|---|
addDirectShareRecipients | — | document:direct-shares:write | Add SSO users/groups (max 1000) to a share; they immediately gain access. Already-added entries ignored. |
createDirectShare | DirectShare | document:direct-shares:write | Create a direct-share (read or read-write) for a document you own or can reshare. Max one share per access type per document; optionally seed recipients. |
deleteDirectShare | — | document:direct-shares:delete | Delete a share (not the document); revokes access of all its recipients. |
getDirectShare | DirectShare | document:direct-shares:read | Retrieve a direct-share by id. |
getDirectShareRecipients | DirectShareRecipientList | document:direct-shares:read | List a share's recipients (groups before users); paginated (page/nextPageKey/pageSize, max 1000). |
listDirectShares | DirectShareList | document:direct-shares:read | List all direct-shares accessible to you; filter by documentId; naive pagination. |
removeDirectShareRecipients | — | document:direct-shares:write | Remove recipients (max 1000); they immediately lose access. Non-existing entries ignored. |
All methods accept optional admin-access (requires document:documents:admin).
Example
import { directSharesClient } from "@dynatrace-sdk/client-document";
const data = await directSharesClient.createDirectShare({
body: {
documentId: "...",
access: "read-write",
recipients: [{ id: "441664f0-23c9-40ef-b344-18c02c23d789", type: "group" }],
},
});documentLockingClient
Optional active locking to prevent concurrent-update conflicts. Import:
import { documentLockingClient } from "@dynatrace-sdk/client-document";| Method | Returns | Scope | Purpose |
|---|---|---|---|
acquireLock | AcquireLockResult | document:documents:write | Lock a document so other users can't update it. Max 5 locked docs per user; duration max 15 min (default 10); re-acquiring by the lock owner extends it. |
inspectLock | DocumentLockDetails | document:documents:read | Check whether a document is locked and who owns the lock. |
releaseLock | — | document:documents:write | Release the lock; only the lock owner may do this. |
Example
import { documentLockingClient } from "@dynatrace-sdk/client-document";
const data = await documentLockingClient.acquireLock({
id: "...",
body: { documentVersion: 10 },
});documentsClient
Core document lifecycle: create, read, update, delete, content, snapshots, ownership. Import:
import { documentsClient } from "@dynatrace-sdk/client-document";| Method | Returns | Scope | Purpose |
|---|---|---|---|
createDocument | DocumentMetaData | document:documents:write | Create a document (you become owner). name + type required; content max 50 MB. type is user-defined semantics, not Content-Type. |
getDocument | GetDocumentResponse | document:documents:read | Get metadata + content in one multipart response. Optional snapshot-version (needs write access). |
getDocumentMetadata | DocumentMetaData | document:documents:read | Get metadata only. Optional extra fields, snapshot-version. |
downloadDocumentContent | — | document:documents:read | Download latest (or snapshot) content; response Content-Type matches upload. |
updateDocument | UpdateDocumentMetadata | document:documents:write | Update metadata and/or content; optionally create a snapshot. Optimistic-locking version required. |
updateDocumentContent | DocumentMetaData | document:documents:write | Replace content entirely (0 < size ≤ 50 MB). Requires Content-Type + Content-Disposition on the part; optimistic locking. |
updateDocumentMetadata | DocumentMetaData | document:documents:write | ⚠️ Deprecated — use updateDocument. Partial metadata update. |
deleteDocument | — | document:documents:delete | Move document to trash (optimistic locking via optimistic-locking-version). Must own it. |
bulkDeleteDocument | BulkDeleteResponse | document:documents:delete | Move up to 100 documents to trash by id. |
transferDocumentOwner | — | document:documents:write | Transfer ownership; previous owner loses access. Owner-only. |
listDocuments | DocumentList | document:documents:read | List accessible documents' metadata; filter/sort (see notes), naive pagination. |
listSnapshots | SnapshotList | document:documents:read | List a document's snapshots (newest first); requires write access; paginated. |
getSnapshotMetadata | SnapshotMetadata | document:documents:read | Metadata about a snapshot itself (requires write access). |
restoreSnapshot | RestoreDocumentResult | document:documents:write | Reset content to a snapshot's state (creates a snapshot of current state first if none); content-only. |
deleteSnapshot | — | document:documents:write | Irrevocably delete a snapshot (owner-only); doesn't affect current content. |
All methods accept optional admin-access (requires document:documents:admin).
listDocuments filter/sort
- Filterable fields:
id,name,type,version,owner,modificationInfo.{createdTime,createdBy,lastModifiedTime,lastModifiedBy},originAppId,originExtensionId. Operatorscontains/starts-with/ends-withare case-insensitive (string fields);==/!=are case-sensitive equality operators. String literals must use single quotes. Max nesting depth 3, max length 1024 chars. Example:type in ('dashboard', 'notebook') and name contains 'report'. - Sortable fields:
name,type,version,owner,modificationInfo.*,originAppId,userContext.lastAccessedTime. Max 5 sort params. Default sort: by id. Example:name,-type,modificationInfo.lastModifiedTime. - Pagination is naive — interim mutations can yield duplicates/missing entries.
Example
import { documentsClient } from "@dynatrace-sdk/client-document";
const data = await documentsClient.createDocument({
body: { name: "...", type: "...", content: "..." },
});environmentSharesClient
Environment-shares grant claimable read/read-write access to same-environment users. Import:
import { environmentSharesClient } from "@dynatrace-sdk/client-document";| Method | Returns | Scope | Purpose |
|---|---|---|---|
createEnvironmentShare | EnvironmentShare | document:environment-shares:write | Create a share (read or read-write) for a document you own/can reshare. Max one per access type; creating it doesn't grant access until users claim it. |
claimEnvironmentShare | EnvironmentShareClaimResult | document:environment-shares:claim | Claim another user's share to gain its access. Can't claim your own; can't self-revoke once claimed; claiming twice is a no-op. |
getEnvironmentShare | EnvironmentShare | document:environment-shares:read | Retrieve a share by id. |
getEnvironmentShareClaimers | EnvironmentShareClaimerList | document:environment-shares:read | List users who claimed a share; paginated. |
listEnvironmentShares | EnvironmentShareList | document:environment-shares:read | List accessible env-shares; filter by documentId; paginated. |
deleteEnvironmentShare | — | document:environment-shares:delete | Delete a share (not the document); revokes access of all claimers (only way to revoke; can't revoke individuals). |
All methods accept optional admin-access (requires document:documents:admin).
Example
import { environmentSharesClient } from "@dynatrace-sdk/client-document";
const data = await environmentSharesClient.createEnvironmentShare({
body: { documentId: "...", access: "read" },
});Document (@dynatrace-sdk/client-document)
Env: ✅ Server runtime
Status: current
Create, manage, and share documents (dashboards, notebooks, launchpads). Documents are schemaless and hold up to 50 MB of content.
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
documentsClient | createDocument, getDocument, downloadDocumentContent, updateDocument, deleteDocument, listDocuments | Document CRUD + metadata/content |
directSharesClient | createDirectShare, recipients mgmt | Share with specific users/groups |
environmentSharesClient | createEnvironmentShare, claim | Environment-wide shares |
documentLockingClient | acquire / inspect / release | Active edit locks |
trashClient | list / restore / purge | Deleted-document trash |
Full method/type detail: documentsClient.md, directSharesClient.md, environmentSharesClient.md, documentLockingClient.md, trashClient.md (per-method returns, scopes, examples) · types.md.
Required scopes
document:documents:read/document:documents:write(plus share/trash scopes as needed).
Example
import { documentsClient } from "@dynatrace-sdk/client-document";
const doc = await documentsClient.createDocument({
body: { name: "Report", type: "dashboard", content: "..." },
});Concepts
- Access management — two layers: IAM endpoint permissions (e.g.
document:documents:read, not modifiable via API) and per-document document permissions (modeled in the service, modifiable via sharing endpoints). A user needs both. - Sharing — three mechanisms, not mutually exclusive:
- Public — via
updateDocument(isPrivate: false); grants read to all environment users immediately. - Environment-shares — grant read or read-write to same-environment users, but users must actively claim the share; owner loses control over who claims.
- Direct-shares — immediately grant read/read-write to specific users/groups; owner keeps full control and can revoke. Max one direct-share per access type per document; up to 1000 recipients.
- Set
isReshareable: false(viaupdateDocument) to stop write-access users from re-sharing. - Owner transfer —
transferDocumentOwner; previous owner loses access. - Locking:
- Optimistic locking (mandatory) — modifying ops require the current document
version; mismatch ⇒ rejected. - Active locking (optional) — lock a document to block other users' updates. Max 5 locked docs per user; lock duration max 15 min (default 10); re-acquiring extends.
- Deletion & restoration — deletes move to trash, permanently removed after 30 days; restore re-grants prior access.
- Snapshots — reset content to an earlier state. Created explicitly on update; max 50 per document (oldest auto-deleted), rate-limited 5 per 60 s, auto-deleted after 30 days. Read with doc read access; create with write access; restore/delete owner-only.
- Document identity — unique immutable
idassigned at creation; may be user-supplied, else system-generated. - Admin access —
document:documents:adminlets a user act on all environment documents regardless of ownership; enabled per-request via theadmin-accessparameter (not supported for ready-made documents). - User data — no names/emails stored; SSO ids are persisted. Last-access per document is tracked for ordering.
- System-owned / ready-made / extension-shipped documents — some documents are system-, app- (
originAppId), or extension-owned (originExtensionId) and auto-available on install/update. - Content size — max 50 MB per document.
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-document/ · npm @dynatrace-sdk/client-document (v1.30.0).
trashClient
Manage deleted documents (trash). Deleted documents are permanently destroyed after 30 days. Import:
import { trashClient } from "@dynatrace-sdk/client-document";| Method | Returns | Scope | Purpose |
|---|---|---|---|
listTrashedDocuments | TrashDocumentList | document:trash.documents:read | List your trashed documents; filter by id/name/type/deletionInfo.*; naive pagination. |
inspectTrashedDocument | TrashDocument | document:trash.documents:read | Inspect a deleted document's metadata (owner-only). |
restoreTrashedDocument | — | document:trash.documents:restore | Restore from trash; all prior-access users regain access (owner-only). |
deleteTrashedDocument | — | document:trash.documents:delete | Irreversibly destroy the document (owner-only). |
All methods accept optional admin-access (requires document:documents:admin).
Example
import { trashClient } from "@dynatrace-sdk/client-document";
const data = await trashClient.restoreTrashedDocument({ id: "..." });Document — Types
All exported types of @dynatrace-sdk/client-document. Full field definitions: https://developer.dynatrace.com/develop/sdks/client-document/#types
Request / body types
AcquireLock, AddDirectShareRecipients, BulkDeleteRequest, CreateDirectShare, CreateDocumentBody, CreateEnvShare, RemoveDirectShareRecipients, TransferOwner, UpdateDocumentBody, UpdateDocumentContentBody, UpdateDocumentMetadataBody.
Response / result types
AcquireLockResult, BulkDeleteResponse, BulkDeleteResponseDocumentsItem, CreatedSnapshot, DirectShare, DirectShareList, DirectShareRecipientList, DocumentList, DocumentLockDetails, DocumentMetaData, EnvironmentShare, EnvironmentShareClaimResult, EnvironmentShareClaimerList, EnvironmentShareList, GetDocumentResponse, RestoreDocumentResult, SnapshotList, SnapshotMetadata, TrashDocument, TrashDocumentList, TrashDocumentListEntry, UpdateDocumentMetadata.
Shared / sub types
CreationInfo, DeletionInfo, ModificationInfo, ShareInfo, SsoEntity, UserContext.
Error types
Error, ErrorDetails, ErrorEnvelope.
edgeConnectClient
Manage EdgeConnect configurations. Import:
import { edgeConnectClient } from "@dynatrace-sdk/client-app-engine-edge-connect";| Method | Returns | Scope | Purpose |
|---|---|---|---|
createEdgeConnect | EdgeConnect | app-engine:edge-connects:write | Create a config (optional UUID; name ≤ 50 chars RFC 1123; hostPatterns). Autogenerates an OAuth client if none provided (needs oauth2:clients:manage — see README). Returns client id/secret/resource once. |
getEdgeConnect | EdgeConnect | app-engine:edge-connects:read | Get one config by edgeConnectId. |
listEdgeConnects | EdgeConnects | app-engine:edge-connects:read | List configs. |
getMatchedEdgeConnects | MatchedResponse | app-engine:edge-connects:read | Find configs whose host patterns match a given request. |
updateEdgeConnect | — | app-engine:edge-connects:write | Update a config by edgeConnectId. |
deleteEdgeConnect | — | app-engine:edge-connects:delete | Delete a config (autogenerated OAuth client also needs oauth2:clients:manage). |
rotateOAuthClientSecret | OAuthClientRotationResponse | oauth2:clients:manage | Rotate the secret of an autogenerated OAuth client (only for autogenerated clients). |
Example
import { edgeConnectClient } from "@dynatrace-sdk/client-app-engine-edge-connect";
const ec = await edgeConnectClient.createEdgeConnect({
body: { name: { value: "my-edge" }, hostPatterns: ["*.internal.org"] },
});AppEngine EdgeConnect (@dynatrace-sdk/client-app-engine-edge-connect)
Env: ✅ Server runtime
Status: current
Manage EdgeConnect configurations, which forward HTTP requests from the runtime to resources in private networks.
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
edgeConnectClient | createEdgeConnect, getEdgeConnect, listEdgeConnects, updateEdgeConnect, deleteEdgeConnect | EdgeConnect config CRUD |
edgeConnectClient | getMatchedEdgeConnects | Find the EdgeConnect matching a URL |
edgeConnectClient | rotateOAuthClientSecret | Rotate OAuth credentials |
Full method/type detail: edgeConnectClient.md (per-method returns, scopes, examples) · types.md (types + enums).
Required scopes
app-engine:edge-connects:write(andoauth2:clients:managefor auto-generated OAuth client deletion).
Notes
- An EdgeConnect config defines which HTTP requests (by host pattern) are forwarded to and executed by an EdgeConnect in a private network. Host patterns support wildcards (e.g.
*.internal.org). - Names must be ≤ 50 chars and RFC 1123 compliant.
- OAuth client secrets are returned only at creation — they cannot be retrieved later.
- Autogenerated OAuth clients: if no client ID is provided on create, one is autogenerated, which additionally requires
oauth2:clients:managefor theapp-engine:edge-connects:connectscope (e.g.ALLOW oauth2:clients:manage where oauth2:scopes='app-engine:edge-connects:connect'). Deleting a config with an autogenerated client needs the same scope.
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-app-engine-edge-connect/
EdgeConnect — Types & Enums
Full field definitions: https://developer.dynatrace.com/develop/sdks/client-app-engine-edge-connect/#types
Config types
EdgeConnect, EdgeConnectInstance, EdgeConnects, HostMapping, Metadata, ModificationInfo, OAuthClientRotationResponse.
Matching types
MatchedEdgeConnect, MatchedResponse.
Error types
Error, ErrorDetails, ErrorResponse, ConstraintViolation.
Enums
MetadataOauthClientStatus— OAuth client status values inMetadata.
filterSegmentsClient
Manage Grail filter-segments. Import:
import { filterSegmentsClient } from "@dynatrace-sdk/client-filter-segment-management";| Method | Returns | Scope | Purpose |
|---|---|---|---|
createFilterSegment | DetailedFilterSegment | storage:filter-segments:write (+ :share if isPublic) | Create a segment (name, optional description, variables, includes, isPublic). |
getFilterSegment | DetailedFilterSegment | storage:filter-segments:read | Get one segment by filterSegmentUid. |
getFilterSegments | FilterSegments | storage:filter-segments:read | Get all segments (full). Prefer lean if details not needed. |
getLeanFilterSegments | LeanFilterSegments | storage:filter-segments:read | Get all segments in minimal form (faster). |
getFilterSegmentsEntityModel | FilterSegmentNamespaceDto | storage:filter-segments:read | Get the filter-segment entity model. |
updateFilterSegment | — | storage:filter-segments:write (+ :share for public) | Full update of a segment. |
partiallyUpdateFilterSegment | — | storage:filter-segments:write (+ :share to set isPublic true) | Update a subset of name/description/isPublic/variables/includes; given variables/includes are overridden; requires optimistic-locking-version. |
deleteFilterSegment | — | storage:filter-segments:delete | Remove a segment for all users. |
Example
import { filterSegmentsClient } from "@dynatrace-sdk/client-filter-segment-management";
const seg = await filterSegmentsClient.createFilterSegment({
body: {
name: "dev_environment",
isPublic: false,
variables: { type: "query", value: "fetch logs | limit 1" },
includes: [{ filter: "...", dataObject: "logs" }],
},
});Grail Filter-Segments (@dynatrace-sdk/client-filter-segment-management)
Env: ✅ Server runtime
Status: current
Create and manage filter-segments that slice and contextualize Grail data.
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
filterSegmentsClient | createFilterSegment, getFilterSegment, getFilterSegments, updateFilterSegment, partiallyUpdateFilterSegment, deleteFilterSegment | Segment CRUD |
filterSegmentsClient | getLeanFilterSegments | Minimal representations (faster) |
filterSegmentsClient | getFilterSegmentsEntityModel | Data model structure |
Full method/type detail: filterSegmentsClient.md (per-method returns, scopes, examples) · types.md (types + enums).
Required scopes
storage:filter-segments:read/:write/:delete/:share(sharing a public segment requires:share).
Example
import { filterSegmentsClient } from "@dynatrace-sdk/client-filter-segment-management";
const data = await filterSegmentsClient.createFilterSegment({
body: {
name: "dev_environment",
isPublic: false,
includes: [{ filter: "...", dataObject: "logs" }],
},
});Notes
- A filter-segment scopes/contextualizes Grail data via
includes(per-dataObjectfilters) and optionalvariables. - Visibility:
isPublicfalse= private to owner;true= visible to everyone in the environment (requiresstorage:filter-segments:share). - Use
getLeanFilterSegmentsfor faster, minimal responses when details aren't needed. - Optimistic locking via version on updates.
- Filter syntax requires quoting special field names.
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-filter-segment-management/
Filter-Segments — Types & Enums
Full field definitions: https://developer.dynatrace.com/develop/sdks/client-filter-segment-management/#types
Segment types
FilterSegment, FilterSegments, DetailedFilterSegment, LeanFilterSegment, LeanFilterSegments, NewFilterSegment, UpdateFilterSegment, PartialUpdateFilterSegment, FilterSegmentVariables, Include, NewInclude, Relationship, NewRelationship.
Entity-model types
FilterSegmentNamespaceDto, FilterSegmentPropertyDto, FilterSegmentPushDownFilterableDto, FilterSegmentRelationshipDto, FilterSegmentTypeDto.
Error types
ErrorEnvelope, ErrorInfo, ExceptionalReturn, CustomValidationErrorInfo, InvalidAuditEventsErrorInfo, MediaTypeErrorInfo, ParameterErrorInfo, ProxyErrorInfo, QueryFrontendRawErrorInfo, RequestBodyErrorInfo.
Enums
DetailedFilterSegmentAllowedOperationsItem, FilterSegmentAllowedOperationsItem, LeanFilterSegmentAllowedOperationsItem, GetFilterSegmentQueryAddFieldsItem, GetFilterSegmentsQueryAddFieldsItem, GetLeanFilterSegmentsQueryAddFieldsItem.
appsClient
Browse Hub apps. All methods require scope hub:catalog:read. Import:
import { appsClient } from "@dynatrace-sdk/client-hub";| Method | Returns | Purpose |
|---|---|---|
getAppOverviewList() | OverviewsList | List overview info of all apps (optional flag to include extra fields). |
getAppDetails({ id }) | Detail | Detailed information about one app. |
getAppReleases({ id }) | ReleasesList | List releases published for an app (including revoked releases). |
Example
import { appsClient } from "@dynatrace-sdk/client-hub";
const apps = await appsClient.getAppOverviewList();
const detail = await appsClient.getAppDetails({ id: "..." });categoriesClient
Browse Hub categories. Requires scope hub:catalog:read. Import:
import { categoriesClient } from "@dynatrace-sdk/client-hub";| Method | Returns | Purpose |
|---|---|---|
getCategories() | Categories | List Hub categories, including the IDs of associated items and their content blocks (if any). |
Example
import { categoriesClient } from "@dynatrace-sdk/client-hub";
const categories = await categoriesClient.getCategories();extensionsClient
Browse Hub extensions. All methods require scope hub:catalog:read. Import:
import { extensionsClient } from "@dynatrace-sdk/client-hub";| Method | Returns | Purpose |
|---|---|---|
getExtensionOverviewList() | OverviewsList | List overview info of all extensions. |
getExtensionDetails({ id }) | Detail | Detailed information about one extension. |
getExtensionReleases({ id }) | ReleasesList | List releases published for an extension (including revoked releases). |
Example
import { extensionsClient } from "@dynatrace-sdk/client-hub";
const detail = await extensionsClient.getExtensionDetails({ id: "..." });Hub (@dynatrace-sdk/client-hub)
Env: ✅ Server runtime
Status: current
Read the Dynatrace Hub catalog — apps, extensions, and technologies for the environment.
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
appsClient | getAppDetails, getAppOverviewList, getAppReleases | Apps |
extensionsClient | getExtensionDetails, getExtensionOverviewList, getExtensionReleases | Extensions |
technologiesClient | getTechnologyDetails, getTechnologyOverviewList | Technologies |
categoriesClient | category access | Hub categories |
Full method/type detail: appsClient.md, extensionsClient.md, technologiesClient.md, categoriesClient.md (per-method returns, scopes, examples) · types.md (types + enums).
Required scopes
hub:catalog:read.
Example
import { appsClient } from "@dynatrace-sdk/client-hub";
const data = await appsClient.getAppDetails({ id: "..." });Notes
- Supports filtering to exclude incompatible instances.
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-hub/
technologiesClient
Browse Hub technologies. All methods require scope hub:catalog:read. Import:
import { technologiesClient } from "@dynatrace-sdk/client-hub";| Method | Returns | Purpose |
|---|---|---|
getTechnologyOverviewList() | OverviewsList | List overview info of all technologies. |
getTechnologyDetails({ id }) | Detail | Detailed information about one technology. |
Example
import { technologiesClient } from "@dynatrace-sdk/client-hub";
const tech = await technologiesClient.getTechnologyDetails({ id: "..." });Hub — Types & Enums
Full field definitions: https://developer.dynatrace.com/develop/sdks/client-hub/#types
Overview / detail / release types
OverviewsList, Detail, DetailSection, MarkdownSection, GallerySection, GalleryImage, GalleryImageResolutions, Release, ReleasesList, Manifest, ManifestScope, ExtensionMetadata, Link, Author, Dependency, AssetCount, ContentCount, DocumentCount, DocumentCountTypes, Revocation, ResourceContext.
Category types
Categories, Category, CategoryPage, CategoryPageContent, CategoryPageContentBlock.
Error types
Error, ErrorDetails, ErrorEnvelope, ConstraintViolation.
Enums
CategoryPageContentContentType, Compatibility, ItemType, LinkType, RevocationReason, RevocationSeverity, ResourceContextOperationsItem, and the optional-field enums (OptionalAppDetailField, OptionalAppOverviewField, OptionalAppReleaseField, OptionalExtensionDetailField, OptionalExtensionReleaseField, OptionalOverviewField, OptionalTechnologyDetailField).
Identity & Access Management (@dynatrace-sdk/client-iam)
Env: ✅ Server runtime
Status: current
Query users, groups, and service users across organizational levels.
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
usersAndGroupsClient | getActiveUserFromOrganizationalLevel, getActiveUsersForOrganizationalLevel, getActiveUsersForOrganizationalLevelPost | Active users |
usersAndGroupsClient | getAvailableServiceUsers | Service users usable by the execution user |
usersAndGroupsClient | getVisibleGroupsForAccount, getVisibleGroupsForAccountPost | Visible groups |
Types: RestUserPublic, RestGroupPublic, ServiceUserDto; responses include pagination (nextPageKey, totalCount).
Full method/type detail: usersAndGroupsClient.md (per-method returns, scopes, examples) · types.md (types + enums).
Concepts
- Queries are scoped to an organizational level via
levelType+levelId(e.g. account or environment). Authorization is based on the calling user's assignment to the account associated with that level; for environment level the user must be assigned to the account the environment belongs to (no explicit env permissions needed). - Read-only SDK — view users/groups/service users; no user/group mutation here.
Required scopes
iam:users:read/iam:groups:read.
Notes
- Filter strings: min 3, max 320 chars.
- Throttling applies; responses include retry information.
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-iam/
IAM — Types & Enums
Full field definitions: https://developer.dynatrace.com/develop/sdks/client-iam/#types
User / group / service-user types
RestUserPublic, RestUserPublicListResponse, RestGroupPublic, RestGroupPublicListResponse, ServiceUserDto, SearchResult.
Error types
ErrorResponse, ErrorResponseConstraintViolation, ErrorResponseDetails, ErrorThrottlingResponse, PublicExceptionMessage, PublicExceptionThrottlingMessage.
Enums
RestGroupPublicType— group type values.
usersAndGroupsClient
Query users, groups, and service users at an organizational level. Import:
import { usersAndGroupsClient } from "@dynatrace-sdk/client-iam";| Method | Returns | Scope | Purpose |
|---|---|---|---|
getActiveUserFromOrganizationalLevel | RestUserPublic | iam:users:read | Get one active user by uuid at a level (levelType, levelId). |
getActiveUsersForOrganizationalLevel | RestUserPublicListResponse | iam:users:read | List active users at a level; filter by partialString and/or uuid (at least one required); ordered by name then surname. |
getActiveUsersForOrganizationalLevelPost | RestUserPublicListResponse | iam:users:read | Same as above but POST — provide a body list of UUIDs and/or partialString. |
getAvailableServiceUsers | SearchResult | iam:service-users:use | List service users at a level usable by the execution user (environment queries run in account context). |
getVisibleGroupsForAccount | RestGroupPublicListResponse | iam:groups:read | List visible groups at a level; filter by partialGroupName and/or uuid (at least one required). |
getVisibleGroupsForAccountPost | RestGroupPublicListResponse | iam:groups:read | Same as above but POST — provide body with groupUuids list and/or partialGroupName. |
Example
import { usersAndGroupsClient } from "@dynatrace-sdk/client-iam";
const users = await usersAndGroupsClient.getActiveUsersForOrganizationalLevel({
levelType: "account",
levelId: "...",
partialString: "jane",
});Navigation — Functions
⚠️ BROWSER-ONLY — frontend (React) use only; no effect in the server-side JS runtime.
Import from @dynatrace-sdk/navigation.
| Function | Returns | Purpose |
|---|---|---|
openApp(appId, pageToken?) | void | Navigate the user to an app (or an internal route via pageToken). |
getAppLink(appId, pageToken?) | string | Build a link that launches an app (optional internal route). |
openDocument(documentId) | void | Navigate the user to a document. |
getDocumentLink(documentId) | string | Build a link that opens a document. |
sendIntent(intentPayload, options?) | void | Send an IntentPayload to the platform; user picks the destination app among those whose declarations match. Undeclared properties are stripped. options: recommendedAppId, recommendedIntentId, keyProperties. |
sendIntentWithResponse(intentPayload, options?) | Promise<…> | Like sendIntent but requests responseProperties back from the handling app. |
getIntent() | `Intent \ | null` |
getIntentLink(intentPayload, appId?, intentId?) | string | Build a link that launches the App Shell (or a specific app) to handle an intent. |
setPathChangeHandler(handler) | void | Register a custom handler for externally-triggered URL path changes (default: reload via document location). |
Notes
- App/document availability varies across environments — links aren't guaranteed to resolve.
- To receive intents, declare them in the app manifest and add an
/intent/:intentIdroute — see receiving intents.
Navigation (@dynatrace-sdk/navigation)
Env: ⚠️ BROWSER-ONLY — do NOT use in server-side JS runtime functions.
Status: current
This SDK drives navigation within the browser app shell (opening apps/documents, sending intents between apps). It depends on the browser runtime and has no effect in the server-side JS runtime. Use it only in app frontend (React) code.
Key exports (frontend use only)
getAppLink / openApp, getDocumentLink / openDocument, sendIntent / sendIntentWithResponse, getIntent, getIntentLink, setPathChangeHandler.
Full detail: functions.md (per-function signatures + examples) · types.md (Intent, IntentPayload, IntentResponseOkEnvelope, IntentResponseErrorEnvelope).
Notes
- Page tokens are app-manifest identifiers used as a public navigation API (distinct from URL routes) — see registering page tokens.
- Don't hardcode app IDs — availability isn't guaranteed across platform instances.
Canonical reference: https://developer.dynatrace.com/develop/sdks/navigation/
Navigation — Types
⚠️ BROWSER-ONLY SDK.
Full field definitions: https://developer.dynatrace.com/develop/sdks/navigation/#types
| Type | Purpose |
|---|---|
Intent | Intent data retrieved by getIntent() on the intent-handling route. |
IntentPayload | Payload passed to sendIntent / getIntentLink; carries the properties matched against app intent declarations. |
IntentResponseOkEnvelope | Successful response from sendIntentWithResponse. |
IntentResponseErrorEnvelope | Error response from sendIntentWithResponse. |
Notification v1 (@dynatrace-sdk/client-notification)
Env: ✅ Server runtime
Status: ⚠ DEPRECATED — use notification-v2 instead
Manage self-notifications via the Notification Service API. All methods are deprecated; migrate to v2.
Clients & key methods
selfNotificationsClient — createSelfNotification, getSelfNotification, getSelfNotifications, updateSelfNotification, patchSelfNotification, deleteSelfNotification.
Trigger types: event query, Davis problem, Davis event.
Full method/type detail: selfNotificationsClient.md · types.md.
Required scopes
notification:self-notifications:read/notification:self-notifications:write.
Canonical reference: https://developer.dynatrace.com/develop/sdks/client-notification/
selfNotificationsClient
DEPRECATED — migrate to notification-v2.
Manage self-notifications. Import:
import { selfNotificationsClient } from "@dynatrace-sdk/client-notification";| Method | Returns | Scope | Purpose |
|---|---|---|---|
createSelfNotification | SelfNotification | notification:self-notifications:write | Create a self-notification. |
getSelfNotification | SelfNotification | notification:self-notifications:read | Get one by id. |
getSelfNotifications | PaginatedSelfNotificationList | notification:self-notifications:read | List self-notifications. |
updateSelfNotification | SelfNotification | notification:self-notifications:write | Full update by id. |
patchSelfNotification | SelfNotification | notification:self-notifications:write | Partial update by id. |
deleteSelfNotification | — | notification:self-notifications:write | Delete by id. |
Notification v1 — Types & Enums
DEPRECATED SDK. Full field definitions: https://developer.dynatrace.com/develop/sdks/client-notification/#types
Notification types
SelfNotification, SelfNotificationCreate, SelfNotificationInput, SelfNotificationUpdate, PaginatedSelfNotificationList, ModificationInfo.
Trigger-config types
DavisEventConfig, DavisEventName, DavisEventTriggerConfig, DavisProblemCategories, DavisProblemConfig, DavisProblemTriggerConfig, EventQuery, EventQueryTriggerConfig, EventTriggerConfig, EntityTags.
Error types
Error, ErrorDetails, ErrorEnvelope.
Enums
EventType, DavisEventNameMatch, DavisEventTriggerConfigType, DavisProblemTriggerConfigType, EntityTagsMatch, EventQueryTriggerConfigType, MaintenanceWindowTriggerBehaviorType.
eventNotificationsClient
Manage event-triggered notifications. Import:
import { eventNotificationsClient } from "@dynatrace-sdk/client-notification-v2";| Method | Returns | Scope | Purpose |
|---|---|---|---|
createEventNotification | EventNotification | notification:notifications:write | Create an event notification (resourceId, notificationType, triggerConfiguration). |
getEventNotification | EventNotification | notification:notifications:read | Get one by id. |
getEventNotifications | PaginatedEventNotificationList | notification:notifications:read | List (paginated/filterable). |
updateEventNotification | EventNotification | notification:notifications:write | Full update by id. |
patchEventNotification | EventNotification | notification:notifications:write | Partial update by id. |
deleteEventNotification | — | notification:notifications:write | Delete by id. |
Example
import { eventNotificationsClient } from "@dynatrace-sdk/client-notification-v2";
await eventNotificationsClient.createEventNotification({
body: {
resourceId: "...",
notificationType: "...",
triggerConfiguration: { type: "event", value: { query: "..." } },
},
});Notification v2 (@dynatrace-sdk/client-notification-v2)
Env: ✅ Server runtime
Status: current (replaces notification-v1)
Manage resource and event notifications via the Notification Service API.
Clients & key methods
| Client | Methods | Purpose |
|---|---|---|
eventNotificationsClient | createEventNotification, getEventNotification(s), updateEventNotification, patchEventNotification, deleteEventNotification | Event-triggered notifications |
resourceNotificationsClient | createResourceNotification, getResourceNotification(s), deleteResourceNotification, deleteResourceNotificationByTypeAndResource | Resource-level notifications |
EventTriggerConfig supports three trigger types: DQL EventQuery (EventQueryTriggerConfig), Davis problem (DavisProblemTriggerConfig), Davis event (DavisEventTriggerConfig).
Full method/type detail: eventNotificationsClient.md, resourceNotificationsClient.md (per-method returns, scopes, examples) · types.md (types + enums).
Required scopes
notification:notifications:read/notification:notifications:write.
Example
import { eventNotificationsClient } from "@dynatrace-sdk/client-notification-v2";
const data = await eventNotificationsClient.createEventNotification({
body: {
resourceId: "...",
notificationType: "...",
triggerConfiguration: { type: "event", value: { query: "..." } },
},
});Canonical reference: https://developer.dynatrace.com/develop/sdks/client-notification-v2/
resourceNotificationsClient
Manage resource notifications. Import:
import { resourceNotificationsClient } from "@dynatrace-sdk/client-notification-v2";| Method | Returns | Scope | Purpose |
|---|---|---|---|
createResourceNotification | ResourceNotification | notification:notifications:write | Create (notificationType, resourceId). |
getResourceNotification | ResourceNotification | notification:notifications:read | Get one by id. |
getResourceNotifications | PaginatedResourceNotificationList | notification:notifications:read | List (paginated/filterable). |
deleteResourceNotification | — | notification:notifications:write | Delete by id. |
deleteResourceNotificationByTypeAndResource | — | notification:notifications:write | Delete by notificationType + resourceId. |
Example
import { resourceNotificationsClient } from "@dynatrace-sdk/client-notification-v2";
await resourceNotificationsClient.createResourceNotification({
body: { notificationType: "...", resourceId: "..." },
});Notification v2 — Types & Enums
Full field definitions: https://developer.dynatrace.com/develop/sdks/client-notification-v2/#types
Notification types
EventNotification, EventNotificationInput, EventNotificationRequest, EventNotificationUpdate, PaginatedEventNotificationList, ResourceNotification, ResourceNotificationRequest, PaginatedResourceNotificationList, ModificationInfo.
Trigger-config types
DavisEventConfig, DavisEventName, DavisEventTriggerConfig, DavisProblemCategories, DavisProblemConfig, DavisProblemTriggerConfig, EventQuery, EventQueryTriggerConfig, EventTriggerConfig, EntityTags.
Error types
Error, ErrorDetails, ErrorEnvelope.
Enums
EventType, DavisEventNameMatch, DavisEventTriggerConfigType, DavisProblemTriggerConfigType, EntityTagsMatch, EventQueryTriggerConfigType.
effectivePermissionsClient
Import:
import { effectivePermissionsClient } from "@dynatrace-sdk/client-platform-management-service";| Method | Returns | Purpose |
|---|---|---|
resolveEffectivePermissions | EffectivePermissions | Resolve whether an identity holds a set of permissions in a context. Body is a ResolutionRequest (permissionContext + permissions as SinglePermissionRequest[]). |
Example
import { effectivePermissionsClient } from "@dynatrace-sdk/client-platform-management-service";
const result = await effectivePermissionsClient.resolveEffectivePermissions({
body: { /* ResolutionRequest */ },
});