Welcome to the MoEngage API reference. Build powerful integrations to automate campaigns, sync user data, manage product catalogs, and deliver personalized experiences at scale.Documentation Index
Fetch the complete documentation index at: https://moengage-sdk-docs.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
API Categories
Data
Create and update users, track events, manage devices, and import data in bulk.
Campaigns
Create and manage Push and Email campaigns programmatically.
Push
Send transactional and targeted push notifications to Android, iOS, and Web.
Inform
Send transactional alerts across SMS, Email, and Push channels.
Catalog
Manage product catalogs for recommendations and personalization.
Cards
Fetch and manage App Inbox cards for users.
Custom Segments
Create and manage file-based and filter-based user segments.
Business Events
Create and trigger business events to power automated campaigns.
Data Centers
MoEngage maintains multiple data centers. You are assigned to a specific data center when you sign up. You can identify your data center from your Dashboard URL.| Data Center | Dashboard URL | REST API Host |
|---|---|---|
| DC-01 | https://dashboard-01.moengage.com | https://api-01.moengage.com |
| DC-02 | https://dashboard-02.moengage.com | https://api-02.moengage.com |
| DC-03 | https://dashboard-03.moengage.com | https://api-03.moengage.com |
| DC-04 | https://dashboard-04.moengage.com | https://api-04.moengage.com |
| DC-05 | https://dashboard-05.moengage.com | https://api-05.moengage.com |
| DC-06 | https://dashboard-06.moengage.com | https://api-06.moengage.com |
Choosing a Data Center
If you have data privacy requirements to store user data in a specific geographical region:- US region: Sign up with DC-01 or DC-04
- EU region: Sign up with DC-02
- India region: Sign up with DC-03
- Singapore region: Sign up with DC-05
- Indonesia region: Sign up with DC-06
Base URL
All API requests are made to:{dc} with your data center number (e.g., 01, 02, 03). You can identify your data center from your Dashboard URL.
Each API may have additional path segments (e.g.,
/v1, /core-services/v1). Refer to the specific API documentation for the complete endpoint path.Authentication
All MoEngage APIs use Basic Authentication combined with a MOE-APPKEY header.Required Headers
Generating Credentials
TheAuthorization header value is a Base64 encoding of workspace_id:api_key.
Getting Your Credentials
- Log in to the MoEngage Dashboard
- Navigate to Settings → Account → APIs
- Copy your Workspace ID and the relevant API Key
API Keys by Feature
Different APIs require different API keys from your dashboard:| API | API Key Location (Settings → Account → APIs) |
|---|---|
| Data | Data API Key |
| Push | Push API Key |
| Inform | Inform API Key |
| Campaigns | Campaign report/Business events/Custom templates tile |
| Catalog | Campaign report/Business events/Custom templates tile |
| Personalize | Personalize API Key |
Quick Start
Now that you have your credentials, make your first API request. This example creates a user profile using the Data API.Replace
api-01 with your data center’s API host (e.g., api-02, api-03).Rate Limits
Rate limits vary by API. Headers are included in responses to help you manage usage.| API | Rate Limit |
|---|---|
| Campaigns API | 5 requests/min, 25 requests/hour, 100 requests/day |
| Catalog API | 100 requests/min or 1,000 requests/hour |
| Campaign Stats API | 100 requests/min/workspace |
| Custom Segments (Filter) | 50 requests/min, 200 requests/hour, 1,000 requests/day |
| Custom Segments (File) | 10 operations/hour, 100 operations/day |
Rate Limit Response Headers
Payload Size Limits
| API | Max Payload Size |
|---|---|
| Catalog API | 5 MB |
| Recommendations API | 1 MB |
| Bulk Import API | 100 KB |
| Custom Segments (File) | 150 MB per file |
Error Handling
All APIs return consistent error responses.Standard Error Format
HTTP Status Codes
| Code | Description |
|---|---|
200 | Success |
201 | Created |
202 | Accepted (async processing) |
400 | Bad Request - Invalid parameters |
401 | Unauthorized - Invalid credentials |
403 | Forbidden - Access denied |
404 | Not Found - Resource doesn’t exist |
409 | Conflict - Duplicate resource |
413 | Payload Too Large |
429 | Rate Limit Exceeded |
500 | Internal Server Error |
Key Endpoints Reference
Data APIs
| Method | Endpoint | Description |
|---|---|---|
POST | /customer/{Workspace_ID} | Create or update user |
POST | /customers/export | Get user details |
POST | /customer/merge | Merge two users |
POST | /customer/delete/bulk | Delete users in bulk |
POST | /event/{Workspace_ID} | Track user events |
POST | /device/{appId} | Create or update device |
POST | /transition/{Workspace_ID} | Bulk import users and events |
Campaigns & Messaging
| Method | Endpoint | Description |
|---|---|---|
POST | /campaigns | Create Push or Email campaign |
POST | /transaction/sendpush | Send push notification |
POST | /alerts/send | Send transactional alert (SMS/Email/Push) |
Catalog
| Method | Endpoint | Description |
|---|---|---|
POST | /catalog | Create catalog |
PATCH | /catalog/{catalog_id}/attributes | Add catalog attributes |
POST | /catalog/{catalog_id}/items | Ingest catalog items |
PATCH | /catalog/{catalog_id}/items | Update catalog items |
POST | /catalog/{catalog_id}/items/bulk-delete | Delete catalog items |
Templates
| Method | Endpoint | Description |
|---|---|---|
POST | /custom-templates/push | Create Push template |
PUT | /custom-templates/push | Update Push template |
POST | /custom-templates/push/search | Search Push templates |
POST | /custom-templates/sms | Create SMS template |
PUT | /custom-templates/sms | Update SMS template |
POST | /custom-templates/sms/search | Search SMS templates |
POST | /custom-templates/inapp | Create In-App template |
PUT | /custom-templates/inapp | Update In-App template |
POST | /custom-templates/inapp/search | Search In-App templates |
POST | /custom-templates/osm | Create OSM template |
PUT | /custom-templates/osm | Update OSM template |
POST | /custom-templates/osm/search | Search OSM templates |
POST | /email-templates | Create Email template |
PUT | /email-templates/{template_id} | Update Email template |
GET | /email-templates | Get all Email templates |
GET | /email-templates/{template_id} | Get Email template by ID |
Content Blocks
| Method | Endpoint | Description |
|---|---|---|
POST | /content-blocks | Create content block |
PUT | /content-blocks | Update content block |
POST | /content-blocks/get-by-ids | Get content blocks by IDs |
POST | /content-blocks/search | Search content blocks |
Segments & Audiences
| Method | Endpoint | Description |
|---|---|---|
POST | /v2/custom-segments/file-segment | Create file segment |
POST | /v3/custom-segments/ | Create filter segment |
GET | /v3/custom-segments | List custom segments |
GET | /v3/custom-segments/{id} | Get segment by ID |
Business Events
| Method | Endpoint | Description |
|---|---|---|
POST | /business_event | Create business event |
POST | /business_event/trigger | Trigger business event |
POST | /business_event/search | Search business events |
Live Activities (iOS)
| Method | Endpoint | Description |
|---|---|---|
POST | /live-activity/broadcast/start | Start Live Activity |
POST | /live-activity/broadcast/update | Update Live Activity |
POST | /live-activity/broadcast/end | End Live Activity |
MCP Server
MoEngage provides a hosted Model Context Protocol (MCP) server that connects your AI-powered development tools directly to MoEngage documentation. Instead of searching the web, your AI assistant queries MoEngage docs in real time for accurate, up-to-date answers about APIs, SDKs, and platform features.Available tools
Your MCP server exposes the following tool:| Tool | Description |
|---|---|
SearchMoEngage | Search across the MoEngage knowledge base to find documentation, code examples, API references, and implementation guides. |
Connect to your AI tool
- Cursor
- VS Code
- Claude
- Claude Code
Open MCP settings
Use Cmd + Shift + P (macOS) or Ctrl + Shift + P (Windows/Linux) to open the command palette, then search for “Open MCP settings”. This opens the
mcp.json file.The MCP server is available for public documentation only. Rate limits apply: 200 requests per hour per user and 1,000 requests per hour across all users.
Support
Need help with the API?- Help Center: help.moengage.com
- Support: Contact your Customer Success Manager or reach out via the dashboard