HubSpot · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Marketing Emails API
16 actions
16 updates
phrasing
extends
openapi/hubspot-emails-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for HubSpot's API. It is a proposal applied on top of the contract, not a document HubSpot publishes.
What the actions change
x-apievangelist-phrasing
Targets 16
$.info
$.paths['/marketing/emails/2026-09/ab-test/create-variation'].post
$.paths['/marketing/emails/2026-09/clone'].post
$.paths['/marketing/emails/2026-09/{emailId}'].get
$.paths['/marketing/emails/2026-09/{emailId}'].delete
$.paths['/marketing/emails/2026-09/{emailId}'].patch
$.paths['/marketing/emails/2026-09/{emailId}/ab-test/get-variation'].get
$.paths['/marketing/emails/2026-09/{emailId}/draft'].get
$.paths['/marketing/emails/2026-09/{emailId}/draft'].patch
$.paths['/marketing/emails/2026-09/{emailId}/draft/reset'].post
$.paths['/marketing/emails/2026-09/{emailId}/publish'].post
$.paths['/marketing/emails/2026-09/{emailId}/revisions'].get
$.paths['/marketing/emails/2026-09/{emailId}/revisions/{revisionId}'].get
$.paths['/marketing/emails/2026-09/{emailId}/revisions/{revisionId}/restore'].post
$.paths['/marketing/emails/2026-09/{emailId}/revisions/{revisionId}/restore-to-draft'].post
$.paths['/marketing/emails/2026-09/{emailId}/unpublish'].post
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 Marketing Emails API
version: 1.0.0
extends: openapi/hubspot-emails-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-24'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 15
- target: $.paths['/marketing/emails/2026-09/ab-test/create-variation'].post
update:
x-apievangelist-phrasing:
intent: Create an A/B test variant of a marketing email
effect: write
questions:
- How do I set up an A/B test on a marketing email in HubSpot?
- Can I add a B version to a marketing email so I can test two subject lines?
- What happens if the email I want to A/B test already has an active variation?
instructions:
- text: Create an A/B test variation of marketing email {contentId} called {variationName}.
slots:
contentId: requestBody.contentId
variationName: requestBody.variationName
- text: Start an A/B test on email {contentId} by drafting a second version of it.
slots:
contentId: requestBody.contentId
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/clone'].post
update:
x-apievangelist-phrasing:
intent: Duplicate a marketing email
effect: write
questions:
- Can I make a copy of an existing marketing email instead of building it from scratch?
- How do I duplicate a marketing email and give the copy a different language?
instructions:
- text: Clone marketing email {id} and name the copy {cloneName}.
slots:
id: requestBody.id
cloneName: requestBody.cloneName
- text: Duplicate email {id} as a {language} version.
slots:
id: requestBody.id
language: requestBody.language
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}'].get
update:
x-apievangelist-phrasing:
intent: Look up a marketing email's details
effect: read
questions:
- Where can I see the full settings and content of one marketing email?
- Can I pull send statistics along with a marketing email's details?
instructions:
- text: Show me the details of marketing email {emailId}.
slots:
emailId: path.emailId
- text: Get marketing email {emailId} with its stats included.
slots:
emailId: path.emailId
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a marketing email
effect: destructive
questions:
- How do I get rid of a marketing email I no longer need?
- Can I delete an old marketing email through the API?
instructions:
- text: Delete marketing email {emailId}.
slots:
emailId: path.emailId
- text: Remove the marketing email with ID {emailId} from my account.
slots:
emailId: path.emailId
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}'].patch
update:
x-apievangelist-phrasing:
intent: Change a marketing email's live properties
effect: write
questions:
- How do I change the subject line of a marketing email directly, without going through a draft?
- Can I reschedule when a marketing email goes out by editing its publish date?
- Is it possible to move a marketing email into a different folder or campaign?
instructions:
- text: Change the subject of marketing email {emailId} to {subject}.
slots:
emailId: path.emailId
subject: requestBody.subject
- text: Rename email {emailId} to {name} on the email dashboard.
slots:
emailId: path.emailId
name: requestBody.name
- text: Attach marketing email {emailId} to campaign {campaign}.
slots:
emailId: path.emailId
campaign: requestBody.campaign
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}/ab-test/get-variation'].get
update:
x-apievangelist-phrasing:
intent: Find the other version of an A/B tested email
effect: read
questions:
- Given version A of an A/B test email, how do I find its version B?
- Which email is the counterpart variant in my A/B test?
instructions:
- text: Get the A/B test counterpart of email {emailId}.
slots:
emailId: path.emailId
- text: Show the opposite variation of A/B email {emailId} with its variant stats.
slots:
emailId: path.emailId
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}/draft'].get
update:
x-apievangelist-phrasing:
intent: View the unpublished draft of a marketing email
effect: read
questions:
- How can I see pending edits to a marketing email before they go live?
- What do I get back if an email has no draft version yet?
instructions:
- text: Show me the draft version of marketing email {emailId}.
slots:
emailId: path.emailId
- text: Fetch the unpublished changes on email {emailId}.
slots:
emailId: path.emailId
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}/draft'].patch
update:
x-apievangelist-phrasing:
intent: Edit the draft of a marketing email
effect: write
questions:
- Can I stage changes to a live marketing email without affecting the published version?
- How do I work on an email's next version in a draft before publishing it?
instructions:
- text: In the draft of email {emailId}, set the subject to {subject}.
slots:
emailId: path.emailId
subject: requestBody.subject
- text: Stage a draft change to email {emailId} that renames it {name}, leaving the live email alone.
slots:
emailId: path.emailId
name: requestBody.name
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}/draft/reset'].post
update:
x-apievangelist-phrasing:
intent: Discard draft changes to a marketing email
effect: destructive
questions:
- How do I throw away my unpublished edits and go back to the live email?
- Can I reset an email's draft so it matches what's currently published?
instructions:
- text: Reset the draft of email {emailId} back to the live version.
slots:
emailId: path.emailId
- text: Discard all pending draft edits on marketing email {emailId}.
slots:
emailId: path.emailId
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}/publish'].post
update:
x-apievangelist-phrasing:
intent: Publish or send a marketing email
effect: write
questions:
- How do I send a marketing email or schedule it through the API?
- What account level do I need to publish an automated email via the API?
instructions:
- text: Send marketing email {emailId} now.
slots:
emailId: path.emailId
- text: Publish automated email {emailId} so it goes live.
slots:
emailId: path.emailId
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}/revisions'].get
update:
x-apievangelist-phrasing:
intent: List the version history of a marketing email
effect: read
questions:
- Where can I see every past version of a marketing email?
- Can I page through an email's edit history to find an older copy?
instructions:
- text: List all revisions of marketing email {emailId}.
slots:
emailId: path.emailId
- text: Show the last {limit} saved versions of email {emailId}.
slots:
limit: query.limit
emailId: path.emailId
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}/revisions/{revisionId}'].get
update:
x-apievangelist-phrasing:
intent: View one past version of a marketing email
effect: read
questions:
- How do I look at exactly what a marketing email contained in a specific earlier revision?
- Can I inspect a single old revision of an email by its revision ID?
instructions:
- text: Show revision {revisionId} of marketing email {emailId}.
slots:
revisionId: path.revisionId
emailId: path.emailId
- text: Get the full state of email {emailId} as it was at revision {revisionId}.
slots:
emailId: path.emailId
revisionId: path.revisionId
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}/revisions/{revisionId}/restore'].post
update:
x-apievangelist-phrasing:
intent: Roll a marketing email back to an earlier revision
effect: write
questions:
- How do I undo recent changes by making an older revision of an email the current one?
- Does restoring an old email revision give it a new version number?
instructions:
- text: Restore marketing email {emailId} to revision {revisionId} as the current version.
slots:
emailId: path.emailId
revisionId: path.revisionId
- text: Roll email {emailId} back to revision {revisionId}.
slots:
emailId: path.emailId
revisionId: path.revisionId
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}/revisions/{revisionId}/restore-to-draft'].post
update:
x-apievangelist-phrasing:
intent: Load an old email revision into the draft
effect: write
questions:
- Can I bring back an old version of an email as a draft without changing the live one?
- Will pulling an earlier revision into the draft overwrite my current draft?
instructions:
- text: Copy revision {revisionId} of email {emailId} into its draft, not the live version.
slots:
revisionId: path.revisionId
emailId: path.emailId
- text: Restore revision {revisionId} to draft state for marketing email {emailId}.
slots:
revisionId: path.revisionId
emailId: path.emailId
method: generated
generated: '2026-09-24'
- target: $.paths['/marketing/emails/2026-09/{emailId}/unpublish'].post
update:
x-apievangelist-phrasing:
intent: Unpublish or cancel a marketing email
effect: destructive
questions:
- How do I stop a scheduled marketing email from going out?
- Can I cancel an email that is already in the middle of sending?
- What's the way to take an automated email offline?
instructions:
- text: Cancel the scheduled send of marketing email {emailId}.
slots:
emailId: path.emailId
- text: Unpublish automated email {emailId}.
slots:
emailId: path.emailId
method: generated
generated: '2026-09-24'
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/hubspot-emails-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.