Update a custom property by ID when changes are needed to metadata such as name, hint, settings, scopes, teamSites, or domainOfValues for select types; this endpoint should be used after retrieving the current resource with GET to ensure the agent preserves id, tenantId, etag, and timestamp. Use PUT when modifying an existing property, and POST when creating a new one. Typical scenarios include: (1) adjusting domainOfValues for an existing single-select or multi-select property while keeping rules consistent; (2) changing visibility or filter behavior under settings; (3) updating teamSites order or Doc Center visibility. Preconditions: fetch the property with GET, retain id|tenantId|etag|timestamp, and keep propertyType unchanged. If a 409 Conflict occurs (e.g., concurrent update or validation error), the agent should re-GET the resource, reconcile changes, and retry PUT with the latest etag. Example usage: To change domainOfValues for an existing single-select property, first GET /custom-property/v1/customProperties/{id}, modify domainOfValues values and orders, keep existing IDs when possible, then PUT the full body with updated domainOfValues and unchanged propertyType. Example request (truncated): {"kind":"CustomProperty","id":"","tenantId":"","etag":"","name":"Prop-1","propertyType":"single-select","domainOfValues":[{"id":"","value":"AAA","order":1},{"id":"","value":"BBB","order":2}]} Example usage: To change settings for search facets, GET the property, update settings.searchFacetOrder and settings.showInFilter, then PUT the entire resource preserving id|tenantId|etag|timestamp. Example response (truncated): {"kind":"CustomProperty","name":"Prop-1","settings":{"showInFilter":true,"searchFacetOrder":10}, ...}
Body Field Definition
For fields definition, please reference create custom property via POST.
You can simply use the GET the get a body of custom property, modify any relevant fields, then send the body via PUT to update custom property.
Property with same name, should not have the same teamsite. so when update property name, need to ensure no overlapped teamsite with other properties with same name.