MoEngage · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Moengage Email Templates API
9 actions
9 updates
phrasing
extends
openapi/moengage-email-templates-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for MoEngage's API. It is a proposal applied on top of the contract, not a document MoEngage publishes.
What the actions change
x-apievangelist-phrasing
Targets 9
$.info
$.paths['/email-templates'].get
$.paths['/email-templates'].post
$.paths['/email-templates/{id}'].get
$.paths['/email-templates/{id}'].put
$.paths['/bulk/email-templates'].put
$.paths['/custom-templates/email'].put
$.paths['/custom-templates/email'].post
$.paths['/custom-templates/email/search'].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 Moengage Email Templates API
version: 1.0.0
extends: openapi/moengage-email-templates-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 8
- target: $.paths['/email-templates'].get
update:
x-apievangelist-phrasing:
intent: List all email templates
effect: read
questions:
- What email templates are in my MoEngage account?
- Is the full email template list paginated?
instructions:
- text: List all my email templates.
- text: Show page {page} of my email templates.
slots:
page: query.page
method: generated
generated: '2026-10-01'
- target: $.paths['/email-templates'].post
update:
x-apievangelist-phrasing:
intent: Upload an email template (V1)
effect: write
questions:
- How do I upload HTML email templates built outside MoEngage using the original V1 endpoint?
- Can I include a subject, sender name and attachments when uploading a V1 email template?
instructions:
- text: Upload a V1 email template named {name} with HTML {html} from source {source}.
slots:
name: requestBody.name
html: requestBody.html
source: requestBody.source
- text: Create a V1 email template {name} with subject {subject}, HTML {html}, source {source}.
slots:
name: requestBody.name
subject: requestBody.subject
html: requestBody.html
source: requestBody.source
method: generated
generated: '2026-10-01'
- target: $.paths['/email-templates/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get an email template by ID
effect: read
questions:
- How do I fetch one email template's content by its template ID?
- Can I see the HTML of a specific email template?
instructions:
- text: Get email template {id}.
slots:
id: path.id
- text: Show me the HTML and subject of template {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/email-templates/{id}'].put
update:
x-apievangelist-phrasing:
intent: Replace an email template by its ID
effect: write
questions:
- How do I overwrite an email template's HTML using its MoEngage template ID?
- Can I change the sender name on an existing template by ID?
instructions:
- text: Update email template {id} with name {name}, HTML {html} and source {source}.
slots:
id: path.id
name: requestBody.name
html: requestBody.html
source: requestBody.source
- text: Replace the HTML of template {id} with {html}, keeping name {name} and source {source}.
slots:
id: path.id
html: requestBody.html
name: requestBody.name
source: requestBody.source
method: generated
generated: '2026-10-01'
- target: $.paths['/bulk/email-templates'].put
update:
x-apievangelist-phrasing:
intent: Create or update many email templates at once
effect: write
questions:
- Can I create or update up to 50 email templates in a single request?
- Is there a bulk way to sync a batch of email templates?
instructions:
- text: Bulk create or update this batch of email templates.
- text: Upsert these 50 email templates in workspace {MOE-APPKEY} in one call.
slots:
MOE-APPKEY: header.MOE-APPKEY
method: generated
generated: '2026-10-01'
- target: $.paths['/custom-templates/email'].put
update:
x-apievangelist-phrasing:
intent: Update an email template by external ID
effect: write
questions:
- How do I update an email template using my own external template ID?
- Can an updated template version be pushed into active campaigns automatically?
instructions:
- text: Update the email template with external ID {external_template_id} using {basic_details} and {meta_info}.
slots:
external_template_id: requestBody.external_template_id
basic_details: requestBody.basic_details
meta_info: requestBody.meta_info
- text: Update external template {external_template_id} and set update_campaigns to {update_campaigns}.
slots:
external_template_id: requestBody.external_template_id
update_campaigns: requestBody.update_campaigns
method: generated
generated: '2026-10-01'
- target: $.paths['/custom-templates/email'].post
update:
x-apievangelist-phrasing:
intent: Upload an editable email template (V2)
effect: write
questions:
- How do I upload an email template that can be edited in the Froala editor on the dashboard?
- What details and meta info does the V2 custom email template upload need?
instructions:
- text: Create a V2 custom email template with details {basic_details} and meta info {meta_info}.
slots:
basic_details: requestBody.basic_details
meta_info: requestBody.meta_info
- text: Upload my external HTML as a Froala-editable email template.
method: generated
generated: '2026-10-01'
- target: $.paths['/custom-templates/email/search'].post
update:
x-apievangelist-phrasing:
intent: Search custom email templates
effect: read
questions:
- How do I search email templates by name or creator?
- Can I find email templates by my external template IDs?
- Which email templates were last updated by a particular teammate?
instructions:
- text: Search email templates named {template_name}, page {page}, {entries} per page.
slots:
template_name: requestBody.template_name
page: requestBody.page
entries: requestBody.entries
- text: Find email templates created by {created_by}, page {page} with {entries} entries.
slots:
created_by: requestBody.created_by
page: requestBody.page
entries: requestBody.entries
method: generated
generated: '2026-10-01'