Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Optimizely Campaign REST Blocklist entries API
8 actions
8 updates
phrasing
extends
openapi/optimizely-blocklist-entries-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.
What the actions change
x-apievangelist-phrasing
Targets 8
$.info
$.paths['/{clientId}/blacklistentries/blacklisted'].get
$.paths['/{clientId}/blacklistentries/count'].get
$.paths['/{clientId}/blacklistentries'].get
$.paths['/{clientId}/blacklistentries'].post
$.paths['/{clientId}/blacklistentries'].delete
$.paths['/{clientId}/blacklistentries/{entry}'].get
$.paths['/{clientId}/blacklistentries/{entry}'].delete
OpenAPI Overlay
# 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 Blocklist entries API
version: 1.0.0
extends: openapi/optimizely-blocklist-entries-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: 7
- target: $.paths['/{clientId}/blacklistentries/blacklisted'].get
update:
x-apievangelist-phrasing:
intent: Check if an address is blocklisted
effect: read
questions:
- Is this email address on my blocklist?
- Can I check an address against the blocklist before sending?
instructions:
- text: Check whether {address} is blocklisted for client {clientId}.
slots:
clientId: path.clientId
address: query.address
- text: Tell me if client {clientId} blocks sending to {address}.
slots:
clientId: path.clientId
address: query.address
method: generated
generated: '2026-09-26'
- target: $.paths['/{clientId}/blacklistentries/count'].get
update:
x-apievangelist-phrasing:
intent: Count blocklist entries
effect: read
questions:
- How many entries are on my client's blocklist?
- Can the blocklist count include entries inherited from parent clients?
instructions:
- text: Count blocklist entries for client {clientId}.
slots:
clientId: path.clientId
- text: 'Count blocklist entries on client {clientId} with parent clients included: {includeParent}.'
slots:
clientId: path.clientId
includeParent: query.includeParent
method: generated
generated: '2026-09-26'
- target: $.paths['/{clientId}/blacklistentries'].get
update:
x-apievangelist-phrasing:
intent: List blocklist entries
effect: read
questions:
- Which addresses and patterns are on my blocklist, and why?
- Can I filter blocklist entries by pattern or reason?
instructions:
- text: List blocklist entries for client {clientId}.
slots:
clientId: path.clientId
- text: List blocklist entries on client {clientId} matching pattern {pattern}.
slots:
clientId: path.clientId
pattern: query.pattern
- text: Show {limit} blocklist entries for client {clientId} with reason {reason}.
slots:
clientId: path.clientId
limit: query.limit
reason: query.reason
method: generated
generated: '2026-09-26'
- target: $.paths['/{clientId}/blacklistentries'].post
update:
x-apievangelist-phrasing:
intent: Add an address or pattern to the blocklist
effect: write
questions:
- How do I stop mailings from going to a certain address or domain?
- Can I record a reason when I blocklist an address?
instructions:
- text: Blocklist {entry} for client {clientId}.
slots:
clientId: path.clientId
entry: requestBody.entry
- text: Add {entry} to the blocklist of client {clientId} with reason {reason}.
slots:
clientId: path.clientId
entry: requestBody.entry
reason: requestBody.reason
method: generated
generated: '2026-09-26'
- target: $.paths['/{clientId}/blacklistentries'].delete
update:
x-apievangelist-phrasing:
intent: Remove several blocklist entries
effect: destructive
questions:
- Can I unblock multiple addresses in one request?
- How do I clear a batch of entries off the blocklist?
instructions:
- text: Remove blocklist entries {entries} from client {clientId}.
slots:
clientId: path.clientId
entries: query.entries
- text: Unblock all of {entries} for client {clientId}.
slots:
clientId: path.clientId
entries: query.entries
method: generated
generated: '2026-09-26'
- target: $.paths['/{clientId}/blacklistentries/{entry}'].get
update:
x-apievangelist-phrasing:
intent: Get a blocklist entry's details
effect: read
questions:
- Why was a specific address added to the blocklist, and when?
- What pattern and reason does one blocklist entry hold?
instructions:
- text: Get blocklist entry {entry} for client {clientId}.
slots:
clientId: path.clientId
entry: path.entry
- text: Show reason and creation date for blocklist entry {entry} on client {clientId}.
slots:
clientId: path.clientId
entry: path.entry
method: generated
generated: '2026-09-26'
- target: $.paths['/{clientId}/blacklistentries/{entry}'].delete
update:
x-apievangelist-phrasing:
intent: Remove one blocklist entry
effect: destructive
questions:
- How do I take a single address off the blocklist?
- Can I unblock one pattern without touching the rest?
instructions:
- text: Delete blocklist entry {entry} for client {clientId}.
slots:
clientId: path.clientId
entry: path.entry
- text: Unblock the single entry {entry} on client {clientId}.
slots:
clientId: path.clientId
entry: path.entry
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/optimizely-blocklist-entries-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.