Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Admin API V1 Rule Clauses API
20 actions
20 updates
phrasing
extends
openapi/optimizely-rule-clauses-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Optimizely's API. It is a proposal applied on top of the contract, not a document Optimizely publishes.
What the actions change
x-apievangelist-phrasing
Targets 20 · first 16 shown; the file carries all of them
$.info
$.paths['/api/v1/admin/RuleClauses'].get
$.paths['/api/v1/admin/RuleClauses'].post
$.paths['/api/v1/admin/RuleClauses({id})'].get
$.paths['/api/v1/admin/RuleClauses({id})'].put
$.paths['/api/v1/admin/RuleClauses({id})'].delete
$.paths['/api/v1/admin/RuleClauses({id})'].patch
$.paths['/api/v1/admin/RuleClauses/Default.Default()'].get
$.paths['/api/v1/admin/RuleClauses({id})/Default.import'].post
$.paths['/api/v1/admin/RuleClauses({id})/Default.importcustomers'].post
$.paths['/api/v1/admin/RuleClauses/Default.createtemporary'].post
$.paths['/api/v1/admin/RuleClauses/Default.copyfromtemporary'].post
$.paths['/api/v1/admin/ruleclauses/copyfromtemporary'].post
$.paths['/api/v1/admin/ruleclauses/createtemporary'].post
$.paths['/api/v1/admin/ruleclauses({key})/import'].post
$.paths['/api/v1/admin/ruleclauses({key})/importcustomers'].post
OpenAPI Overlay
# 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'