Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Admin API V1 Restriction Groups API
17 actions
17 updates
phrasing
extends
openapi/optimizely-restriction-groups-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 17 · first 16 shown; the file carries all of them
$.info
$.paths['/api/v1/admin/RestrictionGroups'].get
$.paths['/api/v1/admin/RestrictionGroups'].post
$.paths['/api/v1/admin/RestrictionGroups({id})'].get
$.paths['/api/v1/admin/RestrictionGroups({id})'].put
$.paths['/api/v1/admin/RestrictionGroups({id})'].delete
$.paths['/api/v1/admin/RestrictionGroups({id})'].patch
$.paths['/api/v1/admin/RestrictionGroups/Default.Default()'].get
$.paths['/api/v1/admin/restrictiongroups/delete'].delete
$.paths['/api/v1/admin/restrictiongroups({key})/customeradditions({customerKey})'].get
$.paths['/api/v1/admin/restrictiongroups({key})/customerexceptions({customerKey})'].get
$.paths['/api/v1/admin/restrictiongroups({key})/customproperties({custompropertyKey})'].get
$.paths['/api/v1/admin/restrictiongroups({key})/productadditions({productKey})'].get
$.paths['/api/v1/admin/restrictiongroups({key})/productexceptions({productKey})'].get
$.paths['/api/v1/admin/restrictiongroups({key})/products({productKey})'].get
$.paths['/api/v1/admin/restrictiongroups({key})/restrictiongroupcustomers({restrictiongroupcustomerKey})'].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 Restriction Groups API
version: 1.0.0
extends: openapi/optimizely-restriction-groups-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: 16
- target: $.paths['/api/v1/admin/RestrictionGroups'].get
update:
x-apievangelist-phrasing:
intent: List restriction groups
effect: read
questions:
- Which restriction groups are set up to limit what customers can buy in my Optimizely commerce site?
- Can I list only the active restriction groups using a filter?
instructions:
- text: List all restriction groups.
- text: List restriction groups matching {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/RestrictionGroups'].post
update:
x-apievangelist-phrasing:
intent: Create a restriction group
effect: write
questions:
- How do I create a restriction group that controls product visibility for certain customers?
- Can a new restriction group be location based?
instructions:
- text: Create restriction group {name} described as {description} with display type {displayType} for websites {validForWebsites}.
slots:
name: requestBody.name
description: requestBody.description
displayType: requestBody.displayType
validForWebsites: requestBody.validForWebsites
- text: Add a location-based restriction group named {name} with isLocationBased {isLocationBased}.
slots:
name: requestBody.name
isLocationBased: requestBody.isLocationBased
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/RestrictionGroups({id})'].get
update:
x-apievangelist-phrasing:
intent: Get a restriction group
effect: read
questions:
- What are the settings of one specific restriction group?
- Can I see whether a particular restriction group is active?
instructions:
- text: Get restriction group {id}.
slots:
id: path.id
- text: Show the display type and active flag of restriction group {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/RestrictionGroups({id})'].put
update:
x-apievangelist-phrasing:
intent: Replace a restriction group
effect: write
questions:
- How do I overwrite a restriction group's full definition?
- Can I replace every field of a restriction group in one request?
instructions:
- text: Replace restriction group {id} with name {name}, description {description} and display type {displayType}.
slots:
id: path.id
name: requestBody.name
description: requestBody.description
displayType: requestBody.displayType
- text: Fully rewrite restriction group {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/RestrictionGroups({id})'].delete
update:
x-apievangelist-phrasing:
intent: Delete a restriction group
effect: destructive
questions:
- How do I remove a restriction group I no longer need?
- Can I delete a restriction group only if nobody changed it since I read it?
instructions:
- text: Delete restriction group {id}.
slots:
id: path.id
- text: Delete restriction group {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/RestrictionGroups({id})'].patch
update:
x-apievangelist-phrasing:
intent: Update a restriction group
effect: write
questions:
- How do I deactivate a restriction group without deleting it?
- Can I rename a restriction group with a partial update?
instructions:
- text: Set restriction group {id} active flag to {isActive}.
slots:
id: path.id
isActive: requestBody.isActive
- text: Rename restriction group {id} to {name}.
slots:
id: path.id
name: requestBody.name
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/RestrictionGroups/Default.Default()'].get
update:
x-apievangelist-phrasing:
intent: Get a blank default restriction group
effect: read
questions:
- What fields does a default restriction group start with?
- Is there a template object for building a new restriction group?
instructions:
- text: Get the default template for a new restriction group.
- text: Show the blank restriction group object.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/restrictiongroups/delete'].delete
update:
x-apievangelist-phrasing:
intent: Delete several restriction groups
effect: destructive
questions:
- Can I delete a batch of restriction groups by their ids?
- How do I bulk-remove restriction groups?
instructions:
- text: Delete restriction groups {ids}.
slots:
ids: query.ids
- text: Bulk-delete the restriction groups with ids {ids}.
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/restrictiongroups({key})/customeradditions({customerKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a customer added to a restriction group
effect: read
questions:
- Is a specific customer explicitly added to a restriction group?
- How do I read one customer addition on a restriction group?
instructions:
- text: Get customer addition {customerKey} on restriction group {key}.
slots:
customerKey: path.customerKey
key: path.key
- text: Check whether customer {customerKey} was added to restriction group {key}.
slots:
customerKey: path.customerKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/restrictiongroups({key})/customerexceptions({customerKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a customer exempted from a restriction group
effect: read
questions:
- Is a particular customer excluded as an exception from a restriction group?
- How do I look up a customer exception on a restriction group?
instructions:
- text: Get customer exception {customerKey} for restriction group {key}.
slots:
customerKey: path.customerKey
key: path.key
- text: Check if customer {customerKey} is exempt from restriction group {key}.
slots:
customerKey: path.customerKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/restrictiongroups({key})/customproperties({custompropertyKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a restriction group custom property
effect: read
questions:
- How do I read a custom property stored on a restriction group?
- Can restriction groups hold extra custom properties?
instructions:
- text: Get custom property {custompropertyKey} of restriction group {key}.
slots:
custompropertyKey: path.custompropertyKey
key: path.key
- text: Show restriction group {key}'s custom property {custompropertyKey}.
slots:
custompropertyKey: path.custompropertyKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/restrictiongroups({key})/productadditions({productKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a product added to a restriction group
effect: read
questions:
- Was a certain product explicitly added to a restriction group?
- How do I fetch one product addition on a restriction group?
instructions:
- text: Get product addition {productKey} on restriction group {key}.
slots:
productKey: path.productKey
key: path.key
- text: Check whether product {productKey} was added to restriction group {key}.
slots:
productKey: path.productKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/restrictiongroups({key})/productexceptions({productKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a product exempted from a restriction group
effect: read
questions:
- Is a product carved out as an exception to a restriction group?
- How do I read a product exception on a restriction group?
instructions:
- text: Get product exception {productKey} for restriction group {key}.
slots:
productKey: path.productKey
key: path.key
- text: Check if product {productKey} is exempt from restriction group {key}.
slots:
productKey: path.productKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/restrictiongroups({key})/products({productKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a product linked to a restriction group
effect: read
questions:
- Which product record is linked under a restriction group's products?
- Can I fetch one of the products a restriction group applies to?
instructions:
- text: Get product {productKey} under restriction group {key}'s products.
slots:
productKey: path.productKey
key: path.key
- text: Show the linked product {productKey} in restriction group {key}.
slots:
productKey: path.productKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/restrictiongroups({key})/restrictiongroupcustomers({restrictiongroupcustomerKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a restriction group customer assignment
effect: read
questions:
- How do I read one restriction group customer assignment record?
- Can I see a single customer link record for a restriction group?
instructions:
- text: Get restriction group customer record {restrictiongroupcustomerKey} in group {key}.
slots:
restrictiongroupcustomerKey: path.restrictiongroupcustomerKey
key: path.key
- text: Show assignment {restrictiongroupcustomerKey} of restriction group {key}.
slots:
restrictiongroupcustomerKey: path.restrictiongroupcustomerKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/restrictiongroups({key})/websites({websiteKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a website a restriction group applies to
effect: read
questions:
- Is a restriction group valid on a specific website?
- How do I fetch one website linked to a restriction group?
instructions:
- text: Get website {websiteKey} for restriction group {key}.
slots:
websiteKey: path.websiteKey
key: path.key
- text: Check that restriction group {key} applies on website {websiteKey}.
slots:
websiteKey: path.websiteKey
key: path.key
method: generated
generated: '2026-09-26'