Hub
- Reference
The Hub API provides catalog content, such as Dynatrace Apps, Extensions, and Technologies, in the context of the current environment.
npm install @dynatrace-sdk/client-hub
appsClient
import { appsClient } from '@dynatrace-sdk/client-hub';
getAppDetails
Provides detailed information about an app
Required scope: hub:catalog:read
Parameters
| Name | Type | Description |
|---|---|---|
| config.addFields | Array<"hubItemId" | "manifest" | "resourceContext" | "contentCount"> | A list of fields that are added to the default set of fields. Default: [] |
| config.id*required | string |
Returns
| Return type | Status code | Description |
|---|---|---|
| Detail | 200 | Detailed information about an app |
Throws
| Error Type | Error Message |
|---|---|
| ErrorResponse | An error occurred |
Code example
import { appsClient } from "@dynatrace-sdk/client-hub";
const data = await appsClient.getAppDetails({ id: "..." });
getAppOverviewList
List overview information of all apps
Required scope: hub:catalog:read
Parameters
| Name | Type | Description |
|---|---|---|
| config.addFields | Array<"hubItemId" | "resourceContext" | "contentCount"> | A list of fields that are added to the default set of fields. Default: [] |
| config.onlyCompatible | boolean | Filters apps and their releases to exclude incompatible instances. If true or missing the resulting releases will have compatibility of COMPATIBLE or UNKNOWN. Default: true |
Returns
| Return type | Status code | Description |
|---|---|---|
| OverviewsList | 200 | A list of overview information |
Throws
| Error Type | Error Message |
|---|---|
| ErrorResponse | An error occurred |
Code example
import { appsClient } from "@dynatrace-sdk/client-hub";
const data = await appsClient.getAppOverviewList();
getAppReleases
Provides a list of releases published for an app, including revoked releases
Required scope: hub:catalog:read
Parameters
| Name | Type | Default |
|---|---|---|
| config.addFields | Array<"manifest" | "contentCount"> | [] |
| config.id*required | string |
Returns
| Return type | Status code | Description |
|---|---|---|
| ReleasesList | 200 | A list of releases |
Throws
| Error Type | Error Message |
|---|---|
| ErrorResponse | An error occurred |
Code example
import { appsClient } from "@dynatrace-sdk/client-hub";
const data = await appsClient.getAppReleases({ id: "..." });
categoriesClient
import { categoriesClient } from '@dynatrace-sdk/client-hub';
getCategories
List Hub categories, including the IDs of the associated items and their content blocks if any
Required scope: hub:catalog:read
Returns
| Return type | Status code | Description |
|---|---|---|
| Categories | 200 | The categories |
Throws
| Error Type | Error Message |
|---|---|
| ErrorResponse | An error occurred |
Code example
import { categoriesClient } from "@dynatrace-sdk/client-hub";
const data = await categoriesClient.getCategories();
extensionsClient
import { extensionsClient } from '@dynatrace-sdk/client-hub';
getExtensionDetails
Provides detailed information about an extension
Required scope: hub:catalog:read
Parameters
| Name | Type | Description |
|---|---|---|
| config.addFields | Array<"hubItemId" | "contentCount" | "extensionMetadata" | "extensionDocuments"> | A list of fields that are added to the default set of fields. Default: [] |
| config.id*required | string |
Returns
| Return type | Status code | Description |
|---|---|---|
| Detail | 200 | Detailed information about an extension |
Throws
| Error Type | Error Message |
|---|---|
| ErrorResponse | An error occurred |
Code example
import { extensionsClient } from "@dynatrace-sdk/client-hub";
const data = await extensionsClient.getExtensionDetails({
id: "...",
});
getExtensionOverviewList
List overview information of all extensions
Required scope: hub:catalog:read
Parameters
| Name | Type | Description |
|---|---|---|
| config.addFields | Array<"hubItemId" | "contentCount"> | A list of fields that are added to the default set of fields. Default: [] |
| config.onlyCompatible | boolean | A flag to reduce the list to only include compatible extensions with their latest compatible version. Default: true |
Returns
| Return type | Status code | Description |
|---|---|---|
| OverviewsList | 200 | A list of overview information |
Throws
| Error Type | Error Message |
|---|---|
| ErrorResponse | An error occurred |
Code example
import { extensionsClient } from "@dynatrace-sdk/client-hub";
const data =
await extensionsClient.getExtensionOverviewList();
getExtensionReleases
Provides a list of releases published for an extension, including revoked releases
Required scope: hub:catalog:read
Parameters
| Name | Type | Description |
|---|---|---|
| config.addFields | Array<"contentCount" | "extensionMetadata" | "extensionDocuments"> | A list of fields that are added to the default set of fields. Default: [] |
| config.id*required | string |
Returns
| Return type | Status code | Description |
|---|---|---|
| ReleasesList | 200 | A list of releases |
Throws
| Error Type | Error Message |
|---|---|
| ErrorResponse | An error occurred |
Code example
import { extensionsClient } from "@dynatrace-sdk/client-hub";
const data = await extensionsClient.getExtensionReleases({
id: "...",
});
technologiesClient
import { technologiesClient } from '@dynatrace-sdk/client-hub';
getTechnologyDetails
Provides detailed information about a technology
Required scope: hub:catalog:read
Parameters
| Name | Type | Description |
|---|---|---|
| config.addFields | Array<"hubItemId"> | A list of fields that are added to the default set of fields. Default: [] |
| config.id*required | string |
Returns
| Return type | Status code | Description |
|---|---|---|
| Detail | 200 | Detailed information about a technology |
Throws
| Error Type | Error Message |
|---|---|
| ErrorResponse | An error occurred |
Code example
import { technologiesClient } from "@dynatrace-sdk/client-hub";
const data = await technologiesClient.getTechnologyDetails({
id: "...",
});
getTechnologyOverviewList
List overview information of all technologies
Required scope: hub:catalog:read
Parameters
| Name | Type | Description |
|---|---|---|
| config.addFields | Array<"hubItemId"> | A list of fields that are added to the default set of fields. Default: [] |
| config.onlyCompatible | boolean | A flag to reduce the list to only include compatible technologies. Default: true |
Returns
| Return type | Status code | Description |
|---|---|---|
| OverviewsList | 200 | A list of overview information |
Throws
| Error Type | Error Message |
|---|---|
| ErrorResponse | An error occurred |
Code example
import { technologiesClient } from "@dynatrace-sdk/client-hub";
const data =
await technologiesClient.getTechnologyOverviewList();
Types
AssetCount
| Name | Type |
|---|---|
| total*required | number |
Author
| Name | Type |
|---|---|
| icon | string |
| name*required | string |
| salesEmail | string |
| salesLink | string |
| supportEmail | string |
| supportLink | string |
Categories
| Name | Type |
|---|---|
| categories*required | Array<Category> |
Category
An item category in the Hub
| Name | Type | Description |
|---|---|---|
| id*required | string | The category's ID Example: home |
| itemIds*required | Array<string> | The IDs of the items associated with this category Example: ["dynatrace.hub","com.dynatrace.extension.active-directory","oneagent"] |
| page*required | CategoryPage | |
| subgroup*required | string | Groups categories to related subpages Example: platform-group-1 |
CategoryPage
| Name | Type | Description |
|---|---|---|
| content*required | Array<CategoryPageContent> | |
| description*required | string | The customer facing description of this page Example: In Dynatrace Hub, you'll find hundreds of technologies to tame digital complexity and get more... |
| shortTitle*required | string | A shorter version of the customer facing title of the page Example: Hub home |
| title*required | string | The customer facing title of the page Example: Extend Dynatrace, empower your team |
CategoryPageContent
| Name | Type | Description |
|---|---|---|
| blocks | Array<CategoryPageContentBlock> | The blocks of the items associated with this category |
| contentType*required | "section" | "curated_content_block" | "content_block_group" | "browse_all_block" | The type of content |
| description*required | string | The customer facing description of the content Example: Stay up-to-date with what's new in Dynatrace. |
| itemIds | Array<string> | The IDs of the items associated with this category Example: ["dynatrace.hub","com.dynatrace.extension.active-directory","oneagent"] |
| title*required | string | The customer facing title of the content Example: What's new |
CategoryPageContentBlock
| Name | Type | Default |
|---|---|---|
| description | string | |
| href*required | string | |
| hrefText | string | |
| image*required | string | |
| title*required | string |
ConstraintViolation
Contains information about a constraint violation caused by invalid input.
| Name | Type | Description |
|---|---|---|
| message*required | string | The constraint violation description message |
| path | string | The path of the parameter that caused the constraint violation |
ContentCount
| Name | Type |
|---|---|
| actions | AssetCount |
| documents | DocumentCount |
| settings | AssetCount |
Dependency
| Name | Type | Description |
|---|---|---|
| name*required | string | The name of the required dependency Example: /platform/hub/v1 |
| version*required | string | SemVer2 version of the required dependency Example: 1.2.3 |
Detail
Meta data of the latest version of this item.
| Name | Type | Description |
|---|---|---|
| author | Author | |
| comingSoon*required | boolean | |
| contentCount | ContentCount | |
| createdTime | Date | The time this Hub item was originally created. Example: 2023-04-25T12:00:00Z |
| currentRelease | Release | |
| description*required | string | Example: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. |
| detailSections*required | Array<DetailSection> | |
| hasDetailSection*required | boolean | Whether the details of this item contain one or more detail content sections. |
| hubItemId | string | The Hub item id, aka. slug. Example: example |
| icon | string | Example: https://dt-cdn.net/images/techn-icon-oneagent-4ea8f5d12c.svg |
| id*required | string | The id is only unique within a specific type. Example: dynatrace.example |
| keywords*required | Array<string> | Example: ["cloud","k8s"] |
| links | Array<Link> | |
| name*required | string | Example: Example App |
| relatedItems | Array<Overview> | |
| releaseTime | Date | The time this latest version of the item was released. Example: 2023-04-25T12:00:00Z |
| resourceContext | ResourceContext | |
| type*required | "APP" | "CLASSIC_APP" | "EXTENSION_2" | "TECHNOLOGY" | |
| version | string | The latest version of this item. Example: 2.3.4 |
DetailSection
Can be either a Markdown or Gallery section. Only one of the respective properties is returned (markdown, or gallery).
| Name | Type |
|---|---|
| gallery | GallerySection |
| markdown | MarkdownSection |
| sourceId*required | string |
DocumentCount
| Name | Type |
|---|---|
| total*required | number |
| types | DocumentCountTypes |
DocumentCountTypes
type: Record<string, number>
Error
Standard error response
| Name | Type | Description |
|---|---|---|
| code*required | number | The error code (HTTP response) |
| details | ErrorDetails | Optional details of the error |
| message*required | string | The error code (HTTP response) |
ErrorDetails
Optional details of the error
| Name | Type | Description |
|---|---|---|
| constraintViolations | Array<ConstraintViolation> | A list of constraint violations of input parameters (path, query, request body) |
ErrorEnvelope
| Name | Type | Description |
|---|---|---|
| error*required | Error | Standard error response |
ExtensionMetadata
| Name | Type |
|---|---|
| extensionContents | any |
| featureSets | Array<string> |
| featureSetsDetails | Record<string | any> |
GalleryImage
| Name | Type | Description |
|---|---|---|
| alt | string | Descriptive text of what the image expresses |
| caption | string | |
| resolutions | GalleryImageResolutions | |
| src*required | string | |
| title | string |
GalleryImageResolutions
type: Record<string, string>
GallerySection
| Name | Type |
|---|---|
| images*required | Array<GalleryImage> |
| title*required | string |
Link
| Name | Type | Description |
|---|---|---|
| appId | string | |
| pageToken | string | |
| target | string | |
| type*required | "DOCUMENTATION" | "MARKETING" | "ACTIVATION" | "REPOSITORY" | Links can be of the following types:
|
Manifest
| Name | Type | Default |
|---|---|---|
| actions | any | |
| contentCount | ContentCount | |
| csp | any | |
| dependencies*required | Array<Dependency> | |
| documents | any | |
| hidden*required | boolean | false |
| intents | any | |
| pageTokens | any | |
| scopes | Array<ManifestScope> | |
| settings | any |
ManifestScope
| Name | Type |
|---|---|
| comment*required | string |
| name*required | string |
MarkdownSection
| Name | Type |
|---|---|
| markdown*required | string |
| title*required | string |
Meta data of the latest version of this item.
| Name | Type | Description |
|---|---|---|
| author | Author | |
| comingSoon*required | boolean | |
| contentCount | ContentCount | |
| createdTime | Date | The time this Hub item was originally created. Example: 2023-04-25T12:00:00Z |
| description*required | string | Example: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. |
| hasDetailSection*required | boolean | Whether the details of this item contain one or more detail content sections. |
| hubItemId | string | The Hub item id, aka. slug. Example: example |
| icon | string | Example: https://dt-cdn.net/images/techn-icon-oneagent-4ea8f5d12c.svg |
| id*required | string | The id is only unique within a specific type. Example: dynatrace.example |
| keywords*required | Array<string> | Example: ["cloud","k8s"] |
| links | Array<Link> | |
| name*required | string | Example: Example App |
| releaseTime | Date | The time this latest version of the item was released. Example: 2023-04-25T12:00:00Z |
| resourceContext | ResourceContext | |
| type*required | "APP" | "CLASSIC_APP" | "EXTENSION_2" | "TECHNOLOGY" | |
| version | string | The latest version of this item. Example: 2.3.4 |
OverviewsList
A list of item meta data. Per default contains only compatible items, but can be controlled using the onlyCompatible flag.
| Name | Type |
|---|---|
| items*required | Array<Overview> |
Release
| Name | Type | Description |
|---|---|---|
| compatible*required | "COMPATIBLE" | "INCOMPATIBLE" | "UNKNOWN" | |
| contentCount | ContentCount | |
| extensionDocuments | any | |
| extensionMetadata | ExtensionMetadata | |
| manifest | Manifest | |
| publicationTime*required | Date | Example: 2023-04-25T12:00:00Z |
| releaseNotes | string | Markdown content describing this release. Example: Now even more descriptive! |
| revocation | Revocation | The existence of this object marks a release as being revoked. It contains information on why this is the case. |
| version*required | string | A semantic versioning 2.0 conform version. Example: 2.0.0 |
ReleasesList
| Name | Type |
|---|---|
| releases*required | Array<Release> |
ResourceContext
| Name | Type |
|---|---|
| operations | Array<"install"> |
Revocation
The existence of this object marks a release as being revoked. It contains information on why this is the case.
| Name | Type |
|---|---|
| description | string |
| reason*required | "SECURITY_ISSUE" | "FAULTY_RELEASE" | "DEPRECATED" |
| severity | "LOW" | "MEDIUM" | "HIGH" |
Enums
CategoryPageContentContentType
⚠️ Deprecated Use literal values.
Compatibility
⚠️ Deprecated Use literal values.
Enum keys
Compatible | Incompatible | Unknown
ItemType
⚠️ Deprecated Use literal values.
Enum keys
App | ClassicApp | Extension_2 | Technology
LinkType
⚠️ Deprecated Use literal values.
Links can be of the following types:
DOCUMENTATION- Technical documentationMARKETING- Promotion materialACTIVATION- Location within the product to configure the itemREPOSITORY- Source code repository
Enum keys
Activation | Documentation | Marketing | Repository
OptionalAppDetailField
⚠️ Deprecated Use literal values.
Enum keys
ContentCount | HubItemId | Manifest | ResourceContext
OptionalAppOverviewField
⚠️ Deprecated Use literal values.
Enum keys
ContentCount | HubItemId | ResourceContext
OptionalAppReleaseField
⚠️ Deprecated Use literal values.
Enum keys
ContentCount | Manifest
OptionalExtensionDetailField
⚠️ Deprecated Use literal values.
Enum keys
ContentCount | ExtensionDocuments | ExtensionMetadata | HubItemId
OptionalExtensionOverviewField
⚠️ Deprecated Use literal values.
Enum keys
ContentCount | HubItemId
OptionalExtensionReleaseField
⚠️ Deprecated Use literal values.
Enum keys
ContentCount | ExtensionDocuments | ExtensionMetadata
OptionalTechnologyDetailField
⚠️ Deprecated Use literal values.
Enum keys
HubItemId
OptionalTechnologyOverviewField
⚠️ Deprecated Use literal values.
Enum keys
HubItemId
ResourceContextOperationsItem
⚠️ Deprecated Use literal values.
Enum keys
Install
RevocationReason
⚠️ Deprecated Use literal values.
Enum keys
Deprecated | FaultyRelease | SecurityIssue
RevocationSeverity
⚠️ Deprecated Use literal values.
Enum keys
High | Low | Medium