---
title: "adonia-notifications API"
image: "https://adonia.pages.dev/og.png"
version: "next"
---

> Documentation Index
> Fetch the complete documentation index at: https://adonia.pages.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# adonia-notifications API

<!-- Generated by docs/site/scripts/generate_api.ts. Do not edit. -->

Canonical inventory of every public subpath and TypeScript export in `adonia-notifications`.

## `adonia-notifications`

| Export | Kind | Source | Summary |
| --- | --- | --- | --- |
| `AdonisMailChannelAdapter` | class | `packages/notifications/src/channels.ts:111` | Real mail adapter for an injected `@adonisjs/mail` service. |
| `AdonisMailMessage` | type-only interface | `packages/notifications/src/channels.ts:99` | Structural subset implemented by messages from the optional `@adonisjs/mail` peer. |
| `AdonisMailService` | type-only interface | `packages/notifications/src/channels.ts:106` | Structural subset implemented by the AdonisJS mail service. |
| `configure` | function | `packages/notifications/src/index.ts:61` | Ace configure hook that publishes this plugin's attached migration. |
| `createNotifier` | function | `packages/notifications/src/notify.ts:157` | Create an application-configured function with the exact `notify(users, payload)` API. |
| `DatabaseNotification` | class | `packages/notifications/src/database_notification.ts:29` | Viewer-scoped database notification persisted by the built-in channel. |
| `DatabaseNotificationChannel` | class | `packages/notifications/src/channels.ts:11` | Built-in channel that inserts one viewer-scoped row per unique recipient. |
| `defaultNotificationService` | constant | `packages/notifications/src/notify.ts:146` | Shared notifier used by the package-level `notify` function. |
| `defaultNotificationStore` | constant | `packages/notifications/src/store.ts:113` | Shared default store. It performs no database work until a method is called. |
| `isSafeNotificationHref` | function | `packages/notifications/src/normalization.ts:93` | Whether a browser destination is root-relative or uses HTTP(S). |
| `LoggerMailChannelAdapter` | class | `packages/notifications/src/channels.ts:78` | Safe fallback used when the optional mail peer is absent. It records only routing metadata and never logs notification copy, JSON data, or an email. |
| `LucidNotificationStore` | class | `packages/notifications/src/store.ts:31` | Lucid implementation used by the built-in database channel and HTTP routes. |
| `MailChannelAdapter` | type-only interface | `packages/notifications/src/channels.ts:70` | Host adapter boundary. Implementations may use `@adonisjs/mail` or another provider. |
| `MailNotification` | type-only interface | `packages/notifications/src/channels.ts:64` | One mail delivery after server-side recipient and payload validation. |
| `MailNotificationChannel` | class | `packages/notifications/src/channels.ts:132` | Built-in channel that delegates each emailable recipient to one adapter. |
| `NewNotificationRecord` | type-only interface | `packages/notifications/src/types.ts:87` | Row inserted by the database channel. |
| `NOOP_NOTIFICATION_LOGGER` | constant | `packages/notifications/src/channels.ts:59` | Default logger that intentionally emits nothing. |
| `NotificationChannel` | type-only interface | `packages/notifications/src/types.ts:117` | Additive delivery channel. Channel names are selected by the server payload. |
| `NotificationChannelName` | type-only type | `packages/notifications/src/types.ts:18` | Delivery channels bundled with the package or registered by an application. |
| `NotificationChannelOutcome` | type-only interface | `packages/notifications/src/types.ts:36` | Optional non-failure outcome returned by a delivery channel. |
| `NotificationChannelResult` | type-only interface | `packages/notifications/src/types.ts:27` | Result of one channel during a notification attempt. |
| `NotificationDeliveryStatus` | type-only type | `packages/notifications/src/types.ts:24` | Persisted state for one requested delivery channel. |
| `NotificationHttpContext` | type-only type | `packages/notifications/src/http.ts:26` | Authenticated Adonis context shape supplied by the guarded panel route group. |
| `NotificationHttpController` | class | `packages/notifications/src/http.ts:66` | HTTP adapter for guarded manifest routes. Every query receives the authenticated scope. |
| `NotificationId` | type-only type | `packages/notifications/src/types.ts:21` | Stable identity used to make a notification delivery idempotent. |
| `NotificationListItem` | type-only interface | `packages/notifications/src/http.ts:16` | Browser-safe notification projection. Server-only JSON data is never exposed. |
| `NotificationLogger` | type-only interface | `packages/notifications/src/channels.ts:54` | Safe logger slice used when no real mail adapter is configured. |
| `NotificationNotifiable` | type-only type | `packages/notifications/src/types.ts:8` | A model or scalar that can receive a notification. |
| `NotificationPayload` | type-only interface | `packages/notifications/src/types.ts:42` | One notification to deliver — the input `NotificationService.notify` accepts. |
| `notificationRecipient` | function | `packages/notifications/src/normalization.ts:19` | Resolve a stable recipient id without trusting an object's JSON shape. |
| `NotificationRecipient` | type-only interface | `packages/notifications/src/types.ts:62` | Recipient normalized before channel dispatch. |
| `notificationRecipients` | function | `packages/notifications/src/normalization.ts:35` | Normalize and deduplicate recipients by their persisted identity. |
| `NOTIFICATIONS_MIGRATIONS` | constant | `packages/notifications/src/index.ts:24` | Absolute directory containing the package's publishable Lucid migration. |
| `NOTIFICATIONS_VERSION` | constant | `packages/notifications/src/version.ts:2` | Package version generated from package.json; do not edit directly. |
| `NotificationScope` | type-only interface | `packages/notifications/src/types.ts:80` | Viewer boundary applied by every read and mutation query. |
| `NotificationService` | class | `packages/notifications/src/notify.ts:38` | Server notification API with database, mail, and custom channel dispatch. |
| `NotificationServiceOptions` | type-only interface | `packages/notifications/src/notify.ts:22` | Dependencies for a notifier. Built-in channel names may be overridden explicitly. |
| `notificationsManifest` | constant | `packages/notifications/src/index.ts:58` | Ready-to-attach manifest using the default Lucid store and channel set. |
| `notificationsPlugin` | function | `packages/notifications/src/index.ts:34` | Build one installable manifest with shared route and action-hook persistence. |
| `NotificationsPluginOptions` | type-only interface | `packages/notifications/src/index.ts:29` | Optional dependency injection for focused tests and custom delivery channels. |
| `notificationsTableDoctorCheck` | constant | `packages/notifications/src/doctor.ts:9` | Verify that the host application publishes the notification-table migration. |
| `NotificationStore` | type-only interface | `packages/notifications/src/types.ts:103` | Persistence seam shared by the database channel and viewer-scoped routes. |
| `NotificationTenant` | type-only type | `packages/notifications/src/types.ts:5` | Scalar tenant identity persisted with every notification. |
| `notificationTenantId` | function | `packages/notifications/src/normalization.ts:51` | Convert a resolved tenant or its scalar queue identity into a database key. |
| `notify` | function | `packages/notifications/src/notify.ts:149` | Persist and dispatch a server-authored notification. |
| `notifyQueuedActionCompleted` | function | `packages/notifications/src/action_notifications.ts:20` | Persist a success notification for the actor reconstructed by a queued worker. |
| `notifyQueuedActionFailed` | function | `packages/notifications/src/action_notifications.ts:44` | Persist a generic failure notification without exposing exception details. |
| `PreparedNotificationPayload` | type-only interface | `packages/notifications/src/types.ts:68` | Validated payload handed to channels. |
| `prepareNotificationPayload` | function | `packages/notifications/src/normalization.ts:105` | Validate a server-authored payload before any channel can observe it. |
| `registerNotificationRoutes` | function | `packages/notifications/src/http.ts:116` | Register the complete notification-center capability surface. |
| `registerQueuedActionNotifications` | function | `packages/notifications/src/action_notifications.ts:66` | Subscribe to the documented panel-local action lifecycle. |
| `StoredNotification` | type-only interface | `packages/notifications/src/types.ts:95` | Structural persisted row consumed by the HTTP adapter and focused tests. |

