Overview
The MoEngage Push API allows you to programmatically trigger push notifications. It is designed for high-throughput transactional and marketing use cases, supporting complex targeting logic and deep personalization for every recipient. Use this API to:- Target Segments: Send notifications to all users or specific pre-defined segments.
- Target Individuals: Reach a single user using unique attributes like Email, Mobile Number, or Unique ID.
- Personalize at Scale: Use Jinja templating to dynamicially inject user-specific data into the notification payload.
Push API Endpoints
The Push API suite currently includes:Supported Channels & Platforms
| Channel | Platforms |
|---|---|
| Push | Android, iOS, Web (Chrome) |
Targeting Capabilities
| Audience Type | Description |
|---|---|
| All Users | Broadcasts the notification to your entire reachable user base. |
| Custom Segment | Targets users belonging to a specific segment created on the MoEngage Dashboard. |
| Single User | Targets a specific user based on a unique attribute (e.g., USER_ATTRIBUTE_UNIQUE_ID). |
Rate Limits
The Push API is optimized for high performance:- Default Rate Limit: 10,000 requests per minute.
- Max Throttling Support: Can be configured up to 250,000 RPM for personalized campaigns.
Important Notes
Campaign Naming:
- Campaign names must be at least 5 characters long.
- For “All Users” or “Custom Segment” requests, campaign names must be unique.
- For “User” (Single User) requests, you should reuse the same campaign name to club individual triggers into a single reporting view.
- It is highly recommended to set useJinjaPersonalization: true in your advancedSettings to enable powerful dynamic content replacement.
FAQs
Does the Push API support silent notifications?
Does the Push API support silent notifications?
No, the MoEngage Push API currently does not support silent (data-only) notifications.
Can I use HTML to format notification text?
Can I use HTML to format notification text?
Yes, the basic template supports standard HTML tags for text formatting on supported platforms.
What happens if personalization fails for a specific user?
What happens if personalization fails for a specific user?
You can provide a
fallback object within the payload. If the personalization logic fails (e.g., a missing user attribute), the system will automatically send the fallback content instead.How do I target a user using their device token directly?
How do I target a user using their device token directly?
In the
targetUserAttributes object, set the attribute field to PUSH_ID and provide the device token as the attributeValue.