Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Admin API V1 Email Messages API
13 actions
13 updates
phrasing
extends
openapi/optimizely-email-messages-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 13
$.info
$.paths['/api/v1/admin/EmailMessages'].get
$.paths['/api/v1/admin/EmailMessages'].post
$.paths['/api/v1/admin/EmailMessages({id})'].get
$.paths['/api/v1/admin/EmailMessages({id})'].put
$.paths['/api/v1/admin/EmailMessages({id})'].delete
$.paths['/api/v1/admin/EmailMessages({id})'].patch
$.paths['/api/v1/admin/EmailMessages/Default.Default()'].get
$.paths['/api/v1/admin/emailmessages/delete'].delete
$.paths['/api/v1/admin/emailmessages({key})/customproperties({custompropertyKey})'].get
$.paths['/api/v1/admin/emailmessages({key})/emailmessageaddresses({emailmessageaddressKey})'].get
$.paths['/api/v1/admin/emailmessages({key})/emailmessageattachments({emailmessageattachmentKey})'].get
$.paths['/api/v1/admin/emailmessages({key})/emailmessagedeliveryattempts({emailmessagedeliveryattemptKey})'].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 Email Messages API
version: 1.0.0
extends: openapi/optimizely-email-messages-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: 12
- target: $.paths['/api/v1/admin/EmailMessages'].get
update:
x-apievangelist-phrasing:
intent: List sent email messages
effect: read
questions:
- How do I list the email messages the commerce platform has logged?
- Can I filter email messages by subject or sent date?
- Is there a way to count how many emails were sent this month?
instructions:
- text: List all logged email messages.
- text: List email messages matching {filter}.
slots:
filter: query.$filter
- text: Show the latest {top} email messages ordered by {orderby}.
slots:
top: query.$top
orderby: query.$orderby
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailMessages'].post
update:
x-apievangelist-phrasing:
intent: Record a new email message
effect: write
questions:
- How do I add an email message record with a subject and body?
- What fields does a new email message entry require?
instructions:
- text: Create an email message with subject {subject} and body {body}.
slots:
subject: requestBody.subject
body: requestBody.body
- text: Log a new email titled {subject} sent on {sentDate}.
slots:
subject: requestBody.subject
sentDate: requestBody.sentDate
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailMessages({id})'].get
update:
x-apievangelist-phrasing:
intent: Get one email message
effect: read
questions:
- Is there a call to read a single email message by its ID?
- Can I see the subject and body of a specific logged email?
instructions:
- text: Get email message {id}.
slots:
id: path.id
- text: Show the subject and body of email {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailMessages({id})'].put
update:
x-apievangelist-phrasing:
intent: Replace an email message record
effect: write
questions:
- What's the call to overwrite an email message record completely?
- Do I have to send both subject and body when replacing an email record?
instructions:
- text: Replace email message {id} with subject {subject} and body {body}.
slots:
id: path.id
subject: requestBody.subject
body: requestBody.body
- text: Overwrite the full record of email {id}, subject {subject}.
slots:
id: path.id
subject: requestBody.subject
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailMessages({id})'].delete
update:
x-apievangelist-phrasing:
intent: Delete one email message
effect: destructive
questions:
- How do I delete a single logged email message?
- Can I make an email message delete conditional on its ETag?
instructions:
- text: Delete email message {id}.
slots:
id: path.id
- text: Delete email {id} only if the ETag matches {etag}.
slots:
id: path.id
etag: header.If-Match
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailMessages({id})'].patch
update:
x-apievangelist-phrasing:
intent: Update fields on an email message
effect: write
questions:
- How do I change just the subject of an existing email message?
- Can I correct the sent date on an email record without replacing it?
instructions:
- text: Change the subject of email {id} to {subject}.
slots:
id: path.id
subject: requestBody.subject
- text: Set the sent date of email {id} to {sentDate}.
slots:
id: path.id
sentDate: requestBody.sentDate
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/EmailMessages/Default.Default()'].get
update:
x-apievangelist-phrasing:
intent: Get the default email message template
effect: read
questions:
- What does a default, empty email message record contain?
- Where can I get default values for a new email message?
instructions:
- text: Get the default email message template.
- text: Show me the default fields for a new email message.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/emailmessages/delete'].delete
update:
x-apievangelist-phrasing:
intent: Bulk delete email messages
effect: destructive
questions:
- Can I delete a batch of email messages at once?
- Can I clear out many logged emails by passing their IDs?
instructions:
- text: Bulk delete email messages {ids}.
slots:
ids: query.ids
- text: 'Remove all of these email records: {ids}.'
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/emailmessages({key})/customproperties({custompropertyKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a custom property on an email
effect: read
questions:
- Where would I read a custom property stored on an email message?
- Can I fetch an extra attribute attached to a logged email?
instructions:
- text: Get custom property {prop} on email message {key}.
slots:
key: path.key
prop: path.custompropertyKey
- text: Show custom field {prop} for email {key}.
slots:
key: path.key
prop: path.custompropertyKey
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/emailmessages({key})/emailmessageaddresses({emailmessageaddressKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a recipient address of an email
effect: read
questions:
- Who was an email message addressed to?
- Can I read one recipient address on a logged email?
instructions:
- text: Get address {address} on email message {key}.
slots:
key: path.key
address: path.emailmessageaddressKey
- text: Show recipient entry {address} for email {key}.
slots:
key: path.key
address: path.emailmessageaddressKey
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/emailmessages({key})/emailmessageattachments({emailmessageattachmentKey})'].get
update:
x-apievangelist-phrasing:
intent: Get an attachment on an email
effect: read
questions:
- Can I retrieve an attachment from a logged email message?
- What files were attached to a particular email?
instructions:
- text: Get attachment {attachment} on email message {key}.
slots:
key: path.key
attachment: path.emailmessageattachmentKey
- text: Show file attachment {attachment} from email {key}.
slots:
key: path.key
attachment: path.emailmessageattachmentKey
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/emailmessages({key})/emailmessagedeliveryattempts({emailmessagedeliveryattemptKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a delivery attempt for an email
effect: read
questions:
- Did a particular email delivery attempt succeed?
- Can I see the details of one send attempt for an email message?
instructions:
- text: Get delivery attempt {attempt} for email message {key}.
slots:
key: path.key
attempt: path.emailmessagedeliveryattemptKey
- text: Show send attempt {attempt} on email {key}.
slots:
key: path.key
attempt: path.emailmessagedeliveryattemptKey
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-email-messages-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.