npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dynatrace-sdk/client-iam

v1.0.0

Published

Identity and Access Management configuration. Allows viewing users within the platform and their access capabilities.

Downloads

90

Readme

@dynatrace-sdk/client-iam

npm License

Identity and Access Management configuration. Allows viewing users within the platform and their access capabilities.

Installation

npm install @dynatrace-sdk/client-iam

Getting help

License

This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.

API reference

Full API reference for the latest version of the SDK is also available at the Dynatrace Developer.

usersAndGroupsClient

import { usersAndGroupsClient } from '@dynatrace-sdk/client-iam';

getActiveUserFromOrganizationalLevel

Get active user from organizational level

Required scope: iam:users:read

Authorization is based on an assignment of the calling user to the account associated with the 'level-type' and 'level-id' For environment 'level-type' user has to be assigned to account to which the environment is assigned, user does not need any permissions in such environment

Parameters

| Name | Type | Description | | --- | --- | --- | |config.levelId*required|string|Identifier of 'level-type'. Max allowed length is 36. For account use its UUID. For environment 'level-type' user has to be assigned to account to which the environment is assigned, user does not need any permissions in such environment | |config.levelType*required|string|Allowed values: account, environment | |config.uuid*required|string|User UUID |

Returns

| Return type | Status code | Description | |---|---|---| |RestUserPublic|200|User fetched successfully|

Throws

| Error Type | Error Message | |---|---| |PublicExceptionMessageError|Authorization header is missing or is incorrect. | Execution user is not allowed to perform the action. | Calling user is not assigned to the requested account or requested environment is not assigned to account that user is assigned to or the 'level-id' does not exist| |PublicExceptionThrottlingMessageError|Too many requests have been sent - requests are throttled|

import { usersAndGroupsClient } from "@dynatrace-sdk/client-iam";

const data =
  await usersAndGroupsClient.getActiveUserFromOrganizationalLevel(
    { levelType: "...", levelId: "...", uuid: "..." },
  );

getActiveUsersForOrganizationalLevel

Get active users from organizational level

Required scope: iam:users:read

Providing value for at least one of the parameters: 'partialString' or 'uuid' is required. If both query params 'partialString' and 'uuid' are provided then the result returns users meeting any of the filtering criteria. Returned users are first ordered by name and then by surname. Authorization is based on an assignment of the calling user to the account associated with the 'level-type' and 'level-id' For environment 'level-type' user has to be assigned to account to which the environment is assigned, user does not need any permissions in such environment

Parameters

| Name | Type | Description | | --- | --- | --- | |config.levelId*required|string|Identifier of 'level-type'. Max allowed length is 36. For account use its UUID. For environment 'level-type' user has to be assigned to account to which the environment is assigned, user does not need any permissions in such environment | |config.levelType*required|string|Allowed values: account, environment | |config.page|number|Offset-based Pagination - page. Default value: 1. Page number to return. Offset-based Pagination can't be used with Cursor-based Pagination! | |config.pageKey|string|Cursor-based Pagination - page-key. Cursor to the next page, includes page number and filtering values. Implicit filtering values will be overwritten by page-key property. Cursor-based Pagination can't be used together with Offset-based Pagination! Max length: 2000 | |config.pageSize|number|Pagination - page size. Default value: 1000. Minimum value: 1. Maximum value: 1000 | |config.partialString|string|Filter value - searches for users whose email contains provided value AND users whose 'name surname' or 'surname name' starts with provided value. Minimum length: 3. Maximum length: 320 | |config.uuid|Array<string>|List of user UUIDs. Filter value - equals. Allows multiple values. Maximum allowed size: 25 |

Returns

| Return type | Status code | Description | |---|---|---| |RestUserPublicListResponse|200|Users from the organizational level fetched successfully|

Throws

| Error Type | Error Message | |---|---| |PublicExceptionMessageError|Authorization header is missing or is incorrect. | Execution user is not allowed to perform the action. | Calling user is not assigned to the requested account or requested environment is not assigned to account that user is assigned to or the 'level-id' does not exist| |PublicExceptionThrottlingMessageError|Too many requests have been sent - requests are throttled|

import { usersAndGroupsClient } from "@dynatrace-sdk/client-iam";

const data =
  await usersAndGroupsClient.getActiveUsersForOrganizationalLevel(
    { levelType: "...", levelId: "..." },
  );

getActiveUsersForOrganizationalLevelPost

Get active users from organizational level

Required scope: iam:users:read

It is required to provide either request body containing list of user UUIDs or partialString. If both are provided then the result returns users meeting any of the provided criteria. Returned users are first ordered by name and then by surname. Authorization is based on an assignment of the calling user to the account associated with the 'level-type' and 'level-id' For environment 'level-type' user has to be assigned to account to which the environment is assigned, user does not need any permissions in such environment

Parameters

