# 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'