Skip to main content
notifications holds the notices shown at the top of a user’s project dashboard. One document is one notice for one user, identified by its key. Only the notifications service touches the collection (services/notifications/app/js/Notifications.js); web and third-party-datastore call its HTTP API. There is no Mongoose schema.

Fields

Who Writes It

Notices that CE and our modules create: NotificationsBuilder.mjs also builds keys for group invitations, institution affiliations, subscriptions and old debug projects. Their callers are in the subscription and institution code, and the old-debug-projects check only runs when isSaas (services/web/app/src/Features/Project/ProjectListController.mjs:234-236).

Who Reads It

Indexes

Notes

  • A read notice is not deleted: only templateKey goes. Because the document still holds the key, a later addNotification without forceCreate for the same key does nothing (Notifications.js:21-24).
  • The /key/:key routes act on the key alone, across users (Notifications.js:76-100).
  • If web has no apis.notifications.url, it neither creates nor reads notices (NotificationsHandler.mjs:17, :41).
Last modified on November 14, 2026