Get the revision history of Dynatrace settings objects with the Settings API, based on settings audit logs in Grail, with filtering and sorting.
| GET | SaaS | https://{your-environment-id}.apps.dynatrace.com/platform/settings/v1/history |
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.
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.
| Parameter | Type | Description | In | Required |
|---|---|---|---|---|
| schema-ids | string | 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. | query | Optional |
| scope | string | Scope to which the requested revisions belong. To load the first page, when the page-key isn't set, this parameter is required. | query | Optional |
| filter | string | The filter parameter, as explained here. Nesting and unary operators aren't supported. Filtering is supported on the following fields:
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 | query | Optional |
| sort | string | The sort parameter, as explained here Sorting is supported on the following fields:
| query | Optional |
| add-fields | string | 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. | query | Optional |
| page-key | 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. | query | Optional |
| page-size | integer | The amount of settings objects in a single response payload. The maximal allowed page size is 5000. If not set, 100 is used. | query | Optional |
| admin-access | boolean | 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 | query | Optional |
| Code | Type | Description |
|---|---|---|
| 200 | Revision | Success. |
| 404 | - | - |
| 429 | - | - |
| 503 | - | - |
| 4XX | - | - |
| 5XX | - | - |
RevisionDiffPage objectThe paged response payload for diff between revisions of settings.
| Element | Type | Description |
|---|---|---|
| nextPageKey | string | The cursor for the next page of results. Has the value of Use it in the page-key query parameter to obtain subsequent pages of the result. |
| pageSize | integer | The number of entries per page. |
| items | Revision | The list of revisions changes in the current page. |
| totalCount | integer | The total number of entries in the result. |
| startTime | string | The 'from' time in ISO Date Time Format from the original request. |
| endTime | string | The 'to' time in ISO Date Time Format from the original request. |
RevisionDiff objectThe diff between two revisions.
| Element | Type | Description |
|---|---|---|
| revision | string | The revision of the change. |
| jsonPatch | Json | The JSON Patch for this value. May be null if the diff type isn't UPDATE. |
| jsonAfter | string | The new value of the changed settings value or null if the value has been deleted. |
| jsonBefore | string | The previous value of the changed settings value or null if the value has been newly created. |
| objectId | string | The ID of the settings object. |
| type | string | The type of the difference. The element can hold these values
|
| schemaId | string | Schema ID to which the revision belongs. |
| schemaDisplayName | string | The display name of the schema to which the revision belongs. |
| schemaVersion | string | The schema version the new value complies to. |
| summary | string | Summary of the object value corresponding to the summary pattern of the schema. |
| appId | string | The id of the app which changed the settings object. |
| modificationInfo | Modification | Modification information about the setting. |
| source | string | The source of the change. |
| ownerBefore | Identity | - |
| ownerAfter | Identity | - |
JsonPatch objectModificationInfo objectModification information about the setting.
| Element | Type | Description |
|---|---|---|
| createdBy | string | The unique identifier of the user who created the setting. |
| createdTime | string | 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 | string | Timestamp when the setting was last modified in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |
| lastModifiedReason | string | The reason for the most recent modification, if available. |
Identity object| Element | Type | Description |
|---|---|---|
| type | string | -The element can hold these values
|
| id | string | user id or user group id if type is 'user' or 'group', missing if type is 'all-users' |
{"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"}