Preferences
Preferences are managed per-workflow and per-channel in Novu. The API returns the raw Novu preference structure.
Get Preferences
POST /api/v1/notifications/get-preferences
Response:
{
"preferences": {
"data": {
"global": {
"channels": {
"email": true,
"in_app": true,
"push": false
},
"enabled": true
},
"workflows": [
{
"channels": {"in_app": true, "push": false},
"enabled": true,
"workflow": {
"identifier": "product",
"name": "product"
}
},
{
"channels": {"in_app": true, "push": true},
"enabled": true,
"workflow": {
"identifier": "promotional",
"name": "promotional"
}
}
]
}
}
}
Critical workflows (system, transactional) are hidden from this response by Novu.
Update Preferences
Toggle channel(s) for a specific workflow or globally.
POST /api/v1/notifications/update-preferences
{
"channels": {"push": false},
"workflowId": "promotional"
}
Omit workflowId to apply globally. Response returns the full updated preferences (same structure as GetPreferences).