Update a product rule
patch
https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/productCatalogManagement/v1/productRule/{id}
Updates the product rule that matches the specified ID using the supplied request payload.
Request
Path Parameters
-
id(required): string
The ID of the resource item.
Supported Media Types
- application/json
Root Schema : ProductRules
Type:
objectTitle:
ProductRulesDiscriminator: @type
Discriminator Values
The Product Rule resource represents a set of rules and relationships.
Show Source
-
@baseType: string
The base type of the product rule.
-
@schemaLocation: string
The URI of the schema that defines the product rule.
-
@type(required): string
The class type of the product rule.
-
applicationName: string
The name of the application associated with the product rule.
-
created: string
(date-time)
The date and time of creation.
-
createdBy: string
The name of the person who created.
-
customProfileSpec: array
customProfileSpec
A list of custom profile specifications associated with the product rule.
-
description: string
The text description of the product rule.
-
externalId: string
The ID of the external associated with the product rule.
-
href: string
The hyperlink reference to the product rule.
-
id: string
Maximum Length:
30The ID of the product rule. -
lastUpdate: string
(date-time)
The date and time when the product rule was last updated.
-
lastUpdatedBy: string
The name of the person who updated.
-
lifecycleStatus: string
The status of the product rule.
-
name(required): string
The name of the product rule.
-
project: object
ProjectRef
Title:
ProjectRefThe project reference resource. -
ruleCondition: array
ruleCondition
A list of rule conditions associated with the product rule.
-
ruleSubType: string
Allowed Values:
[ { } ]The type or classification of the product rule. Valid values are {}. -
ruleType: string
Allowed Values:
[ "COMPATIBILITY", "ELIGIBILITY", "MIGRATION", "RECOMMENDATION", "CONSTRAINT" ]The type or classification of the product rule. Valid values are COMPATIBILITY, ELIGIBILITY, MIGRATION, RECOMMENDATION, and CONSTRAINT. -
scope: string
Allowed Values:
[ "ALL", "BUNDLE", "PACKAGE" ]The scope associated with the product rule. Valid values are ALL, BUNDLE, and PACKAGE. -
subject: object
SubjectRef
Title:
SubjectRefThe subject reference resource. -
version: string
The version value associated with the product rule.
-
versionState: number
The version state of the product rule.
Nested Schema : customProfileSpec
Type:
arrayA list of custom profile specifications associated with the product rule.
Show Source
-
Array of:
object CustomProfileSpecRefOracle
Title:
CustomProfileSpecRefOracleThe custom Profile specification reference.
Nested Schema : ProjectRef
Type:
objectTitle:
ProjectRefThe project reference resource.
Show Source
-
href: string
The hyperlink reference to the project reference.
-
id(required): string
The ID of the project reference.
-
name: string
The name of the project reference.
-
version: string
The version of the project.
Nested Schema : ruleCondition
Type:
arrayA list of rule conditions associated with the product rule.
Show Source
-
Array of:
object RuleConditionOracle
Title:
RuleConditionOracleThe rule condition resource.
Nested Schema : SubjectRef
Type:
objectTitle:
SubjectRefThe subject reference resource.
Show Source
-
@baseType: string
The base type of the subject reference.
-
@referredType(required): string
The actual type of the target instance when needed for disambiguation.
-
entityPathExpression: string
The path that represents the hierarchy of the component product offering within the product offering. It includes the offer ID and associated parents, such as package ID, bundled product offering ID, and atomic offer ID, and helps identify the subject entity in the runtime system.
-
href: string
The hyperlink reference to the subject reference.
-
id(required): string
The ID of the subject reference.
-
name: string
The name of the subject reference.
-
version: string
The version of the subject.
Nested Schema : CustomProfileSpecRefOracle
Type:
objectTitle:
CustomProfileSpecRefOracleThe custom Profile specification reference.
Show Source
-
@baseType: string
The base type of the custom profile specification reference.
-
@referredType(required): string
The type of the referred custom profile specification reference.
-
@schemaLocation: string
The URI of the schema that defines the custom profile specification reference.
-
@type(required): string
The class type of the custom profile specification reference.
-
href: string
The hyperlink reference to the custom profile specification reference.
-
id(required): string
The ID of the custom profile specification reference.
-
name: string
The name of the custom profile specification reference.
-
version: string
The version of the custom specification.
-
versionState: number
The version state of the reference.
Nested Schema : RuleConditionOracle
Type:
objectTitle:
RuleConditionOracleThe rule condition resource.
Show Source
-
@baseType: string
The base type of the rule condition.
-
@schemaLocation: string
The URI of the schema that defines the rule condition.
-
@type(required): string
The class type of the rule condition.
-
description: string
A string. Description of the product rule.
-
id(required): string
The ID of the rule condition.
-
name: string
The name of the rule condition.
-
productRuleExpression: array
productRuleExpression
A list of product rule expressions associated with the rule condition.
-
productRuleResult: array
productRuleResult
A list of product rule results associated with the rule condition.
-
roundingMethod: string
The rounding applicable to the product rule.
-
stringExpression: string
The metering Expression applicable to the product rule.
-
unitOfMeasure: string
The unit of Measure of Rules.
-
validFor: object
TimePeriodOracle
Title:
TimePeriodOracleThe validity period of the related party.
Nested Schema : productRuleExpression
Type:
arrayA list of product rule expressions associated with the rule condition.
Show Source
-
Array of:
object Discriminator: @type
Discriminator:
{ "propertyName":"@type", "mapping":{ "RuleExpressionOracle":"#/components/schemas/RuleExpressionOracle", "EntityRuleExpressionOracle":"#/components/schemas/EntityRuleExpressionOracle", "EligibilityRuleExpressionOracle":"#/components/schemas/EligibilityRuleExpressionOracle" } }
Nested Schema : productRuleResult
Type:
arrayA list of product rule results associated with the rule condition.
Show Source
-
Array of:
object Discriminator: @type
Discriminator:
{ "propertyName":"@type", "mapping":{ "RuleResultOracle":"#/components/schemas/RuleResultOracle", "RecommendationRuleResultOracle":"#/components/schemas/RecommendationRuleResultOracle", "MigrationRuleResultOracle":"#/components/schemas/MigrationRuleResultOracle" } }
Nested Schema : TimePeriodOracle
Type:
objectTitle:
TimePeriodOracleThe validity period of the related party.
Show Source
-
endDateTime: string
(date-time)
The end date and time of the time period.
-
startDateTime: string
(date-time)
The start date and time of the time period.
Nested Schema : Discriminator: @type
Type:
objectDiscriminator: @type
Discriminator Values
Nested Schema : Discriminator: @type
Type:
objectDiscriminator: @type
Discriminator Values
Response
Supported Media Types
- application/json
200 Response
The product rule was updated successfully.
Root Schema : ProductRules
Type:
objectTitle:
ProductRulesDiscriminator: @type
Discriminator Values
The Product Rule resource represents a set of rules and relationships.
Show Source
-
@baseType: string
The base type of the product rule.
-
@schemaLocation: string
The URI of the schema that defines the product rule.
-
@type(required): string
The class type of the product rule.
-
applicationName: string
The name of the application associated with the product rule.
-
created: string
(date-time)
The date and time of creation.
-
createdBy: string
The name of the person who created.
-
customProfileSpec: array
customProfileSpec
A list of custom profile specifications associated with the product rule.
-
description: string
The text description of the product rule.
-
externalId: string
The ID of the external associated with the product rule.
-
href: string
The hyperlink reference to the product rule.
-
id: string
Maximum Length:
30The ID of the product rule. -
lastUpdate: string
(date-time)
The date and time when the product rule was last updated.
-
lastUpdatedBy: string
The name of the person who updated.
-
lifecycleStatus: string
The status of the product rule.
-
name(required): string
The name of the product rule.
-
project: object
ProjectRef
Title:
ProjectRefThe project reference resource. -
ruleCondition: array
ruleCondition
A list of rule conditions associated with the product rule.
-
ruleSubType: string
Allowed Values:
[ { } ]The type or classification of the product rule. Valid values are {}. -
ruleType: string
Allowed Values:
[ "COMPATIBILITY", "ELIGIBILITY", "MIGRATION", "RECOMMENDATION", "CONSTRAINT" ]The type or classification of the product rule. Valid values are COMPATIBILITY, ELIGIBILITY, MIGRATION, RECOMMENDATION, and CONSTRAINT. -
scope: string
Allowed Values:
[ "ALL", "BUNDLE", "PACKAGE" ]The scope associated with the product rule. Valid values are ALL, BUNDLE, and PACKAGE. -
subject: object
SubjectRef
Title:
SubjectRefThe subject reference resource. -
version: string
The version value associated with the product rule.
-
versionState: number
The version state of the product rule.
Nested Schema : customProfileSpec
Type:
arrayA list of custom profile specifications associated with the product rule.
Show Source
-
Array of:
object CustomProfileSpecRefOracle
Title:
CustomProfileSpecRefOracleThe custom Profile specification reference.
Nested Schema : ProjectRef
Type:
objectTitle:
ProjectRefThe project reference resource.
Show Source
-
href: string
The hyperlink reference to the project reference.
-
id(required): string
The ID of the project reference.
-
name: string
The name of the project reference.
-
version: string
The version of the project.
Nested Schema : ruleCondition
Type:
arrayA list of rule conditions associated with the product rule.
Show Source
-
Array of:
object RuleConditionOracle
Title:
RuleConditionOracleThe rule condition resource.
Nested Schema : SubjectRef
Type:
objectTitle:
SubjectRefThe subject reference resource.
Show Source
-
@baseType: string
The base type of the subject reference.
-
@referredType(required): string
The actual type of the target instance when needed for disambiguation.
-
entityPathExpression: string
The path that represents the hierarchy of the component product offering within the product offering. It includes the offer ID and associated parents, such as package ID, bundled product offering ID, and atomic offer ID, and helps identify the subject entity in the runtime system.
-
href: string
The hyperlink reference to the subject reference.
-
id(required): string
The ID of the subject reference.
-
name: string
The name of the subject reference.
-
version: string
The version of the subject.
Nested Schema : CustomProfileSpecRefOracle
Type:
objectTitle:
CustomProfileSpecRefOracleThe custom Profile specification reference.
Show Source
-
@baseType: string
The base type of the custom profile specification reference.
-
@referredType(required): string
The type of the referred custom profile specification reference.
-
@schemaLocation: string
The URI of the schema that defines the custom profile specification reference.
-
@type(required): string
The class type of the custom profile specification reference.
-
href: string
The hyperlink reference to the custom profile specification reference.
-
id(required): string
The ID of the custom profile specification reference.
-
name: string
The name of the custom profile specification reference.
-
version: string
The version of the custom specification.
-
versionState: number
The version state of the reference.
Nested Schema : RuleConditionOracle
Type:
objectTitle:
RuleConditionOracleThe rule condition resource.
Show Source
-
@baseType: string
The base type of the rule condition.
-
@schemaLocation: string
The URI of the schema that defines the rule condition.
-
@type(required): string
The class type of the rule condition.
-
description: string
A string. Description of the product rule.
-
id(required): string
The ID of the rule condition.
-
name: string
The name of the rule condition.
-
productRuleExpression: array
productRuleExpression
A list of product rule expressions associated with the rule condition.
-
productRuleResult: array
productRuleResult
A list of product rule results associated with the rule condition.
-
roundingMethod: string
The rounding applicable to the product rule.
-
stringExpression: string
The metering Expression applicable to the product rule.
-
unitOfMeasure: string
The unit of Measure of Rules.
-
validFor: object
TimePeriodOracle
Title:
TimePeriodOracleThe validity period of the related party.
Nested Schema : productRuleExpression
Type:
arrayA list of product rule expressions associated with the rule condition.
Show Source
-
Array of:
object Discriminator: @type
Discriminator:
{ "propertyName":"@type", "mapping":{ "RuleExpressionOracle":"#/components/schemas/RuleExpressionOracle", "EntityRuleExpressionOracle":"#/components/schemas/EntityRuleExpressionOracle", "EligibilityRuleExpressionOracle":"#/components/schemas/EligibilityRuleExpressionOracle" } }
Nested Schema : productRuleResult
Type:
arrayA list of product rule results associated with the rule condition.
Show Source
-
Array of:
object Discriminator: @type
Discriminator:
{ "propertyName":"@type", "mapping":{ "RuleResultOracle":"#/components/schemas/RuleResultOracle", "RecommendationRuleResultOracle":"#/components/schemas/RecommendationRuleResultOracle", "MigrationRuleResultOracle":"#/components/schemas/MigrationRuleResultOracle" } }
Nested Schema : TimePeriodOracle
Type:
objectTitle:
TimePeriodOracleThe validity period of the related party.
Show Source
-
endDateTime: string
(date-time)
The end date and time of the time period.
-
startDateTime: string
(date-time)
The start date and time of the time period.
Nested Schema : Discriminator: @type
Type:
objectDiscriminator: @type
Discriminator Values
Nested Schema : Discriminator: @type
Type:
objectDiscriminator: @type
Discriminator Values
400 Response
Your request couldn't be processed because it contains missing or invalid information, such as a validation error on an input field, a missing required value, and so forth.
Root Schema : Error
Type:
objectTitle:
ErrorThe error resource.
Show Source
-
@schemaLocation: string
The URI of the schema that defines the error.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list).
-
message: string
The text that provides more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
The text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
The URL pointing to documentation describing the error.
-
status: string
The status of the error.
401 Response
Your request isn't authorized. The authentication credentials included with this request are missing or invalid.
Root Schema : Error
Type:
objectTitle:
ErrorThe error resource.
Show Source
-
@schemaLocation: string
The URI of the schema that defines the error.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list).
-
message: string
The text that provides more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
The text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
The URL pointing to documentation describing the error.
-
status: string
The status of the error.
404 Response
The resource with the specified URI couldn't be found.
Root Schema : Error
Type:
objectTitle:
ErrorThe error resource.
Show Source
-
@schemaLocation: string
The URI of the schema that defines the error.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list).
-
message: string
The text that provides more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
The text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
The URL pointing to documentation describing the error.
-
status: string
The status of the error.
405 Response
HTTP action specified in the request (DELETE, GET, POST, PUT) isn't supported for this request URI.
Root Schema : Error
Type:
objectTitle:
ErrorThe error resource.
Show Source
-
@schemaLocation: string
The URI of the schema that defines the error.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list).
-
message: string
The text that provides more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
The text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
The URL pointing to documentation describing the error.
-
status: string
The status of the error.
500 Response
The server encountered something unexpected that prevented it from completing the request.
Root Schema : Error
Type:
objectTitle:
ErrorThe error resource.
Show Source
-
@schemaLocation: string
The URI of the schema that defines the error.
-
@type: string
The class type of a REST resource.
-
code(required): string
Application related code (as defined in the API or from a common list).
-
message: string
The text that provides more details and corrective actions related to the error. This can be shown to a client user.
-
reason(required): string
The text that explains the reason for error. This can be shown to a client user.
-
referenceError: string
The URL pointing to documentation describing the error.
-
status: string
The status of the error.
Examples
The following example shows how to update a product rule by submitting a patch request on the REST resource using cURL.
cURL Command
curl -u username:password -X PATCH https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/v1/productRule/{id} \
-H 'Content-Type: application/json' -D @update_productrule.json | json_pp
Example of Request Body
The following shows an example of the request body in JSON format.
{
"description" : "Compatibility Rule for Sleek Protective Mustang 11 Max Case",
"validFor": {
"startDateTime": "2024-08-09T00:00:00.000Z",
"endDateTime": "2028-08-09T00:00:00.000Z"
}
}
Example of Response Body
The following shows an example of the response body in JSON format.
{
"id": "RULE-CP-4055990588-17296789138",
"name": "Sleek Protective Mustang 11 Max CR",
"href": "https://{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/productCatalogManagement/v1/productRule/RULE-CP-4055990588-17296789138",
"lifecycleStatus": "In design",
"ruleType": "COMPATIBILITY",
"@type": "ProductRuleOracle",
"created": "2025-02-17T12:01:50.000Z",
"createdBy": "booth",
"lastUpdate": "2025-02-17T12:01:50.098Z",
"lastUpdatedBy": "booth",
"version": "1.0",
"versionState": 0,
"description" : "Compatibility Rule for Sleek Protective Mustang 11 Max Case",
"validFor": {
"startDateTime": "2024-08-09T00:00:00.000Z",
"endDateTime": "2028-08-09T00:00:00.000Z"
},
"project": {
"id": "DBE_RI_Mob_ProdModel_PSP",
"name": "DBE RI Mobile Product Model",
"href": "{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/productCatalogManagement/v1/project/DBE_RI_Mob_ProdModel_PSP",
"version": "1.0",
"@referredType": "ProjectOracle"
},
"subject": {
"id": "PO-SLK-M11-MAX-CASE",
"name": "Sleek Protective Mustang 11 Max Case",
"href": "{FusionAppsHost}/crmRestApi/atcProductCatalog/11.13.18.05/tmf-api/productCatalogManagement/v5/productOffering/PO-SLK-M11-MAX-CASE",
"@referredType": "ProductOfferingOracle",
"@type": "SubjectRef",
"@baseType": "ProductOfferingOracle"
},
"ruleCondition": [
{
"id": "Condition1",
"name": "Rule condition1",
"description": "Rule condition1",
"stringExpression": "REQUIRES ENTITY(PO-Mustang11Max,ProductOfferingOracle)",
"validFor": {
"startDateTime": "2024-09-03T00:00:00.000Z"
},
"@type": "RuleConditionOracle",
"productRuleExpression": [
{
"id": "REQUIRES_OPERANDNODE1",
"operator": "REQUIRES",
"expressionType": "UNARY",
"@type": "RuleExpressionOracle"
},
{
"id": "OPERANDNODE1",
"expressionType": "ENTITY",
"value": "PO-Mustang11Max",
"@type": "EntityRuleExpressionOracle",
"valueType": "PRODUCT_OFFERING",
"productRuleExpressionRelationship": {
"id": "REQUIRES_OPERANDNODE1",
"name": "RHS of (REQUIRES_OPERANDNODE1)",
"relationshipType": "RIGHT_HAND_SIDE",
"@type": "ProductRuleExprRelationshipOracle"
}
}
]
}
],
"scope": "ALL"
}