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.
View Overlay File View on GitHub Overlay Specification

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

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