Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Optimizely Campaign REST Custom blocklists API

11 actions 11 updates phrasing extends openapi/optimizely-custom-blocklists-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 11

$.info
$.paths['/{clientId}/customblacklists'].get
$.paths['/{clientId}/customblacklists'].post
$.paths['/{clientId}/customblacklists/{customBlacklistId}/entries'].get
$.paths['/{clientId}/customblacklists/{customBlacklistId}/entries'].post
$.paths['/{clientId}/customblacklists/{customBlacklistId}/entries'].delete
$.paths['/{clientId}/customblacklists/{customBlacklistId}/entries/{customBlacklistEntryId}'].get
$.paths['/{clientId}/customblacklists/{customBlacklistId}/entries/{customBlacklistEntryId}'].post
$.paths['/{clientId}/customblacklists/{customBlacklistId}/entries/{customBlacklistEntryId}'].delete
$.paths['/{clientId}/customblacklists/{customBlacklistId}'].get
$.paths['/{clientId}/customblacklists/{customBlacklistId}'].post

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 Campaign REST Custom blocklists API
  version: 1.0.0
extends: openapi/optimizely-custom-blocklists-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: 10
- target: $.paths['/{clientId}/customblacklists'].get
  update:
    x-apievangelist-phrasing:
      intent: List custom blocklists
      effect: read
      questions:
      - Which custom blocklists does my Optimizely client have, and what hash algorithm does each use?
      - Can I limit the blocklists returned to one folder?
      instructions:
      - text: List custom blocklists for client {clientId}.
        slots:
          clientId: path.clientId
      - text: List up to {limit} custom blocklists in folder {folderId} for client {clientId}.
        slots:
          limit: query.limit
          folderId: query.folderId
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/customblacklists'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a custom blocklist
      effect: write
      questions:
      - How do I create a new blocklist to keep certain recipients out of mailings?
      - Can a custom blocklist store hashed patterns instead of plain ones?
      instructions:
      - text: Create a custom blocklist named {name} for client {clientId}.
        slots:
          name: requestBody.name
          clientId: path.clientId
      - text: Create blocklist {name} for client {clientId} using hash algorithm {hashAlgorithm}.
        slots:
          name: requestBody.name
          clientId: path.clientId
          hashAlgorithm: requestBody.hashAlgorithm
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/customblacklists/{customBlacklistId}/entries'].get
  update:
    x-apievangelist-phrasing:
      intent: List entries in a custom blocklist
      effect: read
      questions:
      - What patterns are in a custom blocklist, and why was each blocked?
      - Can I search a blocklist's entries for a matching pattern?
      - Is there a way to page and sort blocklist entries by creation date?
      instructions:
      - text: List entries in blocklist {customBlacklistId} for client {clientId}.
        slots:
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
      - text: Find entries in blocklist {customBlacklistId} of client {clientId} matching {matchingPattern}.
        slots:
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
          matchingPattern: query.matchingPattern
      - text: Check if blocklist {customBlacklistId} for client {clientId} has the exact pattern {exactPattern}.
        slots:
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
          exactPattern: query.exactPattern
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/customblacklists/{customBlacklistId}/entries'].post
  update:
    x-apievangelist-phrasing:
      intent: Add patterns to a custom blocklist
      effect: write
      questions:
      - How do I block new email addresses or domains by adding them to a blocklist?
      - Can I record a reason when adding blocklist patterns?
      instructions:
      - text: Add patterns {patterns} to blocklist {customBlacklistId} for client {clientId}.
        slots:
          patterns: requestBody.patterns
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
      - text: Block {patterns} in blocklist {customBlacklistId} of client {clientId} with reason {reason}.
        slots:
          patterns: requestBody.patterns
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
          reason: requestBody.reason
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/customblacklists/{customBlacklistId}/entries'].delete
  update:
    x-apievangelist-phrasing:
      intent: Clear all entries from a custom blocklist
      effect: destructive
      questions:
      - How do I empty a blocklist completely while keeping the list itself?
      - Can I wipe every pattern from a custom blocklist at once?
      instructions:
      - text: Remove all entries from blocklist {customBlacklistId} for client {clientId}.
        slots:
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
      - text: Wipe blocklist {customBlacklistId} of client {clientId} clean.
        slots:
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/customblacklists/{customBlacklistId}/entries/{customBlacklistEntryId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one custom blocklist entry
      effect: read
      questions:
      - When was a specific blocklist entry created and for what reason?
      - How do I read a single entry of a custom blocklist?
      instructions:
      - text: Get entry {customBlacklistEntryId} of blocklist {customBlacklistId} for client {clientId}.
        slots:
          customBlacklistEntryId: path.customBlacklistEntryId
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
      - text: Show why entry {customBlacklistEntryId} is in blocklist {customBlacklistId} (client {clientId}).
        slots:
          customBlacklistEntryId: path.customBlacklistEntryId
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/customblacklists/{customBlacklistId}/entries/{customBlacklistEntryId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a custom blocklist entry's reason
      effect: write
      questions:
      - How do I change the reason recorded on a blocklist entry?
      - Can I edit an existing blocklist entry instead of recreating it?
      instructions:
      - text: Set the reason on entry {customBlacklistEntryId} in blocklist {customBlacklistId} for client {clientId} to {reason}.
        slots:
          customBlacklistEntryId: path.customBlacklistEntryId
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
          reason: requestBody.reason
      - text: Update blocklist entry {customBlacklistEntryId} in list {customBlacklistId} of client {clientId}.
        slots:
          customBlacklistEntryId: path.customBlacklistEntryId
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/customblacklists/{customBlacklistId}/entries/{customBlacklistEntryId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove one entry from a custom blocklist
      effect: destructive
      questions:
      - How do I unblock a single address by deleting its blocklist entry?
      - Can I remove just one pattern from a blocklist?
      instructions:
      - text: Delete entry {customBlacklistEntryId} from blocklist {customBlacklistId} for client {clientId}.
        slots:
          customBlacklistEntryId: path.customBlacklistEntryId
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
      - text: Unblock entry {customBlacklistEntryId} in blocklist {customBlacklistId} of client {clientId}.
        slots:
          customBlacklistEntryId: path.customBlacklistEntryId
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/customblacklists/{customBlacklistId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a custom blocklist
      effect: read
      questions:
      - What is the name and hash algorithm of a specific blocklist?
      - How do I fetch details of one custom blocklist?
      instructions:
      - text: Get blocklist {customBlacklistId} for client {clientId}.
        slots:
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
      - text: Show the hash algorithm of blocklist {customBlacklistId} (client {clientId}).
        slots:
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/customblacklists/{customBlacklistId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Rename or rehash a custom blocklist
      effect: write
      questions:
      - How do I rename an existing custom blocklist?
      - Can I change the hash algorithm a blocklist uses?
      instructions:
      - text: Rename blocklist {customBlacklistId} for client {clientId} to {name}.
        slots:
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
          name: requestBody.name
      - text: 'Update blocklist {customBlacklistId} of client {clientId}: name {name}, hash algorithm {hashAlgorithm}.'
        slots:
          customBlacklistId: path.customBlacklistId
          clientId: path.clientId
          name: requestBody.name
          hashAlgorithm: requestBody.hashAlgorithm
      method: generated
      generated: '2026-09-26'