Try it free

Get the history of settings objects

  • Latest Dynatrace
  • Reference
  • Published Oct 13, 2026

Get the revision history of Dynatrace settings objects with the Settings API, based on settings audit logs in Grail, with filtering and sorting.

GETSaaShttps://{your-environment-id}.apps.dynatrace.com/platform/settings/v1/history

Overview

You use this operation to read the revision history of settings objects, based on audit logs that Dynatrace reads from Grail for the settings provider. The schema-ids, scope, and filter query parameters narrow the revisions, and you can sort the results. Typical usage is auditing who changed a setting and when.

Authentication

To execute this request, you need a platform token or OAuth access token with settings:objects:read scope. To learn how to obtain and use it, see Tokens and authentication.

Parameters

ParameterTypeDescriptionInRequired
schema-idsstring

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.

queryOptional
scopestring

Scope to which the requested revisions belong.

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

queryOptional
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 ==.

queryOptional
sortstring

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

  • modificationInfo.lastModifiedTime
queryOptional
add-fieldsstring

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.

queryOptional
page-keystring

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.

queryOptional
page-sizeinteger

The amount of settings objects in a single response payload.

The maximal allowed page size is 5000.

If not set, 100 is used.

queryOptional
admin-accessboolean

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

queryOptional

Response

Response codes

CodeTypeDescription
200RevisionDiffPage

Success.

404--
429--
503--
4XX--
5XX--

Response body objects

The RevisionDiffPage object

The paged response payload for diff between revisions of settings.

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

pageSizeinteger

The number of entries per page.

itemsRevisionDiff[]

The list of revisions changes in the current page.

totalCountinteger

The total number of entries in the result.

startTimestring

The 'from' time in ISO Date Time Format from the original request.

endTimestring

The 'to' time in ISO Date Time Format from the original request.

The RevisionDiff object

The diff between two revisions.

ElementTypeDescription
revisionstring

The revision of the change.

jsonPatchJsonPatch[]

The JSON Patch for this value. May be null if the diff type isn't UPDATE.

jsonAfterstring

The new value of the changed settings value or null if the value has been deleted.

jsonBeforestring

The previous value of the changed settings value or null if the value has been newly created.

objectIdstring

The ID of the settings object.

typestring

The type of the difference.

The element can hold these values
  • CREATE
  • DELETE
  • NO_CHANGE
  • REORDER
  • UPDATE
schemaIdstring

Schema ID to which the revision belongs.

schemaDisplayNamestring

The display name of the schema to which the revision belongs.

schemaVersionstring

The schema version the new value complies to.

summarystring

Summary of the object value corresponding to the summary pattern of the schema.

appIdstring

The id of the app which changed the settings object.

modificationInfoModificationInfo

Modification information about the setting.

sourcestring

The source of the change.

ownerBeforeIdentity-
ownerAfterIdentity-

The JsonPatch object

The ModificationInfo object

Modification information about the setting.

ElementTypeDescription
createdBystring

The unique identifier of the user who created the setting.

createdTimestring

Timestamp when the setting was created in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')

lastModifiedBystring

The unique identifier of the user who performed the most recent modification.

lastModifiedTimestring

Timestamp when the setting was last modified in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')

lastModifiedReasonstring

The reason for the most recent modification, if available.

The Identity object

ElementTypeDescription
typestring-
The element can hold these values
  • user
  • group
  • all-users
idstring

user id or user group id if type is 'user' or 'group', missing if type is 'all-users'

Response body JSON models

{
"nextPageKey": "AQAAABQBAAAABQ==",
"pageSize": 1,
"items": [
{
"revision": "string",
"jsonPatch": [
{}
],
"jsonAfter": "string",
"jsonBefore": "string",
"objectId": "string",
"type": "CREATE",
"schemaId": "string",
"schemaDisplayName": "string",
"schemaVersion": "string",
"summary": "string",
"appId": "string",
"modificationInfo": {
"createdBy": "fab17b7a-2eb2-4c95-b818-743d94be2c30",
"createdTime": "string",
"lastModifiedBy": "fab17b7a-2eb2-4c95-b818-743d94be2c30",
"lastModifiedTime": "string",
"lastModifiedReason": "string"
},
"source": "string",
"ownerBefore": {
"type": "user",
"id": "string"
},
"ownerAfter": {}
}
],
"totalCount": 1,
"startTime": "string",
"endTime": "string"
}
Related tags
Platform APIDynatrace Platform