POST /api/dms/objects/{objectId}

As of Versionproduct version 1.0 | component version 1.0
Request MethodPOST
Response FormatJSON
Required Permissionaction write and read
>> Roles and Role Sets
Description

To update the metadata of a DMS object, send the request with the new metadata as request body and the ID of the DMS object as objectId.

If a property is missing in the new metadata, it will be removed from the object. An expection are system properties. Most system properties cannot be updated by users. They are updated automatically by the repository if necessary. If the new metadata contains these system properties, their values must match the values of the current version. This can be used to ensure object consistency in case of overlapping update requests.

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.

To update individual properties, retrieve the current metadata using the GET /api/dms/objects/{objectId} endpoint. In the result, edit only those properties that need to be updated and then post the entire result using this endpoint. Due to the mentioned special behavior of some system properties this update attempt will fail, if another update on this object has happend in the meantime. In this case, at least the property system:versionNumber of the current version would have changed and does not match the system:versionNumber of the request metadata anymore.

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"
			},
			"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": "2018-01-26T15:21:170Z"
			},
			"system:versionNumber": {
				"value": 1
			},
			"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:cc": {
				"value": ["Kruedeas Anger <kruedeas@example.de>",
				"Vils Normum <Normum@example.de>"]
			},
			"appEmail:subject": {
				"value": "Updated Bewerbungsunterlagen"
			},
 			"table": {
                "columnNames": ["iColumn1", "iColumn2", "iColumn3"],
                "value": [["something", "to know", true],["more", "infos", false]]
            }
		},
		"contentStreams": [{
			"contentStreamId": "2B797243-A1F5-11EA-A814-9FABD98CE7A7",
			"length": 173413,
			"mimeType": "message/rfc822",
			"fileName": "upload.eml",
			"digest": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
			"repositoryId": "repo252"
		}]
	}]
}
Result Example

The result is a JSON structure containing the the updated metadata of the 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": "2018-01-29T13:13:113Z"
			},
			"system:versionNumber": {
				"value": 2
			},
			"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:cc": {
				"value": ["Kruedeas Anger <kruedeas@example.de>",
				"Vils Normum <Normum@example.de>"]
			},
			"appEmail:subject": {
				"value": "Updated Bewerbungsunterlagen"
			},
 			"table": {
                "columnNames": ["iColumn1", "iColumn2", "iColumn3"],
                "value": [["something", "to know", true],["more", "infos", false]]
            }
		},
		"contentStreams": [{
			"contentStreamId": "2B797243-A1F5-11EA-A814-9FABD98CE7A7",
			"length": 173413,
			"mimeType": "message/rfc822",
			"fileName": "upload.eml",
			"digest": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
			"repositoryId": "repo252"
		}]
	}]
}