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.
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Offer Decisioning Public API - v5 Public Offerings API
version: 1.0.0
extends: openapi/moengage-public-offerings-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: 4
- target: $.paths['/v5/offers'].get
update:
x-apievangelist-phrasing:
intent: List offerings
effect: read
questions:
- What offerings exist in my workspace?
- Can I filter offerings by status, tags or creation date?
- Which offerings have a name containing a word?
instructions:
- text: List all offerings.
- text: Find offerings whose name contains {name_contains}.
slots:
name_contains: query.name_contains
- text: List offerings with status {status_in} tagged {tags}.
slots:
status_in: query.status_in
tags: query.tags
method: generated
generated: '2026-10-01'
- target: $.paths['/v5/offers'].post
update:
x-apievangelist-phrasing:
intent: Create an offering
effect: write
questions:
- How do I create a new offer with targeting, scheduling and content?
- Can I add frequency capping rules to a new offering?
instructions:
- text: 'Create offering {name}: {priority}, {delivery}, {scheduling}, {segment_info}, {offer_content}, {variation_meta}, by {created_by}.'
slots:
name: requestBody.name
priority: requestBody.priority
delivery: requestBody.delivery
scheduling: requestBody.scheduling
segment_info: requestBody.segment_info
offer_content: requestBody.offer_content
variation_meta: requestBody.variation_meta
created_by: requestBody.created_by
- text: Set up a new offer called {name} for segment {segment_info}.
slots:
name: requestBody.name
segment_info: requestBody.segment_info
method: generated
generated: '2026-10-01'
- target: $.paths['/v5/offers/{offer_id}'].patch
update:
x-apievangelist-phrasing:
intent: Modify an existing offering
effect: write
questions:
- How do I change the priority or schedule of an offer that's already set up?
- Does updating an offering change only the fields I send?
instructions:
- text: Update offering {offer_id} to priority {priority}, as {updated_by}.
slots:
offer_id: path.offer_id
priority: requestBody.priority
updated_by: requestBody.updated_by
- text: Rename offering {offer_id} to {name}, updated by {updated_by}.
slots:
offer_id: path.offer_id
name: requestBody.name
updated_by: requestBody.updated_by
method: generated
generated: '2026-10-01'
- target: $.paths['/v5/offers/templates'].get
update:
x-apievangelist-phrasing:
intent: List offer personalization templates
effect: read
questions:
- What personalization templates can I use when building offers?
- Is the offer template list paginated with a cursor?
instructions:
- text: List the offer templates in this workspace.
- text: Show the next {limit} offer templates after cursor {cursor}.
slots:
limit: query.limit
cursor: query.cursor
method: generated
generated: '2026-10-01'
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.