Skip to main content

Settings

  • Reference

Manage Dynatrace settings through a schema-driven API for storing, querying, and maintaining configuration objects.

Managing settings objects

Create, retrieve, update, delete, reorder, and inspect settings objects. These endpoints also help you resolve effective settings values so you can understand how configuration is applied.

Managing access and ownership

Query and update permissions for settings objects, grant or revoke access for specific users and groups, and change ownership when needed. These endpoints support the security and governance workflows around shared configuration.

Reviewing change history

Retrieve revision history for settings objects to inspect how configuration changed over time. This helps with auditing, troubleshooting, and understanding previous updates.

Working with schemas

Discover and retrieve schema definitions that describe available settings types and their structure. These endpoints help clients understand which properties are supported and how settings objects must be shaped.

Supporting interactive editing

Use helper endpoints for validation, default generation, and value summaries during schema-based editing workflows. These operations are intended to support guided and interactive settings editors.

Latest (V1)
npm install @dynatrace-sdk/client-settings

settingsHistoryClient

import { settingsHistoryClient } from '@dynatrace-sdk/client-settings';

listSettingsHistory

settingsHistoryClient.listSettingsHistory(config): Promise<RevisionDiffPage>

Gets the history of settings objects

Required scope: settings:objects:read

Returns revision history for settings objects, based on audit logs read from Grail with event.provider == 'SETTINGS' filter as described here.

You can use query parameters to sort, filter and paginate the results. If filter isn't provided, the API returns revisions from the last 2 weeks.

Parameters

NameTypeDescription
config.addFieldsstring

A list of fields to be included in the response. The provided set of fields extends the default set.

Specify the required top-level fields, separated by commas (for example, revision,modificationInfo).

Supported fields: revision, jsonPatch, jsonBefore, jsonAfter, objectId, type, schemaVersion, modificationInfo, schemaId, schemaDisplayName, summary, appId, source, ownerBefore, ownerAfter.

Default fields: revision, modificationInfo.

config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.filterstring

The filter parameter, as explained here. Nesting and unary operators aren't supported. Filtering is supported on the following fields:

  • revision
  • objectId
  • schemaVersion
  • modificationInfo.lastModifiedTime
  • modificationInfo.lastModifiedBy

If this parameter is omitted only revisions of the last 2 weeks are returned.

If modificationInfo.lastModifiedTime doesn't specify a full range, it will be completed with current time minus 1 year for the missing lower bound or the current time for the upper bound.

When the admin-access is set to false, this parameter is required for schemas with enabled owner based access control and must contain objectId field with operator ==.

config.pageKeystring

The cursor for the next page of results. You can find it in the nextPageKey field of the previous response.

The first page is always returned if you don't specify the page-key query parameter.

When the page-key is set to obtain subsequent pages, you must omit all other query parameters.

config.pageSizenumber

The amount of settings objects in a single response payload.

The maximal allowed page size is 5000.

If not set, 100 is used.

config.schemaIdsstring

Schema IDs to which the requested revisions belong as a comma-separated list.

To load the first page, when the page-key isn't set, this parameter is required.

config.scopestring

Scope to which the requested revisions belong.

To load the first page, when the page-key isn't set, this parameter is required.

config.sortstring

The sort parameter, as explained here Sorting is supported on the following fields:

  • modificationInfo.lastModifiedTime

Returns

Return typeStatus codeDescription
RevisionDiffPage200Success.

Throws

Error TypeError Message
NotFoundSchemaFailed. The specified schema wasn't found.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsHistoryClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsHistoryClient.listSettingsHistory();

settingsInteractiveEditingSupportClient

import { settingsInteractiveEditingSupportClient } from '@dynatrace-sdk/client-settings';

generateSchemaDefaultValue

settingsInteractiveEditingSupportClient.generateSchemaDefaultValue(config): Promise<SettingsDefaultObject>

Required scope: settings:schemas:read

Gets the default value of a settings schema.

Parameters

NameTypeDescription
config.schemaId*requiredstringThe ID of the requested schema.
config.schemaVersionstring

The requested version of the schema.

If not set, the most recent version is assumed.

config.scopestringThe ID of the scope.

Returns

Return typeStatus codeDescription
SettingsDefaultObject200Success.

Throws

Error TypeError Message
BadRequestInvalidInputFailed. The input is invalid.
ForbiddenFailed. Forbidden.
NotFoundSchemaIdVersionNo schema could be found for the given schema-id and schema-version.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsInteractiveEditingSupportClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsInteractiveEditingSupportClient.generateSchemaDefaultValue(
{ schemaId: "..." },
);

summarizeSettingsValue

settingsInteractiveEditingSupportClient.summarizeSettingsValue(config): Promise<SettingsObjectSummary>

Generate a summary for a specific settings value

Required scope: settings:schemas:read

Parameters

NameTypeDescription
config.body*requiredSettingsObjectSummarize
config.schemaId*requiredstringThe ID of the required schema.

Returns

Return typeStatus codeDescription
SettingsObjectSummary200Success.

Throws

Error TypeError Message
BadRequestInvalidInputFailed. The input is invalid.
ForbiddenFailed. Forbidden.
NotFoundMultiObjectSchemaNo multi-object schema could be found for the given schemaId and schemaVersion.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsInteractiveEditingSupportClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsInteractiveEditingSupportClient.summarizeSettingsValue(
{ schemaId: "...", body: { value: {} } },
);

validateSettingsContainer

settingsInteractiveEditingSupportClient.validateSettingsContainer(config): Promise<ValidationResponse>

Validates the given settings container.

Required scope: settings:schemas:read

Validates the given settings container.

Parameters

NameTypeDescription
config.body*requiredCustomContainerValidationRequest
config.schemaId*requiredstringThe ID of the schema.
config.schemaVersionstringVersion of the schema.
config.scopestringThe ID of the scope.
config.validatorId*requiredstringThe identifier of the validator.

Returns

Return typeStatus codeDescription
ValidationResponse200Validated. Details in the response body.

Throws

Error TypeError Message
NotFoundValidatorFailed. Validator with the given identifier not found.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsInteractiveEditingSupportClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsInteractiveEditingSupportClient.validateSettingsContainer(
{
schemaId: "...",
validatorId: "...",
body: { value: {} },
},
);

validateSettingsProperty

settingsInteractiveEditingSupportClient.validateSettingsProperty(config): Promise<ValidationResponse>

Validates the given settings property.

Required scope: settings:schemas:read

Validates the given settings property value with the given custom validator.

Parameters

NameTypeDescription
config.body*requiredCustomPropertyValidationRequest
config.schemaId*requiredstringThe ID of the schema.
config.schemaVersionstringVersion of the schema.
config.scopestringThe ID of the scope.
config.validatorId*requiredstringThe identifier of the validator.

Returns

Return typeStatus codeDescription
ValidationResponse200Validated. Details in the response body.

Throws

Error TypeError Message
NotFoundValidatorFailed. Validator with the given identifier not found.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsInteractiveEditingSupportClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsInteractiveEditingSupportClient.validateSettingsProperty(
{ schemaId: "...", validatorId: "...", body: {} },
);

settingsObjectsClient

import { settingsObjectsClient } from '@dynatrace-sdk/client-settings';

deleteSettingsObject

settingsObjectsClient.deleteSettingsObject(config): Promise<void>

Deletes the specified settings object

Required scope: settings:objects:write

Parameters

NameTypeDescription
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.objectId*requiredstringThe ID of the required settings object
config.optimisticLockingVersion*requiredstring

The version of the object for optimistic locking. You can use it to detect simultaneous modifications by different users.

It's generated upon retrieval (GET requests). If set on update (PUT request) or deletion, the update/deletion will be allowed only if there wasn't any change between the retrieval and the update.

