Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Optimizely Recipients API

21 actions 21 updates phrasing extends openapi/optimizely-recipients-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 21 · first 16 shown; the file carries all of them

$.info
$.paths['/{clientId}/recipients/{recipientListId}'].get
$.paths['/{clientId}/recipients/{recipientListId}'].put
$.paths['/{clientId}/recipients/{recipientListId}'].post
$.paths['/{clientId}/recipients/{recipientListId}'].delete
$.paths['/{clientId}/recipients/{recipientListId}/{recipientId}'].get
$.paths['/{clientId}/recipients/{recipientListId}/{recipientId}'].put
$.paths['/{clientId}/recipients/{recipientListId}/{recipientId}'].post
$.paths['/{clientId}/recipients/{recipientListId}/{recipientId}'].delete
$.paths['/{clientId}/recipients/{recipientListId}/count'].get
$.paths['/{clientId}/recipients/{recipientListId}/distinctvalues/count'].get
$.paths['/{clientId}/recipients/{recipientListId}/distinctvalues'].get
$.paths['/{clientId}/recipients/{recipientListId}/modify'].put
$.paths['/{clientId}/recipients/{recipientListId}/modify'].post
$.paths['/{clientId}/recipients/{recipientListId}/{recipientId}/optinstatus'].get
$.paths['/{clientId}/recipients/{recipientListId}/{recipientId}/valid'].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 Optimizely Recipients API
  version: 1.0.0
