Skip to main content
POST
/
category-subscription
/
user-preferences
Bulk Update Subscription Preferences
curl --request POST \
  --url https://api-{dc}.moengage.com/v1/category-subscription/user-preferences \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --header 'MOE-APPKEY: <moe-appkey>' \
  --data '
{
  "channel": "email",
  "user_preferences": [
    {
      "customer_id": "john@example.com",
      "categories": {
        "Promotional": false,
        "Transactional": false,
        "Special Offers": true
      },
      "unsubscribe_all": false
    },
    {
      "customer_id": "mike@example.com",
      "categories": {
        "Transactional": true,
        "Promotional": false,
        "Special Offers": true
      },
      "unsubscribe_all": false
    },
    {
      "customer_id": "doe@example.com",
      "categories": {
        "Product Updates": true,
        "New arrivals": false,
        "Recommendations": true
      },
      "unsubscribe_all": false
    }
  ]
}
'
{
  "message": "Your request has been processed"
}

Documentation Index

Fetch the complete documentation index at: https://moengage-crashes-in-debug-feedback.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Rate Limit

The rate limit is 100 RPM and 360k per day.

Authorizations

Authorization
string
header
required

Authentication is done via Basic Auth. This requires a base64-encoded string of your credentials in the format 'username:password'.

  • Username: Use your MoEngage workspace ID (also known as the App ID). You can find it in the MoEngage dashboard at Settings > Account > APIs > Workspace ID (earlier app id).
  • Password: Use your API Key, which you can find within the Data tile.

For more information on authentication and getting your credentials, refer here.

Headers

MOE-APPKEY
string
required

This is the Workspace ID of your MoEngage account that must be passed with the request. You can find it in the MoEngage dashboard at Settings > Account > APIs > Workspace ID (earlier app id).

Body

application/json

A list of preference updates for multiple users.

channel
enum<string>
required

This field contains the name of the channel. Allowed values - "channel": "email"

Available options:
email
Example:

"email"

user_preferences
object[]
required

A list of user preference objects to update. Maximum 50 per request.

Maximum array length: 50

Response

Your request has been processed.

message
string

A brief description of the request status in the case of success.