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 1
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.
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.
config.onlyCompatiblebooleanFilters apps and their releases to exclude incompatible instances. If true or missing the resulting releases will have compatibility of COMPATIBLE or UNKNOWN.

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​

NameType
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" | "extensionMetadata">A list of fields that are added to the default set of fields.
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">A list of fields that are added to the default set of fields.
config.onlyCompatiblebooleanA flag to reduce the list to only include compatible extensions with their latest compatible version.

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<"extensionMetadata">A list of fields that are added to the default set of fields.
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.
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.
config.onlyCompatiblebooleanA flag to reduce the list to only include compatible technologies.

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
itemIds*requiredArray<string>The IDs of the items associated with this category
page*requiredCategoryPage
subgroup*requiredstringGroups categories to related subpages

CategoryPage​

NameTypeDescription
content*requiredArray<CategoryPageContent>
description*requiredstringThe customer facing description of this page
shortTitle*requiredstringA shorter version of the customer facing title of the page
title*requiredstringThe customer facing title of the page

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
itemIdsArray<string>The IDs of the items associated with this category
title*requiredstringThe customer facing title of the content

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
version*requiredstringSemVer2 version of the required dependency

Detail​

Meta data of the latest version of this item.

NameTypeDescription
authorAuthor
comingSoon*requiredboolean
contentCountContentCount
createdTimeDateThe time this Hub item was originally created.
currentReleaseRelease
description*requiredstring
detailSections*requiredArray<DetailSection>
hasDetailSection*requiredbooleanWhether the details of this item contain one or more detail content sections.
hubItemIdstringThe Hub item id, aka. slug.
iconstring
id*requiredstringThe id is only unique within a specific type.
keywords*requiredArray<string>
linksArray<Link>
name*requiredstring
relatedItemsArray<Overview>
releaseTimeDateThe time this latest version of the item was released.
resourceContextResourceContext
type*required"APP" | "CLASSIC_APP" | "EXTENSION_2" | "TECHNOLOGY"
versionstringThe latest version of this item.

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 | undefined>

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 | undefined>

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.
description*requiredstring
hasDetailSection*requiredbooleanWhether the details of this item contain one or more detail content sections.
hubItemIdstringThe Hub item id, aka. slug.
iconstring
id*requiredstringThe id is only unique within a specific type.
keywords*requiredArray<string>
linksArray<Link>
name*requiredstring
releaseTimeDateThe time this latest version of the item was released.
resourceContextResourceContext
type*required"APP" | "CLASSIC_APP" | "EXTENSION_2" | "TECHNOLOGY"
versionstringThe latest version of this item.

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"
extensionMetadataExtensionMetadata
manifestManifest
publicationTime*requiredDate
releaseNotesstringMarkdown content describing this release.
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.

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​

ExtensionMetadata | HubItemId

OptionalExtensionReleaseField​

⚠️ Deprecated Use literal values.

Enum keys​

ExtensionMetadata

OptionalOverviewField​

⚠️ Deprecated Use literal values.

Enum keys​

HubItemId

OptionalTechnologyDetailField​

⚠️ 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