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-app-settings-v2

v1.1.3

Published

[![npm](https://img.shields.io/badge/npm-v1.1.3-blue)](https://www.npmjs.com/package/@dynatrace-sdk/client-app-settings-v2/v/1.1.3) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

Readme

@dynatrace-sdk/client-app-settings-v2

npm License

Retrieve, update and manage app settings.

Installation

npm install @dynatrace-sdk/client-app-settings-v2

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.

appSettingsObjectsClient

import { appSettingsObjectsClient } from '@dynatrace-sdk/client-app-settings-v2';

deleteAppSettingsAllUsersPermissionByObjectId

Required scope: app-settings:objects:write Required permission: app-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

| Name | Type | Description | | --- | --- | --- | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.objectId*required|string|The ID of the required settings object |

Returns

| Return type | Status code | Description | |---|---|---| |void|204|success|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|No object available for the given objectId or the all-users accessor doesn't have any permissions on this object| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

const data =
  await appSettingsObjectsClient.deleteAppSettingsAllUsersPermissionByObjectId(
    { objectId: "..." },
  );

deleteAppSettingsObjectByObjectId

Deletes the specified settings object

Required scope: app-settings:objects:write Required permission: app-settings:objects:write

Parameters

| Name | Type | Description | | --- | --- | --- | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.objectId*required|string|The ID of the required settings object | |config.optimisticLockingVersion*required|string|The version of the object for optimistic locking. You can use it to detect simultaneous modifications by different users. It is 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. |

Returns

| Return type | Status code | Description | |---|---|---| |void|204|Success. Response doesn't have a body.|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|Failed. The input is invalid. | Failed. Forbidden. | Failed. The requested resource doesn't exist.| |ConflictingResource|Failed. Conflicting resource.| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

const data =
  await appSettingsObjectsClient.deleteAppSettingsObjectByObjectId(
    { objectId: "...", optimisticLockingVersion: "..." },
  );

deleteAppSettingsPermissionByObjectIdAndAccessorId

Required scope: app-settings:objects:write Required permission: app-settings:objects:write

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

Parameters

| Name | Type | Description | | --- | --- | --- | |config.accessorId*required|string|The user uuid or group uuid of the accessor, depending on the type | |config.accessorType*required|"user" | "group"|The type of the accessor | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.objectId*required|string|The ID of the required settings object |

Returns

| Return type | Status code | Description | |---|---|---| |void|204|success|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|No object available for the given objectId or the accessor doesn't have any permissions on this object| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

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

getAppSettingsAllUsersPermissionByObjectId

Required scope: app-settings:objects:read Required permission: app-settings:objects:read

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

Parameters

| Name | Type | Description | | --- | --- | --- | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.objectId*required|string|The ID of the required settings object |

Returns

| Return type | Status code | Description | |---|---|---| |AppSettingsAccessorPermissions|200|Success|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|No object available for the given objectId or the all-users accessor doesn't have any permissions on this object| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

const data =
  await appSettingsObjectsClient.getAppSettingsAllUsersPermissionByObjectId(
    { objectId: "..." },
  );

getAppSettingsObjectByObjectId

Gets the specified settings object

Required scope: app-settings:objects:read Required permission: app-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

| Name | Type | Description | | --- | --- | --- | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.objectId*required|string|The ID of the required settings object |

Returns

| Return type | Status code | Description | |---|---|---| |AppSettingsObject|200|Success|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|Failed. The input is invalid. | Failed. Forbidden. | No object available for the given objectId| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

const data =
  await appSettingsObjectsClient.getAppSettingsObjectByObjectId(
    { objectId: "..." },
  );

getAppSettingsObjects

Lists persisted settings objects

Required scope: app-settings:objects:read Required permission: app-settings:objects:read

Lists persisted settings objects for selected schemas.

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

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

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

| Name | Type | Description | | --- | --- | --- | |config.addFields|string|A list of fields to be included to 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, schemaId, schemaVersion, modificationInfo, resourceContext, value, owner. Default fields: objectId, version. | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.filter|string|The filter parameter, as explained here. Filtering 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 = 'Notebooks') 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.pageKey|string|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.pageSize|number|The amount of settings objects in a single response payload. If set to 0, all available settings objects will be included in the response (not allowed if filter or sort parameter is referencing value). The maximal allowed page size is 500. If not set, 100 is used. | |config.schemaId|string|Schema ID to which the requested objects belong. To load the first page, when the nextPageKey is not set, this parameter is required. | |config.sort|string|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 type | Status code | Description | |---|---|---| |AppSettingsObjectsList|200|Success. Uses chunked encoding.

Even if a response returns a successful response code it is 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 Type | Error Message | |---|---| |ErrorResponseError|Failed. The input is invalid. | Failed. Forbidden. | Failed. The specified schema was not found.| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

const data =
  await appSettingsObjectsClient.getAppSettingsObjects();

getAppSettingsPermissionByObjectIdAndAccessorId

Required scope: app-settings:objects:read Required permission: app-settings:objects:read

Get current permissions of the accessor on this object

Parameters

| Name | Type | Description | | --- | --- | --- | |config.accessorId*required|string|The user uuid or group uuid of the accessor, depending on the type | |config.accessorType*required|"user" | "group"|The type of the accessor | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.objectId*required|string|The ID of the required settings object |

Returns

| Return type | Status code | Description | |---|---|---| |AppSettingsAccessorPermissions|200|Success|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|No object available for the given objectId or the accessor doesn't have any permissions on this object| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

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

getAppSettingsPermissionsByObjectId

Required scope: app-settings:objects:read Required permission: app-settings:objects:read

Get current permissions on this object

Parameters

| Name | Type | Description | | --- | --- | --- | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.objectId*required|string|The ID of the required settings object |

Returns

| Return type | Status code | Description | |---|---|---| |AppSettingsAccessorPermissionsList|200|Success|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|No object available for the given objectId| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

const data =
  await appSettingsObjectsClient.getAppSettingsPermissionsByObjectId(
    { objectId: "..." },
  );

getEffectiveAppSettingsValues

Lists effective settings values

Required scope: app-settings:objects:read Required permission: app-settings:objects:read

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

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

| Name | Type | Description | | --- | --- | --- | |config.addFields|string|A list of fields to be included to the response. The provided set of fields extends the default set. Specify the required top-level fields, separated by commas (for example, summary,schemaId). Supported fields: summary, searchSummary, schemaId, schemaVersion, modificationInfo, value. Default fields: value. | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.pageKey|string|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.pageSize|number|The amount of settings objects in a single response payload. If set to 0, all available settings objects will be included in the response. The maximal allowed page size is 500. If not set, 100 is used. | |config.schemaId|string|Schema ID to which the requested objects belong. Only considered on load of the first page, when the nextPageKey is not set. |

Returns

| Return type | Status code | Description | |---|---|---| |EffectiveAppSettingsValuesList|200|Success. Uses chunked encoding.

Even if a response returns a successful response code it is 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 Type | Error Message | |---|---| |ErrorResponseError|Failed. The input is invalid. | Failed. The specified schema is not found.| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

const data =
  await appSettingsObjectsClient.getEffectiveAppSettingsValues();

postAppSettingsObject

Creates a new settings object

Required scope: app-settings:objects:write Required permission: app-settings:objects:write

Creates a new settings object.

Parameters

| Name | Type | Description | | --- | --- | --- | |config.body*required|AppSettingsObjectCreate| | |config.validateOnly|boolean|If true, the request runs only validation of the submitted settings objects, without saving them. |

Returns

| Return type | Status code | Description | |---|---|---| |void|200|Success. No validation errors.| |AppSettingsObjectResponse|201|Created|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|Failed. The input is invalid. | Failed. Forbidden. | Failed. The requested resource doesn't exist.| |ConflictingResource|Failed. Conflicting resource.| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

const data =
  await appSettingsObjectsClient.postAppSettingsObject({
    body: { schemaId: "jira-connection", value: {} },
  });

postAppSettingsOwnershipByObjectId

Required scope: app-settings:objects:write Required permission: app-settings:objects:write

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

Parameters

| Name | Type | Description | | --- | --- | --- | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.body*required|AppSettingsTransferOwnershipRequest| | |config.objectId*required|string|The ID of the required settings object |

Returns

| Return type | Status code | Description | |---|---|---| |void|204|Success|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|No object available for the given objectId| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

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

postAppSettingsPermissionByObjectId

Required scope: app-settings:objects:write Required permission: app-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

| Name | Type | Description | | --- | --- | --- | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.body*required|AppSettingsAccessorPermissions| | |config.objectId*required|string|The ID of the required settings object |

Returns

| Return type | Status code | Description | |---|---|---| |AppSettingsAccessorPermissions|201|Success|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|if accessor id already exists | No object available for the given objectId| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

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

putAppSettingsAllUsersPermissionByObjectId

Required scope: app-settings:objects:write Required permission: app-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

| Name | Type | Description | | --- | --- | --- | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.body*required|AppSettingsUpdatePermissionsRequest| | |config.objectId*required|string|The ID of the required settings object |

Returns

| Return type | Status code | Description | |---|---|---| |void|200|success|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|if permission list is empty, contains unsupported entries or unsupported combinations of entries | No object available for the given objectId or the all-users accessor doesn't have any permissions on this object| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

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

putAppSettingsObjectByObjectId

Updates an existing settings object

Required scope: app-settings:objects:write Required permission: app-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

| Name | Type | Description | | --- | --- | --- | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.body*required|AppSettingsObjectUpdate| | |config.objectId*required|string|The ID of the required settings object | |config.optimisticLockingVersion*required|string|The version of the object for optimistic locking. You can use it to detect simultaneous modifications by different users. It is 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. |

Returns

| Return type | Status code | Description | |---|---|---| |AppSettingsUpdateResponse|200|Success|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|Failed. The input is invalid. | Failed. Forbidden. | Failed. The requested resource doesn't exist.| |ConflictingResource|Failed. Conflicting resource.| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

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

putAppSettingsPermissionByObjectIdAndAccessorId

Required scope: app-settings:objects:write Required permission: app-settings:objects:write

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

Parameters

| Name | Type | Description | | --- | --- | --- | |config.accessorId*required|string|The user uuid or group uuid of the accessor, depending on the type | |config.accessorType*required|"user" | "group"|The type of the accessor | |config.adminAccess|boolean|If set to true and user has app-settings:objects:admin permission, the endpoint will act as if the user is the owner of all objects | |config.body*required|AppSettingsUpdatePermissionsRequest| | |config.objectId*required|string|The ID of the required settings object |

Returns

| Return type | Status code | Description | |---|---|---| |void|200|success|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|if permission list is empty, contains unsupported entries or unsupported combinations of entries | No object available for the given objectId or the accessor doesn't have any permissions on this object| |TooManyRequests|Failed. Too many requests.| |ServiceUnavailable|Failed. Service unavailable.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

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

resolveEffectivePermissions

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

Required scope: app-settings:objects:read or app-settings:objects:write Required permission: app-settings:objects:read or app-settings:objects:write

Parameters

| Name | Type | | --- | --- | |config.body*required|ResolutionRequest|

Throws

| Error Type | Error Message | |---|---| |ErrorResponseError|Failed. The input is invalid. | Failed. Forbidden. No access to any schema.| |GeneralError|Error.|

import { appSettingsObjectsClient } from "@dynatrace-sdk/client-app-settings-v2";

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

Types

AppSettingsAccessorPermissions

| Name | Type | | --- | --- | |accessor*required|Identity| |permissions*required|AppSettingsPermissionsList|

AppSettingsAccessorPermissionsList

| Name | Type | | --- | --- | |accessors*required|Array<AppSettingsAccessorPermissions>|

AppSettingsObject

A settings object.

| Name | Type | Description | | --- | --- | --- | |modificationInfo|ModificationInfo|Modification information about the setting. | |objectId*required|string|The ID of the settings object. | |owner|Identity| | |resourceContext|ResourceContext|The resource context, which contains additional permission information about the object. | |schemaId|string|The schema on which the object is based. | |schemaVersion|string|The version of the schema on which the object is based. | |searchSummary|string|A searchable summary string of the setting value. Plain text without Markdown. | |summary|string|A short summary of settings. This can contain Markdown and will be escaped accordingly. | |value|AppSettingsValueRaw|The value of the setting. It defines the actual values of settings' parameters. The actual content depends on the object's schema. | |version*required|string|The version of the object for optimistic locking. You can use it to detect simultaneous modifications by different users. It is 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. |

AppSettingsObjectCreate

Configuration of a new settings object.

| Name | Type | Description | | --- | --- | --- | |insertAfter|string|The position of the new object. The new object will be added after the specified one. If null, the new object will be placed in the last position. If set to empty string, the new object will be placed in the first position. Only applicable for objects based on schemas with ordered objects (schema's ordered parameter is set to true). | |schemaId*required|string|The schema on which the object is based. | |value*required|AppSettingsValue|The value of the setting. It defines the actual values of settings' parameters. The actual content depends on the object's schema. |

AppSettingsObjectResponse

The response to a creation request.

| Name | Type | Description | | --- | --- | --- | |objectId*required|string|The ID of the created settings object. | |version*required|string|The version of the object for optimistic locking. You can use it to detect simultaneous modifications by different users. It is 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. |

AppSettingsObjectUpdate

An update of a settings object.

| Name | Type | Description | | --- | --- | --- | |insertAfter|string|The position of the updated object. The new object will be moved behind the specified one. insertAfter and insertBefore are evaluated together and only one of both can be set. If null and insertBefore 'null', the existing object keeps the current position. If set to empty string, the updated object will be placed in the first position. Only applicable for objects based on schemas with ordered objects (schema's ordered parameter is set to true). | |insertBefore|string|The position of the updated object. The new object will be moved in front of the specified one. insertAfter and insertBefore are evaluated together and only one of both can be set. If null and insertAfter 'null', the existing object keeps the current position. If set to empty string, the updated object will be placed in the last position. Only applicable for objects based on schemas with ordered objects (schema's ordered parameter is set to true). | |value*required|AppSettingsValue|The value of the setting. It defines the actual values of settings' parameters. The actual content depends on the object's schema. |

AppSettingsObjectsList

A list of settings objects.

| Name | Type | Description | | --- | --- | --- | |error|ErrorIncomplete|Error object for an incomplete response | |items*required|Array<AppSettingsObject>|A list of settings objects. | |nextPageKey|string|The cursor for the next page of results. Has the value of null on the last page. Use it in the nextPageKey query parameter to obtain subsequent pages of the result. | |pageSize*required|number|The number of entries per page. | |totalCount*required|number|The total number of entries in the result. |

AppSettingsPermissionsList

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

AppSettingsTransferOwnershipRequest

| Name | Type | | --- | --- | |newOwner|Identity|

AppSettingsUpdatePermissionsRequest

| Name | Type | | --- | --- | |permissions*required|AppSettingsPermissionsList|

AppSettingsUpdateResponse

The response to an update request.

| Name | Type | Description | | --- | --- | --- | |version*required|string|The version of the object for optimistic locking. You can use it to detect simultaneous modifications by different users. It is 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. |

ConstraintViolation

Contains information about a constraint violation caused by invalid input.

| Name | Type | Description | | --- | --- | --- | |message*required|string|The constraint violation description message | |path|string|The path of the parameter that caused the constraint violation |

EffectiveAppSettingsValue

An effective settings value.

| Name | Type | Description | | --- | --- | --- | |modificationInfo|ModificationInfo|Modification information about the setting. | |schemaId|string|The schema on which the object is based. | |schemaVersion|string|The version of the schema on which the object is based. | |searchSummary|string|A searchable summary string of the setting value. Plain text without Markdown. | |summary|string|A short summary of settings. This can contain Markdown and will be escaped accordingly. | |value|AppSettingsValueRaw|The value of the setting. It defines the actual values of settings' parameters. The actual content depends on the object's schema. |

EffectiveAppSettingsValuesList

A list of effective settings values.

| Name | Type | Description | | --- | --- | --- | |error|ErrorIncomplete|Error object for an incomplete response | |items*required|Array<EffectiveAppSettingsValue>|A list of effective settings values. | |nextPageKey|string|The cursor for the next page of results. Has the value of null on the last page. Use it in the nextPageKey query parameter to obtain subsequent pages of the result. | |pageSize*required|number|The number of entries per page. | |totalCount*required|number|The total number of entries in the result. |

EffectivePermission

| Name | Type | | --- | --- | |context|PermissionContext| |granted*required|"true" | "false" | "condition"| |permission*required|string|

EffectivePermissions

type: Array<EffectivePermission>

Error

Standard error response

| Name | Type | Description | | --- | --- | --- | |code*required|number|The error code (HTTP response) | |details|ErrorDetails|Optional details of the error | |message*required|string|The error code (HTTP response) | |retryAfterSeconds|number|Number of seconds a request can be retried after a 'too many requests' error response. |

ErrorDetails

Optional details of the error

| Name | Type | Description | | --- | --- | --- | |constraintViolations|Array<ConstraintViolation>|A list of constraint violations of input parameters (path, query, request body) | |errorRef|string|reference to the error occurrence in the internal self-monitoring, logging, etc. | |missingScopes|Array<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

| Name | Type | Description | | --- | --- | --- | |code*required|number|The error code (HTTP response) | |details|ErrorDetails|Optional details of the error | |message*required|string|The error message | |retryAfterSeconds|number|Number of seconds a request can be retried after a 'too many requests' error response. |

ErrorResponse

| Name | Type | Description | | --- | --- | --- | |error*required|Error|Standard error response |

Identity

| Name | Type | Description | | --- | --- | --- | |id|string|user id or user group id if type is 'user' or 'group', missing if type is 'all-users' | |type*required|"user" | "group" | "all-users"| |

ModificationInfo

Modification information about the setting.

| Name | Type | Description | | --- | --- | --- | |createdBy|string|The unique identifier of the user who created the setting. | |createdTime|Date|Timestamp when the setting was created in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z') | |lastModifiedBy|string|The unique identifier of the user who performed the most recent modification. | |lastModifiedTime|Date|Timestamp 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.

| Name | Type | Description | | --- | --- | --- | |first|boolean|If non-moveable settings object is in the first group of non-moveable settings, or in the last (start or end of list). | |modifiablePaths*required|Array<string>|Property paths which are modifiable, regardless if the write operation is allowed. | |movable|boolean|If settings object can be moved/reordered. Only applicable for ordered list schema. | |nonModifiablePaths*required|Array<string>|Property paths which are not modifiable, even if the write operation is allowed. |

PermissionContext

| Name | Type | | --- | --- | |schemaId*required|string|

ResolutionRequest

| Name | Type | | --- | --- | |permissions*required|Array<SinglePermissionRequest>|

ResourceContext

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

| Name | Type | Description | | --- | --- | --- | |modifications*required|Modifications|The additional modification details for this settings object. | |operations*required|Array<"read" | "write" | "delete">|The allowed operations on this settings object. |

SinglePermissionRequest

optional generic set of context data

| Name | Type | | --- | --- | |context|PermissionContext| |permission*required|"app-settings:objects:read" | "app-settings:objects:write" | "app-settings:objects:admin"|

Enums

AppSettingsPermissionsListItem

Enum keys

R | W

EffectivePermissionGranted

Enum keys

Condition | False | True

GetAppSettingsPermissionByObjectIdAndAccessorIdPathAccessorType

Enum keys

Group | User

IdentityType

Enum keys

AllUsers | Group | User

ResourceContextOperationsItem

Enum keys

Delete | Read | Write

SinglePermissionRequestPermission

Enum keys

AppSettingsObjectsAdmin | AppSettingsObjectsRead | AppSettingsObjectsWrite