API Reference
Subscribers
- GETGet subscribers
- POSTCreate subscriber
- POSTBulk create subscribers
- GETGet subscriber
- PUTUpsert subscriber
- DELDelete subscriber
- PUTUpdate subscriber credentials
- DELDelete subscriber credentials by providerId
- PATCHUpdate subscriber online status
- GETGet subscriber preferences
- GETGet subscriber global preferences
- PATCHUpdate subscriber preference
- PATCHUpdate subscriber global preferences
- GETGet in-app notification feed for a particular subscriber
- GETGet the unseen in-app notifications count for subscribers feed
- POSTMark a subscriber feed message as seen
- POSTMarks all the subscriber messages as read, unread, seen or unseen. Optionally you can pass feed id (or array) to mark messages of a particular feed.
- POSTMark message action as seen
- GETHandle providers oauth redirect
- GETHandle chat oauth
Topics
Notification
Workflows
Workflow Overrides
Workflow groups
Integrations
Layouts
Execution Details
Organizations
Get in-app notification feed for a particular subscriber
import co.novu.common.base.Novu;
import co.novu.api.subscribers.responses.SubscriberNotificationResponse;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
String subscriberId = "<SUBSCRIBER_ID>";
SubscriberNotificationResponse response = novu.getSubscriberNotificationsFeed(subscriberId);
}
}
{
"data": [
{
"_environmentId": "string",
"_feedId": "string",
"_id": "string",
"_messageTemplateId": "string",
"_notificationId": "string",
"_organizationId": "string",
"_subscriberId": "string",
"_templateId": "string",
"channel": "in_app",
"createdAt": "string",
"cta": {
"action": {
"buttons": [
{
"content": "string",
"resultContent": "string",
"type": "primary"
}
],
"result": {
"payload": "object",
"type": "primary"
},
"status": "pending"
},
"data": {
"url": "string"
},
"type": "redirect"
},
"deviceTokens": [
"string"
],
"directWebhookUrl": "string",
"email": "string",
"errorId": "string",
"errorText": "string",
"lastSeenDate": "string",
"overrides": "object",
"payload": "object",
"phone": "string",
"providerId": "string",
"seen": "boolean",
"status": "sent",
"subject": "string",
"subscriber": {
"__v": "number",
"_environmentId": "string",
"_id": "string",
"_organizationId": "string",
"avatar": "string",
"channels": [
{
"_integrationId": "string",
"credentials": {
"channel": "string",
"deviceTokens": [
"string"
],
"webhookUrl": "string"
},
"integrationIdentifier": "string",
"providerId": "slack"
}
],
"createdAt": "string",
"deleted": "boolean",
"email": "string",
"firstName": "string",
"isOnline": "boolean",
"lastName": "string",
"lastOnlineAt": "string",
"locale": "string",
"phone": "string",
"subscriberId": "string",
"updatedAt": "string"
},
"template": {
"_creatorId": "string",
"_environmentId": "string",
"_id": "string",
"_notificationGroupId": "string",
"_organizationId": "string",
"_parentId": "string",
"active": "boolean",
"critical": "boolean",
"data": "object",
"deleted": "boolean",
"deletedAt": "string",
"deletedBy": "string",
"description": "string",
"draft": "boolean",
"name": "string",
"notificationGroup": {
"_environmentId": "string",
"_id": "string",
"_organizationId": "string",
"_parentId": "string",
"name": "string"
},
"preferenceSettings": {
"chat": "boolean",
"email": "boolean",
"in_app": "boolean",
"push": "boolean",
"sms": "boolean"
},
"steps": [
{
"_id": "string",
"_parentId": "object",
"_templateId": "string",
"active": "boolean",
"filters": [
{
"children": [
{
"field": "string",
"operator": "LARGER",
"true": "subscriber",
"value": "string"
}
],
"isNegated": "boolean",
"type": "BOOLEAN",
"value": "AND"
}
],
"name": "string",
"replyCallback": "object",
"shouldStopOnFail": "boolean",
"template": "object",
"uuid": "string"
}
],
"tags": [
"string"
],
"triggers": [
{
"identifier": "string",
"subscriberVariables": [
{
"name": "string"
}
],
"type": "string",
"variables": [
{
"name": "string"
}
]
}
],
"workflowIntegrationStatus": "object"
},
"templateIdentifier": "string",
"title": "string",
"transactionId": "string"
}
],
"hasMore": "boolean",
"page": "number",
"pageSize": "number"
}
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.responses.SubscriberNotificationResponse;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
String subscriberId = "<SUBSCRIBER_ID>";
SubscriberNotificationResponse response = novu.getSubscriberNotificationsFeed(subscriberId);
}
}
{
"data": [
{
"_environmentId": "string",
"_feedId": "string",
"_id": "string",
"_messageTemplateId": "string",
"_notificationId": "string",
"_organizationId": "string",
"_subscriberId": "string",
"_templateId": "string",
"channel": "in_app",
"createdAt": "string",
"cta": {
"action": {
"buttons": [
{
"content": "string",
"resultContent": "string",
"type": "primary"
}
],
"result": {
"payload": "object",
"type": "primary"
},
"status": "pending"
},
"data": {
"url": "string"
},
"type": "redirect"
},
"deviceTokens": [
"string"
],
"directWebhookUrl": "string",
"email": "string",
"errorId": "string",
"errorText": "string",
"lastSeenDate": "string",
"overrides": "object",
"payload": "object",
"phone": "string",
"providerId": "string",
"seen": "boolean",
"status": "sent",
"subject": "string",
"subscriber": {
"__v": "number",
"_environmentId": "string",
"_id": "string",
"_organizationId": "string",
"avatar": "string",
"channels": [
{
"_integrationId": "string",
"credentials": {
"channel": "string",
"deviceTokens": [
"string"
],
"webhookUrl": "string"
},
"integrationIdentifier": "string",
"providerId": "slack"
}
],
"createdAt": "string",
"deleted": "boolean",
"email": "string",
"firstName": "string",
"isOnline": "boolean",
"lastName": "string",
"lastOnlineAt": "string",
"locale": "string",
"phone": "string",
"subscriberId": "string",
"updatedAt": "string"
},
"template": {
"_creatorId": "string",
"_environmentId": "string",
"_id": "string",
"_notificationGroupId": "string",
"_organizationId": "string",
"_parentId": "string",
"active": "boolean",
"critical": "boolean",
"data": "object",
"deleted": "boolean",
"deletedAt": "string",
"deletedBy": "string",
"description": "string",
"draft": "boolean",
"name": "string",
"notificationGroup": {
"_environmentId": "string",
"_id": "string",
"_organizationId": "string",
"_parentId": "string",
"name": "string"
},
"preferenceSettings": {
"chat": "boolean",
"email": "boolean",
"in_app": "boolean",
"push": "boolean",
"sms": "boolean"
},
"steps": [
{
"_id": "string",
"_parentId": "object",
"_templateId": "string",
"active": "boolean",
"filters": [
{
"children": [
{
"field": "string",
"operator": "LARGER",
"true": "subscriber",
"value": "string"
}
],
"isNegated": "boolean",
"type": "BOOLEAN",
"value": "AND"
}
],
"name": "string",
"replyCallback": "object",
"shouldStopOnFail": "boolean",
"template": "object",
"uuid": "string"
}
],
"tags": [
"string"
],
"triggers": [
{
"identifier": "string",
"subscriberVariables": [
{
"name": "string"
}
],
"type": "string",
"variables": [
{
"name": "string"
}
]
}
],
"workflowIntegrationStatus": "object"
},
"templateIdentifier": "string",
"title": "string",
"transactionId": "string"
}
],
"hasMore": "boolean",
"page": "number",
"pageSize": "number"
}
Authorizations
API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
Path Parameters
Query Parameters
x <= 100
Base64 encoded string of the partial payload JSON object
Response
Indicates if there are more notifications to load.
true
Array of notifications returned in the response.
Unique identifier for the notification.
"615c1f2f9b0c5b001f8e4e3b"
Identifier for the template used to generate the notification.
"template_12345"
Identifier for the environment where the notification is sent.
"env_67890"
Identifier for the message template used.
"message_template_54321"
Identifier for the organization sending the notification.
"org_98765"
Unique identifier for the notification instance.
"notification_123456"
Unique identifier for the subscriber receiving the notification.
"subscriber_112233"
Identifier for the feed associated with the notification.
"feed_445566"
Identifier for the job that triggered the notification.
"job_778899"
Unique identifier for the transaction associated with the notification.
"transaction_123456"
The main content of the notification.
"This is a test notification content."
Channel type through which the message is sent
in_app
, email
, sms
, chat
, push
Indicates whether the notification has been read by the subscriber.
false
Indicates whether the notification has been seen by the subscriber.
true
Indicates whether the notification has been deleted.
false
Call-to-action information associated with the notification.
Data associated with the call to action
URL for the call to action
Type of call to action
redirect
Current status of the notification.
sent
, error
, warning
"sent"
Timestamp indicating when the notification was created.
"2024-12-10T10:10:59.639Z"
Timestamp indicating when the notification was last updated.
"2024-12-10T10:10:59.639Z"
Actor details related to the notification, if applicable.
Subscriber details associated with this notification.
The identifier used to create this subscriber, which typically corresponds to the user ID in your system.
The internal ID generated by Novu for your subscriber. This ID does not match the subscriberId
used in your queries. Refer to subscriberId
for that identifier.
The first name of the subscriber.
The last name of the subscriber.
The URL of the subscriber's avatar image.
Identifier for the template used, if applicable.
"template_abcdef"
Identifier for the provider that sends the notification.
"provider_xyz"
The subject line for email notifications, if applicable.
"Test Notification Subject"
Device tokens for push notifications, if applicable.
["token1", "token2"]
The payload that was used to send the notification trigger.
{ "key": "value" }
Provider-specific overrides used when triggering the notification.
{ "overrideKey": "overrideValue" }
The number of notifications returned in this response.
2
The current page number of the notifications.
1
Total number of notifications available.
5
import co.novu.common.base.Novu;
import co.novu.api.subscribers.responses.SubscriberNotificationResponse;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
String subscriberId = "<SUBSCRIBER_ID>";
SubscriberNotificationResponse response = novu.getSubscriberNotificationsFeed(subscriberId);
}
}
{
"data": [
{
"_environmentId": "string",
"_feedId": "string",
"_id": "string",
"_messageTemplateId": "string",
"_notificationId": "string",
"_organizationId": "string",
"_subscriberId": "string",
"_templateId": "string",
"channel": "in_app",
"createdAt": "string",
"cta": {
"action": {
"buttons": [
{
"content": "string",
"resultContent": "string",
"type": "primary"
}
],
"result": {
"payload": "object",
"type": "primary"
},
"status": "pending"
},
"data": {
"url": "string"
},
"type": "redirect"
},
"deviceTokens": [
"string"
],
"directWebhookUrl": "string",
"email": "string",
"errorId": "string",
"errorText": "string",
"lastSeenDate": "string",
"overrides": "object",
"payload": "object",
"phone": "string",
"providerId": "string",
"seen": "boolean",
"status": "sent",
"subject": "string",
"subscriber": {
"__v": "number",
"_environmentId": "string",
"_id": "string",
"_organizationId": "string",
"avatar": "string",
"channels": [
{
"_integrationId": "string",
"credentials": {
"channel": "string",
"deviceTokens": [
"string"
],
"webhookUrl": "string"
},
"integrationIdentifier": "string",
"providerId": "slack"
}
],
"createdAt": "string",
"deleted": "boolean",
"email": "string",
"firstName": "string",
"isOnline": "boolean",
"lastName": "string",
"lastOnlineAt": "string",
"locale": "string",
"phone": "string",
"subscriberId": "string",
"updatedAt": "string"
},
"template": {
"_creatorId": "string",
"_environmentId": "string",
"_id": "string",
"_notificationGroupId": "string",
"_organizationId": "string",
"_parentId": "string",
"active": "boolean",
"critical": "boolean",
"data": "object",
"deleted": "boolean",
"deletedAt": "string",
"deletedBy": "string",
"description": "string",
"draft": "boolean",
"name": "string",
"notificationGroup": {
"_environmentId": "string",
"_id": "string",
"_organizationId": "string",
"_parentId": "string",
"name": "string"
},
"preferenceSettings": {
"chat": "boolean",
"email": "boolean",
"in_app": "boolean",
"push": "boolean",
"sms": "boolean"
},
"steps": [
{
"_id": "string",
"_parentId": "object",
"_templateId": "string",
"active": "boolean",
"filters": [
{
"children": [
{
"field": "string",
"operator": "LARGER",
"true": "subscriber",
"value": "string"
}
],
"isNegated": "boolean",
"type": "BOOLEAN",
"value": "AND"
}
],
"name": "string",
"replyCallback": "object",
"shouldStopOnFail": "boolean",
"template": "object",
"uuid": "string"
}
],
"tags": [
"string"
],
"triggers": [
{
"identifier": "string",
"subscriberVariables": [
{
"name": "string"
}
],
"type": "string",
"variables": [
{
"name": "string"
}
]
}
],
"workflowIntegrationStatus": "object"
},
"templateIdentifier": "string",
"title": "string",
"transactionId": "string"
}
],
"hasMore": "boolean",
"page": "number",
"pageSize": "number"
}