config.validateOnlybooleanIf true, the request runs only validation for the deletion of the settings object, without actually deleting it.

Returns

Return typeStatus codeDescription
void204Success. Response doesn't have a body.

Throws

Error TypeError Message
BadRequestInvalidInputFailed. The input is invalid.
ForbiddenFailed. Forbidden.
NotFoundResourceFailed. The requested resource doesn't exist.
ConflictingResourceFailed. Conflicting resource.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsObjectsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsObjectsClient.deleteSettingsObject({
objectId: "...",
optimisticLockingVersion: "...",
});

getSettingsObject

settingsObjectsClient.getSettingsObject(config): Promise<SettingsObject>

Gets the specified settings object

Required scope: settings:objects:read

Gets the specified settings object. Properties of type secret will be included in plain text if the call originates from a serverless function of your app; they will have irreversibly masked values otherwise. This protects these secrets from leaking to users of your app or other third parties.

Parameters

NameTypeDescription
config.addFieldsstring

A list of fields to be included in the response. The provided set of fields extends the default set.

Specify the required top-level fields, separated by commas (for example, summary,value).

Supported fields: objectId, version, summary, searchSummary, scope, schemaId, schemaVersion, modificationInfo, resourceContext, value, owner, externalId.

Default fields: objectId, version, scope, schemaId, schemaVersion, value, externalId.

config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.objectId*requiredstringThe ID of the required settings object

Returns

Return typeStatus codeDescription
SettingsObject200Success.

Throws

Error TypeError Message
BadRequestInvalidInputFailed. The input is invalid.
ForbiddenFailed. Forbidden.
NotFoundObjectNo object available for the given objectId.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsObjectsClient } from "@dynatrace-sdk/client-settings";

const data = await settingsObjectsClient.getSettingsObject({
objectId: "...",
});

listEffectiveSettingsValues

settingsObjectsClient.listEffectiveSettingsValues(config): Promise<EffectiveSettingsValuesList>

Lists effective settings values

Required scope: settings:objects:read

Lists effective settings values for selected schema. If no object is persisted for a schema with "multiObject": false, the default value as defined in the schema will be returned.

Parameters

NameTypeDescription
config.addFieldsstring

A list of fields to be included in the response. The provided set of fields extends the default set.

Specify the required top-level fields, separated by commas (for example, summary,origin).

Supported fields: summary, searchSummary, schemaId, schemaVersion, origin, modificationInfo, value.

Default fields: value.

config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.optimisticLockingVersionstring

The version of the objects list for optimistic locking. You can use it to detect simultaneous modifications by different users.

It's generated upon retrieval of the list of objects (GET requests). " If specified and modifications were made between retrieval and the request, the request will fail.

config.pageKeystring

The cursor for the next page of results. You can find it in the nextPageKey field of the previous response.

The first page is always returned if you don't specify the page-key query parameter.

When the page-key is set to obtain subsequent pages, you must omit all other query parameters except the optimistic-locking-version parameter.

config.pageSizenumber

The amount of settings objects in a single response payload.

The maximal allowed page size is 500.

If not set, the response won't be paged.

config.schemaIdstring

Schema ID to which the requested objects belong.

Only considered on load of the first page, when the page-key isn't set.

config.scopestring

Scope to which the requested objects belong.

Only considered on load of the first page, when the page-key isn't set.

Returns

Return typeStatus codeDescription
EffectiveSettingsValuesList200Success. Uses chunked encoding.

Even if a response returns a successful response code it's possible that the result is incomplete due to an internal error.

In this case an 'error' property with information about the problem is added. The caller may decide to work with the incomplete result or do a retry of the operation.|

Throws

Error TypeError Message
BadRequestInvalidInputFailed. The input is invalid.
NotFoundSchemaIsNotFoundFailed. The specified schema isn't found.
ListVersionMismatchPaging data is outdated. The data has been modified since the initial request, query again from the first page to ensure a consistent result or rerun the same query without the optimistic locking version parameter to ignore.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsObjectsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsObjectsClient.listEffectiveSettingsValues();

listSettingsObjects

settingsObjectsClient.listSettingsObjects(config): Promise<SettingsObjectsList>

Lists persisted settings objects

Required scope: settings:objects:read

Lists persisted settings objects for selected schemas.

If nothing is persisted or if all persisted settings objects aren't accessible due to missing permissions, no items will be returned.

To query the effective values (including schema defaults) see getEffectiveSettingsValues.

Parameters

NameTypeDescription
config.addFieldsstring

A list of fields to be included in the response. The provided set of fields extends the default set.

Specify the required top-level fields, separated by commas (for example, summary,value).

Supported fields: objectId, version, summary, searchSummary, scope, schemaId, schemaVersion, modificationInfo, resourceContext, value, owner, externalId.

Default fields: objectId, version.

config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.filterstring

The filter parameter, as explained here.

Filtering is supported on the following fields:

  • objectId
  • modificationInfo.createdBy
  • modificationInfo.createdTime
  • modificationInfo.lastModifiedBy
  • modificationInfo.lastModifiedTime
  • value with properties and sub-properties separated by dot (for example, value.owningApp = 'Notebooks')
  • externalId
  • owner.type
  • owner.id

If this parameter is omitted, all settings objects will be returned. The maximum nesting depth (via parentheses) is 5. The maximum expression length is 1024 characters.

Note that only fields included to the response via add-fields can be used for filtering.

config.optimisticLockingVersionstring

The version of the objects list for optimistic locking. You can use it to detect simultaneous modifications by different users.

It's generated upon retrieval of the list of objects (GET requests). " If specified and modifications were made between retrieval and the request, the request will fail.

config.pageKeystring

The cursor for the next page of results. You can find it in the nextPageKey field of the previous response.

The first page is always returned if you don't specify the page-key query parameter.

When the page-key is set to obtain subsequent pages, you must omit all other query parameters except the optimistic-locking-version parameter.

config.pageSizenumber

The amount of settings objects in a single response payload.

The maximal allowed page size is 500.

If not set, the response won't be paged.

config.schemaIdstring

Schema ID to which the requested objects belong.

To load the first page, when the page-key isn't set, this parameter is required.

config.scopestring

Scope to which the requested objects belong.

To load the first page, when the page-key isn't set, this parameter is required.

config.sortstring

The sort parameter, as explained here.

Sorting is supported on the following fields:

  • modificationInfo.createdBy
  • modificationInfo.createdTime
  • modificationInfo.lastModifiedBy
  • modificationInfo.lastModifiedTime
  • value with properties and sub-properties separated by dot (for example, value.owningApp)

Note that only fields included to the response via add-fields can be used for sorting.

Returns

Return typeStatus codeDescription
SettingsObjectsList200Success. Uses chunked encoding.

Even if a response returns a successful response code it's possible that the result is incomplete due to an internal error.

In this case an 'error' property with information about the problem is added. The caller may decide to work with the incomplete result or do a retry of the operation.|

Throws

Error TypeError Message
BadRequestInvalidInputFailed. The input is invalid.
ForbiddenFailed. Forbidden.
NotFoundSchemaFailed. The specified schema wasn't found.
ListVersionMismatchPaging data is outdated. The data has been modified since the initial request, query again from the first page to ensure a consistent result or rerun the same query without the optimistic locking version parameter to ignore.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsObjectsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsObjectsClient.listSettingsObjects();

reorderSettingsObjects

settingsObjectsClient.reorderSettingsObjects(config): Promise<ReorderResponse>

Reorder multi-object settings objects

Required scope: settings:objects:write

Reorders settings objects for schemas defined as multi-object and ordered.

The new order is defined by the list of object IDs in the request body. If any objects change in the meantime, the reorder will be rejected to prevent overwriting concurrent changes, even if the changed objects aren't part of the defined reorder sections.

