Skip to main content

Page last updated 09 December 2025

Patching allows parts of entries to be updated using either "JSON Patch", where you provide a set of operations to perform, or "Merge Patch", where you provide a partial entry to be merged.
PATCH/api/management/projects/{projectId}/entries/{entryId}

Parameters

NameParameter typeTypeFormatDescription
projectId(required)pathstring-The project identifier found in the project overview screen of the management console.
entryId(required)querystringuuidThe entry identifier as a 128 bit GUID

Responses

HTTP status codeReasonModel
200SuccessEntry
403ForbiddenError
404Project not foundError
422Validation errorError
500Internal server errorError

Examples

JSON Patch: single field
cURL
curl -X PATCH "http://{your-cms-address}/api/management/projects/website/entries/{entry id}" \
-H "Content-Type: application/json-patch+json" \
-d '[{ "op": "replace", "path": "/description", "value": "Tall" }]'
JSON Patch: multiple fields
cURL
curl -X PATCH "http://{your-cms-address}/api/management/projects/website/entries/{entry id}" \
-H "Content-Type: application/json-patch+json" \
-d '[{ "op": "replace", "path": "/description", "value": "Tall" }, { "op": "replace", "path": "/keywords", "value": ["Tag1", "Tag2"] }]'
JSON Patch: with a test (the patch will fail with a 422 if the description field value is not "Tall")
cURL
curl -X PATCH "http://{your-cms-address}/api/management/projects/website/entries/{entry id}" \
-H "Content-Type: application/json-patch+json" \
-d '[{ "op": "test", "path": "/description", "value": "Tall" }, { "op": "replace", "path": "/description", "value": "Taller" }]'
Merge Patch: single field
cURL
curl -X PATCH "http://{your-cms-address}/api/management/projects/website/entries/{entry id}" \
-H "Content-Type: application/merge-patch+json" \
-d '{"description": "Tall"}'
Merge Patch: multiple fields
cURL
curl -X PATCH "http://{your-cms-address}/api/management/projects/website/entries/{entry id}" \
-H "Content-Type: application/merge-patch+json" \
-d '{"description": "Tall", "keywords": ["Tag1", "Tag2"]}'
Merge Patch: with version number (patch will fail with a 422 if the version number doesn't match)
cURL
curl -X PATCH "http://{your-cms-address}/api/management/projects/website/entries/{entry id}" \
-H "Content-Type: application/merge-patch+json" \
-d '{"description": "Taller", "sys": { "version": { "versionNo": "1.9" }}}'

Remarks

Both patching methods help prevent accidental overwrites from concurrent updates.

JSON Patch supports test operations that let you check the current value of a field before applying a change. This helps avoid updating a field if another user has modified it.
For example, you can test that the description field is "Tall" before replacing it with "Taller". If the test fails, the patch is rejected with a 422 Validation Error.

Merge Patch does not support field-level tests, but you can include a version number to make sure the entry hasn’t changed since it was last retrieved.
To do this, include the version inside the sys.version.versionNo property in your patch body. If the version number doesn’t match the current version of the entry, the patch is rejected with a 422 Validation Error.

For more information on JSON Patch operations, see Microsoft JSON Patch examples.

Still need help?

If you still need help after reading this article, don't hesitate to reach out to the Contensis community on Slack or raise a support ticket to get help from our team.
New support request