---
title: "Send Transactional Alert"
method: POST
path: "/alerts/send"
tags: ["Transactional Alerts"]
---

# Send Transactional Alert

`POST /alerts/send`

## Request

- Base URL: `https://api-01.moengage.com/v1.0`
- URL: `https://api-01.moengage.com/v1.0/alerts/send`
- Auth: HTTP basic and API key in header `MOE-APPKEY`
- TypeScript: <https://skmtc.dev/moengage/apis/moengage-inform-api/docs/alerts/send/post.ts> (a function with typed inputs; its response is checked against the schema)

This API is used to trigger a transactional message/alert to the user via one or more configured channels.

## Request body

- InformRequest
  - `alert_id` string: This field uniquely identifies the Alert to be sent to the user. For the staging endpoint, use the test alert id and for the live endpoint, use the alert id. For more information, refer to [Live and Test Alerts](#live-vs-test-environments).
  - `alert_reference_name` string: This field is used to identify the Alert using your reference Name and can be used to identify the alert as an alternative to Alert ID.
  - `user_id` string: This is the unique user identifier information you maintain. This information should be passed in the request to facilitate the mapping of the channel events back to the user profile to which this user_id is associated in MoEngage.
  - `transaction_id` string, required: This is the unique identifier denoting the transaction for which the Alert is being sent to the user. This information is maintained by the brand and is passed in the request. The maximum length allowed for this field is 50 characters. The Inform API supports idempotency using this parameter. If a request contains a `transaction_id` and is successful and another request with the same `transaction_id` is received within 5 minutes of the successful request, the new request would be deemed a duplicate one.
  - `payloads` object, required: The payload contains the following channel-level information for all the configured channels.
    - `SMS` PayloadChannel
      - `recipient` string, required: The target for the notification. This should be a mobile number for SMS, an email address for EMAIL, or a push token for PUSH.
      - `personalized_attributes` object: Key-value map for personalization. Personalization attributes are sent by the brand when invoking the Inform API and are used to resolve the content of the message. For iOS Live Activities (PUSH channel), the following keys are also recognized here: - `stale_date`: Timestamp at which the system considers the activity outdated. - `dismissal_date`: Timestamp at which the system automatically removes the activity from the user's screen.
      - `sender_attributes` string[]: A list of API attributes for evaluating which sender to use. If not passed, the alert will not be sent out.
      - `personalized_attachments` object
      - `live_activity_attributes` object: List of attributes used to manage the lifecycle, static data, and dynamic state of an iOS Live Activity. Applicable to the `PUSH` channel only. Live Activities are supported starting from MoEngage SDK version `10.09.0`.
        - `la_type` 'start' | 'update' | 'end': The lifecycle stage of the activity: `start` (initiate), `update` (refresh content), or `end` (terminate).
        - `attribute_info` object: JSON object containing static data that remains constant throughout the activity (for example, Order ID or Flight Number).
        - `content_state` object: JSON object containing the dynamic data that updates in real-time (for example, Delivery Status or ETA). Values can be set as key-value pairs using personalization tags to fetch values from the event.
    - `EMAIL` PayloadChannel
      - `recipient` string, required: The target for the notification. This should be a mobile number for SMS, an email address for EMAIL, or a push token for PUSH.
      - `personalized_attributes` object: Key-value map for personalization. Personalization attributes are sent by the brand when invoking the Inform API and are used to resolve the content of the message. For iOS Live Activities (PUSH channel), the following keys are also recognized here: - `stale_date`: Timestamp at which the system considers the activity outdated. - `dismissal_date`: Timestamp at which the system automatically removes the activity from the user's screen.
      - `sender_attributes` string[]: A list of API attributes for evaluating which sender to use. If not passed, the alert will not be sent out.
      - `personalized_attachments` object
      - `live_activity_attributes` object: List of attributes used to manage the lifecycle, static data, and dynamic state of an iOS Live Activity. Applicable to the `PUSH` channel only. Live Activities are supported starting from MoEngage SDK version `10.09.0`.
        - `la_type` 'start' | 'update' | 'end': The lifecycle stage of the activity: `start` (initiate), `update` (refresh content), or `end` (terminate).
        - `attribute_info` object: JSON object containing static data that remains constant throughout the activity (for example, Order ID or Flight Number).
        - `content_state` object: JSON object containing the dynamic data that updates in real-time (for example, Delivery Status or ETA). Values can be set as key-value pairs using personalization tags to fetch values from the event.
    - `PUSH` PayloadChannel
      - `recipient` string, required: The target for the notification. This should be a mobile number for SMS, an email address for EMAIL, or a push token for PUSH.
      - `personalized_attributes` object: Key-value map for personalization. Personalization attributes are sent by the brand when invoking the Inform API and are used to resolve the content of the message. For iOS Live Activities (PUSH channel), the following keys are also recognized here: - `stale_date`: Timestamp at which the system considers the activity outdated. - `dismissal_date`: Timestamp at which the system automatically removes the activity from the user's screen.
      - `sender_attributes` string[]: A list of API attributes for evaluating which sender to use. If not passed, the alert will not be sent out.
      - `personalized_attachments` object
      - `live_activity_attributes` object: List of attributes used to manage the lifecycle, static data, and dynamic state of an iOS Live Activity. Applicable to the `PUSH` channel only. Live Activities are supported starting from MoEngage SDK version `10.09.0`.
        - `la_type` 'start' | 'update' | 'end': The lifecycle stage of the activity: `start` (initiate), `update` (refresh content), or `end` (terminate).
        - `attribute_info` object: JSON object containing static data that remains constant throughout the activity (for example, Order ID or Flight Number).
        - `content_state` object: JSON object containing the dynamic data that updates in real-time (for example, Delivery Status or ETA). Values can be set as key-value pairs using personalization tags to fetch values from the event.

## Response `200`

Request has been received and processed. The response body contains the status for the overall request and for each individual channel.

**Note**: Reach out to your Customer Success Manager to enable sending the channel level details as part of your API response.

- InformSuccessResponse
  - `message` string
  - `request_id` string
  - `SMS` ChannelStatus
    - `message` string
    - `err_code` string
    - `status_code` integer
  - `EMAIL` ChannelStatus
    - `message` string
    - `err_code` string
    - `status_code` integer
  - `PUSH` ChannelStatus
    - `message` string
    - `err_code` string
    - `status_code` integer

## Other responses

- `400`: Bad Request. Invalid payload format, incorrect JSON, or invalid Alert ID.
- `401`: Unauthorized. Invalid authentication credentials.
- `409`: Duplicate Request. A request with the same `transaction_id` was received within 5 minutes of a previously successful or in-progress request.
- `429`: Rate Limit Reached. The number of requests per minute has exceeded the rate limit.
- `500`: Internal Server Error. The system ran into an unexpected error. You can retry the request up to 3 times with exponential backoff.

---

[API](https://skmtc.dev/moengage/apis/moengage-inform-api.md) - [All operations](https://skmtc.dev/moengage/apis/moengage-inform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/moengage/apis/moengage-inform-api/revisions/9ae3ebadc7f5?raw)