Parameters

NameTypeDescription
config.body*requiredReorderRequest
config.optimisticLockingVersion*requiredstring

The version of the objects for optimistic locking. You can use it to detect simultaneous modifications by different users.

It's generated upon retrieval of the list of objects (GET requests). The reorder will be allowed only if there wasn't any change between the retrieval and the update.

Returns

Return typeStatus codeDescription
ReorderResponse200Success.

Throws

Error TypeError Message
BadRequestInvalidInputFailed. The input is invalid.
ForbiddenFailed. Forbidden.
NotFoundResourceFailed. The requested resource doesn't exist.
ConflictingResourceFailed. Conflicting resource.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsObjectsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsObjectsClient.reorderSettingsObjects({
optimisticLockingVersion: "...",
body: {
schemaId: "builtin:schema",
scope: "environment",
sections: [
{
firstObjectId: "...",
lastObjectId: "...",
order: [{ objectId: "..." }],
},
],
},
});

updateSettingsObject

settingsObjectsClient.updateSettingsObject(config): Promise<void | SettingsUpdateResponse>

Updates an existing settings object

Required scope: settings:objects:write

Updates an existing settings object with new values. To update a property of the secret type you need to pass the new value unmasked. To keep the current value, send the current masked secret. You can obtain it via GET an object endpoint.

Some schemas don't allow passing of the masked secret. In that case you need to send the unmasked secret with every update of the object.

Parameters

NameTypeDescription
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.body*requiredSettingsObjectUpdate
config.objectId*requiredstringThe ID of the required settings object
config.optimisticLockingVersion*requiredstring

The version of the object for optimistic locking. You can use it to detect simultaneous modifications by different users.

It's generated upon retrieval (GET requests). If set on update (PUT request) or deletion, the update/deletion will be allowed only if there wasn't any change between the retrieval and the update.

config.validateOnlybooleanIf true, the request runs only validation of the submitted settings object, without saving it.

Returns

Return typeStatus codeDescription
SettingsUpdateResponse200Success.
void204Success. No validation errors.

Throws

Error TypeError Message
BadRequestInvalidInputFailed. The input is invalid.
ForbiddenFailed. Forbidden.
NotFoundResourceFailed. The requested resource doesn't exist.
ConflictingResourceFailed. Conflicting resource.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsObjectsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsObjectsClient.updateSettingsObject({
objectId: "...",
optimisticLockingVersion: "...",
body: { value: {} },
});

upsertSettingsObject

settingsObjectsClient.upsertSettingsObject(config): Promise<void | SettingsObjectResponse>

Creates a new settings object

Required scope: settings:objects:write

Parameters

NameTypeDescription
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.body*requiredSettingsObjectCreate
config.validateOnlybooleanIf true, the request runs only validation of the submitted settings objects, without saving them.

Returns

Return typeStatus codeDescription
SettingsObjectResponse200Existing object successfully updated.
SettingsObjectResponse201Created.
void204Success. No validation errors.

Throws

Error TypeError Message
BadRequestInvalidInputFailed. The input is invalid.
ForbiddenFailed. Forbidden.
NotFoundResourceFailed. The requested resource doesn't exist.
ConflictingResourceFailed. Conflicting resource.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsObjectsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsObjectsClient.upsertSettingsObject({
body: {
schemaId: "jira-connection",
scope: "environment",
value: {},
},
});

settingsPermissionsClient

import { settingsPermissionsClient } from '@dynatrace-sdk/client-settings';

addSettingsObjectAccessorPermissions

settingsPermissionsClient.addSettingsObjectAccessorPermissions(config): Promise<AccessorPermissions>

Required scope: settings:objects:write

Add the permissions for a single accessor on this object, anyone with read/write permissions is allowed to add more permissions

Parameters

NameTypeDescription
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.body*requiredAccessorPermissions
config.objectId*requiredstringThe ID of the required settings object

Returns

Return typeStatus codeDescription
AccessorPermissions201Success.

Throws

Error TypeError Message
BadRequestAccessorIdAlreadyExistsIf accessor id already exists.
NotFoundObjectNo object available for the given objectId.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsPermissionsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsPermissionsClient.addSettingsObjectAccessorPermissions(
{
objectId: "...",
body: { accessor: { type: "user" }, permissions: {} },
},
);

deleteSettingsObjectAccessorPermissions

settingsPermissionsClient.deleteSettingsObjectAccessorPermissions(config): Promise<void>

Required scope: settings:objects:write

Remove the permissions for an existing accessor on this object, anyone with read/write permissions is allowed to delete permissions

Parameters

NameTypeDescription
config.accessorId*requiredstringThe user uuid or group uuid of the accessor, depending on the type
config.accessorType*required"user" | "group"The type of the accessor
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.objectId*requiredstringThe ID of the required settings object

Returns

Return typeStatus codeDescription
void204Success.

Throws

Error TypeError Message
NotFoundObjectOrNoPermissionsNo object available for the given objectId or the accessor doesn't have any permissions on this object.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsPermissionsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsPermissionsClient.deleteSettingsObjectAccessorPermissions(
{
objectId: "...",
accessorType: "user",
accessorId: "...",
},
);

deleteSettingsObjectAllUsersPermissions

settingsPermissionsClient.deleteSettingsObjectAllUsersPermissions(config): Promise<void>

Required scope: settings:objects:write

Remove the permissions for an existing all-users accessor on this object, anyone with read/write permissions is allowed to delete permissions

Parameters

NameTypeDescription
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.objectId*requiredstringThe ID of the required settings object

Returns

Return typeStatus codeDescription
void204Success.

Throws

Error TypeError Message
NotFoundObjectOrAllUsersNoPermissionsNo object available for the given objectId or the all-users accessor doesn't have any permissions on this object.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsPermissionsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsPermissionsClient.deleteSettingsObjectAllUsersPermissions(
{ objectId: "..." },
);

getSettingsObjectAccessorPermissions

settingsPermissionsClient.getSettingsObjectAccessorPermissions(config): Promise<AccessorPermissions>

Required scope: settings:objects:read

Get current permissions of the accessor on this object

Parameters

NameTypeDescription
config.accessorId*requiredstringThe user uuid or group uuid of the accessor, depending on the type
config.accessorType*required"user" | "group"The type of the accessor
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.objectId*requiredstringThe ID of the required settings object

Returns

Return typeStatus codeDescription
AccessorPermissions200Success.

Throws

Error TypeError Message
NotFoundObjectOrNoPermissionsNo object available for the given objectId or the accessor doesn't have any permissions on this object.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsPermissionsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsPermissionsClient.getSettingsObjectAccessorPermissions(
{
objectId: "...",
accessorType: "user",
accessorId: "...",
},
);

getSettingsObjectAllUsersPermissions

settingsPermissionsClient.getSettingsObjectAllUsersPermissions(config): Promise<AccessorPermissions>

Required scope: settings:objects:read

Get current permissions of the all-users accessor on this object

Parameters

NameTypeDescription
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.objectId*requiredstringThe ID of the required settings object

Returns

Return typeStatus codeDescription
AccessorPermissions200Success.

Throws

Error TypeError Message
NotFoundObjectOrAllUsersNoPermissionsNo object available for the given objectId or the all-users accessor doesn't have any permissions on this object.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsPermissionsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsPermissionsClient.getSettingsObjectAllUsersPermissions(
{ objectId: "..." },
);

getSettingsObjectPermissions

settingsPermissionsClient.getSettingsObjectPermissions(config): Promise<AccessorPermissionsList>

Required scope: settings:objects:read

Get current permissions on this object

Parameters

NameTypeDescription
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.objectId*requiredstringThe ID of the required settings object

Returns

