Skip to main content

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).