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": "[email protected]",
      "categories": {
        "Promotional": false,
        "Transactional": false,
        "Special Offers": true
      },
      "unsubscribe_all": false
    },
    {
      "customer_id": "[email protected]",
      "categories": {
        "Transactional": true,
        "Promotional": false,
        "Special Offers": true
      },
      "unsubscribe_all": false
    },
    {
      "customer_id": "[email protected]",
      "categories": {
        "Product Updates": true,
        "New arrivals": false,
        "Recommendations": true
      },
      "unsubscribe_all": false
    }
  ]
}
'
{
"message": "Your request has been processed"
}

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.