| Name | Type | Description | | --- | --- | --- | |config.body*required|Array<string>| | |config.levelId*required|string|Identifier of 'level-type'. Max allowed length is 36. For account use its UUID. For environment 'level-type' user has to be assigned to account to which the environment is assigned, user does not need any permissions in such environment | |config.levelType*required|string|Allowed values: account, environment | |config.page|number|Offset-based Pagination - page. Default value: 1. Page number to return. Offset-based Pagination can't be used with Cursor-based Pagination! | |config.pageKey|string|Cursor-based Pagination - page-key. Cursor to the next page, includes page number and filtering values. Implicit filtering values will be overwritten by page-key property. Cursor-based Pagination can't be used together with Offset-based Pagination! Max length: 2000 | |config.pageSize|number|Pagination - page size. Default value: 1000. Minimum value: 1. Maximum value: 1000 | |config.partialString|string|Filter value - searches for users whose email contains provided value AND users whose 'name surname' or 'surname name' starts with provided value. Minimum length: 3. Maximum length: 320 |

Returns

| Return type | Description | |---|---| |Promise<RestUserPublicListResponse> | Users from the organizational level fetched successfully|

Throws

| Error Type | Error Message | |---|---| |PublicExceptionMessageError|Authorization header is missing or is incorrect. | Execution user is not allowed to perform the action. | Calling user is not assigned to the requested account or requested environment is not assigned to account that user is assigned to or the 'level-id' does not exist| |PublicExceptionThrottlingMessageError|Too many requests have been sent - requests are throttled|

import { usersAndGroupsClient } from "@dynatrace-sdk/client-iam";

const data =
  await usersAndGroupsClient.getActiveUsersForOrganizationalLevelPost(
    { levelType: "...", levelId: "...", body: ["..."] },
  );

getAvailableServiceUsers

Get active service users from organizational level which are usable by the execution user

Required scope: iam:service-users:use

Environment-level queries are executed in account context because there is no direct link between environments and service users.

Parameters

| Name | Type | Description | | --- | --- | --- | |config.levelId*required|string|Identifier of 'level-type'. Max allowed length is 36. For account use its UUID. For environment 'level-type' user has to be assigned to account to which the environment is assigned, user does not need any permissions in such environment | |config.levelType*required|string|Allowed values: account, environment | |config.page|number|Offset-based Pagination - page. Default value: 1. Page number to return. Offset-based Pagination can't be used with Cursor-based Pagination! | |config.pageKey|string|Cursor-based Pagination - page-key. Cursor to the next page, includes page number and filtering values. Implicit filtering values will be overwritten by page-key property. Cursor-based Pagination can't be used together with Offset-based Pagination! Max length: 2000 | |config.pageSize|number|Pagination - page size. Default value: 1000. Minimum value: 1. Maximum value: 1000 |

Returns

| Return type | Status code | Description | |---|---|---| |SearchResult|200|Active service users from the organizational level filtered by user permissions fetched successfully|

Throws

| Error Type | Error Message | |---|---| |PublicExceptionMessageError|Authorization header is missing or is incorrect. | Execution user is not allowed to perform the action. | The 'level-id' param does not exist| |PublicExceptionThrottlingMessageError|Too many requests have been sent - requests are throttled|

import { usersAndGroupsClient } from "@dynatrace-sdk/client-iam";

const data =
  await usersAndGroupsClient.getAvailableServiceUsers({
    levelType: "...",
    levelId: "...",
  });

getVisibleGroupsForAccount

Get visible groups from organizational level

Required scope: iam:groups:read

Providing value for at least one of the parameters: 'partialGroupName' or 'uuid' is required. If both query params 'partialGroupName' and 'uuid' are provided then the result will be all of the groups meeting any of the filtering criteria. Authorization is based on an assignment of the calling user to the account associated with the 'level-type' and 'level-id' For environment 'level-type' user has to be assigned to account to which the environment is assigned, user does not need any permissions in such environment

Parameters

| Name | Type | Description | | --- | --- | --- | |config.levelId*required|string|Identifier of 'level-type'. Max allowed length is 36. For account use its UUID. For environment 'level-type' user has to be assigned to account to which the environment is assigned, user does not need any permissions in such environment | |config.levelType*required|string|Allowed values: account, environment | |config.page|number|Offset-based Pagination - page. Default value: 1. Page number to return. Offset-based Pagination can't be used with Cursor-based Pagination! | |config.pageKey|string|Cursor-based Pagination - page-key. Cursor to the next page, includes page number and filtering values. Implicit filtering values will be overwritten by page-key property. Cursor-based Pagination can't be used together with Offset-based Pagination! Max length: 2000 | |config.pageSize|number|Pagination - page size. Default value: 1000. Minimum value: 1. Maximum value: 1000 | |config.partialGroupName|string|Filter value - contains. Minimum length: 3. Maximum length: 320 | |config.uuid|Array<string>|List of group UUIDs. Filter value - equals. Allows definition of multiple values. Maximum allowed size: 10 |

Returns

| Return type | Status code | Description | |---|---|---| |RestGroupPublicListResponse|200|Groups from the level fetched successfully|

Throws

