Update a property's rule tree
PUT https://{{host}}/papi/v1/properties/:propertyId/versions/:propertyVersion/rules
To write a rule tree to a property version, make a PUT request to the same resource as the GET request that reads it. Pass in the rule object in the body of the request. See the Rule Trees section for details on the rule tree's structure. Set the validateRules
query parameter to false
to bypass a set of validation tests that may significantly slow this operation's execution time. See Validation best practices for guidance on when to defer validation. If the GET response yields any rule tree errors, you need to fix them before activating. This PUT operation saves a rule tree even if it contains errors that block the property activation. See Rule tree errors and warnings and Validation errors for information on how validation data is embedded within the response object.
Use this operation also to Freeze a set of rules to a rule format version to ensure no change in a deployed activation's behavior.
Request Params
Key | Datatype | Required | Description |
---|---|---|---|
contractId | string | (Optional) Unique identifier for the contract. The parameter is optional if a property belongs to only one contract. Otherwise you need to specify it along with the groupId . In other operations that don't specify a propertyId URL parameter, this parameter is always required. See ID prefixes for details on omitting the value's ctr_ prefix. | |
groupId | string | (Optional) Unique identifier for the group. The parameter is optional if a property belongs to only one group. Otherwise you need to specify it along with the contractId . In other operations that don't specify a propertyId URL parameter, this parameter is always required. See ID prefixes for details on omitting the value's grp_ prefix. | |
validateRules | string | (Optional) Set to true by default. When false , skips validation tests that would identify potential problems within the response object's errors and warnings arrays. See Rule tree errors and warnings and Validation errors for information on how validation data appears in the response object. See Validation best practices for guidance on when to defer validation. | |
validateMode | string | (Optional) Enum With validateRules enabled, setting this to fast performs a quick validation check based on the provided JSON. This is faster than the default full validation, which performs more extensive checks on the converted XML metadata configuration. See Validation best practices for more guidance. | |
dryRun | string | (Optional) With the validateRules query parameter also enabled, allows for a dry run in order to gather any possible errors without saving the rule tree. See Validation best practices for more guidance. | |
accountSwitchKey | string | (Optional) For customers who manage more than one account, this runs the operation from another account. The Identity and Access Management API provides a list of available account switch keys. |
Request Body
{"rules"=>{"options"=>{"is_secure"=>false}, "behaviors"=>[{"options"=>{"cacheKeyHostname"=>"ORIGIN_HOSTNAME", "compress"=>true, "enableTrueClientIp"=>false, "forwardHostHeader"=>"REQUEST_HOST_HEADER", "hostname"=>"origin.test.com", "httpPort"=>80, "originType"=>"CUSTOMER"}, "name"=>"origin"}, {"options"=>{"value"=>{"id"=>12345, "name"=>"my CP code"}}, "name"=>"cpCode"}], "name"=>"default"}}
HEADERS
Key | Datatype | Required | Description |
---|---|---|---|
If-Match | string | (Required) This corresponds to the ETag response header. Passing this value back as If-Match in write requests ensures you don't overwrite edits by any other API clients. See Concurrency control for details. | |
PAPI-Use-Prefixes | string | (Required) Enum Sets whether to represent ID prefixes in response data. Set to false when exchanging PAPI data with other APIs. | |
Content-Type | string | ||
Accept | string |
RESPONSES
status: OK
{"accountId":"act_A-CCT1234","contractId":"ctr_K-0N7RAK71","etag":"a9dfe78cf93090516bde891d009eaf57","groupId":"grp_32145","propertyId":"prp_173136","propertyName":"mytestproperty.com","propertyVersion":3,"ruleFormat":"v2015-08-08","rules":{"options":{"is_secure":false},"behaviors":[{"options":{"cacheKeyHostname":"ORIGIN_HOSTNAME","compress":true,"enableTrueClientIp":false,"forwardHostHeader":"REQUEST_HOST_HEADER","hostname":"origin.test.com","httpPort":80,"originType":"CUSTOMER"},"name":"origin"},{"options":{"value":{"id":12345,"name":"my CP code"}},"name":"cpCode"}],"children":[],"criteria":[],"name":"default"}}