Skip to main content

Hub

  • Reference

The Hub API provides catalog content, such as Dynatrace Apps, Extensions, and Technologies, in the context of the current environment.

Version 2
npm install @dynatrace-sdk/client-hub

appsClient

import { appsClient } from '@dynatrace-sdk/client-hub';

getAppDetails

appsClient.getAppDetails(config): Promise<Detail>

Provides detailed information about an app

Required scope: hub:catalog:read

Parameters

NameTypeDescription
config.addFieldsArray<"hubItemId" | "manifest" | "resourceContext" | "contentCount">A list of fields that are added to the default set of fields.

Default: []
config.id*requiredstring

Returns

Return typeStatus codeDescription
Detail200Detailed information about an app

Throws

Error TypeError Message
ErrorResponseAn error occurred

Code example

import { appsClient } from "@dynatrace-sdk/client-hub";

const data = await appsClient.getAppDetails({ id: "..." });

getAppOverviewList

appsClient.getAppOverviewList(config): Promise<OverviewsList>

List overview information of all apps

Required scope: hub:catalog:read

Parameters

NameTypeDescription
config.addFieldsArray<"hubItemId" | "resourceContext" | "contentCount">A list of fields that are added to the default set of fields.

Default: []
config.onlyCompatiblebooleanFilters 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 typeStatus codeDescription
OverviewsList200A list of overview information

Throws

Error TypeError Message
ErrorResponseAn error occurred

Code example

import { appsClient } from "@dynatrace-sdk/client-hub";

const data = await appsClient.getAppOverviewList();

getAppReleases

appsClient.getAppReleases(config): Promise<ReleasesList>

Provides a list of releases published for an app, including revoked releases

Required scope: hub:catalog:read

Parameters

NameTypeDefault
config.addFieldsArray<"manifest" | "contentCount">[]
config.id*requiredstring

Returns

Return typeStatus codeDescription
ReleasesList200A list of releases

Throws

Error TypeError Message
ErrorResponseAn 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

categoriesClient.getCategories(config): Promise<Categories>

List Hub categories, including the IDs of the associated items and their content blocks if any

Required scope: hub:catalog:read

Returns

Return typeStatus codeDescription
Categories200The categories

Throws

Error TypeError Message
ErrorResponseAn 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

extensionsClient.getExtensionDetails(config): Promise<Detail>

Provides detailed information about an extension

Required scope: hub:catalog:read

Parameters

NameTypeDescription
config.addFieldsArray<"hubItemId" | "contentCount" | "extensionMetadata" | "extensionDocuments">A list of fields that are added to the default set of fields.

Default: []
config.id*requiredstring

Returns

Return typeStatus codeDescription
Detail200Detailed information about an extension

Throws

Error TypeError Message
ErrorResponseAn error occurred

Code example

import { extensionsClient } from "@dynatrace-sdk/client-hub";

const data = await extensionsClient.getExtensionDetails({
id: "...",
});

getExtensionOverviewList

extensionsClient.getExtensionOverviewList(config): Promise<OverviewsList>

List overview information of all extensions

Required scope: hub:catalog:read

Parameters

NameTypeDescription
config.addFieldsArray<"hubItemId" | "contentCount">A list of fields that are added to the default set of fields.

Default: []
config.onlyCompatiblebooleanA flag to reduce the list to only include compatible extensions with their latest compatible version.

Default: true

Returns

Return typeStatus codeDescription
OverviewsList200A list of overview information

Throws

Error TypeError Message
ErrorResponseAn error occurred

Code example

import { extensionsClient } from "@dynatrace-sdk/client-hub";

const data =
await extensionsClient.getExtensionOverviewList();

getExtensionReleases

extensionsClient.getExtensionReleases(config): Promise<ReleasesList>

Provides a list of releases published for an extension, including revoked releases

Required scope: hub:catalog:read

Parameters

NameTypeDescription
config.addFieldsArray<"contentCount" | "extensionMetadata" | "extensionDocuments">A list of fields that are added to the default set of fields.

Default: []
config.id*requiredstring

Returns

Return typeStatus codeDescription
ReleasesList200A list of releases

Throws

Error TypeError Message
ErrorResponseAn 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

technologiesClient.getTechnologyDetails(config): Promise<Detail>

Provides detailed information about a technology

