Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Admin API V1 Plugins API
12 actions
12 updates
phrasing
extends
openapi/optimizely-plugins-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 12
$.info
$.paths['/api/v1/admin/Plugins'].get
$.paths['/api/v1/admin/Plugins'].post
$.paths['/api/v1/admin/Plugins({id})'].get
$.paths['/api/v1/admin/Plugins({id})'].put
$.paths['/api/v1/admin/Plugins({id})'].delete
$.paths['/api/v1/admin/Plugins({id})'].patch
$.paths['/api/v1/admin/Plugins/Default.Default()'].get
$.paths['/api/v1/admin/Plugins/Default.archive'].post
$.paths['/api/v1/admin/plugins/archive'].delete
$.paths['/api/v1/admin/plugins/delete'].delete
$.paths['/api/v1/admin/plugins({key})/customproperties({custompropertyKey})'].get
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 Admin API V1 Plugins API
version: 1.0.0
extends: openapi/optimizely-plugins-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/Plugins'].get
update:
x-apievangelist-phrasing:
intent: List plugins
effect: read
questions:
- Which integration plugins are registered in the commerce admin?
- Can I filter plugins to only active ones?
- How many plugins are configured?
instructions:
- text: List all plugins.
- text: Find plugins matching {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Plugins'].post
update:
x-apievangelist-phrasing:
intent: Register a plugin
effect: write
questions:
- How do I register a new integration plugin with its interface and version?
- What's required to add a plugin, like connection name and full type name?
instructions:
- text: Register plugin {name} version {version} implementing {interfaceName}.
slots:
name: requestBody.name
version: requestBody.version
interfaceName: requestBody.interfaceName
- text: Add plugin {fullName} on connection {connectionName}.
slots:
fullName: requestBody.fullName
connectionName: requestBody.connectionName
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Plugins({id})'].get
update:
x-apievangelist-phrasing:
intent: Get a plugin
effect: read
questions:
- Can I see one plugin's interface, version and connection?
- Is a specific plugin active?
instructions:
- text: Show plugin {id}.
slots:
id: path.id
- text: Get details of plugin {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Plugins({id})'].put
update:
x-apievangelist-phrasing:
intent: Replace a plugin
effect: write
questions:
- How do I overwrite a plugin record completely?
- Does a full plugin replace need every required field again?
instructions:
- text: Replace plugin {id} with a full record at version {version}.
slots:
id: path.id
version: requestBody.version
- text: Overwrite all fields of plugin {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Plugins({id})'].delete
update:
x-apievangelist-phrasing:
intent: Delete a plugin
effect: destructive
questions:
- How do I permanently delete a plugin?
- Can a plugin delete be conditional on an ETag?
instructions:
- text: Delete plugin {id}.
slots:
id: path.id
- text: Delete plugin {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/Plugins({id})'].patch
update:
x-apievangelist-phrasing:
intent: Update fields on a plugin
effect: write
questions:
- Can I deactivate a plugin without replacing it?
- How do I change only a plugin's description?
instructions:
- text: Set plugin {id} active status to {isActive}.
slots:
id: path.id
isActive: requestBody.isActive
- text: Update the description of plugin {id} to {description}.
slots:
id: path.id
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Plugins/Default.Default()'].get
update:
x-apievangelist-phrasing:
intent: Get default values for a new plugin
effect: read
questions:
- What defaults does a new plugin record start with?
- Is there an empty plugin template?
instructions:
- text: Get the default plugin template.
- text: Show prefilled defaults for a new plugin.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Plugins/Default.archive'].post
update:
x-apievangelist-phrasing:
intent: Archive plugins via OData action
effect: write
questions:
- Can I archive plugins using the OData archive action?
- How do I retire plugins with a POST rather than deleting them?
instructions:
- text: Archive plugins {ids} using the Default.archive action.
slots:
ids: query.ids
- text: Run the archive action for plugins {ids}.
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/plugins/archive'].delete
update:
x-apievangelist-phrasing:
intent: Archive plugins via route
effect: destructive
questions:
- Which endpoint archives plugins with a DELETE to the archive path?
- Can I archive several plugins through the archive route?
instructions:
- text: Archive plugins {ids} through the /archive route.
slots:
ids: query.ids
- text: Send plugins {ids} to archive using the DELETE archive endpoint.
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/plugins/delete'].delete
update:
x-apievangelist-phrasing:
intent: Bulk delete plugins
effect: destructive
questions:
- Can I permanently delete many plugins at once?
- How do I bulk remove plugins by ID?
instructions:
- text: Bulk delete plugins {ids}.
slots:
ids: query.ids
- text: Permanently remove the plugins with IDs {ids}.
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/plugins({key})/customproperties({custompropertyKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a custom property on a plugin
effect: read
questions:
- Can I read a custom property stored on a plugin?
- Where are extra custom fields for a plugin kept?
instructions:
- text: Show custom property {property} on plugin {key}.
slots:
property: path.custompropertyKey
key: path.key
- text: Get plugin {key}'s custom field {property}.
slots:
property: path.custompropertyKey
key: path.key
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-plugins-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.