Return typeStatus codeDescription
AccessorPermissionsList200Success.

Throws

Error TypeError Message
NotFoundObjectNo object available for the given objectId.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsPermissionsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsPermissionsClient.getSettingsObjectPermissions(
{ objectId: "..." },
);

resolveEffectivePermissions

settingsPermissionsClient.resolveEffectivePermissions(config): Promise<EffectivePermissions>

Get the effective settings permissions of the calling user in the environment

Required scope: settings:schemas:read

Parameters

NameType
config.body*requiredResolutionRequest

Throws

Error TypeError Message
BadRequestInvalidInputFailed. The input is invalid.
ForbiddenNoSchemaAccessFailed. Forbidden. No access to any schema.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsPermissionsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsPermissionsClient.resolveEffectivePermissions(
{
body: {
permissions: [
{
permission: "settings:objects:read",
context: { schemaId: "...", scope: "..." },
},
],
},
},
);

transferSettingsObjectOwnership

settingsPermissionsClient.transferSettingsObjectOwnership(config): Promise<void>

Required scope: settings:objects:write

Change owner of the object, only the owner or the main admin is allowed to transfer the ownership (IAM permission needed).

Parameters

NameTypeDescription
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.body*requiredTransferOwnershipRequest
config.objectId*requiredstringThe ID of the required settings object

Returns

Return typeStatus codeDescription
void204Success.

Throws

Error TypeError Message
NotFoundObjectNo object available for the given objectId.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsPermissionsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsPermissionsClient.transferSettingsObjectOwnership(
{
objectId: "...",
body: { newOwner: { type: "user" } },
},
);

updateSettingsObjectAccessorPermissions

settingsPermissionsClient.updateSettingsObjectAccessorPermissions(config): Promise<void>

Required scope: settings:objects:write

Update the permissions for an existing accessor on this object, anyone with read/write permissions is allowed to update permissions

Parameters

NameTypeDescription
config.accessorId*requiredstringThe user uuid or group uuid of the accessor, depending on the type
config.accessorType*required"user" | "group"The type of the accessor
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.body*requiredUpdatePermissionsRequest
config.objectId*requiredstringThe ID of the required settings object

Returns

Return typeStatus codeDescription
void200Success.

Throws

Error TypeError Message
BadRequestPermissionListInvalidIf permission list is empty, contains unsupported entries or unsupported combinations of entries.
NotFoundObjectOrNoPermissionsNo object available for the given objectId or the accessor doesn't have any permissions on this object.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsPermissionsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsPermissionsClient.updateSettingsObjectAccessorPermissions(
{
objectId: "...",
accessorType: "user",
accessorId: "...",
body: { permissions: {} },
},
);

updateSettingsObjectAllUsersPermissions

settingsPermissionsClient.updateSettingsObjectAllUsersPermissions(config): Promise<void>

Required scope: settings:objects:write

Update the permissions for an existing all-users accessor on this object, anyone with read/write permissions is allowed to update permissions

Parameters

NameTypeDescription
config.adminAccessbooleanIf set to true and user has settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects
config.body*requiredUpdatePermissionsRequest
config.objectId*requiredstringThe ID of the required settings object

Returns

Return typeStatus codeDescription
void200Success.

Throws

Error TypeError Message
BadRequestPermissionListInvalidIf permission list is empty, contains unsupported entries or unsupported combinations of entries.
NotFoundObjectOrAllUsersNoPermissionsNo object available for the given objectId or the all-users accessor doesn't have any permissions on this object.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsPermissionsClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsPermissionsClient.updateSettingsObjectAllUsersPermissions(
{ objectId: "...", body: { permissions: {} } },
);

settingsSchemasClient

import { settingsSchemasClient } from '@dynatrace-sdk/client-settings';

getSchemaDefinition

settingsSchemasClient.getSchemaDefinition(config): Promise<SettingsSchemaDefinition>

Gets parameters of the specified settings schema.

Required scope: settings:schemas:read

Gets parameters of the specified settings schema.

Parameters

NameTypeDescription
config.schemaId*requiredstringThe ID of the required schema.
config.schemaVersionstring

The version of the required schema.

If not set, the most recent version is returned.

Returns

Return typeStatus codeDescription
SettingsSchemaDefinition200Success.

Throws

Error TypeError Message
NotFoundSchemaDoesNotExistFailed. The specified schema doesn't exist.
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsSchemasClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsSchemasClient.getSchemaDefinition({
schemaId: "...",
});

listSchemaDefinitions

settingsSchemasClient.listSchemaDefinitions(config): Promise<SchemaList>

Lists available settings schemas.

Required scope: settings:schemas:read

Lists available settings schemas.

Parameters

NameTypeDescription
config.addFieldsstring

A list of fields to be included in the response. The provided set of fields extends the default set.

Specify the required top-level fields, separated by commas (for example, multiObject,ordered).

Supported fields: schemaId, displayName, latestSchemaVersion, maturity, multiObject, ordered, ownerBasedAccessControl, schemaVersions.

Default fields: schemaId, displayName, latestSchemaVersion.

Returns

Return typeStatus codeDescription
SchemaList200Success.

Throws

Error TypeError Message
TooManyRequestsFailed. Too many requests.
ServiceUnavailableFailed. Service unavailable.
GeneralErrorError.

Code example

import { settingsSchemasClient } from "@dynatrace-sdk/client-settings";

const data =
await settingsSchemasClient.listSchemaDefinitions();

Types

AccessorPermissions

NameType
accessor*requiredIdentity
permissions*requiredPermissionsList

AccessorPermissionsList

NameType
accessors*requiredArray<AccessorPermissions>

BiComparableContainerConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
properties*requiredArray<string>For type in [GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL] exactly two properties are required.
type*required"GREATER_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN" | "LESS_THAN_OR_EQUAL"Type also defines which properties are available.

ByteSizeLimitConstraint

NameTypeDescription
byteLimit*requirednumberFor type = BYTE_SIZE_LIMIT
customMessagestringMessage to be displayed if constraint is violated.
type*required"BYTE_SIZE_LIMIT"Type also defines which properties are available.

ComplexType

NameTypeDescription
constraintsArray<ContainerConstraint>Container validation constraints the type values must fulfill to be persistable.
descriptionstringShort description of what this type is used for. default: ""
displayNamestringDefaults to id in the code-api.
documentationstringAdditional information about the type, explanation of semantics of its values.
properties*requiredComplexTypePropertiesOrder is relevant for UI, not for serialization.
searchPatternstringIf not specified the summaryPattern is used for search.
summaryPatternstringDefaults to empty string. Markdown symbols need to be escaped if they're to be displayed normally. default: ""
type*required"object"Always has to be object for complex types. default: "object"
versionstringSemantic version x.y.z, defaults to 0, has to be increased when properties are added/removed or structurally modified (type, nullable). default: "0"
Pattern: ^\d+(\.\d+)*$
versionInfostringDefaults to empty string. default: ""

ComplexTypeProperties

Order is relevant for UI, not for serialization.

type: Record<string, Property>

ConstraintViolation

Contains information about a constraint violation caused by invalid input.

NameTypeDescription
message*requiredstringThe constraint violation description message
parameterLocation"PATH" | "QUERY" | "HEADER" | "PAYLOAD_BODY"Describes the general location of the violating parameter
pathstringThe path of the parameter that caused the constraint violation

CustomContainerValidationRequest

The request payload for a custom validation of a container.

NameTypeDescription
keystringThe key of the setting being validated.
pathstringThe path of the container being validated.
value*requiredCustomContainerValidationRequestValueThe container value.

CustomContainerValidationRequestValue

The container value.

type: Record<string, any>

CustomDeletionValidatorReferenceConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
customValidatorId*requiredstringFor type = CUSTOM_VALIDATOR_REF
type"CUSTOM_VALIDATOR_REF"Type also defines which properties are available.

CustomPropertyValidationRequest

The request payload for a custom validation of a single property value.

NameTypeDescription
arrayValuenull | Array<any>The property value.
booleanValuenull | booleanThe property value.
floatValuenull | numberThe property value.
intValuenull | numberThe property value.
pathstringThe path of the property being validated.
stringValuestringThe property value.

CustomSchemaValidatorReferenceConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
customValidatorId*requiredstringFor type = CUSTOM_VALIDATOR_REF or MULTI_SCOPE_CUSTOM_VALIDATOR_REF.
skipAsyncValidationbooleanfalse - validate on every change in the UI, true - validate only on save default: false
type*required"CUSTOM_VALIDATOR_REF" | "MULTI_SCOPE_CUSTOM_VALIDATOR_REF"Type also defines which properties are available.

CustomValidatorReferenceConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
customValidatorId*requiredstringFor type = CUSTOM_VALIDATOR_REF.
skipAsyncValidationbooleanfalse - validate on every change in the UI, true - validate only on save default: false
timeoutnumberFor type = CUSTOM_VALIDATOR_REF. Default is 5 s. default: 5
type*required"CUSTOM_VALIDATOR_REF"Type also defines which properties are available.

CustomValidatorReferenceContainerConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
customValidatorId*requiredstringFor type = CUSTOM_VALIDATOR_REF.
skipAsyncValidationbooleanfalse - validate on every change in the UI, true - validate only on save default: false
timeoutnumberFor type = CUSTOM_VALIDATOR_REF. Default is 5 s. default: 5
type*required"CUSTOM_VALIDATOR_REF"Type also defines which properties are available.

Datasource

NameTypeDescription
filterPropertiesArray<string>
fullContextbooleandefault: false
identifier*requiredstring
resetValue"ALWAYS" | "NEVER" | "INVALID_ONLY"Hint to the UI to reset value when one of the filter properties changed default: "NEVER"
useApiSearchbooleanThis should be used for datasources that have scaling amounts of options, or exceptionally many. default: false
validatebooleandefault: true

EffectivePermission

NameType
contextPermissionContext
granted*required"true" | "false" | "condition"
permission*requiredstring

EffectivePermissions

type: Array<EffectivePermission>

EffectiveSettingsValue

An effective settings value.

NameTypeDescription
classicOriginstringThe origin of the settings value in a classic format. Either a scope or default.
modificationInfoModificationInfoModification information about the setting.
originstringThe origin of the settings value. Either a scope or default.
schemaIdstringThe schema on which the object is based.
schemaVersionstringThe version of the schema on which the object is based.
searchSummarystringA searchable summary string of the setting value. Plain text without Markdown.
summarystringA short summary of settings. This can contain Markdown and will be escaped accordingly.
valueSettingsValue

The value of the setting.

It defines the actual values of settings' parameters.

The actual content depends on the object's schema.

EffectiveSettingsValuesList

A list of effective settings values.

NameTypeDescription
errorErrorIncompleteError object for an incomplete response
items*requiredArray<EffectiveSettingsValue>A list of effective settings values.
nextPageKeystring

The cursor for the next page of results. Has the value of null on the last page.

Use it in the page-key query parameter to obtain subsequent pages of the result.

pageSize*requirednumberThe number of entries per page.
totalCount*requirednumberThe total number of entries in the result.
version*requiredstring

The version of the settings objects list for optimistic locking." You can use it to detect simultaneous modifications by different users.

It's generated upon retrieval (GET requests). If set on a followup GET request, it fails if there was a change between these two requests.

EnumType

NameTypeDescription
checkForDuplicateDisplayNamesbooleanShould only be set for enums that are used in combination with a datasource (so that no duplicates are ever displayed). default: true
descriptionstringShort description of what this type is used for. default: ""
displayNamestringDefaults to id in the code-api.
documentationstringAdditional information about the type, explanation of semantics of its values. default: ""
enumClassstringFully-qualified name of the java enum class this enum should be mapped to.
items*requiredArray<EnumValue>Mapping from enum values to displayName.
type*required"enum"Always has to be enum for enum types. default: "enum"

EnumValue

NameTypeDescription
descriptionstringThe human-friendly optional description of the value.
displayName*requiredstringThe human-friendly name of the value.
enumInstancestringReference to an instance of #EnumType/enumClass using Enum::name
iconstringAn optional barista icon that's displayed next to the value.
value*requiredstringPersisted value for the enum item

EqualsPrecondition

NameTypeDescription
expectedValue*requiredstring | number | boolean | DateFor type = EQUALS, type of value should match type of referenced property.
property*requiredstringFor type in [NULL, EQUALS, IN, REGEX_MATCH].
type*required"EQUALS"Type also defines which properties are required.

Error

Standard error response

NameTypeDescription
code*requirednumberThe error code (HTTP response)
detailsErrorDetailsOptional details of the error
message*requiredstringThe error message
retryAfterSecondsnumberNumber of seconds a request can be retried after a 'too many requests' error response.

ErrorDetails

Optional details of the error

NameTypeDescription
constraintViolationsArray<ConstraintViolation>A list of constraint violations of input parameters (path, query, request body)
errorRefstringreference to the error occurrence in the internal self-monitoring, logging, etc.
missingScopesArray<string>In case of a 403 - Forbidden response, a list of missing scopes necessary to successfully execute the request

ErrorIncomplete

Error object for an incomplete response

NameTypeDescription
code*requirednumberThe error code (HTTP response)
detailsErrorDetailsOptional details of the error
message*requiredstringThe error message
retryAfterSecondsnumberNumber of seconds a request can be retried after a 'too many requests' error response.

ErrorResponse

NameTypeDescription
error*requiredErrorStandard error response

Identity

NameTypeDescription
idstringuser id or user group id if type is 'user' or 'group', missing if type is 'all-users'
type*required"user" | "group" | "all-users"

InPrecondition

NameTypeDescription
expectedValues*requiredArray<string | number | boolean | Date>For type = IN, type of values should match type of referenced property.
property*requiredstringFor type in [NULL, EQUALS, IN, REGEX_MATCH].
type*required"IN"Type also defines which properties are required.

Item

NameTypeDescription
constraintsArray<Constraint>Validation constraints the list/set item value must fulfill to be persistable.
datasourceDatasource
descriptionstringShort description of what this list/set item is used for.
displayNamestringThe human-friendly name of the list/set item.
documentationstringAdditional information about the list/set item, explanation of semantics of its values.
metadataMetaData
referencedTypestringMandatory for setting type, otherwise only optionally used in conjunction with subType.
subTypestringOnly in combination with built-in and enum types.
type*requiredstring | RefPointerRef-pointer to ComplexType/EnumType id or enum boolean,integer,float,local_date,local_time,local_date_time,zoned_date_time,time_zone,text,secret,setting

JsonPatch

type: Record<string, Record<string, any>>

LengthConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
maxLengthnumberFor type = LENGTH and string values.
minLengthnumberFor type = LENGTH and string values.
type*required"LENGTH"Type also defines which properties are available.

MetaData

type: Record<string, string>

ModificationInfo

Modification information about the setting.

NameTypeDescription
createdBystringThe unique identifier of the user who created the setting.
createdTimeDateTimestamp when the setting was created in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')
lastModifiedBystringThe unique identifier of the user who performed the most recent modification.
lastModifiedReasonstringThe reason for the most recent modification, if available.
lastModifiedTimeDateTimestamp when the setting was last modified in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')

Modifications

The additional modification details for this settings object.