Required scope: hub:catalog:read

Parameters

NameTypeDescription
config.addFieldsArray<"hubItemId">A list of fields that are added to the default set of fields.

Default: []
config.id*requiredstring

Returns

Return typeStatus codeDescription
Detail200Detailed information about a technology

Throws

Error TypeError Message
ErrorResponseAn error occurred

Code example

import { technologiesClient } from "@dynatrace-sdk/client-hub";

const data = await technologiesClient.getTechnologyDetails({
id: "...",
});

getTechnologyOverviewList

technologiesClient.getTechnologyOverviewList(config): Promise<OverviewsList>

List overview information of all technologies

Required scope: hub:catalog:read

Parameters

NameTypeDescription
config.addFieldsArray<"hubItemId">A list of fields that are added to the default set of fields.

Default: []
config.onlyCompatiblebooleanA flag to reduce the list to only include compatible technologies.

Default: true

Returns

Return typeStatus codeDescription
OverviewsList200A list of overview information

Throws

Error TypeError Message
ErrorResponseAn error occurred

Code example

import { technologiesClient } from "@dynatrace-sdk/client-hub";

const data =
await technologiesClient.getTechnologyOverviewList();

Types

AssetCount

NameType
total*requirednumber

Author

NameType
iconstring
name*requiredstring
salesEmailstring
salesLinkstring
supportEmailstring
supportLinkstring

Categories

NameType
categories*requiredArray<Category>

Category

An item category in the Hub

NameTypeDescription
id*requiredstringThe category's ID

Example: home
itemIds*requiredArray<string>The IDs of the items associated with this category

Example: ["dynatrace.hub","com.dynatrace.extension.active-directory","oneagent"]
page*requiredCategoryPage
subgroup*requiredstringGroups categories to related subpages

Example: platform-group-1

CategoryPage

NameTypeDescription
content*requiredArray<CategoryPageContent>
description*requiredstringThe customer facing description of this page

Example: In Dynatrace Hub, you'll find hundreds of technologies to tame digital complexity and get more...
shortTitle*requiredstringA shorter version of the customer facing title of the page

Example: Hub home
title*requiredstringThe customer facing title of the page

Example: Extend Dynatrace, empower your team

CategoryPageContent

NameTypeDescription
blocksArray<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*requiredstringThe customer facing description of the content

Example: Stay up-to-date with what's new in Dynatrace.
itemIdsArray<string>The IDs of the items associated with this category

Example: ["dynatrace.hub","com.dynatrace.extension.active-directory","oneagent"]
title*requiredstringThe customer facing title of the content

Example: What's new

CategoryPageContentBlock

NameTypeDefault
descriptionstring
href*requiredstring
hrefTextstring
image*requiredstring
title*requiredstring

ConstraintViolation

Contains information about a constraint violation caused by invalid input.

NameTypeDescription
message*requiredstringThe constraint violation description message
pathstringThe path of the parameter that caused the constraint violation

ContentCount

NameType
actionsAssetCount
documentsDocumentCount
settingsAssetCount

Dependency

NameTypeDescription
name*requiredstringThe name of the required dependency

Example: /platform/hub/v1
version*requiredstringSemVer2 version of the required dependency

Example: 1.2.3

Detail

Meta data of the latest version of this item.

NameTypeDescription
authorAuthor
comingSoon*requiredboolean
contentCountContentCount
createdTimeDateThe time this Hub item was originally created.

Example: 2023-04-25T12:00:00Z
currentReleaseRelease
description*requiredstringExample: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
detailSections*requiredArray<DetailSection>
hasDetailSection*requiredbooleanWhether the details of this item contain one or more detail content sections.
hubItemIdstringThe Hub item id, aka. slug.

Example: example
iconstringExample: https://dt-cdn.net/images/techn-icon-oneagent-4ea8f5d12c.svg
id*requiredstringThe id is only unique within a specific type.

Example: dynatrace.example
keywords*requiredArray<string>Example: ["cloud","k8s"]
linksArray<Link>
name*requiredstringExample: Example App
relatedItemsArray<Overview>
releaseTimeDateThe time this latest version of the item was released.

Example: 2023-04-25T12:00:00Z
resourceContextResourceContext
type*required"APP" | "CLASSIC_APP" | "EXTENSION_2" | "TECHNOLOGY"
versionstringThe 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).

