v6.0
put
/ec-rule-designer-svc/rest/v6.0/rule/studies/{studyId}/{mode}/bulkupdate
Version 6.0 updates multiple rules in a single transaction. Compared to version 5.0 it enables the performance-optimized execution path controlled by ENABLE_PERF_IMPROVEMENT while maintaining compatibility with existing payload validation.
Request
Path Parameters
-
mode(required): string
Study mode determines the data segment being managed. Allowed values: design (draft configuration workspace), test (UAT sandbox), training (sandbox for practice data), production (live subject data).Example:
test -
studyId(required): string(uuid)
Unique study identifier supplied as a UUID. Accepts either a compact 32-character hexadecimal value or a hyphenated 36-character UUID.Example:
123E4567E89B12D3A456426655440000
Supported Media Types
- application/json
Root Schema : schema
Type:
objectBulkUpdateRulesDTO with list of rules to be updated for the given rule action and operands.
Show Source
-
rules: array
rules
Collection of rules to update. Each entry must include identifiers, operands, actions, and the target state.
Nested Schema : rules
Type:
arrayCollection of rules to update. Each entry must include identifiers, operands, actions, and the target state.
Show Source
-
Array of:
object UpdateRuleDTOV6
UpdateRuleDTO with list of rules and its operands.
Example:
[
{
"ruleId":"82A65F8F6AAF47FFB177662E3931E7C0",
"ruleRefName":"VISIT_WINDOW_RULE",
"ruleExpression":"return visitDate >= baselineDate;",
"ruleJSExpression":"return visitDate >= baselineDate;",
"studyVersion":"26.2.0.0",
"ruleEnabled":1,
"ruleDeleted":0,
"ruleVersionNumber":101,
"ruleDescription":"Blocks visits dated before baseline",
"ruleName":"Visit Date Validation",
"ruleState":"draft",
"ruleValidationStatus":"true",
"ruleValidationMessage":"Successfully validated on 2026-03-30",
"async":0,
"ruleOriginalType":"user rule",
"isLibrary":false,
"actions":[
{
"eventId":"9B4AA96F48344015A259D6436EB97B47",
"eventRefName":"SCREENING",
"formId":"39903D6C042D4D9E89773160488E6D3D",
"formRefName":"VISIT_START",
"itemId":"2F4F4E67E0CE4BE0BB9544D2CD38A569",
"itemRefName":"VISIT_DATE",
"ruleActionTypeName":"auto query",
"ruleActionOrder":1,
"ruleActionDescription":"Raise a query when visit date is invalid",
"ruleActionParams":"queryMessage=Confirm visit date",
"propertyType":"visit",
"propertyName":"visitStartDate"
}
],
"operands":[
{
"eventId":"9B4AA96F48344015A259D6436EB97B47",
"eventRefName":"SCREENING",
"eventInstanceNumber":0,
"formId":"39903D6C042D4D9E89773160488E6D3D",
"formRefName":"VISIT_START",
"itemId":"2F4F4E67E0CE4BE0BB9544D2CD38A569",
"itemRefName":"VISIT_DATE",
"operandName":"visitDate",
"dataType":"Date",
"propertyType":"visit",
"propertyName":"visitStartDate"
}
]
}
]Nested Schema : UpdateRuleDTOV6
Type:
objectUpdateRuleDTO with list of rules and its operands.
Show Source
-
actions: array
actions
Actions associated with the rule that include property metadata (introduced in v5.0).
-
async: integer
(int32)
Minimum Value:
0Maximum Value:1Execution mode. `0` runs synchronously; `1` queues asynchronous execution.Example:0 -
isLibrary: boolean
Determines if rules belongs to libraryExample:
true -
operands: array
operands
Extended operand definitions that allow referencing additional study objects introduced in v6.0.
-
ruleDeleted: integer
(int32)
Minimum Value:
0Maximum Value:1Deletion flag. `1` indicates the rule is marked as deleted.Example:0 -
ruleDescription: string
Maximum Length:
512Business description that helps authors understand the rule.Example:Validates visit date is not before baseline. -
ruleEnabled: integer
(int32)
Minimum Value:
0Maximum Value:1Rule enabled flag. `1` marks the rule as enabled; `0` keeps it disabled.Example:1 -
ruleExpression: string
Minimum Length:
1Maximum Length:4000Human-readable expression that defines the rule logic.Example:AgeInYears(SMARTITEM_DOB, visitDate) -
ruleId: string
(uuid)
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-Fa-f]{32}$Unique identifier of the rule in 32-character hexadecimal format. -
ruleJSExpression: string
Maximum Length:
8000Internal JavaScript representation of the rule.Example:function evaluate(){ return visitDate >= baselineDate; } -
ruleName: string
Minimum Length:
3Maximum Length:128Display name presented in the Rule Designer UI.Example:Visit Date Validation -
ruleOriginalType: string
Minimum Length:
3Maximum Length:64Allowed Values:[ "user rule", "smart object age", "ui_notification" ]Indicates where the rule was authored. `user rule` originates in the Rule Designer UI, `smart object age` refers to the legacy Smart Object rule, and `ui_notification` is produced by the notification builder.Example:user rule -
ruleRefName: string
Minimum Length:
3Maximum Length:128Technical reference name of the rule.Example:RULE_SMART_AGE -
ruleState: string
Minimum Length:
4Maximum Length:8Allowed Values:[ "draft", "uat", "approved", "publish" ]Lifecycle state of the rule.Example:draft -
ruleValidationMessage: string
Maximum Length:
512Details about the most recent validation attempt.Example:Rule validated successfully on 2026-03-30. -
ruleValidationStatus: string
Minimum Length:
4Maximum Length:5Allowed Values:[ "true", "false" ]Indicates whether the last validation run succeeded (`true`) or failed (`false`).Example:true -
ruleVersionNumber: integer
(int32)
Minimum Value:
0Maximum Value:9999Monotonic version assigned to the rule definition.Example:101 -
studyVersion: string
Minimum Length:
1Maximum Length:32Pattern:^[0-9]+(\.[0-9]+){1,3}$Semantic version of the study configuration that owns this rule.Example:26.2.0.0
Nested Schema : actions
Type:
arrayActions associated with the rule that include property metadata (introduced in v5.0).
Show Source
-
Array of:
object RuleActionDTOV5
Title:
RuleActionDTOV5Information about action for rule V5
Example:
[
{
"eventId":"9B4AA96F48344015A259D6436EB97B47",
"formId":"39903D6C042D4D9E89773160488E6D3D",
"itemId":"2F4F4E67E0CE4BE0BB9544D2CD38A569",
"ruleActionTypeName":"notification",
"ruleActionOrder":1,
"ruleActionDescription":"Notify site users when data is missing",
"ruleActionParams":"subject=Missing data;message=Please review",
"propertyType":"item",
"propertyName":"VISIT_COMMENT"
}
]Nested Schema : operands
Type:
arrayExtended operand definitions that allow referencing additional study objects introduced in v6.0.
Show Source
Example:
[
{
"eventId":"9B4AA96F48344015A259D6436EB97B47",
"eventRefName":"SCREENING",
"formId":"39903D6C042D4D9E89773160488E6D3D",
"formRefName":"VISIT_START",
"itemId":"2F4F4E67E0CE4BE0BB9544D2CD38A569",
"itemRefName":"VISIT_DATE",
"operandName":"visitDate",
"dataType":"Date",
"propertyType":"visit",
"propertyName":"visitStartDate"
}
]Nested Schema : RuleActionDTOV5
Type:
objectTitle:
RuleActionDTOV5Information about action for rule V5
Show Source
-
eventId(required): string
(uuid)
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-Fa-f]{32}$Identifier of the visit/event that hosts the action. -
eventRefName: string
Minimum Length:
1Maximum Length:64Reference name for the visit/event.Example:SCREENING -
formId(required): string
(uuid)
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-Fa-f]{32}$Identifier of the form impacted by the action. -
formRefName: string
Minimum Length:
1Maximum Length:64Reference name for the form.Example:VISIT_START -
itemId(required): string
(uuid)
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-Fa-f]{32}$Identifier of the item updated or queried by the action. -
itemRefName: string
Minimum Length:
1Maximum Length:64Reference name for the item.Example:VISIT_DATE -
propertyName: string
-
propertyType: string
-
ruleActionDescription: string
Minimum Length:
1Maximum Length:512Optional description that explains the action to administrators.Example:Raise a query when visit date is invalid. -
ruleActionOrder: integer
(int32)
Minimum Value:
0Maximum Value:9999Sequence in which this action should execute after the rule triggers. Provide a non-negative integer.Example:1 -
ruleActionParams: string
Minimum Length:
1Maximum Length:1024Optional key/value parameters applied to the action.Example:queryMessage=Confirm visit date -
ruleActionTypeName: string
Minimum Length:
6Maximum Length:21Allowed Values:[ "calculated values", "auto query", "assigned query", "generic calculations", "notification" ]Type of action executed when the rule fires. Allowed values: `calculated values`, `auto query`, `assigned query`, `generic calculations`, or `notification`.Example:auto query
Example:
{
"eventId":"9B4AA96F48344015A259D6436EB97B47",
"formId":"39903D6C042D4D9E89773160488E6D3D",
"itemId":"2F4F4E67E0CE4BE0BB9544D2CD38A569",
"propertyType":"item",
"propertyName":"VISIT_DATE"
}Nested Schema : RuleOperandDTOV2
Type:
Show Source
object-
(Optional)eventInstanceNumber: integer
(int32)
Minimum Value:
0Maximum Value:999Sequence number of the repeating event instance. Provide a non-negative integer; omit when not applicable.Example:0 -
dataType: string
Minimum Length:
4Maximum Length:7Allowed Values:[ "Date", "Number", "Boolean", "Text", "Choice" ]Data type of the operand value. Allowed values: `Date`, `Number`, `Boolean`, `Text`, or `Choice`.Example:Date -
eventId(required): string
(uuid)
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-Fa-f]{32}$Identifier of the visit/event providing operand context. -
eventRefName: string
Minimum Length:
1Maximum Length:64Reference name for the visit/event supplying the operand.Example:SCREENING -
formId(required): string
(uuid)
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-Fa-f]{32}$Identifier of the form that supplies the operand value. -
formRefName: string
Minimum Length:
1Maximum Length:64Reference name for the form that hosts the operand.Example:VISIT_START -
itemId(required): string
(uuid)
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-Fa-f]{32}$Identifier of the item referenced by the operand. -
itemRefName: string
Minimum Length:
1Maximum Length:64Reference name for the item.Example:VISIT_DATE -
mapRelation: string
Operand which defines map relation or notExample:
N/Y -
operandName(required): string
Minimum Length:
1Maximum Length:128Name of the operand as referenced in the rule expression.Example:visitDate -
propertyName: string
Minimum Length:
1Maximum Length:128Name of the study object property targeted by the operand.Example:visitStartDate -
propertyType: string
Minimum Length:
5Maximum Length:5Allowed Values:[ "visit" ]Type of study object property mapped to the operand. Allowed value: `visit`.Example:visit
Examples
Back to Top
Response
Supported Media Types
- application/json
200 Response
Bulk rule update was successful.
Root Schema : RDSRestUnifiedResponseDTO
Type:
objectUnified response entry returned when bulk operations process multiple rules.
Show Source
-
error: object
RDSRestErrorDataDTO
Standard error structure returned by Rule Designer APIs.
-
httpErrorCode: integer
(int32)
Minimum Value:
100Maximum Value:599HTTP status code representing the operation result for this rule.Example:200 -
httpErrorMessage: string
Minimum Length:
2Maximum Length:64Status text associated with the HTTP code.Example:Success -
jobId: string
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-F]{32}$Identifier of the asynchronous job triggered by the bulk action. Represented as a 32 character uppercase hexadecimal string without separators.Example:123E4567E89B12D3A456426655440001 -
jobStatus: string
Minimum Length:
4Maximum Length:16Allowed Values:[ "Success", "Failed", "Error", "InProgress", "Queued" ]Execution state of the job for this rule. `Success` indicates completion, `Failed` signals a validation problem, `Error` represents an unexpected exception, `InProgress` denotes active processing, and `Queued` means the job awaits execution.Example:Success -
result: object
RDSRestResponseDTO
Response from Rule Designer APIs
-
ruleId: string
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-F]{32}$Identifier of the rule that was processed. The value is provided as a 32 character uppercase hexadecimal string without separators.Example:8E2253D8E53A4A46BAE3E4952CBE9E5A -
ruleName: string
Minimum Length:
3Maximum Length:256Display name of the rule.Example:Out of Range Visit Date -
ruleValidationMessage: string
Minimum Length:
1Maximum Length:512Validation outcome message generated while processing the rule.Example:Rule updated successfully. -
ruleValidationStatus: boolean
Allowed Values:
[ true, false ]`true` indicates that validation succeeded for the rule, while `false` captures warnings or errors.Example:true
Nested Schema : RDSRestErrorDataDTO
Type:
objectStandard error structure returned by Rule Designer APIs.
Show Source
-
details: object
details
Read Only:
trueOptional diagnostic information when available. -
errorCode: string
Read Only:
trueMinimum Length:3Maximum Length:64Application specific error identifier.Example:RuleSvc-030 -
errorMessage: string
Read Only:
trueMinimum Length:10Maximum Length:512Human-readable summary explaining the error.Example:Error encountered during rule execution. Contact your system administrator. -
result: string
Read Only:
trueMinimum Length:4Maximum Length:4Successful payload content when available; remains null for error responses.Example:null -
status: string
Read Only:
trueMinimum Length:6Maximum Length:6Allowed Values:[ "failed" ]Overall outcome indicator. `failed` means the request could not be fulfilled.Example:failed
Example:
{
"status":"failed",
"result":null,
"errorCode":"RuleSvc-030",
"errorMessage":"Error encountered during rule execution.",
"details":null
}Nested Schema : RDSRestResponseDTO
Type:
objectResponse from Rule Designer APIs
Show Source
-
result: object
result
Read Only:
trueMaximum Number of Properties:2000Result payload when the request succeeds. Structure depends on the endpoint. -
status: string
Read Only:
trueMinimum Length:6Maximum Length:7Allowed Values:[ "success", "failed" ]Overall outcome for the call. Allowed values: success, failed.Example:success
Example:
{
"status":"success",
"result":{
"message":"Rule updated successfully."
}
}Nested Schema : details
Type:
objectRead Only:
trueOptional diagnostic information when available.
Example:
Validation failed for ruleId 8E2253D8E53A4A46BAE3E4952CBE9E5A.Nested Schema : result
Type:
objectRead Only:
trueMaximum Number of Properties:
2000Result payload when the request succeeds. Structure depends on the endpoint.
Example:
{
"rules":[
]
}Examples
400 Response
Returned when the request payload is missing required fields, supplies invalid identifiers, or otherwise fails validation.
Root Schema : RDSRestUnifiedResponseDTO
Type:
objectUnified response entry returned when bulk operations process multiple rules.
Show Source
-
error: object
RDSRestErrorDataDTO
Standard error structure returned by Rule Designer APIs.
-
httpErrorCode: integer
(int32)
Minimum Value:
100Maximum Value:599HTTP status code representing the operation result for this rule.Example:200 -
httpErrorMessage: string
Minimum Length:
2Maximum Length:64Status text associated with the HTTP code.Example:Success -
jobId: string
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-F]{32}$Identifier of the asynchronous job triggered by the bulk action. Represented as a 32 character uppercase hexadecimal string without separators.Example:123E4567E89B12D3A456426655440001 -
jobStatus: string
Minimum Length:
4Maximum Length:16Allowed Values:[ "Success", "Failed", "Error", "InProgress", "Queued" ]Execution state of the job for this rule. `Success` indicates completion, `Failed` signals a validation problem, `Error` represents an unexpected exception, `InProgress` denotes active processing, and `Queued` means the job awaits execution.Example:Success -
result: object
RDSRestResponseDTO
Response from Rule Designer APIs
-
ruleId: string
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-F]{32}$Identifier of the rule that was processed. The value is provided as a 32 character uppercase hexadecimal string without separators.Example:8E2253D8E53A4A46BAE3E4952CBE9E5A -
ruleName: string
Minimum Length:
3Maximum Length:256Display name of the rule.Example:Out of Range Visit Date -
ruleValidationMessage: string
Minimum Length:
1Maximum Length:512Validation outcome message generated while processing the rule.Example:Rule updated successfully. -
ruleValidationStatus: boolean
Allowed Values:
[ true, false ]`true` indicates that validation succeeded for the rule, while `false` captures warnings or errors.Example:true
Nested Schema : RDSRestErrorDataDTO
Type:
objectStandard error structure returned by Rule Designer APIs.
Show Source
-
details: object
details
Read Only:
trueOptional diagnostic information when available. -
errorCode: string
Read Only:
trueMinimum Length:3Maximum Length:64Application specific error identifier.Example:RuleSvc-030 -
errorMessage: string
Read Only:
trueMinimum Length:10Maximum Length:512Human-readable summary explaining the error.Example:Error encountered during rule execution. Contact your system administrator. -
result: string
Read Only:
trueMinimum Length:4Maximum Length:4Successful payload content when available; remains null for error responses.Example:null -
status: string
Read Only:
trueMinimum Length:6Maximum Length:6Allowed Values:[ "failed" ]Overall outcome indicator. `failed` means the request could not be fulfilled.Example:failed
Example:
{
"status":"failed",
"result":null,
"errorCode":"RuleSvc-030",
"errorMessage":"Error encountered during rule execution.",
"details":null
}Nested Schema : RDSRestResponseDTO
Type:
objectResponse from Rule Designer APIs
Show Source
-
result: object
result
Read Only:
trueMaximum Number of Properties:2000Result payload when the request succeeds. Structure depends on the endpoint. -
status: string
Read Only:
trueMinimum Length:6Maximum Length:7Allowed Values:[ "success", "failed" ]Overall outcome for the call. Allowed values: success, failed.Example:success
Example:
{
"status":"success",
"result":{
"message":"Rule updated successfully."
}
}Nested Schema : details
Type:
objectRead Only:
trueOptional diagnostic information when available.
Example:
Validation failed for ruleId 8E2253D8E53A4A46BAE3E4952CBE9E5A.Nested Schema : result
Type:
objectRead Only:
trueMaximum Number of Properties:
2000Result payload when the request succeeds. Structure depends on the endpoint.
Example:
{
"rules":[
]
}Examples
500 Response
Returned when the service encounters an unexpected server-side error while processing the request.
Root Schema : RDSRestUnifiedResponseDTO
Type:
objectUnified response entry returned when bulk operations process multiple rules.
Show Source
-
error: object
RDSRestErrorDataDTO
Standard error structure returned by Rule Designer APIs.
-
httpErrorCode: integer
(int32)
Minimum Value:
100Maximum Value:599HTTP status code representing the operation result for this rule.Example:200 -
httpErrorMessage: string
Minimum Length:
2Maximum Length:64Status text associated with the HTTP code.Example:Success -
jobId: string
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-F]{32}$Identifier of the asynchronous job triggered by the bulk action. Represented as a 32 character uppercase hexadecimal string without separators.Example:123E4567E89B12D3A456426655440001 -
jobStatus: string
Minimum Length:
4Maximum Length:16Allowed Values:[ "Success", "Failed", "Error", "InProgress", "Queued" ]Execution state of the job for this rule. `Success` indicates completion, `Failed` signals a validation problem, `Error` represents an unexpected exception, `InProgress` denotes active processing, and `Queued` means the job awaits execution.Example:Success -
result: object
RDSRestResponseDTO
Response from Rule Designer APIs
-
ruleId: string
Minimum Length:
32Maximum Length:32Pattern:^[0-9A-F]{32}$Identifier of the rule that was processed. The value is provided as a 32 character uppercase hexadecimal string without separators.Example:8E2253D8E53A4A46BAE3E4952CBE9E5A -
ruleName: string
Minimum Length:
3Maximum Length:256Display name of the rule.Example:Out of Range Visit Date -
ruleValidationMessage: string
Minimum Length:
1Maximum Length:512Validation outcome message generated while processing the rule.Example:Rule updated successfully. -
ruleValidationStatus: boolean
Allowed Values:
[ true, false ]`true` indicates that validation succeeded for the rule, while `false` captures warnings or errors.Example:true
Nested Schema : RDSRestErrorDataDTO
Type:
objectStandard error structure returned by Rule Designer APIs.
Show Source
-
details: object
details
Read Only:
trueOptional diagnostic information when available. -
errorCode: string
Read Only:
trueMinimum Length:3Maximum Length:64Application specific error identifier.Example:RuleSvc-030 -
errorMessage: string
Read Only:
trueMinimum Length:10Maximum Length:512Human-readable summary explaining the error.Example:Error encountered during rule execution. Contact your system administrator. -
result: string
Read Only:
trueMinimum Length:4Maximum Length:4Successful payload content when available; remains null for error responses.Example:null -
status: string
Read Only:
trueMinimum Length:6Maximum Length:6Allowed Values:[ "failed" ]Overall outcome indicator. `failed` means the request could not be fulfilled.Example:failed
Example:
{
"status":"failed",
"result":null,
"errorCode":"RuleSvc-030",
"errorMessage":"Error encountered during rule execution.",
"details":null
}Nested Schema : RDSRestResponseDTO
Type:
objectResponse from Rule Designer APIs
Show Source
-
result: object
result
Read Only:
trueMaximum Number of Properties:2000Result payload when the request succeeds. Structure depends on the endpoint. -
status: string
Read Only:
trueMinimum Length:6Maximum Length:7Allowed Values:[ "success", "failed" ]Overall outcome for the call. Allowed values: success, failed.Example:success
Example:
{
"status":"success",
"result":{
"message":"Rule updated successfully."
}
}Nested Schema : details
Type:
objectRead Only:
trueOptional diagnostic information when available.
Example:
Validation failed for ruleId 8E2253D8E53A4A46BAE3E4952CBE9E5A.Nested Schema : result
Type:
objectRead Only:
trueMaximum Number of Properties:
2000Result payload when the request succeeds. Structure depends on the endpoint.
Example:
{
"rules":[
]
}Examples