PATCH /api/dms/objects

As of Versionproduct version 2021 Autumn | component version 2021 Autumn
Request MethodPATCH
Response FormatJSON
Required Permissionaction write and read
>> Roles and Role Sets
Description

Updates metadata in multiple objects specified by ID in the JSON request body.

Each objectId must not be referenced more than once per request body. And each entry in the objects list must contain the system:objectId property with a valid ID.

The number of objects that can be updated via this endpoint is limited to 100.

If even one object could not be updated, the whole request fails.

Changes only those properties that are part of the request body. Properties that are missing in the request body are not changed by the update. A property value can be removed by sending null as the new value.

Most system properties cannot be updated by users. They are updated automatically by the repository if necessary. If the request metadata contains these system properties, their values must match the values of the current version.

For example, you could add the system:versionNumber system property with the value of the current version to the request metadata. Usually, the update attempt will be successful. However, if another update has changed the object in the meantime, which means that the system:versionNumber has been increased, your update attempt will fail.

As of 2022 Autumn, the optional query parameter waitForSearchConsistency can be added to the request URL. If not specified, the default value true is used.

Request HeaderContent-Type: application/json
Request Example

The new metadata is passed in the request body in JSON format.

{
	"objects": [{
		"properties": {
			"system:objectId": {
				"value": "cdc7095f-a5ce-486d-92a7-6d0955d969ee"
			},
			"appEmail:cc": {
				"value": null
			}
		}
	},
	{
		"properties": {
			"system:objectId": {
				"value": "cdc7106f-a5ce-597d-92a7-1d1166d171ee"
			},
			"tenTenant1:department": {
				"value": "dev"
			},
			"tenTenant1:team": {
				"value": "frontend"
			}
		}
	}]
}

Result Example

The result is a JSON structure containing the updated metadata for each object identified by objectId.

{
	"objects": [{
		"properties": {
			"system:objectId": {
				"value": "cdc7095f-a5ce-486d-92a7-6d0955d969ee"
			},
			"system:baseTypeId": {
				"value": "system:document"
			},
			"system:objectTypeId": {
				"value": "appEmail:email"
			},
			"system:createdBy": {
				"value": "0d7fd0be-6a0b-4d3b-933c-25e0c4c5d794"
			},
			"system:creationDate": {
				"value": "2018-01-26T15:21:170Z"
			},
			"system:lastModifiedBy": {
				"value": "0d7fd0be-6a0b-4d3b-933c-25e0c4c5d794"
			},
			"system:lastModificationDate": {
				"value": "2021-03-12T11:53:227Z"
			},
			"system:versionNumber": {
				"value": 3
			},
			"system:tenant": {
				"value": "tenant1"
			},
			"system:traceId": {
				"value": "97a35859dbb4c435"
			},
			"appEmail:from": {
				"value": "Garco Meissler <garco@example.de>"
			},
			"appEmail:to": {
				"value": ["Dudreas Annkel <dudreas@example.de>"]
			},
			"appEmail:subject": {
				"value": "again updated Bewerbungsunterlagen"
			}
		},
		"contentStreams": [{
			"contentStreamId": "2B797243-A1F5-11EA-A814-9FABD98CE7A7",
			"length": 173413,
			"mimeType": "message/rfc822",
			"fileName": "upload.eml",
			"digest": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
			"repositoryId": "repo252"
		}]
	},
	{
		"properties": {
			"system:objectId": {
				"value": ""cdc7106f-a5ce-597d-92a7-1d1166d171ee"
			},
			"system:baseTypeId": {
				"value": "system:document"
			},
			"system:objectTypeId": {
				"value": "tenTenant1:personalfile"
			},
			"system:createdBy": {
				"value": "0d7fd0be-6a0b-4d3b-933c-25e0c4c5d794"
			},
			"system:creationDate": {
				"value": "2021-01-26T15:21:130Z"
			},
			"system:lastModifiedBy": {
				"value": "0d7fd0be-6a0b-4d3b-933c-25e0c4c5d794"
			},
			"system:lastModificationDate": {
				"value": "2021-03-12T11:53:227Z"
			},
			"system:versionNumber": {
				"value": 5
			},
			"system:tenant": {
				"value": "tenant1"
			},
			"system:traceId": {
				"value": "08a46960dbb5c546"
			},
			"tenTenant1:department": {
				"value": "dev"
			},
			"tenTenant1:team": {
				"value": "frontend"
			},
			"tenTenant1:recruitment": {
				"value": "2021-02-01T08:00:000Z"
			}
		}]
}