NameType
galleryGallerySection
markdownMarkdownSection
sourceId*requiredstring

DocumentCount

NameType
total*requirednumber
typesDocumentCountTypes

DocumentCountTypes

type: Record<string, number>

Error

Standard error response

NameTypeDescription
code*requirednumberThe error code (HTTP response)
detailsErrorDetailsOptional details of the error
message*requiredstringThe error code (HTTP response)

ErrorDetails

Optional details of the error

NameTypeDescription
constraintViolationsArray<ConstraintViolation>A list of constraint violations of input parameters (path, query, request body)

ErrorEnvelope

NameTypeDescription
error*requiredErrorStandard error response

ExtensionMetadata

NameType
extensionContentsany
featureSetsArray<string>
featureSetsDetailsRecord<string | any>

GalleryImage

NameTypeDescription
altstringDescriptive text of what the image expresses
captionstring
resolutionsGalleryImageResolutions
src*requiredstring
titlestring

GalleryImageResolutions

type: Record<string, string>

GallerySection

NameType
images*requiredArray<GalleryImage>
title*requiredstring
NameTypeDescription
appIdstring
pageTokenstring
targetstring
type*required"DOCUMENTATION" | "MARKETING" | "ACTIVATION" | "REPOSITORY"

Links can be of the following types:

  • DOCUMENTATION - Technical documentation
  • MARKETING - Promotion material
  • ACTIVATION - Location within the product to configure the item
  • REPOSITORY - Source code repository

Manifest

NameTypeDefault
actionsany
contentCountContentCount
cspany
dependencies*requiredArray<Dependency>
documentsany
hidden*requiredbooleanfalse
intentsany
pageTokensany
scopesArray<ManifestScope>
settingsany

ManifestScope

NameType
comment*requiredstring
name*requiredstring

MarkdownSection

NameType
markdown*requiredstring
title*requiredstring

Meta data of the latest version of this item.

NameTypeDescription
authorAuthor
comingSoon*requiredboolean
contentCountContentCount
createdTimeDateThe time this Hub item was originally created.

Example: 2023-04-25T12:00:00Z
description*requiredstringExample: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
hasDetailSection*requiredbooleanWhether the details of this item contain one or more detail content sections.
hubItemIdstringThe Hub item id, aka. slug.

Example: example
iconstringExample: https://dt-cdn.net/images/techn-icon-oneagent-4ea8f5d12c.svg
id*requiredstringThe id is only unique within a specific type.

Example: dynatrace.example
keywords*requiredArray<string>Example: ["cloud","k8s"]
linksArray<Link>
name*requiredstringExample: Example App
releaseTimeDateThe time this latest version of the item was released.

Example: 2023-04-25T12:00:00Z
resourceContextResourceContext
type*required"APP" | "CLASSIC_APP" | "EXTENSION_2" | "TECHNOLOGY"
versionstringThe 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.

NameType
items*requiredArray<Overview>

Release

NameTypeDescription
compatible*required"COMPATIBLE" | "INCOMPATIBLE" | "UNKNOWN"
contentCountContentCount
extensionDocumentsany
extensionMetadataExtensionMetadata
manifestManifest
publicationTime*requiredDateExample: 2023-04-25T12:00:00Z
releaseNotesstringMarkdown content describing this release.

Example: Now even more descriptive!
revocationRevocationThe existence of this object marks a release as being revoked. It contains information on why this is the case.
version*requiredstringA semantic versioning 2.0 conform version.

Example: 2.0.0

ReleasesList

NameType
releases*requiredArray<Release>

ResourceContext

NameType
operationsArray<"install">

Revocation

The existence of this object marks a release as being revoked. It contains information on why this is the case.

NameType
descriptionstring
reason*required"SECURITY_ISSUE" | "FAULTY_RELEASE" | "DEPRECATED"
severity"LOW" | "MEDIUM" | "HIGH"

Enums

CategoryPageContentContentType

⚠️ Deprecated Use literal values.

The type of content

Enum keys

BrowseAllBlock | ContentBlockGroup | CuratedContentBlock | Section

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 documentation
  • MARKETING - Promotion material
  • ACTIVATION - Location within the product to configure the item
  • REPOSITORY - 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

Still have questions?
Find answers in the Dynatrace Community