- List - Retrieve subscriber notifications
- Delete - Delete a notification
- CompleteAction - Complete a notification action
- RevertAction - Revert a notification action
- Archive - Archive a notification
- MarkAsRead - Mark a notification as read
- Snooze - Snooze a notification
- Unarchive - Unarchive a notification
- MarkAsUnread - Mark a notification as unread
- Unsnooze - Unsnooze a notification
- ArchiveAll - Archive all notifications
- Count - Retrieve subscriber notifications count
- DeleteAll - Delete all notifications
- MarkAllAsRead - Mark all notifications as read
- ArchiveAllRead - Archive all read notifications
- MarkAsSeen - Mark notifications as seen
Retrieve in-app (inbox) notifications for a subscriber by its unique key identifier subscriberId. Supports filtering by tags, read/archived/snoozed/seen state, data attributes, severity, date range, and context keys.
using Novu;
using Novu.Models.Components;
using Novu.Models.Requests;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
SubscribersControllerGetSubscriberNotificationsRequest req = new SubscribersControllerGetSubscriberNotificationsRequest() {
SubscriberId = "<id>",
Offset = 0D,
CreatedGte = 1704067200000D,
CreatedLte = 1735689599999D,
};
var res = await sdk.Subscribers.Notifications.ListAsync(req);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
request |
SubscribersControllerGetSubscriberNotificationsRequest | ✔️ | The request object to use for the request. |
SubscribersControllerGetSubscriberNotificationsResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Delete a specific in-app (inbox) notification permanently by its unique identifier notificationId.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.DeleteAsync(
subscriberId: "<id>",
notificationId: "<id>"
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber |
NotificationId |
string | ✔️ | The identifier of the notification |
ContextKeys |
List<string> | ➖ | Context keys for filtering |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerDeleteNotificationResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Mark a single in-app (inbox) notification's action (primary or secondary) as completed by its unique identifier notificationId and action type actionType.
using Novu;
using Novu.Models.Components;
using Novu.Models.Requests;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
SubscribersControllerCompleteNotificationActionRequest req = new SubscribersControllerCompleteNotificationActionRequest() {
SubscriberId = "<id>",
NotificationId = "<id>",
ActionType = ActionType.Secondary,
};
var res = await sdk.Subscribers.Notifications.CompleteActionAsync(req);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
request |
SubscribersControllerCompleteNotificationActionRequest | ✔️ | The request object to use for the request. |
SubscribersControllerCompleteNotificationActionResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Revert a single in-app (inbox) notification's action (primary or secondary) to pending state by its unique identifier notificationId and action type actionType.
using Novu;
using Novu.Models.Components;
using Novu.Models.Requests;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
SubscribersControllerRevertNotificationActionRequest req = new SubscribersControllerRevertNotificationActionRequest() {
SubscriberId = "<id>",
NotificationId = "<id>",
ActionType = PathParamActionType.Primary,
};
var res = await sdk.Subscribers.Notifications.RevertActionAsync(req);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
request |
SubscribersControllerRevertNotificationActionRequest | ✔️ | The request object to use for the request. |
SubscribersControllerRevertNotificationActionResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Archive a specific in-app (inbox) notification by its unique identifier notificationId.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.ArchiveAsync(
subscriberId: "<id>",
notificationId: "<id>"
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber |
NotificationId |
string | ✔️ | The identifier of the notification |
ContextKeys |
List<string> | ➖ | Context keys for filtering |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerArchiveNotificationResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Mark a specific in-app (inbox) notification as read by its unique identifier notificationId.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.MarkAsReadAsync(
subscriberId: "<id>",
notificationId: "<id>"
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber |
NotificationId |
string | ✔️ | The identifier of the notification |
ContextKeys |
List<string> | ➖ | Context keys for filtering |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerMarkNotificationAsReadResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Snooze a specific in-app (inbox) notification by its unique identifier notificationId until a specified time.
using Novu;
using Novu.Models.Components;
using Novu.Models.Requests;
using System;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
SubscribersControllerSnoozeNotificationRequest req = new SubscribersControllerSnoozeNotificationRequest() {
SubscriberId = "<id>",
NotificationId = "<id>",
SnoozeSubscriberNotificationDto = new SnoozeSubscriberNotificationDto() {
SnoozeUntil = System.DateTime.Parse("2026-03-01T10:00:00Z").ToUniversalTime(),
},
};
var res = await sdk.Subscribers.Notifications.SnoozeAsync(req);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
request |
SubscribersControllerSnoozeNotificationRequest | ✔️ | The request object to use for the request. |
SubscribersControllerSnoozeNotificationResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Unarchive a specific in-app (inbox) notification by its unique identifier notificationId.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.UnarchiveAsync(
subscriberId: "<id>",
notificationId: "<id>"
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber |
NotificationId |
string | ✔️ | The identifier of the notification |
ContextKeys |
List<string> | ➖ | Context keys for filtering |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerUnarchiveNotificationResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Mark a specific in-app (inbox) notification as unread by its unique identifier notificationId.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.MarkAsUnreadAsync(
subscriberId: "<id>",
notificationId: "<id>"
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber |
NotificationId |
string | ✔️ | The identifier of the notification |
ContextKeys |
List<string> | ➖ | Context keys for filtering |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerMarkNotificationAsUnreadResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Unsnooze a specific in-app (inbox) notification by its unique identifier notificationId.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.UnsnoozeAsync(
subscriberId: "<id>",
notificationId: "<id>"
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber |
NotificationId |
string | ✔️ | The identifier of the notification |
ContextKeys |
List<string> | ➖ | Context keys for filtering |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerUnsnoozeNotificationResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Archive all in-app (inbox) notifications matching the specified filters. Supports context-based filtering.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.ArchiveAllAsync(
subscriberId: "<id>",
updateAllSubscriberNotificationsDto: new UpdateAllSubscriberNotificationsDto() {}
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber |
UpdateAllSubscriberNotificationsDto |
UpdateAllSubscriberNotificationsDto | ✔️ | N/A |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerArchiveAllNotificationsResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Retrieve count of in-app (inbox) notifications for a subscriber by its unique key identifier subscriberId. Supports multiple filters to count in-app (inbox) notifications by different criteria, including context keys.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.CountAsync(
subscriberId: "<id>",
filters: "[{\"read\":false,\"archived\":false},{\"tags\":[\"important\"]},{\"tags\":{\"and\":[{\"or\":[\"a\",\"b\"]},{\"or\":[\"c\"]}]}}]"
);
// handle response| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber | |
Filters |
string | ✔️ | Array of filter objects (max 30) to count notifications by different criteria | [{"read":false,"archived":false},{"tags":["important"]},{"tags":{"and":[{"or":["a","b"]},{"or":["c"]}]}}] |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerGetSubscriberNotificationsCountResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Permanently delete all in-app (inbox) notifications matching the specified filters. Supports context-based filtering.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.DeleteAllAsync(
subscriberId: "<id>",
updateAllSubscriberNotificationsDto: new UpdateAllSubscriberNotificationsDto() {}
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber |
UpdateAllSubscriberNotificationsDto |
UpdateAllSubscriberNotificationsDto | ✔️ | N/A |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerDeleteAllNotificationsResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Mark all in-app (inbox) notifications matching the specified filters as read. Supports context-based filtering.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.MarkAllAsReadAsync(
subscriberId: "<id>",
updateAllSubscriberNotificationsDto: new UpdateAllSubscriberNotificationsDto() {}
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber |
UpdateAllSubscriberNotificationsDto |
UpdateAllSubscriberNotificationsDto | ✔️ | N/A |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerMarkAllNotificationsAsReadResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Archive all read in-app (inbox) notifications matching the specified filters. Supports context-based filtering.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.ArchiveAllReadAsync(
subscriberId: "<id>",
updateAllSubscriberNotificationsDto: new UpdateAllSubscriberNotificationsDto() {}
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber |
UpdateAllSubscriberNotificationsDto |
UpdateAllSubscriberNotificationsDto | ✔️ | N/A |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerArchiveAllReadNotificationsResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |
Mark specific and multiple in-app (inbox) notifications as seen. Supports context-based filtering.
using Novu;
using Novu.Models.Components;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.Subscribers.Notifications.MarkAsSeenAsync(
subscriberId: "<id>",
markSubscriberNotificationsAsSeenDto: new MarkSubscriberNotificationsAsSeenDto() {}
);
// handle response| Parameter | Type | Required | Description |
|---|---|---|---|
SubscriberId |
string | ✔️ | The identifier of the subscriber |
MarkSubscriberNotificationsAsSeenDto |
MarkSubscriberNotificationsAsSeenDto | ✔️ | N/A |
IdempotencyKey |
string | ➖ | A header for idempotency purposes |
SubscribersControllerMarkNotificationsAsSeenResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Novu.Models.Errors.ErrorDto | 414 | application/json |
| Novu.Models.Errors.ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json |
| Novu.Models.Errors.ValidationErrorDto | 422 | application/json |
| Novu.Models.Errors.ErrorDto | 500 | application/json |
| Novu.Models.Errors.APIException | 4XX, 5XX | */* |