extends: openapi/optimizely-recipients-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: 20
- target: $.paths['/{clientId}/recipients/{recipientListId}'].get
  update:
    x-apievangelist-phrasing:
      intent: List recipients in a recipient list
      effect: read
      questions:
      - Who is on one of my Optimizely Campaign recipient lists?
      - Can I pull every recipient stored in a particular mailing list?
      instructions:
      - text: List the recipients in recipient list {recipientListId} for client {clientId}.
        slots:
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Show me everyone on list {recipientListId}.
        slots:
          recipientListId: path.recipientListId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Bulk add recipients to a list
      effect: write
      questions:
      - How do I import a batch of recipients into a recipient list in one request?
      - Can I attach an opt-in process when adding many recipients at once?
      instructions:
      - text: Bulk add these recipients {recipients} to list {recipientListId} in client {clientId}.
        slots:
          recipients: requestBody.recipients
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Add multiple recipients to list {recipientListId} using opt-in process {optinProcessId}.
        slots:
          recipientListId: path.recipientListId
          optinProcessId: requestBody.optinProcessId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a single recipient to a list
      effect: write
      questions:
      - How can I subscribe one new email address to a recipient list?
      - Can I set a first and last name when adding a single recipient?
      instructions:
      - text: Add {email} as a new recipient on list {recipientListId} in client {clientId}.
        slots:
          email: requestBody.email
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Add recipient {email} named {first_name} {last_name} to list {recipientListId}.
        slots:
          email: requestBody.email
          first_name: requestBody.first_name
          last_name: requestBody.last_name
          recipientListId: path.recipientListId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove many recipients from a list
      effect: destructive
      questions:
      - Can I remove several recipients from a list by their IDs in one call?
      - What happens if I bulk-delete from a list without giving recipient IDs or a removal type?
      instructions:
      - text: Remove recipients {recipientIds} from list {recipientListId} in client {clientId}.
        slots:
          recipientIds: query.recipientIds
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Bulk-remove recipients from list {recipientListId} by removal type {removalType}.
        slots:
          recipientListId: path.recipientListId
          removalType: query.removalType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}/{recipientId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one recipient's details
      effect: read
      questions:
      - What details are stored for a specific recipient on a list?
      - Can I look up a single subscriber record by recipient ID?
      instructions:
      - text: Get recipient {recipientId} from list {recipientListId}.
        slots:
          recipientId: path.recipientId
          recipientListId: path.recipientListId
      - text: Show the record for {recipientId} on list {recipientListId} under client {clientId}.
        slots:
          recipientId: path.recipientId
          recipientListId: path.recipientListId
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}/{recipientId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a recipient's email and name
      effect: write
      questions:
      - How do I correct a subscriber's first or last name on a list?
      - Can I change the stored email address of an existing recipient record?
      instructions:
      - text: Update recipient {recipientId} on list {recipientListId} to email {email} in client {clientId}.
        slots:
          recipientId: path.recipientId
          recipientListId: path.recipientListId
          email: requestBody.email
          clientId: path.clientId
      - text: Rename recipient {recipientId} on list {recipientListId} to {first_name} {last_name}.
        slots:
          recipientId: path.recipientId
          recipientListId: path.recipientListId
          first_name: requestBody.first_name
          last_name: requestBody.last_name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}/{recipientId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Update attribute values of one recipient
      effect: write
      questions:
      - Can I append text to one recipient's string field instead of overwriting it?
      - How do I change a single subscriber's list field values like city or segment?
      instructions:
      - text: Set attribute values {data} on recipient {recipientId} in list {recipientListId} in client {clientId}.
        slots:
          data: requestBody.data
          recipientId: path.recipientId
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Apply {data} to recipient {recipientId} on list {recipientListId} in {mode} mode.
        slots:
          data: requestBody.data
          recipientId: path.recipientId
          recipientListId: path.recipientListId
          mode: requestBody.mode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}/{recipientId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove one recipient from a list
      effect: destructive
      questions:
      - How do I take a single subscriber off a recipient list?
      - Can I delete just one recipient by ID without affecting the rest of the list?
      instructions:
      - text: Delete recipient {recipientId} from list {recipientListId}.
        slots:
          recipientId: path.recipientId
          recipientListId: path.recipientListId
      - text: Remove {recipientId} from recipient list {recipientListId} for client {clientId}.
        slots:
          recipientId: path.recipientId
          recipientListId: path.recipientListId
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count recipients in a list
      effect: read
      questions:
      - How many recipients are on my recipient list right now?
      - Can I count only the recipients that match a target group?
      - Is there a limit on simultaneous recipient count requests per client?
      instructions:
      - text: Count the recipients on list {recipientListId} in client {clientId}.
        slots:
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Count recipients on list {recipientListId} in target group {targetGroup}.
        slots:
          recipientListId: path.recipientListId
          targetGroup: query.targetGroup
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}/distinctvalues/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count recipients per distinct field value
      effect: read
      questions:
      - How many recipients share each value of a field like country?
      - Can I get a breakdown of subscriber counts per distinct attribute value?
      instructions:
      - text: Count recipients per distinct {attributeName} value on list {recipientListId} in client {clientId}.
        slots:
          attributeName: query.attributeName
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Break down target group {targetGroup} on list {recipientListId} by {attributeName} with counts.
        slots:
          targetGroup: query.targetGroup
          recipientListId: path.recipientListId
          attributeName: query.attributeName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}/distinctvalues'].get
  update:
    x-apievangelist-phrasing:
      intent: Get distinct values of a recipient field
      effect: read
      questions:
      - What unique values appear in a given field across my recipient list?
      - Can I only examine the first few characters when collecting distinct field values?
      instructions:
      - text: List the distinct values of field {attributeName} on list {recipientListId} in client {clientId}.
        slots:
          attributeName: query.attributeName
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Get unique {attributeName} values on list {recipientListId} using the first {threshold} characters.
        slots:
          attributeName: query.attributeName
          recipientListId: path.recipientListId
          threshold: query.threshold
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}/modify'].put
  update:
    x-apievangelist-phrasing:
      intent: Update attributes for several named recipients
      effect: write
      questions:
      - How do I change field values for a batch of specific recipients at once?
      - Can I update attributes of many listed subscribers in a single request?
      instructions:
      - text: Update attribute values for recipients {recipients} on list {recipientListId} in client {clientId}.
        slots:
          recipients: requestBody.recipients
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Batch-modify recipients {recipients} on list {recipientListId} with update mode {updateMode}.
        slots:
          recipients: requestBody.recipients
          recipientListId: path.recipientListId
          updateMode: requestBody.updateMode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}/modify'].post
  update:
    x-apievangelist-phrasing:
      intent: Update attributes for a target group
      effect: write
      questions:
      - Can I set a field value for every recipient that matches a target group?
      - How do I mass-update subscribers selected by a segment rather than by ID?
      instructions:
      - text: Set {data} for all recipients in target group {targetGroup} on list {recipientListId} in client {clientId}.
        slots:
          data: requestBody.data
          targetGroup: requestBody.targetGroup
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Prepend or append values in target group {targetGroup} of list {recipientListId} using mode {mode}.
        slots:
          targetGroup: requestBody.targetGroup
          recipientListId: path.recipientListId
          mode: requestBody.mode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}/{recipientId}/optinstatus'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a recipient's opt-in status
      effect: read
      questions:
      - Has this subscriber confirmed their opt-in on the list?
      - Can I check whether one email address is opted in before mailing it?
      instructions:
      - text: Check the opt-in status of {recipientId} on list {recipientListId} in client {clientId}.
        slots:
          recipientId: path.recipientId
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Tell me if {recipientId} is opted in to list {recipientListId}.
        slots:
          recipientId: path.recipientId
          recipientListId: path.recipientListId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/{recipientListId}/{recipientId}/valid'].get
  update:
    x-apievangelist-phrasing:
      intent: Check if a recipient can receive mailings
      effect: read
      questions:
      - Is this recipient blacklisted, unsubscribed or over the bounce limit on one list?
      - Can I check mailing eligibility for SMS rather than email on a single list?
      instructions:
      - text: Check whether {recipientId} is valid to mail on list {recipientListId} in client {clientId}.
        slots:
          recipientId: path.recipientId
          recipientListId: path.recipientListId
          clientId: path.clientId
      - text: Verify {recipientId} can receive {mediaType} on list {recipientListId}.
        slots:
          recipientId: path.recipientId
          mediaType: query.mediaType
          recipientListId: path.recipientListId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/trackingoptout'].post
  update:
    x-apievangelist-phrasing:
      intent: Stop tracking a recipient's opens and clicks
      effect: write
      questions:
      - How do I stop recording email opens and clicks for one recipient?
      - Can a subscriber opt out of action-based tracking but stay on the list?
      instructions:
      - text: Create a tracking opt-out for {recipientId}.
        slots:
          recipientId: requestBody.recipientId
      - text: Turn off open and click tracking for recipient {recipientId} under client {clientId}.
        slots:
          recipientId: requestBody.recipientId
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/trackingoptout'].delete
  update:
    x-apievangelist-phrasing:
      intent: Resume tracking a recipient's opens and clicks
      effect: destructive
      questions:
      - How do I turn open and click tracking back on for a recipient who opted out?
      - Can I remove an existing tracking opt-out?
      instructions:
      - text: Delete the tracking opt-out for {recipientId} in client {clientId}.
        slots:
          recipientId: query.recipientId
          clientId: path.clientId
      - text: Reactivate open and click tracking for recipient {recipientId}.
        slots:
          recipientId: query.recipientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a recipient's validity across lists
      effect: read
      questions:
      - Can one recipient receive mailings on several of my lists at once?
      - What happens if I check recipient validity without naming any lists?
      instructions:
      - text: Check if {recipientId} is valid on recipient lists {recipientListIds} in client {clientId}.
        slots:
          recipientId: query.recipientId
          recipientListIds: query.recipientListIds
          clientId: path.clientId
      - text: Check {recipientId}'s mailing eligibility across all my recipient lists.
        slots:
          recipientId: query.recipientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a recipient's action history
      effect: destructive
      questions:
      - How do I erase all the open and click history stored for one recipient?
      - Can I record a reason when wiping a subscriber's action data?
      instructions:
      - text: Wipe all action data for recipient {recipientKey} in client {clientId}.
        slots:
          recipientKey: query.recipientKey
          clientId: path.clientId
      - text: Delete the history of recipient {recipientKey} with reason {reason}.
        slots:
          recipientKey: query.recipientKey
          reason: query.reason
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/recipients/updaterecipientid'].post
  update:
    x-apievangelist-phrasing:
      intent: Change a recipient's ID
      effect: write
      questions:
      - A subscriber changed their email; how do I rename their recipient ID?
      - Can I swap an existing recipient ID for a new one?
      instructions:
      - text: Change recipient ID {recipientId} to {newRecipientId}.
        slots:
          recipientId: requestBody.recipientId
          newRecipientId: requestBody.newRecipientId
      - text: Rename recipient {recipientId} to new ID {newRecipientId} for client {clientId}.
        slots:
          recipientId: requestBody.recipientId
          newRecipientId: requestBody.newRecipientId
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'