- API Overview
- API Rate Limiting
Events
Subscribers
- GETGet subscribers
- POSTCreate subscriber
- POSTBulk create subscribers
- GETGet subscriber
- PUTUpdate subscriber
- DELDelete subscriber
- PUTUpdate subscriber credentials
- DELDelete subscriber credentials by providerId
- PATCHUpdate subscriber online status
- GETGet subscriber preferences
- GETGet subscriber preferences by level
- PATCHUpdate subscriber preference
- PATCHUpdate subscriber global preferences
- GETGet in-app notifications feed of subscriber.
- GETGet unseen in-app notifications count
- POSTMarks a message as read/unread, seen/unseen.
- POSTMarks all messages as read/unread, seen/unseen.
- POSTMark message action as seen
- GETHandle providers oauth redirect
- GETHandle chat oauth
- GET
Topics
Notification
Workflows
Workflow Overrides
Workflow groups
Integrations
Layouts
Environments
Changes
Execution Details
Feeds
Tenants
Organizations
Messages
Update subscriber preference
API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
The subscriber preferences for every ChannelTypeEnum for the workflow assigned.
The type of channel that is enabled or not
If channel is enabled or not
Sets if the workflow is fully enabled for all channels or not for the subscriber.
import co.novu.common.base.Novu;
import co.novu.api.subscribers.requests.UpdateSubscriberPreferenceRequest;
import co.novu.api.subscribers.responses.SingleSubscriberPrefResponse;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_SECRET_KEY>";
Novu novu = new Novu(apiKey);
String subscriberId = "<SUBSCRIBER_ID>";
String templateId = "<TEMPLATE_ID>";
PreferenceChannel channel = new PreferenceChannel();
channel.setType("<TYPE>");
channel.setEnabled(true);
UpdateSubscriberPreferenceRequest request = new UpdateSubscriberPreferenceRequest();
request.setEnabled(false);
request.setChannel(channel);
SingleSubscriberPrefResponse response = novu.updateSubscriberPreferences(request, subscriberId, templateId);
}
}
{
"data": {
"preference": {
"channels": {
"chat": "boolean",
"email": "boolean",
"in_app": "boolean",
"push": "boolean",
"sms": "boolean"
},
"enabled": "boolean"
},
"template": {
"_id": "string",
"critical": "boolean",
"name": "string"
}
}
}
Enter your API key in the Authorization
field like the example shown below:
E.g ApiKey 18d2e625f05d80e
import co.novu.common.base.Novu;
import co.novu.api.subscribers.requests.UpdateSubscriberPreferenceRequest;
import co.novu.api.subscribers.responses.SingleSubscriberPrefResponse;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_SECRET_KEY>";
Novu novu = new Novu(apiKey);
String subscriberId = "<SUBSCRIBER_ID>";
String templateId = "<TEMPLATE_ID>";
PreferenceChannel channel = new PreferenceChannel();
channel.setType("<TYPE>");
channel.setEnabled(true);
UpdateSubscriberPreferenceRequest request = new UpdateSubscriberPreferenceRequest();
request.setEnabled(false);
request.setChannel(channel);
SingleSubscriberPrefResponse response = novu.updateSubscriberPreferences(request, subscriberId, templateId);
}
}
{
"data": {
"preference": {
"channels": {
"chat": "boolean",
"email": "boolean",
"in_app": "boolean",
"push": "boolean",
"sms": "boolean"
},
"enabled": "boolean"
},
"template": {
"_id": "string",
"critical": "boolean",
"name": "string"
}
}
}
Authorizations
API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
Path Parameters
Body
The subscriber preferences for every ChannelTypeEnum for the workflow assigned.
The type of channel that is enabled or not
in_app
, email
, sms
, chat
, push
If channel is enabled or not
Sets if the workflow is fully enabled for all channels or not for the subscriber.
Response
The workflow information and if it is critical or not
Unique identifier of the workflow
Name of the workflow
Critical templates will always be delivered to the end user and should be hidden from the subscriber preferences screen
Triggers are the events that will trigger the workflow.
The preferences of the subscriber regarding the related workflow
Sets if the workflow is fully enabled for all channels or not for the subscriber.
Subscriber preferences for the different channels regarding this workflow
Was this page helpful?
import co.novu.common.base.Novu;
import co.novu.api.subscribers.requests.UpdateSubscriberPreferenceRequest;
import co.novu.api.subscribers.responses.SingleSubscriberPrefResponse;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_SECRET_KEY>";
Novu novu = new Novu(apiKey);
String subscriberId = "<SUBSCRIBER_ID>";
String templateId = "<TEMPLATE_ID>";
PreferenceChannel channel = new PreferenceChannel();
channel.setType("<TYPE>");
channel.setEnabled(true);
UpdateSubscriberPreferenceRequest request = new UpdateSubscriberPreferenceRequest();
request.setEnabled(false);
request.setChannel(channel);
SingleSubscriberPrefResponse response = novu.updateSubscriberPreferences(request, subscriberId, templateId);
}
}
{
"data": {
"preference": {
"channels": {
"chat": "boolean",
"email": "boolean",
"in_app": "boolean",
"push": "boolean",
"sms": "boolean"
},
"enabled": "boolean"
},
"template": {
"_id": "string",
"critical": "boolean",
"name": "string"
}
}
}