Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Admin API V1 Email Lists API

12 actions 12 updates phrasing extends openapi/optimizely-email-lists-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 12

$.info
$.paths['/api/v1/admin/EmailLists'].get
$.paths['/api/v1/admin/EmailLists'].post
$.paths['/api/v1/admin/EmailLists({id})'].get
$.paths['/api/v1/admin/EmailLists({id})'].put
$.paths['/api/v1/admin/EmailLists({id})'].delete
$.paths['/api/v1/admin/EmailLists({id})'].patch
$.paths['/api/v1/admin/EmailLists/Default.Default()'].get
$.paths['/api/v1/admin/emaillists/delete'].delete
$.paths['/api/v1/admin/emaillists({key})/customproperties({custompropertyKey})'].get
$.paths['/api/v1/admin/emaillists({key})/emailsubscribers({emailsubscriberKey})'].get
$.paths['/api/v1/admin/emaillists({key})/userprofiles({userprofileKey})'].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 Email Lists API
  version: 1.0.0
extends: openapi/optimizely-email-lists-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: 11
- target: $.paths['/api/v1/admin/EmailLists'].get
  update:
    x-apievangelist-phrasing:
      intent: List email lists
      effect: read
      questions:
      - Which email lists are configured in the Optimizely Configured Commerce admin?
      - Can I filter email lists to only those customers can subscribe to?
      instructions:
      - text: List all email lists.
      - text: List email lists matching {filter}, sorted by {orderby}.
        slots:
          filter: query.$filter
          orderby: query.$orderby
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailLists'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an email list
      effect: write
      questions:
      - What do I need to set up a new email list with its subject and sender address?
      - Can I attach an email template to a list when I create it?
      instructions:
      - text: Create email list {name} described as {description} with subject {subject} from {fromAddress}.
        slots:
          name: requestBody.name
          description: requestBody.description
          subject: requestBody.subject
          fromAddress: requestBody.fromAddress
      - text: Add a subscribable email list {name} using template {emailTemplateId}.
        slots:
          name: requestBody.name
          emailTemplateId: requestBody.emailTemplateId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailLists({id})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one email list by ID
      effect: read
      questions:
      - How do I look up a single email list's subject and sender by its ID?
      - Can I expand related records when fetching one email list?
      instructions:
      - text: Show email list {id}.
        slots:
          id: path.id
      - text: Fetch email list {id} with {expand} expanded.
        slots:
          id: path.id
          expand: query.$expand
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailLists({id})'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace an email list record entirely
      effect: write
      questions:
      - Can I overwrite an email list with a completely new set of values?
      - What happens to email list fields I omit when replacing the whole record?
      instructions:
      - text: Replace email list {id} with a full record named {name}, subject {subject}.
        slots:
          id: path.id
          name: requestBody.name
          subject: requestBody.subject
      - text: Overwrite all fields of email list {id}, setting the sender to {fromAddress}.
        slots:
          id: path.id
          fromAddress: requestBody.fromAddress
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailLists({id})'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a single email list
      effect: destructive
      questions:
      - How do I remove one email list by its ID?
      - Can I make an email list delete conditional on an ETag?
      instructions:
      - text: Delete email list {id}.
        slots:
          id: path.id
      - text: Delete email list {id} only if its ETag matches {etag}.
        slots:
          id: path.id
          etag: header.If-Match
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailLists({id})'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update selected fields on an email list
      effect: write
      questions:
      - Can I change just the subject line of an email list?
      - How would I stop customers from subscribing to an existing list?
      instructions:
      - text: Patch email list {id} so its subject is {subject}.
        slots:
          id: path.id
          subject: requestBody.subject
      - text: Update email list {id} to set can subscribe to {canSubscribe}.
        slots:
          id: path.id
          canSubscribe: requestBody.canSubscribe
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailLists/Default.Default()'].get
  update:
    x-apievangelist-phrasing:
      intent: Get default values for a new email list
      effect: read
      questions:
      - What defaults does the admin pre-fill for an email list before I create one?
      - Where do I get a blank email list template?
      instructions:
      - text: Get the default email list template.
      - text: Show me the pre-filled defaults for a new email list.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/emaillists/delete'].delete
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete email lists by ID
      effect: destructive
      questions:
      - How do I delete several email lists in one request?
      - Can I bulk-remove email lists by passing a list of IDs?
      instructions:
      - text: Bulk delete email lists {ids}.
        slots:
          ids: query.ids
      - text: Permanently remove the email lists with IDs {ids}.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/emaillists({key})/customproperties({custompropertyKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a custom property on an email list
      effect: read
      questions:
      - How can I read one custom property stored on an email list?
      - Can I select specific fields of an email list's custom property?
      instructions:
      - text: Show custom property {custompropertyKey} on email list {key}.
        slots:
          custompropertyKey: path.custompropertyKey
          key: path.key
      - text: Fetch email list {key}'s custom property {custompropertyKey}, selecting {select}.
        slots:
          key: path.key
          custompropertyKey: path.custompropertyKey
          select: query.$select
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/emaillists({key})/emailsubscribers({emailsubscriberKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a subscriber on an email list
      effect: read
      questions:
      - Is a particular subscriber on one of my email lists?
      - Can I fetch one email subscriber's record through its list?
      instructions:
      - text: Show subscriber {emailsubscriberKey} on email list {key}.
        slots:
          emailsubscriberKey: path.emailsubscriberKey
          key: path.key
      - text: Fetch email list {key}'s subscriber {emailsubscriberKey} with {expand} expanded.
        slots:
          key: path.key
          emailsubscriberKey: path.emailsubscriberKey
          expand: query.$expand
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/emaillists({key})/userprofiles({userprofileKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user profile linked to an email list
      effect: read
      questions:
      - Which admin user profile is associated with an email list?
      - Can I look up one user profile through the email list it belongs to?
      instructions:
      - text: Show user profile {userprofileKey} linked to email list {key}.
        slots:
          userprofileKey: path.userprofileKey
          key: path.key
      - text: Fetch email list {key}'s user profile {userprofileKey}, selecting {select}.
        slots:
          key: path.key
          userprofileKey: path.userprofileKey
          select: query.$select
      method: generated
      generated: '2026-09-26'