Skip to main content
The appNotifications module reads a user’s in-app notification feed (comments, replies, mentions, reactions, follows, connection requests, milestones, and system messages) and marks notifications as read.
Every function acts on behalf of a named user. Pass that user’s Sublay ID as userId — the feed and counts returned are that user’s.

fetchNotifications

Returns a paginated list of a user’s notifications, newest first.
const { data, pagination } = await sublay.appNotifications.fetchNotifications({
  userId: "usr_abc123",
  page: 1,
  limit: 20,
});
userId
string
required
The Sublay user ID whose notifications to fetch.
page
number
Page number (1-indexed). Defaults to 1.
limit
number
Results per page. Defaults to 20.
ReturnsPromise<PaginatedResponse<UnifiedAppNotification>> Each notification is a discriminated union on type (e.g. "entity-comment", "comment-reply", "new-follow", "connection-request", "system"), with a metadata object whose shape depends on the type. See the App Notification data model for the full set of variants.

countUnreadNotifications

Returns the number of unread notifications for a user.
const count = await sublay.appNotifications.countUnreadNotifications({
  userId: "usr_abc123",
});
userId
string
required
The Sublay user ID.
ReturnsPromise<number>

markNotificationAsRead

Marks a single notification as read.
await sublay.appNotifications.markNotificationAsRead({
  notificationId: "ntf_xyz789",
  userId: "usr_abc123",
});
notificationId
string
required
The ID of the notification to mark as read.
userId
string
required
The Sublay user ID who owns the notification.
ReturnsPromise<void>

markAllNotificationsAsRead

Marks all of a user’s unread notifications as read.
const { markedAsRead } =
  await sublay.appNotifications.markAllNotificationsAsRead({
    userId: "usr_abc123",
  });
userId
string
required
The Sublay user ID whose notifications to mark as read.
ReturnsPromise<{ markedAsRead: number }>