## `adonia-notifications/client`

| Export | Kind | Source | Summary |
| --- | --- | --- | --- |
| `createNotificationsUiPlugin` | function | `packages/notifications/src/client.tsx:56` | Build a duplicate-safe client plugin with a configurable polling cadence. |
| `DEFAULT_NOTIFICATION_POLL_INTERVAL` | constant | `packages/notifications/src/client.tsx:26` | Default notification polling interval in milliseconds. |
| `NotificationMessages` | type-only type | `packages/notifications/src/client_i18n.ts:20` | Complete message catalog for the notification center. |
| `NOTIFICATIONS_ENGLISH_MESSAGES` | constant | `packages/notifications/src/client_i18n.ts:23` | English fallback, typed with the same complete-catalog pattern as `@adonia/ui`. |
| `NotificationsClientOptions` | type-only interface | `packages/notifications/src/client.tsx:9` | Client configuration captured by the no-props `topbar.right` slot. |
| `notificationsUiPlugin` | constant | `packages/notifications/src/client.tsx:88` | Default 30-second notification-center client registration. |
| `NotificationTranslation` | type-only type | `packages/notifications/src/client_i18n.ts:38` | Translates notification copy with optional interpolation parameters. |
| `NotificationTranslationKey` | type-only type | `packages/notifications/src/client_i18n.ts:6` | Closed notification-center copy catalog. |
| `ResolvedNotificationsClientOptions` | type-only interface | `packages/notifications/src/client.tsx:19` | Normalized notification client configuration consumed by the bell slot. |

Source: https://adonia.pages.dev/reference/api/notifications/index.mdx
