Skip to main content

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

ChannelPlatforms
PushAndroid, iOS, Web (Chrome)

Targeting Capabilities

Audience TypeDescription
All UsersBroadcasts the notification to your entire reachable user base.
Custom SegmentTargets users belonging to a specific segment created on the MoEngage Dashboard.
Single UserTargets 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.
Personalization:
  • It is highly recommended to set useJinjaPersonalization: true in your advancedSettings to enable powerful dynamic content replacement.

FAQs

No, the MoEngage Push API currently does not support silent (data-only) notifications.
Yes, the basic template supports standard HTML tags for text formatting on supported platforms.
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.
In the targetUserAttributes object, set the attribute field to PUSH_ID and provide the device token as the attributeValue.

Postman Collection

We have made it easy for you to test the APIs. Click here to view the collection in Postman.