modifies the fence policy
put /api/v1/mdm/compliance/{compliance_id}
https://{serverurl}/api/v1/mdm/compliance/{compliance_id}
MDMOnDemand.MDMInventory.UPDATECopied!
Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
Unique identifier of the compliance policy. Obtain from the Add Fence Policy or Get Fence Policies response
Updated name of the compliance (fence) profile
Updated description of the compliance profile
Updated collection of policy objects with rules and actions
Rule details defining the geofence conditions
Name of the compliance rule
Order in which this rule is evaluated
Rule ID of the policy
Collection of criteria determining rule satisfaction/violation
Type of rule criterion (e.g., 2 = Geofence)
Fence ID of the geofence boundary
State determining satisfaction or violation (e.g., 2 = outside fence)
Action details defining responses to rule satisfaction/violation
Action ID of the action
Collection of actions performed on rule satisfaction/violation
Order of execution of the action
Time delay in seconds before executing the action
Type of action (e.g., 1 = Lock device)
Phone number to display on the lost device screen
Message shown on the locked/lost device
PIN to unlock the device after locking
Whether remote alarm is initiated on the device
Whether the device is marked as non-compliant
Array of email recipients notified on rule violation
Email address of the user to alert
Name of the user associated with the email address
Subject line of the alert email/notification
Body of the alert describing the reason for the action
curl --request PUT \
--url https://appdomain/api/v1/mdm/compliance/{compliance_id} \
--header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' \
--header 'content-type: application/json' \
--data '{"policies":[{}],"compliance_name":"GeoFencePolicyUpdated"}'Update fence policy with modified rule and action configuration
{
"policies": [
{
"rule": {
"rule_id": 9007199254741084,
"rule_name": "Tower",
"evaluation_order": 1,
"rule_criterions": [
{
"geo_fence_id": 1,
"rule_criteria_state": 2,
"rule_criteria_type": 2
}
]
},
"action": {
"action_id": 9007199254741084,
"action_attributes": [
{
"lock_message": "Device is lost",
"body_message": "The device is outside its permitted fence.",
"subject": "Warning",
"is_remote_alarm": false,
"is_mark_as_non_compliant": true,
"alert_email_ids": [
{
"user_name": "admin",
"email": "admin@zylker.com"
}
],
"action_attribute_type": 1,
"time_to_execution": 0,
"execution_order": 1
}
]
}
}
],
"description": "Updated Compliance Profile",
"compliance_name": "GeoFencePolicyUpdated"
}
Profile ID of the modified compliance profile
Updated name of the compliance profile
Collection ID of the compliance
ID of the user who modified the policy
Customer ID
Server-side file path of the compliance profile JSON
Server-side file path for the remove compliance profile JSON
Fence policy successfully modified with updated metadata
{
"collection_id": "9007199254741048",
"user_id": "1",
"compliance_file_name_path": "<server_home>/<customer_id>/compliance_profile.json",
"remove_compliance_file_name_path": "<server_home>/<customer_id>/remove_compliance_profile.json",
"customer_id": "1",
"compliance_id": "9007199254741047",
"compliance_name": "GeoFencePolicyUpdated"
}
![]()
Duration: 1 minute | Threshold: 60 | Lock period: 5 minutes
Duration - Time window for the threshold.
Threshold - Number of API calls allowed within the specified duration.
Lock Period - Wait time before consecutive API requests.
© 2026, Zoho Corporation Pvt. Ltd. All Rights Reserved.
© 2026, Zoho Corporation Pvt. Ltd. All Rights Reserved.