Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Admin API V1 Rule Managers API
13 actions
13 updates
phrasing
extends
openapi/optimizely-rule-managers-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 13
$.info
$.paths['/api/v1/admin/RuleManagers'].get
$.paths['/api/v1/admin/RuleManagers'].post
$.paths['/api/v1/admin/RuleManagers({id})'].get
$.paths['/api/v1/admin/RuleManagers({id})'].put
$.paths['/api/v1/admin/RuleManagers({id})'].delete
$.paths['/api/v1/admin/RuleManagers({id})'].patch
$.paths['/api/v1/admin/RuleManagers/Default.Default()'].get
$.paths['/api/v1/admin/RuleManagers({id})/Default.rules'].post
$.paths['/api/v1/admin/rulemanagers({key})/rules'].post
$.paths['/api/v1/admin/rulemanagers/delete'].delete
$.paths['/api/v1/admin/rulemanagers({key})/customproperties({custompropertyKey})'].get
$.paths['/api/v1/admin/rulemanagers({key})/ruleclauses({ruleclauseKey})'].get
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 Managers API
version: 1.0.0
extends: openapi/optimizely-rule-managers-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: 12
- target: $.paths['/api/v1/admin/RuleManagers'].get
update:
x-apievangelist-phrasing:
intent: List rule managers
effect: read
questions:
- Which rule managers are defined in my commerce admin?
- Can I filter rule managers by rule type?
- How many rule manager records exist?
instructions:
- text: List all rule managers.
- text: List rule managers matching {filter}.
slots:
filter: query.$filter
- text: Show the first {top} rule managers sorted by {orderby}.
slots:
top: query.$top
orderby: query.$orderby
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/RuleManagers'].post
update:
x-apievangelist-phrasing:
intent: Create a rule manager
effect: write
questions:
- How do I create a new rule manager for my commerce rules?
- Can I assign a rule type when creating a rule manager?
instructions:
- text: Create a rule manager named {name}.
slots:
name: requestBody.name
- text: Create rule manager {name} of rule type {ruleTypeId}.
slots:
name: requestBody.name
ruleTypeId: requestBody.ruleTypeId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/RuleManagers({id})'].get
update:
x-apievangelist-phrasing:
intent: Get a rule manager
effect: read
questions:
- What rule type does a given rule manager use?
- Can I fetch one rule manager by its ID?
instructions:
- text: Get rule manager {id}.
slots:
id: path.id
- text: Show the details of rule manager {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/RuleManagers({id})'].put
update:
x-apievangelist-phrasing:
intent: Replace a rule manager
effect: write
questions:
- How do I overwrite a rule manager record in full?
- Does replacing a rule manager reset fields I leave out?
instructions:
- text: Replace rule manager {id} with a full record named {name}.
slots:
id: path.id
name: requestBody.name
- text: Overwrite rule manager {id}, setting rule type {ruleTypeId}.
slots:
id: path.id
ruleTypeId: requestBody.ruleTypeId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/RuleManagers({id})'].delete
update:
x-apievangelist-phrasing:
intent: Delete a rule manager
effect: destructive
questions:
- Can I delete a single rule manager by ID?
- Is there a way to delete a rule manager only if its ETag matches?
instructions:
- text: Delete rule manager {id}.
slots:
id: path.id
- text: Delete rule manager {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/RuleManagers({id})'].patch
update:
x-apievangelist-phrasing:
intent: Update a rule manager
effect: write
questions:
- How do I rename an existing rule manager?
- Can I change a rule manager's rule type without replacing it?
instructions:
- text: Rename rule manager {id} to {name}.
slots:
id: path.id
name: requestBody.name
- text: Patch rule manager {id} to use rule type {ruleTypeId}.
slots:
id: path.id
ruleTypeId: requestBody.ruleTypeId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/RuleManagers/Default.Default()'].get
update:
x-apievangelist-phrasing:
intent: Get a blank rule manager template
effect: read
questions:
- What default values does a new rule manager have?
- Can I get an empty rule manager template first?
instructions:
- text: Fetch the default rule manager template.
- text: Show the starting values for a new rule manager.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/RuleManagers({id})/Default.rules'].post
update:
x-apievangelist-phrasing:
intent: Set the rule clauses of a rule manager
effect: write
questions:
- How do I define the rule clauses a rule manager evaluates?
- Can I replace a rule manager's rules with a new set of clauses?
instructions:
- text: Set the rule clauses of rule manager {id} to {ruleClauses}.
slots:
id: path.id
ruleClauses: requestBody.ruleClauses
- text: 'Apply these clauses to rule manager {id} via the Default.rules action: {ruleClauses}.'
slots:
id: path.id
ruleClauses: requestBody.ruleClauses
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/rulemanagers({key})/rules'].post
update:
x-apievangelist-phrasing:
intent: Set rules via the rule manager key route
effect: write
questions:
- Is there a route-style rules endpoint keyed by the rule manager key?
- What happens when I post to the key-addressed rules path of a rule manager?
instructions:
- text: Post rules to rule manager {key} through the key-based rules route.
slots:
key: path.key
- text: Call the rulemanagers rules route for key {key}.
slots:
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/rulemanagers/delete'].delete
update:
x-apievangelist-phrasing:
intent: Bulk delete rule managers
effect: destructive
questions:
- Can I delete several rule managers at once?
- How do I remove a list of rule managers by ID in a single call?
instructions:
- text: Bulk delete rule managers {ids}.
slots:
ids: query.ids
- text: 'Remove these rule managers together: {ids}.'
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/rulemanagers({key})/customproperties({custompropertyKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a custom property on a rule manager
effect: read
questions:
- Can I read a custom property stored on a rule manager?
- What extra custom values are attached to a rule manager?
instructions:
- text: Get custom property {custompropertyKey} on rule manager {key}.
slots:
custompropertyKey: path.custompropertyKey
key: path.key
- text: Show rule manager {key}'s custom property {custompropertyKey}.
slots:
key: path.key
custompropertyKey: path.custompropertyKey
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/rulemanagers({key})/ruleclauses({ruleclauseKey})'].get
update:
x-apievangelist-phrasing:
intent: Get one rule clause of a rule manager
effect: read
questions:
- What condition does a single rule clause in a rule manager check?
- Can I inspect one clause belonging to a rule manager?
instructions:
- text: Get rule clause {ruleclauseKey} of rule manager {key}.
slots:
ruleclauseKey: path.ruleclauseKey
key: path.key
- text: Show clause {ruleclauseKey} in rule manager {key}.
slots:
ruleclauseKey: path.ruleclauseKey
key: path.key
method: generated
generated: '2026-09-26'