curl --request GET \
--url https://api-{dc}.moengage.com/v5/subscription-preferences \
--header 'Authorization: Basic <encoded-value>' \
--header 'MOE-APPKEY: <moe-appkey>'{
"response_id": "resp_1b2c3d4e5f60708192a3b4c5d6e7f809",
"type": "subscription_preference",
"data": {
"user_id": "usr_64f0a1b2c3d4e5f600112233",
"is_globally_unsubscribed": false,
"categories": [
{
"name": "promotional",
"display_name": "Promotional",
"channel": "email",
"group": "Marketing",
"status": "subscribed"
},
{
"name": "product_update",
"display_name": "Product Update",
"channel": "email",
"group": "Updates",
"status": "unsubscribed"
}
]
}
}Get Subscription Preferences (V5)
Fetches a user profile’s per-category subscription state and global unsubscribe status. The user is identified by a user_identifier_type / user_identifier_value pair rather than a path parameter.
curl --request GET \
--url https://api-{dc}.moengage.com/v5/subscription-preferences \
--header 'Authorization: Basic <encoded-value>' \
--header 'MOE-APPKEY: <moe-appkey>'{
"response_id": "resp_1b2c3d4e5f60708192a3b4c5d6e7f809",
"type": "subscription_preference",
"data": {
"user_id": "usr_64f0a1b2c3d4e5f600112233",
"is_globally_unsubscribed": false,
"categories": [
{
"name": "promotional",
"display_name": "Promotional",
"channel": "email",
"group": "Marketing",
"status": "subscribed"
},
{
"name": "product_update",
"display_name": "Product Update",
"channel": "email",
"group": "Updates",
"status": "unsubscribed"
}
]
}
}Rate Limit
The rate limit is 100 RPM and 360k per day.Authorizations
Authentication is done via Basic Auth. This requires a base64-encoded string of your credentials in the format 'username:password'.
- Username: Your MoEngage app key.
- Password: Your MoEngage API secret.
Transitional note: This route currently accepts Basic Auth only. Bearer token support (Authorization: Bearer <token>) is planned but not yet active here — Bearer requests return 401 until the APISIX gateway fronts this route.
For more information on authentication and getting your credentials, refer here.
Headers
"application/json"
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).
Client-supplied trace ID for tracing. Correlates with response_id. Supply this header or request_id in the body; if both are set, they must match.
Query Parameters
The type of identifier supplied in user_identifier_value.
moe_user_id, uid, email The identifier value. For moe_user_id, accepts either the usr_-prefixed ID or the bare 24-character hex ID.
Optional. Restricts the returned category preferences to a single channel. Only the email channel is supported at present.
email Response
This response is returned when the request is processed successfully.