# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Admin API V1 Rule Clauses API version: 1.0.0 extends: openapi/optimizely-rule-clauses-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 19 - target: $.paths['/api/v1/admin/RuleClauses'].get update: x-apievangelist-phrasing: intent: List rule clauses effect: read questions: - Which rule clauses are configured across my commerce rules? - Can I filter rule clauses by criteria type and sort them by execution order? instructions: - text: List all rule clauses. - text: List rule clauses matching {filter}, ordered by {orderby}. slots: filter: query.$filter orderby: query.$orderby method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/RuleClauses'].post update: x-apievangelist-phrasing: intent: Create a rule clause effect: write questions: - How do I add a new condition clause to a promotion or shipping rule? - What comparison operators and values does a new rule clause need? instructions: - text: Create a rule clause for rule manager {ruleManagerId} checking {criteriaObject}.{criteriaProperty} {comparisonOperator} {simpleValue}. slots: ruleManagerId: requestBody.ruleManagerId criteriaObject: requestBody.criteriaObject criteriaProperty: requestBody.criteriaProperty comparisonOperator: requestBody.comparisonOperator simpleValue: requestBody.simpleValue - text: Add a new rule clause of criteria type {criteriaType} with value range {valueMinimum} to {valueMaximum}. slots: criteriaType: requestBody.criteriaType valueMinimum: requestBody.valueMinimum valueMaximum: requestBody.valueMaximum method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/RuleClauses({id})'].get update: x-apievangelist-phrasing: intent: Get a rule clause effect: read questions: - How do I look up the condition and values of one specific rule clause? - What does a single rule clause compare against? instructions: - text: Get rule clause {id}. slots: id: path.id - text: Show the criteria and operator of rule clause {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/RuleClauses({id})'].put update: x-apievangelist-phrasing: intent: Replace a rule clause effect: write questions: - How do I overwrite an entire rule clause definition in one call? - Does replacing a rule clause require resending every criteria field? instructions: - text: Replace rule clause {id} with criteria {criteriaObject}.{criteriaProperty} {comparisonOperator} {simpleValue}. slots: id: path.id criteriaObject: requestBody.criteriaObject criteriaProperty: requestBody.criteriaProperty comparisonOperator: requestBody.comparisonOperator simpleValue: requestBody.simpleValue - text: Fully overwrite rule clause {id} with value list {valueList}. slots: id: path.id valueList: requestBody.valueList method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/RuleClauses({id})'].delete update: x-apievangelist-phrasing: intent: Delete a rule clause effect: destructive questions: - How do I remove one condition from a rule? - Can I delete a rule clause only if its ETag hasn't changed? instructions: - text: Delete rule clause {id}. slots: id: path.id - text: Delete rule clause {id} if its ETag is {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/RuleClauses({id})'].patch update: x-apievangelist-phrasing: intent: Update a rule clause effect: write questions: - How do I change just the comparison value on an existing rule clause? - Can I move a rule clause to a different execution group or order? instructions: - text: Change the simple value of rule clause {id} to {simpleValue}. slots: id: path.id simpleValue: requestBody.simpleValue - text: Set execution order of rule clause {id} to {executionOrder} in group {executionGroup}. slots: id: path.id executionOrder: requestBody.executionOrder executionGroup: requestBody.executionGroup method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/RuleClauses/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get the default rule clause template effect: read questions: - What default values does a brand-new rule clause start with? - Where can I get a blank rule clause record to fill in? instructions: - text: Get the default rule clause template. - text: Show default values for a new rule clause. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/RuleClauses({id})/Default.import'].post update: x-apievangelist-phrasing: intent: Import products into a rule clause effect: write questions: - How do I bulk import a product list into a rule clause condition? - Can I load products into a rule clause by its id through the OData action? instructions: - text: Import products into rule clause {id}. slots: id: path.id - text: Run the product import action on rule clause {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/RuleClauses({id})/Default.importcustomers'].post update: x-apievangelist-phrasing: intent: Import customers into a rule clause effect: write questions: - How do I bulk import customers into a rule clause condition? - Can I load a customer list into a rule clause by its id through the OData action? instructions: - text: Import customers into rule clause {id}. slots: id: path.id - text: Run the customer import action on rule clause {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/RuleClauses/Default.createtemporary'].post update: x-apievangelist-phrasing: intent: Create a temporary rule clause copy effect: write questions: - How do I create a temporary working copy of a rule clause before editing it? - Can I start a temporary rule clause from an existing one for a given rule type option? instructions: - text: Create a temporary rule clause for rule type {ruleTypeId} and option {ruleTypeOptionId}. slots: ruleTypeId: requestBody.ruleTypeId ruleTypeOptionId: requestBody.ruleTypeOptionId - text: Make a temporary copy of rule clause {existingRuleClauseId} for rule type {ruleTypeId}, option {ruleTypeOptionId}. slots: existingRuleClauseId: requestBody.existingRuleClauseId ruleTypeId: requestBody.ruleTypeId ruleTypeOptionId: requestBody.ruleTypeOptionId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/RuleClauses/Default.copyfromtemporary'].post update: x-apievangelist-phrasing: intent: Apply a temporary rule clause effect: write questions: - How do I save my temporary rule clause edits back onto the real clause? - Can I copy a temporary rule clause over a target rule clause? instructions: - text: Copy temporary rule clause {tempRuleClauseId} onto rule clause {targetRuleClauseId}. slots: tempRuleClauseId: requestBody.tempRuleClauseId targetRuleClauseId: requestBody.targetRuleClauseId - text: Apply temp clause {tempRuleClauseId} to target {targetRuleClauseId} for entity {entityName}. slots: tempRuleClauseId: requestBody.tempRuleClauseId targetRuleClauseId: requestBody.targetRuleClauseId entityName: requestBody.entityName method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ruleclauses/copyfromtemporary'].post update: x-apievangelist-phrasing: intent: Apply a temporary rule clause (route form) effect: write questions: - Is there a plain-route copyfromtemporary endpoint for rule clauses besides the OData action? - What's the non-OData route for committing a temporary rule clause? instructions: - text: Call the ruleclauses/copyfromtemporary route to commit a temporary rule clause. - text: Use the plain route, not the OData action, to copy a temporary rule clause back. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ruleclauses/createtemporary'].post update: x-apievangelist-phrasing: intent: Create a temporary rule clause (route form) effect: write questions: - Is there a plain-route createtemporary endpoint for rule clauses? - What's the non-OData route for starting a temporary rule clause? instructions: - text: Call the ruleclauses/createtemporary route to start a temporary rule clause. - text: Use the plain route, not the OData action, to create a temporary rule clause. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ruleclauses({key})/import'].post update: x-apievangelist-phrasing: intent: Import products into a rule clause by key effect: write questions: - How do I import products into a rule clause using the plain key-based route? - Is there a non-OData import route for rule clause products? instructions: - text: Import products into rule clause with key {key} via the plain route. slots: key: path.key - text: Run ruleclauses({key})/import to load products. slots: key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ruleclauses({key})/importcustomers'].post update: x-apievangelist-phrasing: intent: Import customers into a rule clause by key effect: write questions: - Which route bulk-loads a customer list into a rule clause addressed by key? - Is there a non-OData importcustomers route for rule clauses? instructions: - text: Import customers into rule clause with key {key} via the plain route. slots: key: path.key - text: Run ruleclauses({key})/importcustomers to load customers. slots: key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ruleclauses/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete rule clauses effect: destructive questions: - How do I delete several rule clauses at once by their ids? - Can I remove a batch of rule clauses in one request? instructions: - text: Delete rule clauses {ids}. slots: ids: query.ids - text: Bulk remove the rule clauses with ids {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ruleclauses({key})/customers({customerKey})'].get update: x-apievangelist-phrasing: intent: Get a customer attached to a rule clause effect: read questions: - How do I check whether a specific customer is part of a rule clause? - Can I fetch one customer record linked to a rule clause? instructions: - text: Get customer {customerKey} on rule clause {key}. slots: customerKey: path.customerKey key: path.key - text: Show the customer {customerKey} attached to rule clause {key}. slots: customerKey: path.customerKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ruleclauses({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a rule clause custom property effect: read questions: - How do I read a custom property stored on a rule clause? - Where do I find one custom property value for a rule clause? instructions: - text: Get custom property {custompropertyKey} of rule clause {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Show rule clause {key}'s custom property {custompropertyKey}. slots: custompropertyKey: path.custompropertyKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/ruleclauses({key})/products({productKey})'].get update: x-apievangelist-phrasing: intent: Get a product attached to a rule clause effect: read questions: - How do I check whether a specific product is included in a rule clause? - Can I fetch one product record linked to a rule clause? instructions: - text: Get product {productKey} on rule clause {key}. slots: productKey: path.productKey key: path.key - text: Show the product {productKey} attached to rule clause {key}. slots: productKey: path.productKey key: path.key method: generated generated: '2026-09-26'