Skip to main content

    Hub

    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

    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
    name*requiredstring

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

    Overview

    Meta data of the latest version of this item.

    NameTypeDescription
    authorAuthor
    comingSoon*requiredboolean
    contentCountContentCount
    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
    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

    Compatibility

    Enum keys

    Compatible | Incompatible | Unknown

    ItemType

    Enum keys

    App | ClassicApp | Extension_2 | Technology

    LinkType

    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

    Enum keys

    ContentCount | HubItemId | Manifest | ResourceContext

    OptionalAppOverviewField

    Enum keys

    ContentCount | HubItemId | ResourceContext

    OptionalAppReleaseField

    Enum keys

    ContentCount | Manifest

    OptionalExtensionDetailField

    Enum keys

    ExtensionMetadata | HubItemId

    OptionalExtensionReleaseField

    Enum keys

    ExtensionMetadata

    OptionalOverviewField

    Enum keys

    HubItemId

    OptionalTechnologyDetailField

    Enum keys

    HubItemId

    ResourceContextOperationsItem

    Enum keys

    Install

    RevocationReason

    Enum keys

    Deprecated | FaultyRelease | SecurityIssue

    RevocationSeverity

    Enum keys

    High | Low | Medium

    Still have questions?
    Find answers in the Dynatrace Community