> ## Documentation Index
> Fetch the complete documentation index at: https://moengage-sdk-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Push Overview

> Create campaigns and send personalized push notifications to individual users or segments across Android, iOS, and Web.

## 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:

* [Send Push Notification](https://moengage.mintlify.app/api/transactional/send-push-notification)

## 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

<Note>
  **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.
</Note>

## FAQs

<AccordionGroup>
  <Accordion title="Does the Push API support silent notifications?">
    No, the MoEngage Push API currently does not support silent (data-only) notifications.
  </Accordion>

  <Accordion title="Can I use HTML to format notification text?">
    Yes, the basic template supports standard HTML tags for text formatting on supported platforms.
  </Accordion>

  <Accordion title="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.
  </Accordion>

  <Accordion title="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`.
  </Accordion>
</AccordionGroup>

## Postman Collection

We have made it easy for you to test the APIs. Click [here](https://www.postman.com/moengage-dev/api-docs/collection/acmujor/moengage-transaction-push-api?action=share\&source=copy-link\&creator=5883765) to view the collection in Postman.