NameTypeDescription
firstbooleanIf non-moveable settings object is in the first group of non-moveable settings, or in the last (start or end of list).
modifiablePaths*requiredArray<string>Property paths which are modifiable, regardless if the write operation is allowed.
movablebooleanIf settings object can be moved/reordered. Only applicable for ordered list schema.
nonModifiablePaths*requiredArray<string>Property paths which aren't modifiable, even if the write operation is allowed.

NoWhitespaceConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
type*required"NO_WHITESPACE"Type also defines which properties are available.

NotBlankConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
type*required"NOT_BLANK"Type also defines which properties are available.

NotEmptyConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
type*required"NOT_EMPTY"Type also defines which properties are available.

NotPrecondition

NameTypeDescription
precondition*requiredPrecondition
type*required"NOT"Type also defines which properties are required.

NullPrecondition

NameTypeDescription
property*requiredstringFor type in [NULL, EQUALS, IN, REGEX_MATCH].
type*required"NULL"Type also defines which properties are required.

PatternConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
pattern*requiredstringFor type = PATTERN and string values.
type*required"PATTERN"Type also defines which properties are available.

PermissionContext

NameType
schemaId*requiredstring
scope*requiredstring

PermissionsList

type: Array<"r" | "w">

Property

NameTypeDescription
constraintsArray<UniquePropertiesConstraint | Constraint>Validation constraints the property value must fulfill to be persistable.
datasourceDatasource
defaultstring | number | boolean | Array<any> | Date | Record<string | any>Mandatory if nullable = false, can't be set if nullable = true. Can't be empty for enum properties.
descriptionstringShort description of what this property is used for. default: ""
displayName*requiredstringDefaults to id in the code-api.
documentationstringAdditional information about the property, explanation of semantics of its values. default: ""
forceSecretResubmissionbooleanIf true any change to the property value also requires all properties of type secret to be provided default: false
itemsItem
maxObjectsnumberDefaults to 100 for collections and 1 for non-collections. default: 1
metadataMetaData
migrationPatternstring
minObjectsnumberOptional.
modificationPolicy"ALWAYS" | "NEVER" | "DEFAULT"DEFAULT - modifiability of the value is defined by ModificationFlags.isModifiable, ALWAYS/NEVER - the value can be always/never modified. Defaults to DEFAULT. Can't be used on properties inside a collection property. default: "DEFAULT"
nullablebooleanDefaults to false. Can't be true for properties with type list and set. default: false
preconditionPrecondition
referencedTypestringMandatory for setting type, otherwise only optionally used in conjunction with subType.
subTypestringOnly in combination with built-in types.
type*requiredstring | RefPointerRef-pointer to ComplexType/EnumType id or enum list,set,boolean,integer,float,local_date,local_time,local_date_time,zoned_date_time,time_zone,text,secret,setting.

PropertyCountRangeContainerConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
maximumPropertyCountnumberFor type = PROPERTY_COUNT_RANGE.
minimumPropertyCountnumberFor type = PROPERTY_COUNT_RANGE.
properties*requiredArray<string>For type in [for type = PROPERTY_COUNT_RANGE an arbitrary number of properties can be given.
type*required"PROPERTY_COUNT_RANGE"Type also defines which properties are available.

RangeConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
maximumnumberFor type = RANGE and integer and floating-point numeric values.
minimumnumberFor type = RANGE and integer and floating-point numeric values.
type*required"RANGE"Type also defines which properties are available.

RecursivePrecondition

NameTypeDescription
preconditions*requiredArray<Precondition>For type in [AND, OR].
type*required"AND" | "OR"Type also defines which properties are required.

RefPointer

NameType
$ref*requiredstring

ReferentialIntegrityDeletionConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
schemaIds*requiredArray<string>For type = REFERENTIAL_INTEGRITY
type*required"REFERENTIAL_INTEGRITY"Type also defines which properties are available.

RegexConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
disallowDangerousRegexbooleantrue - regex must be safe, false - unsafe regexes are allowed default: false
type*required"REGEX"Type also defines which properties are available.

RegexMatchPrecondition

NameTypeDescription
pattern*requiredstringFor type = REGEX_MATCH, type of value should be string.
property*requiredstringFor type in [NULL, EQUALS, IN, REGEX_MATCH].
type*required"REGEX_MATCH"Type also defines which properties are required.

ReorderObject

NameTypeDescription
objectId*requiredstringThe objectId of the settings object.

ReorderRequest

NameTypeDescription
schemaId*requiredstringThe schema to which the objects belong.
scope*requiredstringThe scope to which the objects belong.
sections*requiredArray<ReorderSection>Defines the reorder operations. Each section defines a contiguous range of objects in the source list that should be reordered. The sections must not overlap. Moving an object from one section to another isn't possible.

ReorderResponse

NameTypeDescription
items*requiredArray<ReorderResponseItemsItem>A list of settings objects after reordering. Only contains the objects that were part of the request.
version*requiredstringThe version of the settings objects list for optimistic locking.

ReorderResponseItemsItem

NameTypeDescription
objectId*requiredstringThe ID of the settings object.
version*requiredstringThe version of the object for optimistic locking.

ReorderSection

NameTypeDescription
firstObjectId*requiredstringThe objectId of the first object of the source list that should be included in this section.
lastObjectId*requiredstringThe objectId of the last object of the source list that should be included in this section.
order*requiredArray<ReorderObject>The new order of objects spanning all objects between firstObject and lastObject inclusive.

ResolutionRequest

NameType
permissions*requiredArray<SinglePermissionRequest>

ResourceContext

The resource context, which contains additional permission information about the object.

NameTypeDescription
modifications*requiredModificationsThe additional modification details for this settings object.
operations*requiredArray<"read" | "write" | "delete">The allowed operations on this settings object.

RevisionDiff

The diff between two revisions.

NameTypeDescription
appIdstringThe id of the app which changed the settings object.
jsonAfterstringThe new value of the changed settings value or null if the value has been deleted.
jsonBeforestringThe previous value of the changed settings value or null if the value has been newly created.
jsonPatchnull | Array<JsonPatch>The JSON Patch for this value. May be null if the diff type isn't UPDATE.
modificationInfo*requiredModificationInfoModification information about the setting.
objectIdstringThe ID of the settings object.
ownerAfterIdentity
ownerBeforeIdentity
revision*requiredstringThe revision of the change.
schemaDisplayNamestringThe display name of the schema to which the revision belongs.
schemaIdstringSchema ID to which the revision belongs.
schemaVersionstringThe schema version the new value complies to.
sourcestringThe source of the change.
summarystringSummary of the object value corresponding to the summary pattern of the schema.
type"CREATE" | "DELETE" | "NO_CHANGE" | "REORDER" | "UPDATE"The type of the difference.

RevisionDiffPage

The paged response payload for diff between revisions of settings.

NameTypeDescription
endTimestringThe 'to' time in ISO Date Time Format from the original request.
itemsArray<RevisionDiff>The list of revisions changes in the current page.
nextPageKeystring

The cursor for the next page of results. Has the value of null on the last page.

Use it in the page-key query parameter to obtain subsequent pages of the result.

pageSizenumberThe number of entries per page.
startTimestringThe 'from' time in ISO Date Time Format from the original request.
totalCount*requirednumberThe total number of entries in the result.

SchemaList

The list of available settings schemas.

NameTypeDescription
items*requiredArray<SchemaStub>A list of settings schemas.
totalCount*requirednumberThe number of schemas in the list.

SchemaStub

The short representation of the settings schema.

NameTypeDescription
displayName*requiredstringThe name of the schema.
latestSchemaVersion*requiredstringThe most recent version of the schema.
maturity"PREVIEW" | "EARLY_ADOPTER" | "GENERAL_AVAILABILITY"The maturity of the schema.
multiObjectbooleanMulti-object flag. True if the schema is a multi-object schema
orderedbooleanOrdered flag. True if the schema is an ordered multi-object schema.
ownerBasedAccessControlbooleanOwner based access control flag. True if the schema has owner based access control enabled.
schemaId*requiredstringThe ID of the schema.
schemaVersionsArray<string>A list of available (GA) versions of the schema.

SecretResubmissionContainerConstraint

NameTypeDescription
checkAllProperties*requiredbooleanEither all properties or only those marked with forceSecretResubmission are considered.
customMessagestringMessage to be displayed if constraint is violated.
type*required"SECRET_RESUBMISSION"Type also defines which properties are available.

SettingsDefaultObject

The default settings object for the given schema.

NameTypeDescription
searchSummarystringA searchable summary string of the object. Plain text without Markdown. Only set if the schema is a multi-object schema.
summarystringA short summary of the object. Only set if the schema is a multi-object schema.
value*requiredSettingsValue

The value of the setting.

It defines the actual values of settings' parameters.

The actual content depends on the object's schema.

SettingsObject

A settings object.

NameTypeDescription
classicScopestringThe classic scope that the object targets. For more details, see Dynatrace Documentation.
externalIdstringThe externalId of the object.
modificationInfoModificationInfoModification information about the setting.
objectId*requiredstringThe ID of the settings object.
ownerIdentity
resourceContextResourceContextThe resource context, which contains additional permission information about the object.
schemaIdstringThe schema on which the object is based.
schemaVersionstringThe version of the schema on which the object is based.
scopestringThe scope that the object targets. For more details, see Dynatrace Documentation.
searchSummarystringA searchable summary string of the setting value. Plain text without Markdown.
summarystringA short summary of settings. This can contain Markdown and will be escaped accordingly.
valueSettingsValue

The value of the setting.

It defines the actual values of settings' parameters.

The actual content depends on the object's schema.

version*requiredstring

The version of the object for optimistic locking. You can use it to detect simultaneous modifications by different users.

It's generated upon retrieval (GET requests). If set on update (PUT request) or deletion, the update/deletion will be allowed only if there wasn't any change between the retrieval and the update.

SettingsObjectCreate

Configuration of a new settings object.

NameTypeDescription
externalIdstringExternal id for upserts.
insertNeighborstringThe position of the new object based on the objectId of the neighbor. Only for insertPosition afterand before
insertPosition"first" | "last" | "after" | "before"
schemaId*requiredstringThe schema on which the object is based.
schemaVersionstringThe version of the schema on which the object is based.
scope*requiredstringThe scope of the settings object.
value*requiredSettingsValue

The value of the setting.

It defines the actual values of settings' parameters.

The actual content depends on the object's schema.

SettingsObjectResponse

The response to a creation request. Only contains the ID and version, not the full object.

NameTypeDescription
objectId*requiredstringThe ID of the created settings object.
version*requiredstring

The version of the object for optimistic locking. You can use it to detect simultaneous modifications by different users.

It's generated upon retrieval (GET requests). If set on update (PUT request) or deletion, the update/deletion will be allowed only if there wasn't any change between the retrieval and the update.

SettingsObjectSummarize

The settings object to summarize.

NameTypeDescription
schemaVersionstringThe version of the schema on which the object is based.
value*requiredSettingsValue

The value of the setting.

It defines the actual values of settings' parameters.

The actual content depends on the object's schema.

SettingsObjectSummary

The summary of the provided settings object according to the schema.

NameTypeDescription
itemsnull | Array<SettingsObjectSummary>The summaries of the items in this property (if this property is a collection).
propertiesSettingsObjectSummaryPropertiesThe summaries of the child properties by their name.
searchSummary*requiredstringA searchable summary string of the setting value. Plain text without Markdown.
summary*requiredstringA short summary of the settings object. This can contain Markdown and will be escaped accordingly.

SettingsObjectSummaryProperties

The summaries of the child properties by their name.

type: Record<string, SettingsObjectSummary>

SettingsObjectUpdate

An update of a settings object.

NameTypeDescription
externalIdstringExternal identifier for the object being updated
insertNeighborstringThe position of the new object based on the objectId of the neighbor. Only for insertPosition afterand before
insertPosition"first" | "last" | "after" | "before"
schemaVersionstringThe version of the schema on which the object is based.
value*requiredSettingsValue

The value of the setting.

It defines the actual values of settings' parameters.

The actual content depends on the object's schema.

SettingsObjectsList

A list of settings objects.

NameTypeDescription
errorErrorIncompleteError object for an incomplete response
items*requiredArray<SettingsObject>A list of settings objects.
nextPageKeystring

The cursor for the next page of results. Has the value of null on the last page.

Use it in the page-key query parameter to obtain subsequent pages of the result.

pageSize*requirednumberThe number of entries per page.
totalCount*requirednumberThe total number of entries in the result.
version*requiredstring

The version of the settings objects list for optimistic locking." You can use it to detect simultaneous modifications by different users.

It's generated upon retrieval (GET requests). If set on reorder, the update will be allowed only if there wasn't any change between the retrieval and the update. If set on a followup GET request, it fails if there was a change between these two requests.

SettingsSchemaDefinition

NameTypeDescription
allowedScopes*requiredArray<string>A list of scopes where the schema can be used.
constraintsArray<ContainerConstraint | SecretResubmissionContainerConstraint>A list of constrains limiting the values to be accepted by the schema.
deletionConstraintsArray<CustomDeletionValidatorReferenceConstraint | ReferentialIntegrityDeletionConstraint>Constraints limiting the values to be deleted.
description*requiredstringA short description of the schema.
displayName*requiredstringThe display name of the schema.
documentationstringAn extended description of the schema and/or links to documentation.
dynatrace*requiredstringThe version of the data format.
enums*requiredSettingsSchemaDefinitionEnumsA list of definitions of enum properties.
keyPropertystringName of the key property in this schema.
maturity"PREVIEW" | "EARLY_ADOPTER" | "GENERAL_AVAILABILITY"

The maturity of the schema. Possible values:

  • PREVIEW: Preview features aren't generally available, but might be available in specific environments as part of early-access programs. These are the most likely to change in incompatible ways.
  • EARLY_ADOPTER: Features marked "early adopter" are available in all environments, but aren't mature enough to warrant the "general availability" designation. We don't expect incompatible changes for these, but be aware, that these aren't fully stable yet and incompatible changes may be necessary in rare cases.
  • GENERAL_AVAILABILITY: Features marked "general availability" are the most stable. While the schemas will still evolve over time, care will be taken to only do so in a backward-compatible manner.

In any case, automations should make use of the schemaVersion field when writing settings objects.

maxObjects*requirednumber

The maximum amount of objects per scope.

Only applicable when multiObject is set to true.

metadataSettingsSchemaDefinitionMetadataMetadata of the setting.
multiObject*requiredbooleanMultiple (true) objects per scope are permitted or a single (false) object per scope is permitted.
orderedboolean

If true the order of objects has semantic significance.

Only applicable when multiObject is set to true.

properties*requiredSettingsSchemaDefinitionPropertiesA list of schema's properties.
schemaConstraintsArray<SchemaConstraint>Constraints limiting the values as a whole to be accepted in this configuration element.
schemaGroupsArray<string>Names of the groups, which the schema belongs to.
schemaId*requiredstringThe ID of the schema.
types*requiredSettingsSchemaDefinitionTypes

A list of definitions of types.

A type is a complex property that contains its own set of subproperties.

version*requiredstringThe version of the schema.

SettingsSchemaDefinitionEnums

A list of definitions of enum properties.

type: Record<string, EnumType>

SettingsSchemaDefinitionMetadata

Metadata of the setting.

type: Record<string, string>

SettingsSchemaDefinitionProperties

A list of schema's properties.

type: Record<string, Property>

SettingsSchemaDefinitionTypes

A list of definitions of types.

A type is a complex property that contains its own set of subproperties.

type: Record<string, ComplexType>

SettingsUpdateResponse

The response to an update request.

NameTypeDescription
version*requiredstring

The version of the object for optimistic locking. You can use it to detect simultaneous modifications by different users.

It's generated upon retrieval (GET requests). If set on update (PUT request) or deletion, the update/deletion will be allowed only if there wasn't any change between the retrieval and the update.

SettingsValue

The value of the setting.

It defines the actual values of settings' parameters.

The actual content depends on the object's schema.

type: Record<string, any>

SinglePermissionRequest

optional generic set of context data

NameType
contextPermissionContext
permission*required"settings:objects:read" | "settings:objects:write" | "settings:objects:admin"

TransferOwnershipRequest

NameType
newOwner*requiredIdentity

TrimmedConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
type*required"TRIMMED"Type also defines which properties are available.

UniqueMultiScopeSchemaPropertiesConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
type*required"MULTI_SCOPE_UNIQUE"Type also defines which properties are available.
uniqueProperties*requiredArray<string>For type = MULTI_SCOPE_UNIQUE

UniquePropertiesConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
type*required"UNIQUE"Type also defines which properties are available.
uniqueProperties*requiredArray<string>For type = UNIQUE.

UniqueSchemaPropertiesConstraint

NameTypeDescription
customMessagestringMessage to be displayed if constraint is violated.
flattenCollectionsbooleanFor type = UNIQUE default: false
type*required"UNIQUE"Type also defines which properties are available.
uniqueProperties*requiredArray<string>For type = UNIQUE

UpdatePermissionsRequest

NameType
permissions*requiredPermissionsList

ValidationResponse

NameType
constraintViolationsArray<ViolationResponse>
messagestring
valid*requiredboolean

ViolationResponse

NameType
messagestring
pathstring

Constraint

type: LengthConstraint | RangeConstraint | NotBlankConstraint | NotEmptyConstraint | TrimmedConstraint | NoWhitespaceConstraint | RegexConstraint | PatternConstraint | CustomValidatorReferenceConstraint

ContainerConstraint

type: BiComparableContainerConstraint | CustomValidatorReferenceContainerConstraint | PropertyCountRangeContainerConstraint

Precondition

type: RecursivePrecondition | NotPrecondition | EqualsPrecondition | InPrecondition | NullPrecondition | RegexMatchPrecondition

SchemaConstraint

type: UniqueSchemaPropertiesConstraint | UniqueMultiScopeSchemaPropertiesConstraint | CustomSchemaValidatorReferenceConstraint | ByteSizeLimitConstraint

Enums

BiComparableContainerConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

GreaterThan | GreaterThanOrEqual | LessThan | LessThanOrEqual

ByteSizeLimitConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

ByteSizeLimit

ComplexTypeType

⚠️ Deprecated Use literal values.

Always has to be object for complex types.

Enum keys

Object

ConstraintViolationParameterLocation

⚠️ Deprecated Use literal values.

Describes the general location of the violating parameter

Enum keys

Header | Path | PayloadBody | Query

CustomDeletionValidatorReferenceConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

CustomValidatorRef

CustomSchemaValidatorReferenceConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

CustomValidatorRef | MultiScopeCustomValidatorRef

CustomValidatorReferenceConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

CustomValidatorRef

CustomValidatorReferenceContainerConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

CustomValidatorRef

DatasourceResetValue

⚠️ Deprecated Use literal values.

Hint to the UI to reset value when one of the filter properties changed

Enum keys

Always | InvalidOnly | Never

EffectivePermissionGranted

⚠️ Deprecated Use literal values.

Enum keys

Condition | False | True

EnumTypeType

⚠️ Deprecated Use literal values.

Always has to be enum for enum types.

Enum keys

Enum

EqualsPreconditionType

⚠️ Deprecated Use literal values.

Type also defines which properties are required.

Enum keys

Equals

GetSettingsObjectAccessorPermissionsPathAccessorType

⚠️ Deprecated Use literal values.

Enum keys

Group | User

IdentityType

⚠️ Deprecated Use literal values.

Enum keys

AllUsers | Group | User

InPreconditionType

⚠️ Deprecated Use literal values.

Type also defines which properties are required.

Enum keys

In

LengthConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

Length

NoWhitespaceConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

NoWhitespace

NotBlankConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

NotBlank

NotEmptyConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

NotEmpty

NotPreconditionType

⚠️ Deprecated Use literal values.

Type also defines which properties are required.

Enum keys

Not

NullPreconditionType

⚠️ Deprecated Use literal values.

Type also defines which properties are required.

Enum keys

Null

PatternConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

Pattern

PermissionsListItem

⚠️ Deprecated Use literal values.

Enum keys

R | W

PropertyCountRangeContainerConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

PropertyCountRange

PropertyModificationPolicy

⚠️ Deprecated Use literal values.

DEFAULT - modifiability of the value is defined by ModificationFlags.isModifiable, ALWAYS/NEVER - the value can be always/never modified. Defaults to DEFAULT. Can't be used on properties inside a collection property.

Enum keys

Always | Default | Never

RangeConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

Range

RecursivePreconditionType

⚠️ Deprecated Use literal values.

Type also defines which properties are required.

Enum keys

And | Or

ReferentialIntegrityDeletionConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

ReferentialIntegrity

RegexConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

Regex

RegexMatchPreconditionType

⚠️ Deprecated Use literal values.

Type also defines which properties are required.

Enum keys

RegexMatch

ResourceContextOperationsItem

⚠️ Deprecated Use literal values.

Enum keys

Delete | Read | Write

RevisionDiffType

⚠️ Deprecated Use literal values.

The type of the difference.

Enum keys

Create | Delete | NoChange | Reorder | Update

SchemaStubMaturity

⚠️ Deprecated Use literal values.

The maturity of the schema.

Enum keys

EarlyAdopter | GeneralAvailability | Preview

SecretResubmissionContainerConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

SecretResubmission

SettingsObjectCreateInsertPosition

⚠️ Deprecated Use literal values.

Enum keys

After | Before | First | Last

SettingsObjectUpdateInsertPosition

⚠️ Deprecated Use literal values.

Enum keys

After | Before | First | Last

SettingsSchemaDefinitionMaturity

⚠️ Deprecated Use literal values.

The maturity of the schema. Possible values:

  • PREVIEW: Preview features aren't generally available, but might be available in specific environments as part of early-access programs. These are the most likely to change in incompatible ways.
  • EARLY_ADOPTER: Features marked "early adopter" are available in all environments, but aren't mature enough to warrant the "general availability" designation. We don't expect incompatible changes for these, but be aware, that these aren't fully stable yet and incompatible changes may be necessary in rare cases.
  • GENERAL_AVAILABILITY: Features marked "general availability" are the most stable. While the schemas will still evolve over time, care will be taken to only do so in a backward-compatible manner.

In any case, automations should make use of the schemaVersion field when writing settings objects.

Enum keys

EarlyAdopter | GeneralAvailability | Preview

SinglePermissionRequestPermission

⚠️ Deprecated Use literal values.

Enum keys

SettingsObjectsAdmin | SettingsObjectsRead | SettingsObjectsWrite

TrimmedConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

Trimmed

UniqueMultiScopeSchemaPropertiesConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

MultiScopeUnique

UniquePropertiesConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

Unique

UniqueSchemaPropertiesConstraintType

⚠️ Deprecated Use literal values.

Type also defines which properties are available.

Enum keys

Unique

Still have questions?
Find answers in the Dynatrace Community