Updates an existing data group by its unique identifier.
https://{server-hostname}:8383/endpointdlp/api/data-classification/data-group/data-group-details/{dataGroupId}
EndpointDLP.UPDATECopied!
Authorization: d92d4xxxxxxxxxxxxx15f52
Unique identifier of the data group. Fetch from Get All Data Groups
Data group detail wrapper
Unique identifier of the data group (null for creation, required for update)
Name of the data group (max 30 chars)
Description of the data group (max 250 chars)
Username of the creator (null for creation, populated for update)
Creation timestamp in epoch millis (null for creation, populated for update)
Username of the last modifier (null for creation, populated for update)
Last modification timestamp in epoch millis (null for creation, populated for update)
List of custom rule summary details
Unique identifier of the data rule (null for new rule)
Name of the data rule (max 30 chars)
Number of occurrences threshold
Regex sub-rule details (required when subRuleTypeId=1, else null)
List of regex patterns
List of dictionary words
Fingerprint sub-rule details (required when subRuleTypeId=3, else null)
File details for the fingerprint reference file uploaded via the Upload Reference File API
Name of the reference file as returned by the Upload Reference File API
Server-side path of the reference file as returned by the Upload Reference File API
Keyword sub-rule details (required when subRuleTypeId=2, else null)
Whether keyword matching is case-sensitive
File details for the keyword reference file uploaded via the Upload Reference File API
Name of the reference file as returned by the Upload Reference File API
Server-side path of the reference file as returned by the Upload Reference File API
List of file extensions to scan (null if not applicable)
Sub-rule type identifier (1=Regex, 2=Keyword, 3=Fingerprint)
List of predefined rules with occurrence thresholds
Unique identifier of the predefined data rule
Number of occurrences threshold
curl --request PUT \
--url https://appdomain/endpointdlp/api/data-classification/data-group/data-group-details/{dataGroupId} \
--header 'Accept: application/dataGroupDetail.v1+json' \
--header 'Authorization: d92d4xxxxxxxxxxxxx15f52' \
--header 'Content-Type: application/dataGroupDetail.v1+json' \
--data '{"dataGroupDetail":{"dataGroupId":"602","lastModifiedTime":"1776085156095","creationTime":"1776085156095","lastModifiedUser":"john.doe","dataRuleDetails":[{"dataRuleId":"11","noOfOccurrence":"2"}],"dataGroupDescription":"Updated group for PII rules","dataGroupName":"PII Data Group Updated","createdUser":"john.doe","dataRuleSummaryBeanList":[{"regexSubRuleBean":{"dictionaryWordList":[],"regexValueList":["\\d{3}-\\d{2}-\\d{4}"]},"keywordSubRuleBean":null,"dataRuleId":"1000602","noOfOccurrence":"2","extensionList":null,"dataRuleName":"SSN Detection Rule","fingerprintSubRuleBean":null,"subRuleTypeId":1},{"regexSubRuleBean":null,"keywordSubRuleBean":{"fileDetailBean":{"fileName":"confidential-keywords.txt","fileLocation":"/dlp/refdata/uploads/confidential-keywords.txt"},"caseSensitive":false},"dataRuleId":"1000603","noOfOccurrence":"1","extensionList":null,"dataRuleName":"Confidential Keyword Rule","fingerprintSubRuleBean":null,"subRuleTypeId":2},{"regexSubRuleBean":null,"keywordSubRuleBean":null,"dataRuleId":"1000604","noOfOccurrence":"1","extensionList":null,"dataRuleName":"Source Code Fingerprint Rule","fingerprintSubRuleBean":{"fileDetailBean":{"fileName":"source-code-template.docx","fileLocation":"/dlp/refdata/uploads/source-code-template.docx"}},"subRuleTypeId":3}]}}'Update an existing data group containing one rule of each sub-rule type (regex, keyword, fingerprint). For keyword/fingerprint rules, fileName and fileLocation come from the Upload Reference File API response.
{
"dataGroupDetail": {
"dataGroupId": "602",
"lastModifiedTime": "1776085156095",
"creationTime": "1776085156095",
"lastModifiedUser": "john.doe",
"dataRuleDetails": [
{
"dataRuleId": "11",
"noOfOccurrence": "2"
}
],
"dataGroupDescription": "Updated group for PII rules",
"dataGroupName": "PII Data Group Updated",
"createdUser": "john.doe",
"dataRuleSummaryBeanList": [
{
"regexSubRuleBean": {
"dictionaryWordList": [],
"regexValueList": [
"\\d{3}-\\d{2}-\\d{4}"
]
},
"keywordSubRuleBean": null,
"dataRuleId": "1000602",
"noOfOccurrence": "2",
"extensionList": null,
"dataRuleName": "SSN Detection Rule",
"fingerprintSubRuleBean": null,
"subRuleTypeId": 1
},
{
"regexSubRuleBean": null,
"keywordSubRuleBean": {
"fileDetailBean": {
"fileName": "confidential-keywords.txt",
"fileLocation": "/dlp/refdata/uploads/confidential-keywords.txt"
},
"caseSensitive": false
},
"dataRuleId": "1000603",
"noOfOccurrence": "1",
"extensionList": null,
"dataRuleName": "Confidential Keyword Rule",
"fingerprintSubRuleBean": null,
"subRuleTypeId": 2
},
{
"regexSubRuleBean": null,
"keywordSubRuleBean": null,
"dataRuleId": "1000604",
"noOfOccurrence": "1",
"extensionList": null,
"dataRuleName": "Source Code Fingerprint Rule",
"fingerprintSubRuleBean": {
"fileDetailBean": {
"fileName": "source-code-template.docx",
"fileLocation": "/dlp/refdata/uploads/source-code-template.docx"
}
},
"subRuleTypeId": 3
}
]
}
}
Data group detail wrapper
Unique identifier of the data group
Name of the data group
Description of the data group
Creation timestamp (epoch millis as string)
Username of the creator
User ID of the creator
Associated label identifier
Last modification timestamp (epoch millis as string)
Username of the last modifier
User ID of the last modifier
Customer identifier
List of predefined rules with occurrence thresholds
Unique identifier of the data rule
Number of occurrences threshold
List of custom rule summaries
Name of the data rule
Unique identifier of the data rule
Type of the data rule (1=Predefined, 2=Custom)
Description of the data rule
Number of occurrences threshold
Sub-rule type identifier (1=Regex, 2=Keyword, 3=Fingerprint)
Regex sub-rule details (present when subRuleTypeId=1)
List of regex patterns
List of dictionary words
Keyword sub-rule details (present when subRuleTypeId=2)
Whether keyword matching is case-sensitive
File details for the keyword reference file
Name of the reference file
Server-side path of the reference file
Fingerprint sub-rule details (present when subRuleTypeId=3)
File details for the fingerprint reference file
Name of the reference file
Server-side path of the reference file
List of file extensions to scan
Validation error code. Common value: INTERNAL_ERROR when the new data group/rule name already exists
Validation failure message indicating the duplicate name
Unauthorized error code returned when authentication credentials are missing, expired, or invalid (authentication=required)
Authentication failure reason
Internal error code returned when updating a data group fails
Failure message describing why the data group could not be updated
Successful data group update containing one rule of each sub-rule type (regex, keyword, fingerprint)
{
"dataGroupDetail": {
"dataGroupId": "602",
"createdUserId": "101",
"lastModifiedTime": "1776087387580",
"creationTime": "1776087387580",
"dataGroupDescription": "Updated group for PII rules",
"dataRuleSummaryBeanList": [
{
"regexSubRuleBean": {
"dictionaryWordList": [],
"regexValueList": [
"\\d{3}-\\d{2}-\\d{4}"
]
},
"keywordSubRuleBean": null,
"dataRuleId": "1000602",
"noOfOccurrence": "2",
"dataRuleDescription": null,
"extensionList": null,
"dataRuleName": "SSN Detection Rule",
"dataRuleType": null,
"fingerprintSubRuleBean": null,
"subRuleTypeId": 1
},
{
"regexSubRuleBean": null,
"keywordSubRuleBean": {
"fileDetailBean": {
"fileName": "confidential-keywords.txt",
"fileLocation": "/dlp/refdata/uploads/confidential-keywords.txt"
},
"caseSensitive": false
},
"dataRuleId": "1000603",
"noOfOccurrence": "1",
"dataRuleDescription": null,
"extensionList": null,
"dataRuleName": "Confidential Keyword Rule",
"dataRuleType": null,
"fingerprintSubRuleBean": null,
"subRuleTypeId": 2
},
{
"regexSubRuleBean": null,
"keywordSubRuleBean": null,
"dataRuleId": "1000604",
"noOfOccurrence": "1",
"dataRuleDescription": null,
"extensionList": null,
"dataRuleName": "Source Code Fingerprint Rule",
"dataRuleType": null,
"fingerprintSubRuleBean": {
"fileDetailBean": {
"fileName": "source-code-template.docx",
"fileLocation": "/dlp/refdata/uploads/source-code-template.docx"
}
},
"subRuleTypeId": 3
}
],
"labelId": "0",
"lastModifiedUserId": "101",
"customerId": "5001",
"lastModifiedUser": "john.doe",
"dataRuleDetails": [
{
"dataRuleId": "11",
"noOfOccurrence": "2"
}
],
"dataGroupName": "PII Data Group Updated",
"createdUser": "john.doe"
}
}
Data group name already exists
{
"errorMessage": "This Rule Name already exist",
"errorCode": "INTERNAL_ERROR"
}
User unauthorized
{
"errorMessage": "Unauthorized access",
"errorCode": "UAC_UNAUTHORIZED"
}
Internal server error
{
"errorMessage": "Exception occurred while updating DataGroup",
"errorCode": "INTERNAL_ERROR"
}
![]()
Duration: 1 minute | Threshold: 30 | 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.