API changes: ACTION REQUIRED.
properties rule (http://api.3plcentral.com/rels/properties/rule)
Resource:
a rule to execute on a trigger
C# Rel Const:
Rels.PropertySvc.Rule
URI template:
rules/{id}
Obtain URI from:
Get a rule by external ID
Success status: 200; ETag response header supplied; Response is cacheable
Name (* = required) Data Type Description
id * string The external ID of the rule
Unified Rule model following 3W pattern - used for both requests and responses
The rule, or null if not found
Type Description
ReadOnly Property.Models.RuleReadOnly Read-only fields populated by the system
Property.Models.RuleReadOnly Read-only fields that are not updatable by API clients
RuleId int Internal database ID (INT IDENTITY)
id string External identifier from JSON payload - used for external system references
Name string Human-readable rule name
Description string Rule description
Version int Rule version for evolution tracking
Priority int Rule execution priority
CustomerId int? ... Customer ID for customer-specific rules (nullable)
TriggerIdentifier string Trigger identifier that triggers this rule
EventType string Internal standardized event type for rule execution engine (e.g., "OrderComplete"). Mapped from TriggerIdentifier via RuleEventMapper.
AutoPackSignature string Canonicalized signature for auto-pack rules. Format: {CustomerId}-{SKU1}:{QTY1}|{SKU2}:{QTY2} NULL for non-auto-pack rules.
RuleDefinitionReferences Property.Models.RuleDefinitionReferences Rule definition references for targeting and execution
Property.Models.RuleDefinitionReferences Rule definition references for targeting and execution
TargetSystemIdentifier string
TriggerIdentifier string
ApplicationPhaseIdentifier string
DefinitionUrl string
Conditions Object Rule conditions that must be met for execution (JSONLogic format) Can be a JSONLogic object (JObject) or JSON string
Actions List<Property.Models.RuleAction> Actions to execute when conditions are met
Property.Models.RuleAction Actions to execute when rule conditions are met
ActionInstanceId string
ActionTypeIdentifier string
ParameterValues Newtonsoft.Json.Linq.JObject Action parameters as raw JSON. Using preserves all keys (e.g. fieldUpdates, packages) through API round-trip; the old typed POCO dropped unknown properties during deserialization.
Branches List<Property.Models.RuleBranch>
Name string
Conditions List<Property.Models.RuleConditions>
LogicalOperator string
Criteria List<Property.Models.CriterionInstance>
CriterionInstanceId string
ConditionTypeIdentifier string
ParameterValues Property.Models.ParameterValues Parameter values for criteria and actions Contains all possible parameters - unused properties will be null
Field string
Operator string
Value Object
CollectionHandling string
LogicalOperator string
FieldToUpdate string
NewValue Object
HasNotPassed Property.Models.RuleDependencyCheck Rule dependency check configuration Used to check if other rules have passed or not passed
Mode string Mode for checking rules: "any" (default) or "all"
Checks List<string> List of rule IDs to check
HasPassed Property.Models.RuleDependencyCheck Rule dependency check configuration Used to check if other rules have passed or not passed
Mode string Mode for checking rules: "any" (default) or "all"
Checks List<string> List of rule IDs to check
Message string
Level string
NegateResult bool
Update an existing rule by external ID
If-Match request header required; Success status: 200; ETag response header supplied
Name (* = required) Data Type Description
id * string The external ID of the rule to update
Unified Rule model following 3W pattern - used for both requests and responses
The updated rule data
Type Description
ReadOnly Property.Models.RuleReadOnly Read-only fields populated by the system
Property.Models.RuleReadOnly Read-only fields that are not updatable by API clients
RuleId int Internal database ID (INT IDENTITY)
id string External identifier from JSON payload - used for external system references
Name string Human-readable rule name
Description string Rule description
Version int Rule version for evolution tracking
Priority int Rule execution priority
CustomerId int? ... Customer ID for customer-specific rules (nullable)
TriggerIdentifier string Trigger identifier that triggers this rule
EventType string Internal standardized event type for rule execution engine (e.g., "OrderComplete"). Mapped from TriggerIdentifier via RuleEventMapper.
AutoPackSignature string Canonicalized signature for auto-pack rules. Format: {CustomerId}-{SKU1}:{QTY1}|{SKU2}:{QTY2} NULL for non-auto-pack rules.
RuleDefinitionReferences Property.Models.RuleDefinitionReferences Rule definition references for targeting and execution
Property.Models.RuleDefinitionReferences Rule definition references for targeting and execution
TargetSystemIdentifier string
TriggerIdentifier string
ApplicationPhaseIdentifier string
DefinitionUrl string
Conditions Object Rule conditions that must be met for execution (JSONLogic format) Can be a JSONLogic object (JObject) or JSON string
Actions List<Property.Models.RuleAction> Actions to execute when conditions are met
Property.Models.RuleAction Actions to execute when rule conditions are met
ActionInstanceId string
ActionTypeIdentifier string
ParameterValues Newtonsoft.Json.Linq.JObject Action parameters as raw JSON. Using preserves all keys (e.g. fieldUpdates, packages) through API round-trip; the old typed POCO dropped unknown properties during deserialization.
Branches List<Property.Models.RuleBranch>
Name string
Conditions List<Property.Models.RuleConditions>
LogicalOperator string
Criteria List<Property.Models.CriterionInstance>
CriterionInstanceId string
ConditionTypeIdentifier string
ParameterValues Property.Models.ParameterValues Parameter values for criteria and actions Contains all possible parameters - unused properties will be null
Field string
Operator string
Value Object
CollectionHandling string
LogicalOperator string
FieldToUpdate string
NewValue Object
HasNotPassed Property.Models.RuleDependencyCheck Rule dependency check configuration Used to check if other rules have passed or not passed
Mode string Mode for checking rules: "any" (default) or "all"
Checks List<string> List of rule IDs to check
HasPassed Property.Models.RuleDependencyCheck Rule dependency check configuration Used to check if other rules have passed or not passed
Mode string Mode for checking rules: "any" (default) or "all"
Checks List<string> List of rule IDs to check
Message string
Level string
NegateResult bool
Unified Rule model following 3W pattern - used for both requests and responses
The updated rule
Type Description
ReadOnly Property.Models.RuleReadOnly Read-only fields populated by the system
Property.Models.RuleReadOnly Read-only fields that are not updatable by API clients
RuleId int Internal database ID (INT IDENTITY)
id string External identifier from JSON payload - used for external system references
Name string Human-readable rule name
Description string Rule description
Version int Rule version for evolution tracking
Priority int Rule execution priority
CustomerId int? ... Customer ID for customer-specific rules (nullable)
TriggerIdentifier string Trigger identifier that triggers this rule
EventType string Internal standardized event type for rule execution engine (e.g., "OrderComplete"). Mapped from TriggerIdentifier via RuleEventMapper.
AutoPackSignature string Canonicalized signature for auto-pack rules. Format: {CustomerId}-{SKU1}:{QTY1}|{SKU2}:{QTY2} NULL for non-auto-pack rules.
RuleDefinitionReferences Property.Models.RuleDefinitionReferences Rule definition references for targeting and execution
Property.Models.RuleDefinitionReferences Rule definition references for targeting and execution
TargetSystemIdentifier string
TriggerIdentifier string
ApplicationPhaseIdentifier string
DefinitionUrl string
Conditions Object Rule conditions that must be met for execution (JSONLogic format) Can be a JSONLogic object (JObject) or JSON string
Actions List<Property.Models.RuleAction> Actions to execute when conditions are met
Property.Models.RuleAction Actions to execute when rule conditions are met
ActionInstanceId string
ActionTypeIdentifier string
ParameterValues Newtonsoft.Json.Linq.JObject Action parameters as raw JSON. Using preserves all keys (e.g. fieldUpdates, packages) through API round-trip; the old typed POCO dropped unknown properties during deserialization.
Branches List<Property.Models.RuleBranch>
Name string
Conditions List<Property.Models.RuleConditions>
LogicalOperator string
Criteria List<Property.Models.CriterionInstance>
CriterionInstanceId string
ConditionTypeIdentifier string
ParameterValues Property.Models.ParameterValues Parameter values for criteria and actions Contains all possible parameters - unused properties will be null
Field string
Operator string
Value Object
CollectionHandling string
LogicalOperator string
FieldToUpdate string
NewValue Object
HasNotPassed Property.Models.RuleDependencyCheck Rule dependency check configuration Used to check if other rules have passed or not passed
Mode string Mode for checking rules: "any" (default) or "all"
Checks List<string> List of rule IDs to check
HasPassed Property.Models.RuleDependencyCheck Rule dependency check configuration Used to check if other rules have passed or not passed
Mode string Mode for checking rules: "any" (default) or "all"
Checks List<string> List of rule IDs to check
Message string
Level string
NegateResult bool
Delete a rule by external ID
If-Match request header required; Success status: 200
Name (* = required) Data Type Description
id * string The external ID of the rule to delete
Unified Rule model following 3W pattern - used for both requests and responses
The deleted rule
Type Description
ReadOnly Property.Models.RuleReadOnly Read-only fields populated by the system
Property.Models.RuleReadOnly Read-only fields that are not updatable by API clients
RuleId int Internal database ID (INT IDENTITY)
id string External identifier from JSON payload - used for external system references
Name string Human-readable rule name
Description string Rule description
Version int Rule version for evolution tracking
Priority int Rule execution priority
CustomerId int? ... Customer ID for customer-specific rules (nullable)
TriggerIdentifier string Trigger identifier that triggers this rule
EventType string Internal standardized event type for rule execution engine (e.g., "OrderComplete"). Mapped from TriggerIdentifier via RuleEventMapper.
AutoPackSignature string Canonicalized signature for auto-pack rules. Format: {CustomerId}-{SKU1}:{QTY1}|{SKU2}:{QTY2} NULL for non-auto-pack rules.
RuleDefinitionReferences Property.Models.RuleDefinitionReferences Rule definition references for targeting and execution
Property.Models.RuleDefinitionReferences Rule definition references for targeting and execution
TargetSystemIdentifier string
TriggerIdentifier string
ApplicationPhaseIdentifier string
DefinitionUrl string
Conditions Object Rule conditions that must be met for execution (JSONLogic format) Can be a JSONLogic object (JObject) or JSON string
Actions List<Property.Models.RuleAction> Actions to execute when conditions are met
Property.Models.RuleAction Actions to execute when rule conditions are met
ActionInstanceId string
ActionTypeIdentifier string
ParameterValues Newtonsoft.Json.Linq.JObject Action parameters as raw JSON. Using preserves all keys (e.g. fieldUpdates, packages) through API round-trip; the old typed POCO dropped unknown properties during deserialization.
Branches List<Property.Models.RuleBranch>
Name string
Conditions List<Property.Models.RuleConditions>
LogicalOperator string
Criteria List<Property.Models.CriterionInstance>
CriterionInstanceId string
ConditionTypeIdentifier string
ParameterValues Property.Models.ParameterValues Parameter values for criteria and actions Contains all possible parameters - unused properties will be null
Field string
Operator string
Value Object
CollectionHandling string
LogicalOperator string
FieldToUpdate string
NewValue Object
HasNotPassed Property.Models.RuleDependencyCheck Rule dependency check configuration Used to check if other rules have passed or not passed
Mode string Mode for checking rules: "any" (default) or "all"
Checks List<string> List of rule IDs to check
HasPassed Property.Models.RuleDependencyCheck Rule dependency check configuration Used to check if other rules have passed or not passed
Mode string Mode for checking rules: "any" (default) or "all"
Checks List<string> List of rule IDs to check
Message string
Level string
NegateResult bool

This documentation is subject to change, and is updated often and without warning. The models documented may or may not be available to users now or in the future. Use this documentation at your own risk.
Contact api@extensiv.com with any questions about this documentation.