canonical: https://jentic.com/apis/moengage.com

# MoEngage APIs

MoEngage is a customer engagement platform for running cross-channel campaigns across push, email, SMS, in-app, and web. Its APIs cover two jobs: the management API tracks customer attributes, ingests events, lists campaigns and segments, reads per-campaign delivery stats, and processes GDPR deletions; the Data API streams server-side user events into the platform through a single ingestion endpoint. Together they let teams sync profiles, feed events into segmentation, report on campaign performance, and honour right-to-be-forgotten requests.

## For AI agents

An agent can sync customer attributes, stream server-side and low-volume events, list campaigns and segments, pull per-campaign delivery and engagement stats, and process GDPR user deletions across MoEngage's management and Data APIs.

## Scope

Use for: Syncing customer attributes, streaming server-side user events into MoEngage, reading campaign and segment listings and per-campaign delivery stats, and processing GDPR user deletions.

Not supported:
- campaign authoring
- template editing
- raw push sending
- reading events back
- OAuth authentication
- real-time streaming

## APIs

| API | Category | Endpoints | Description |
| --- | --- | --- | --- |
| MoEngage API | marketing | 6 | Track customer attributes, ingest events, fetch campaign stats and segments, and process GDPR deletions on the MoEngage engagement platform. |
| MoEngage Data API | analytics | 1 | Stream user events into MoEngage for product analytics and campaign segmentation via a single POST /events endpoint authenticated with workspace headers. |

## Which API to use

| Need | API | Why |
| --- | --- | --- |
| Send user events into MoEngage | data-api | The Data API is purpose-built for high-volume server-side event streaming through POST /events with dedicated MOE-APPID and MOE-API-KEY headers. |
| Send a low-volume event alongside campaign and attribute reads | moengage | The management API exposes POST /event for events that ride alongside customer attribute and campaign operations without a second credential. |
| Read campaign stats or list segments | moengage | Only the management API exposes /campaigns, /campaigns/{campaignId}/stats, and /segments; the Data API is ingestion only. |

## Cross-API use cases

### Ingest events then report on the campaigns they trigger

Stream server-side purchase and conversion events into MoEngage through the Data API, then use the management API to list the campaigns those events trigger and pull their delivery and engagement stats into a report. This closes the loop from event to campaign outcome without exporting from the MoEngage UI.

Example prompt: Post 'purchase_completed' events for the day via the Data API POST /events, then list campaigns and pull per-campaign stats via the management API to report open and click rates

### Backfill history and sync current profiles for accurate segments

Replay historical events from a data warehouse through the Data API with their original timestamps while syncing current customer attributes through the management API, so segments rebuild on real history and reflect up-to-date profile state.

Example prompt: Read 90 days of order events from BigQuery and POST each to the Data API preserving timestamps, then update each user's lifecycle_stage attribute via the management API POST /customer

### Track a conversion and clean up on deletion request

Stream a conversion event into MoEngage through the Data API when a deal closes, and later remove that user's record through the management API when a GDPR deletion request arrives, wiring both into internal tooling.

Example prompt: Post a 'deal_closed' event via the Data API when a lead is marked closed-won, and call the management API POST /delete_user for any user_id in the deletion-requests queue

## Why Jentic

- **Setup:** Wiring MoEngage by hand means combining the App ID and key into a Basic header for the management API, setting MOE-APPID and MOE-API-KEY headers for the Data API, picking the right regional host, and coding each call. Through Jentic you install once, add either MoEngage API from the Jentic directory, store the credentials once, and your agent calls them.
- **Permission scoping:** Both APIs send their targets in the request body, so your own rules limit the agent to the operations it needs, such as posting an event or listing campaigns. A destructive operation like GDPR user deletion is only callable if you explicitly allow it.
- **Credential handling:** Your MoEngage App ID and both API keys are stored encrypted by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent, such as 'send a user event to MoEngage' or 'list MoEngage campaigns', and Jentic returns the matching operation with its schema so the agent calls the right endpoint without browsing the vendor docs.

## Related vendors

- **Braze** — Broadly equivalent cross-channel customer engagement platform, often chosen for established North American enterprise deployments.
- **Klaviyo** — Alternative engagement platform focused on e-commerce email and SMS marketing automation.
- **Mixpanel** — Alternative for server-side event ingestion when richer product analytics querying is the primary need.
- **Segment** — Routes a single event stream to many destinations including MoEngage, complementing the Data API for fan-out.

## FAQ

### What can an agent do across the MoEngage APIs?

An agent can stream server-side user events into MoEngage, sync customer attributes, list campaigns and segments, pull per-campaign delivery and engagement stats, and process GDPR user deletions. The Data API handles inbound event ingestion while the management API covers reads and profile management.

### Do the two MoEngage APIs share one set of credentials?

No. The management API uses HTTP Basic auth with the workspace App ID as username and API key as password. The Data API uses two separate request headers, MOE-APPID and MOE-API-KEY. You configure each credential once in your own Jentic One instance.

### Which MoEngage API should I use to send events?

Use the Data API for high-volume server-side ingestion through POST /events, since it is purpose-built for streaming events with dedicated headers. Use the management API's POST /event only for low-volume events that ride alongside customer attribute and campaign reads.

### Can I read data back through the Data API?

No. The Data API exposes a single POST /events endpoint for ingestion only. To read campaigns, segments, or customer data, use the management API, which exposes /campaigns, /campaigns/{campaignId}/stats, and /segments.

### Can an agent measure the campaigns that my events trigger?

Yes. Stream events through the Data API, then list campaigns and pull per-campaign stats through the management API. This lets an agent connect event ingestion to campaign delivery and engagement outcomes in one workflow.

### Are these MoEngage specs official?

The management API spec is vendor-official. MoEngage does not publish an OpenAPI specification for the Data API, so Jentic generates and maintains that one, validated against the live API and kept up to date.

### How does an agent handle GDPR deletion requests?

The management API's POST /delete_user triggers MoEngage's deletion workflow, removing the profile, associated events, and segment memberships. Wire it into a company-wide deletion pipeline alongside CRM and warehouse deletions to honour right-to-be-forgotten requests end to end.
