{
  "openapi": "3.0.1",
  "info": {
    "title": "Price Rules",
    "version": "9.1.20.0",
    "description": "Create and administer price rules.",
    "x-introduced": "9.1.0.0"
  },
  "servers": [
    {
      "url": "https://{hostname}:{port}/rest/admin/v2",
      "variables": {
        "port": {
          "default": "443",
          "enum": [
            "443",
            "8000"
          ]
        },
        "hostname": {
          "default": "localhost",
          "enum": [
            "localhost",
            "test.hcl.com"
          ]
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Price Rules",
      "description": "Provides RESTful services to manage price rules."
    }
  ],
  "paths": {
    "/price-rules": {
      "get": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Get a collection of price rules in a store.",
        "operationId": "getPriceRules",
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId"
            },
            "x-context-data": "storeId"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The position within the resulting dataset where the query begins returning item records. If the offset is 5, the records that returned begin with the sixth record that matches the query parameters. If the offset is 0, the records that are returned begin with the first record that matches the query parameters.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/recordSetStartNumber"
            },
            "x-entity-path": "dataArea/get/recordSetStartNumber"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/maxItems"
            },
            "x-entity-path": "dataArea/get/maxItems"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceRuleCollection"
                }
              }
            },
            "x-entity-path": "dataArea/priceRule"
          }
        },
        "x-expression-template": "{_wcf.ap=IBM_Admin_Summary}/PriceRule",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "getPriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.GetPriceRuleType"
      },
      "post": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Create a price rule.",
        "operationId": "createPriceRule",
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId",
              "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/externalIdentifier/storeIdentifier/uniqueID"
            },
            "x-context-data": "storeId",
            "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceRule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The operation is successful.",
            "headers": {
              "Location": {
                "description": "The URI of the price rule.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {},
            "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/uniqueID",
            "links": {
              "GetPriceRuleById": {
                "operationRef": "#/paths/~1price-rules{id}/get",
                "parameters": {
                  "id": "$request.body#/id"
                },
                "description": "The `id`value used in the request body can be used as the `id`  parameter in `GET /price-rules/{id}`.\n"
              },
              "DeletePriceRule": {
                "operationRef": "#/paths/~1price-rules{id}/delete",
                "parameters": {
                  "id": "$request.body#/id"
                },
                "description": "The `id`value used in the request body can be used as the The `id` parameter in `DELETE /price-rules/{id}`.\n"
              },
              "UpdatePriceRule": {
                "operationRef": "#/paths/~1price-rules{id}/patch",
                "parameters": {
                  "id": "$request.body#/id"
                },
                "description": "The `id`value used in the request body can be used as the `id` parameter in `PATCH /price-rules/{id}`.\n"
              },
              "GetPriceRuleByNameOrDescription": {
                "operationRef": "#/paths/~1price-rules~1by-name-or-description/get",
                "parameters": {
                  "storeId ": "$request.query.storeId ",
                  "searchText": "$request.body#/name"
                },
                "description": "The `storeId`,`searchText`value used in the request body can be used as the `storeId`,`searchText` parameter in `GET /price-rules/by-name-or-description`.\n"
              },
              "CreatePriceRuleElements": {
                "operationRef": "#/paths/~1price-rules~1{id}~1elements/post",
                "parameters": {
                  "id": "$request.body#/id"
                },
                "description": "The `id`value used in the request body can be used as the `id`  parameter in `POST /price-rules/{id}/elements`.\n"
              }
            }
          }
        },
        "x-action-code": "Create",
        "x-expression-template": "/PriceRule[1]",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "processPriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.ProcessPriceRuleType",
        "x-codegen-request-body-name": "body"
      }
    },
    "/price-rules/by-name-or-description": {
      "get": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Search price rules by name or description.",
        "operationId": "getPriceRuleByNameOrDescription",
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "description": "The store ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId"
            },
            "x-context-data": "storeId"
          },
          {
            "name": "searchText",
            "in": "query",
            "description": "The name pattern to search.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The position within the resulting dataset where the query begins returning item records. If the offset is 5, the records that returned begin with the sixth record that matches the query parameters. If the offset is 0, the records that are returned begin with the first record that matches the query parameters.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/recordSetStartNumber"
            },
            "x-entity-path": "dataArea/get/recordSetStartNumber"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/maxItems"
            },
            "x-entity-path": "dataArea/get/maxItems"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceRuleCollection"
                }
              }
            },
            "x-entity-path": "dataArea/priceRule"
          }
        },
        "x-expression-builder-class": "com.ibm.commerce.foundation.internal.client.taglib.util.SearchExpressionBuilder",
        "x-expression-builder-method": "formatExpression",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "getPriceRule",
        "x-parameters": {
          "accessProfile": "IBM_Admin_Summary",
          "template": "/PriceRule[search(PriceRuleIdentifier/ExternalIdentifier/Name='$searchText$' or Description='$searchText$')]"
        },
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.GetPriceRuleType"
      }
    },
    "/price-rules/by-price-constant-id/{priceConstantId}": {
      "get": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Get all price rules which reference the price constant.",
        "operationId": "getPriceRulesByPriceConstant",
        "parameters": [
          {
            "name": "priceConstantId",
            "in": "path",
            "description": "The price constant ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId"
            },
            "x-context-data": "storeId"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The position within the resulting dataset where the query begins returning item records. If the offset is 5, the records that returned begin with the sixth record that matches the query parameters. If the offset is 0, the records that are returned begin with the first record that matches the query parameters.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/recordSetStartNumber"
            },
            "x-entity-path": "dataArea/get/recordSetStartNumber"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/maxItems"
            },
            "x-entity-path": "dataArea/get/maxItems"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceRuleCollection"
                }
              }
            },
            "x-entity-path": "dataArea/priceRule",
            "x-support-paging": false
          }
        },
        "x-expression-template": "{_wcf.ap=IBM_Admin_Details}/PriceRule[PriceRuleElement[ElementTemplateIdentifier[UniqueID='8'] and ElementAttribute[(Name='inputOperandReferenceId' or Name='comparisonOperandReferenceId') and Value='{priceConstantId}']]]",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "getPriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.GetPriceRuleType"
      }
    },
    "/price-rules/by-price-equation-id/{priceEquationId}": {
      "get": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Get all price rules which reference the price equation.",
        "operationId": "getPriceRulesByPriceEquation",
        "parameters": [
          {
            "name": "priceEquationId",
            "in": "path",
            "description": "The price equation ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId"
            },
            "x-context-data": "storeId"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The position within the resulting dataset where the query begins returning item records. If the offset is 5, the records that returned begin with the sixth record that matches the query parameters. If the offset is 0, the records that are returned begin with the first record that matches the query parameters.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/recordSetStartNumber"
            },
            "x-entity-path": "dataArea/get/recordSetStartNumber"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/maxItems"
            },
            "x-entity-path": "dataArea/get/maxItems"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceRuleCollection"
                }
              }
            },
            "x-entity-path": "dataArea/priceRule",
            "x-support-paging": false
          }
        },
        "x-expression-template": "{_wcf.ap=IBM_Admin_Details}/PriceRule[PriceRuleElement[ElementTemplateIdentifier[UniqueID='4'] and ElementAttribute[(Name='priceEquationId') and Value='10001'] or ElementTemplateIdentifier[UniqueID='8'] and ElementAttribute[(Name='inputOperandReferenceId' or Name='comparisonOperandReferenceId') and Value='{priceEquationId}']]]",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "getPriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.GetPriceRuleType"
      }
    },
    "/price-rules/by-price-list-id/{priceListId}": {
      "get": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Get all price rules which reference the price list.",
        "operationId": "getPriceRulesByPriceList",
        "parameters": [
          {
            "name": "priceListId",
            "in": "path",
            "description": "The price list ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId"
            },
            "x-context-data": "storeId"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The position within the resulting dataset where the query begins returning item records. If the offset is 5, the records that returned begin with the sixth record that matches the query parameters. If the offset is 0, the records that are returned begin with the first record that matches the query parameters.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/recordSetStartNumber"
            },
            "x-entity-path": "dataArea/get/recordSetStartNumber"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/maxItems"
            },
            "x-entity-path": "dataArea/get/maxItems"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceRuleCollection"
                }
              }
            },
            "x-entity-path": "dataArea/priceRule",
            "x-support-paging": false
          }
        },
        "x-expression-template": "{_wcf.ap=IBM_Admin_Details}/PriceRule[PriceRuleElement[ElementTemplateIdentifier[UniqueID='2'] and ElementAttribute[(Name='priceListId') and Value='{priceListId}'] or ElementTemplateIdentifier[UniqueID='11'] and ElementAttribute[(Name='priceListId') and Value='{priceListId}'] or ElementTemplateIdentifier[UniqueID='8'] and ElementAttribute[(Name='inputOperandReferenceId' or Name='comparisonOperandReferenceId') and Value='{priceListId}']]]",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "getPriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.GetPriceRuleType"
      }
    },
    "/price-rules/{id}": {
      "get": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Get a price rule.",
        "operationId": "getPriceRuleById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the price rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId"
            },
            "x-context-data": "storeId"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceRule"
                }
              }
            },
            "x-entity-path": "dataArea/priceRule[1]"
          }
        },
        "x-expression-template": "{_wcf.ap='IBM_Admin_Details'}/PriceRule/PriceRuleIdentifier[(UniqueID='{id}')]",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "getPriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.GetPriceRuleType"
      },
      "delete": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Deletes a price rule.",
        "operationId": "deletePriceRule",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the price rule.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/uniqueID"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Delete",
        "x-expression-template": "/PriceRule[1]",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "processPriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.ProcessPriceRuleType"
      },
      "patch": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Update a price rule.",
        "operationId": "updatePriceRule",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the price rule.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceRule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Change",
        "x-expression-template": "/PriceRule[1]",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "changePriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.ChangePriceRuleType",
        "x-codegen-request-body-name": "body"
      }
    },
    "/price-rules/{id}/elements": {
      "get": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Get a price rule with price rule elements.",
        "operationId": "getPriceRuleElements",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the price rule.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "string",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceRuleElementCollection"
                }
              }
            },
            "x-entity-path": "dataArea/priceRule[1]/priceRuleElement",
            "x-support-paging": false
          }
        },
        "x-expression-template": "{_wcf.ap='IBM_Admin_PriceRuleElementsDetails'}/PriceRule/PriceRuleIdentifier[(UniqueID='{id}')]",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "getPriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.GetPriceRuleType"
      },
      "post": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Add a price rule element to a price rule.",
        "operationId": "createPriceRuleElement",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the price rule.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceRuleElement"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The operation is successful.",
            "headers": {
              "Location": {
                "description": "The URI of the price rule element.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {},
            "x-entity-path": "dataArea/priceRule[1]/priceRuleElement[1]/elementIdentifier/name",
            "links": {
              "GetPriceRuleElements": {
                "operationRef": "#/paths/~1price-rules~1{id}~1elements/get",
                "parameters": {
                  "id": "$request.path.id"
                },
                "description": "The `id`value used in the request body can be used as the `id`  parameter in `GET /price-rules/{id}/elements`.\n"
              },
              "DeletePriceRuleElement": {
                "operationRef": "#/paths/~1price-rules~1{id}~1elements~1{name}/delete",
                "parameters": {
                  "id": "$request.path.id",
                  "name": "$request.body#/name"
                },
                "description": "The `id`,`name` value used in the request body can be used as the The `id`,`name` parameter in `DELETE /price-rules/{id}/elements/{name}`.\n"
              },
              "UpdatePriceRuleElement": {
                "operationRef": "#/paths/~1price-rules~1{id}~1elements~1{name}/patch",
                "parameters": {
                  "id": "$request.path.id",
                  "name": "$request.body#/name"
                },
                "description": "The `id`,`name` value used in the request body can be used as the `id`,`name` parameter in `PATCH /price-rules/{id}/elements/{name}`.\n"
              }
            }
          }
        },
        "x-action-code": "Add",
        "x-expression-template": "/PriceRule[1]/PriceRuleElement[1]",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "changePriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.ChangePriceRuleType",
        "x-request-verb": "change",
        "x-response-verb": "respond",
        "x-codegen-request-body-name": "body"
      }
    },
    "/price-rules/{id}/elements/{name}": {
      "delete": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Deletes a price rule element.",
        "operationId": "deletePriceRuleElement",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the price rule.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/uniqueID"
          },
          {
            "name": "name",
            "in": "path",
            "description": "The name of the price rule element.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/priceRule[1]/priceRuleElement[1]/elementIdentifier/name"
            },
            "x-entity-path": "dataArea/priceRule[1]/priceRuleElement[1]/elementIdentifier/name"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Delete",
        "x-expression-template": "/PriceRule[1]/PriceRuleElement[1]",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "changePriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.ChangePriceRuleType",
        "x-request-verb": "change",
        "x-response-verb": "respond"
      },
      "patch": {
        "tags": [
          "Price Rules"
        ],
        "summary": "Update a price rule element.",
        "operationId": "updatePriceRuleElement",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the price rule.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/priceRule[1]/priceRuleIdentifier/uniqueID"
          },
          {
            "name": "name",
            "in": "path",
            "description": "The name of the price rule element.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/priceRule[1]/priceRuleElement/elementIdentifier/name"
            },
            "x-entity-path": "dataArea/priceRule[1]/priceRuleElement/elementIdentifier/name"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceRuleElement"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Change",
        "x-expression-template": "/PriceRule[1]/PriceRuleElement[1]",
        "x-facade-client-class": "com.ibm.commerce.price.facade.client.PriceFacadeClient",
        "x-facade-client-method": "changePriceRule",
        "x-request-bod-class": "com.ibm.commerce.price.facade.datatypes.ChangePriceRuleType",
        "x-codegen-request-body-name": "body"
      }
    }
  },
  "components": {
    "schemas": {
      "ElementAttribute": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the element attribute",
            "x-entity-path": "name"
          },
          "value": {
            "type": "string",
            "description": "The value of the element attribute",
            "x-entity-path": "value"
          }
        },
        "description": "A element attribute.",
        "x-entity-class": "com.ibm.commerce.foundation.common.datatypes.FlowElementAttributeType"
      },
      "PriceRule": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "createdDate": {
            "type": "string",
            "description": "Created time.",
            "nullable": true,
            "format": "date-time",
            "x-entity-path": "CreatedTime"
          },
          "dependent": {
            "type": "boolean",
            "description": "Indicate if the price rule is independent or not.",
            "x-entity-path": "dependent"
          },
          "description": {
            "type": "string",
            "description": "A description of the price rule, suitable for display to business users.",
            "x-entity-path": "description"
          },
          "elements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PriceRuleElement"
            },
            "x-entity-path": "priceRuleElement"
          },
          "format": {
            "type": "string",
            "description": "A description of the price rule, suitable for display to business users.",
            "x-entity-path": "format"
          },
          "id": {
            "type": "string",
            "description": "The price rule ID",
            "x-entity-path": "priceRuleIdentifier/uniqueID"
          },
          "name": {
            "type": "string",
            "description": "The name of the price rule",
            "x-entity-path": "priceRuleIdentifier/externalIdentifier/name"
          },
          "state": {
            "type": "string",
            "description": "The state of the price rule.",
            "x-entity-path": "state"
          },
          "storeId": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the store.",
            "format": "int32",
            "x-entity-path": "priceRuleIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          },
          "updatedDate": {
            "type": "string",
            "description": "Last updated time.",
            "format": "date-time",
            "nullable": true,
            "x-entity-path": "lastUpdateTime"
          },
          "version": {
            "type": "number",
            "description": "The version of the price rule.",
            "format": "float",
            "x-entity-path": "version"
          }
        },
        "description": "A price rule.",
        "x-entity-class": "com.ibm.commerce.price.facade.datatypes.PriceRuleType"
      },
      "PriceRuleCollection": {
        "type": "object",
        "required": [
          "count"
        ],
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PriceRule"
            }
          }
        },
        "description": "A collection of price rules."
      },
      "PriceRuleElement": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "description": "The attributes of the price rule element",
            "items": {
              "$ref": "#/components/schemas/ElementAttribute"
            },
            "x-entity-path": "elementAttribute"
          },
          "name": {
            "type": "string",
            "description": "The name of the price rule element",
            "x-entity-path": "elementIdentifier/name"
          },
          "parentElementName": {
            "type": "string",
            "description": "The name of the price rule element",
            "nullable": true,
            "x-entity-path": "parentElementIdentifier/name"
          },
          "sequence": {
            "type": "number",
            "description": "The sequence of this element under its parent element.",
            "format": "double",
            "x-entity-path": "elementSequence"
          },
          "templateGroup": {
            "type": "string",
            "description": "The name of the element template",
            "x-entity-path": "elementTemplateIdentifier/externalIdentifier/priceRuleElementTemplateGroup"
          },
          "templateId": {
            "type": "string",
            "description": "The element template ID",
            "x-entity-path": "elementTemplateIdentifier/uniqueID"
          },
          "templateName": {
            "type": "string",
            "description": "The name of the element template",
            "x-entity-path": "elementTemplateIdentifier/externalIdentifier/name"
          }
        },
        "description": "A price rule element.",
        "x-entity-class": "com.ibm.commerce.price.facade.datatypes.PriceRuleElementType"
      },
      "PriceRuleElementCollection": {
        "type": "object",
        "required": [
          "count"
        ],
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PriceRuleElement"
            }
          }
        },
        "description": "A collection of price rule elements."
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ],
  "x-components": {}
}