| Error Type | Error Message | |---|---| |PublicExceptionMessageError|Missing both 'partialGroupName' and 'uuid' filter values, or the values don't meet the requirements. | Authorization header is missing or is incorrect. | Execution user is not allowed to perform the action. | Calling user is not assigned to the requested account or requested environment is not assigned to account that user is assigned to or the 'level-id' does not exist| |PublicExceptionThrottlingMessageError|Too many requests have been sent - requests are throttled|

import { usersAndGroupsClient } from "@dynatrace-sdk/client-iam";

const data =
  await usersAndGroupsClient.getVisibleGroupsForAccount({
    levelType: "...",
    levelId: "...",
  });

getVisibleGroupsForAccountPost

Get visible groups from organizational level

Required scope: iam:groups:read

It is required to provide at either request body containing list of group uuids or partialGroupName. If both are provided then the result returns groups meeting any of the provided criteria. Authorization is based on an assignment of the calling user to the account associated with the 'level-type' and 'level-id' For environment 'level-type' user has to be assigned to account to which the environment is assigned, user does not need any permissions in such environment

Parameters

| Name | Type | Description | | --- | --- | --- | |config.body*required|Array<string>| | |config.levelId*required|string|Identifier of 'level-type'. Max allowed length is 36. For account use its UUID. For environment 'level-type' user has to be assigned to account to which the environment is assigned, user does not need any permissions in such environment | |config.levelType*required|string|Allowed values: account, environment | |config.page|number|Offset-based Pagination - page. Default value: 1. Page number to return. Offset-based Pagination can't be used with Cursor-based Pagination! | |config.pageKey|string|Cursor-based Pagination - page-key. Cursor to the next page, includes page number and filtering values. Implicit filtering values will be overwritten by page-key property. Cursor-based Pagination can't be used together with Offset-based Pagination! Max length: 2000 | |config.pageSize|number|Pagination - page size. Default value: 1000. Minimum value: 1. Maximum value: 1000 | |config.partialGroupName|string|Filter value - contains. Minimum length: 3. Maximum length: 320 |

Returns

| Return type | Description | |---|---| |Promise<RestGroupPublicListResponse> | Groups from the level fetched successfully|

Throws

| Error Type | Error Message | |---|---| |PublicExceptionMessageError|Missing both 'partialGroupName' and 'uuid' filter values, or the values don't meet requirements. | Authorization header is missing or is incorrect. | Execution user is not allowed to perform the action. | Calling user is not assigned to the requested account or requested environment is not assigned to account that user is assigned to or the 'level-id' does not exist| |PublicExceptionThrottlingMessageError|Too many requests have been sent - requests are throttled|

import { usersAndGroupsClient } from "@dynatrace-sdk/client-iam";

const data =
  await usersAndGroupsClient.getVisibleGroupsForAccountPost(
    { levelType: "...", levelId: "...", body: ["..."] },
  );

Types

ErrorResponse

| Name | Type | | --- | --- | |code|number| |details|ErrorResponseDetails| |message|string|

ErrorResponseConstraintViolation

| Name | Type | | --- | --- | |message|string| |parameterLocation|string| |path|string|

ErrorResponseDetails

| Name | Type | | --- | --- | |constraintViolations|Array<ErrorResponseConstraintViolation>| |missingScopes|Array<string>|

ErrorThrottlingResponse

| Name | Type | | --- | --- | |code|number| |message|string| |retryAfterSeconds|number|

PublicExceptionMessage

| Name | Type | | --- | --- | |error|ErrorResponse|

PublicExceptionThrottlingMessage

| Name | Type | | --- | --- | |error|ErrorThrottlingResponse|

RestGroupPublic

Collection containing the paginated result

| Name | Type | | --- | --- | |groupName*required|string| |type*required|"LOCAL" | "ALL_USERS" | "SCIM" | "SAML"| |uuid*required|string|

RestGroupPublicListResponse

| Name | Type | Description | | --- | --- | --- | |nextPageKey|string|Key for requesting the next page of the result | |results|Array<RestGroupPublic>|Collection containing the paginated result | |totalCount|number|Total count of records |

RestUserPublic

Collection containing the paginated result

| Name | Type | | --- | --- | |description|string| |email*required|string| |name|string| |surname|string| |uid*required|string|

RestUserPublicListResponse

| Name | Type | Description | | --- | --- | --- | |nextPageKey|string|Key for requesting the next page of the result | |results|Array<RestUserPublic>|Collection containing the paginated result | |totalCount|number|Total count of records |

SearchResult

| Name | Type | Description | | --- | --- | --- | |nextPageKey|string|Key for requesting the next page of the result | |results|Array<ServiceUserDto>|Collection containing the paginated result | |totalCount|number|Total count of records |

ServiceUserDto

Collection containing the paginated result

| Name | Type | | --- | --- | |createdAt|Date| |description|string| |email|string| |name|string| |surname|string| |uid|string|

Enums

~~RestGroupPublicType~~

⚠️ Deprecated Use literal values.

Enum keys

AllUsers | Local | Saml | Scim