naftiko: 1.0.0-alpha2 info: label: Novu API — Subscribers description: 'Notifications — Subscribers. 35 operations. Lead operation: Bulk Create Subscribers. Self-contained Naftiko capability covering one Novu business surface.' tags: - Novu - Notifications - Subscribers created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: NOVU_API_KEY: NOVU_API_KEY capability: consumes: - type: http namespace: novu-subscribers baseUri: https://api.novu.co description: Novu REST API — Subscribers business capability. Self-contained, no shared references. authentication: type: apikey key: Authorization value: '{{env.NOVU_API_KEY}}' placement: header resources: - name: v1-subscribers-bulk path: /v1/subscribers/bulk operations: - name: SubscribersV1Controller_bulkCreateSubscribers method: POST description: Novu Bulk Create Subscribers inputParameters: - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-subscribers-subscriberid-credentials path: /v1/subscribers/{subscriberId}/credentials operations: - name: SubscribersV1Controller_updateSubscriberChannel method: PUT description: Novu Update Provider Credentials inputParameters: - name: subscriberId in: path type: string required: true description: subscriberId - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: SubscribersV1Controller_modifySubscriberChannel method: PATCH description: Novu Upsert Provider Credentials inputParameters: - name: subscriberId in: path type: string required: true description: subscriberId - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-subscribers-subscriberid-credentials-providerid path: /v1/subscribers/{subscriberId}/credentials/{providerId} operations: - name: SubscribersV1Controller_deleteSubscriberCredentials method: DELETE description: Novu Delete Provider Credentials inputParameters: - name: subscriberId in: path type: string required: true description: subscriberId - name: providerId in: path type: string required: true description: providerId outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-subscribers-subscriberid-online-status path: /v1/subscribers/{subscriberId}/online-status operations: - name: SubscribersV1Controller_updateSubscriberOnlineFlag method: PATCH description: Novu Update Subscriber Online Status inputParameters: - name: subscriberId in: path type: string required: true description: subscriberId - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-subscribers-subscriberid-notifications-feed path: /v1/subscribers/{subscriberId}/notifications/feed operations: - name: SubscribersV1Controller_getNotificationsFeed method: GET description: Novu Retrieve Subscriber Notifications inputParameters: - name: subscriberId in: path type: string required: true description: subscriberId - name: page in: query type: number required: false description: page - name: limit in: query type: number required: false description: limit - name: read in: query type: boolean required: false description: read - name: seen in: query type: boolean required: false description: seen - name: payload in: query type: string required: false description: Base64 encoded string of the partial payload JSON object outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-subscribers-subscriberid-notifications-unseen path: /v1/subscribers/{subscriberId}/notifications/unseen operations: - name: SubscribersV1Controller_getUnseenCount method: GET description: Novu Retrieve Unseen Notifications Count inputParameters: - name: subscriberId in: path type: string required: true description: subscriberId - name: seen in: query type: boolean required: false description: Indicates whether to count seen notifications. - name: limit in: query type: number required: false description: The maximum number of notifications to return. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-subscribers-subscriberid-messages-mark-as path: /v1/subscribers/{subscriberId}/messages/mark-as operations: - name: SubscribersV1Controller_markMessagesAs method: POST description: Novu Update Notifications State inputParameters: - name: subscriberId in: path type: string required: true description: subscriberId - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-subscribers-subscriberid-messages-mark-all path: /v1/subscribers/{subscriberId}/messages/mark-all operations: - name: SubscribersV1Controller_markAllUnreadAsRead method: POST description: Novu Update All Notifications State inputParameters: - name: subscriberId in: path type: string required: true description: subscriberId - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-subscribers-subscriberid-messages-messageid-actions-type path: /v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type} operations: - name: SubscribersV1Controller_markActionAsSeen method: POST description: Novu Update Notification Action Status inputParameters: - name: messageId in: path type: string required: true description: messageId - name: type in: path type: string required: true description: type - name: subscriberId in: path type: string required: true description: subscriberId - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers path: /v2/subscribers operations: - name: SubscribersController_searchSubscribers method: GET description: Novu Search Subscribers inputParameters: - name: after in: query type: string required: false description: Cursor for pagination indicating the starting point after which to fetch results. - name: before in: query type: string required: false description: Cursor for pagination indicating the ending point before which to fetch results. - name: limit in: query type: number required: false description: Limit the number of items to return - name: orderDirection in: query type: string required: false description: Direction of sorting - name: orderBy in: query type: string required: false description: Field to order by - name: includeCursor in: query type: boolean required: false description: Include cursor item in response - name: email in: query type: string required: false description: Email address of the subscriber to filter results. - name: name in: query type: string required: false description: Name of the subscriber to filter results. - name: phone in: query type: string required: false description: Phone number of the subscriber to filter results. - name: subscriberId in: query type: string required: false description: Unique identifier of the subscriber to filter results. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: SubscribersController_createSubscriber method: POST description: Novu Create a Subscriber inputParameters: - name: failIfExists in: query type: boolean required: false description: If true, the request will fail if a subscriber with the same subscriberId already exists - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid path: /v2/subscribers/{subscriberId} operations: - name: SubscribersController_getSubscriber method: GET description: Novu Retrieve a Subscriber inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber outputRawFormat: json outputParameters: - name: result type: object value: $. - name: SubscribersController_patchSubscriber method: PATCH description: Novu Update a Subscriber inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: SubscribersController_removeSubscriber method: DELETE description: Novu Delete a Subscriber inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-preferences path: /v2/subscribers/{subscriberId}/preferences operations: - name: SubscribersController_getSubscriberPreferences method: GET description: Novu Retrieve Subscriber Preferences inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: criticality in: query type: string required: false description: criticality - name: contextKeys in: query type: array required: false description: Context keys for filtering preferences (e.g., ["tenant:acme"]) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: SubscribersController_updateSubscriberPreferences method: PATCH description: Novu Update Subscriber Preferences inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-preferences-bulk path: /v2/subscribers/{subscriberId}/preferences/bulk operations: - name: SubscribersController_bulkUpdateSubscriberPreferences method: PATCH description: Novu Bulk Update Subscriber Preferences inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-subscriptions path: /v2/subscribers/{subscriberId}/subscriptions operations: - name: SubscribersController_listSubscriberTopics method: GET description: Novu Retrieve Subscriber Subscriptions inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: after in: query type: string required: false description: Cursor for pagination indicating the starting point after which to fetch results. - name: before in: query type: string required: false description: Cursor for pagination indicating the ending point before which to fetch results. - name: limit in: query type: number required: false description: Limit the number of items to return (max 100) - name: orderDirection in: query type: string required: false description: Direction of sorting - name: orderBy in: query type: string required: false description: Field to order by - name: includeCursor in: query type: boolean required: false description: Include cursor item in response - name: key in: query type: string required: false description: Filter by topic key - name: contextKeys in: query type: array required: false description: 'Filter by exact context keys, order insensitive (format: "type:id")' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications path: /v2/subscribers/{subscriberId}/notifications operations: - name: SubscribersController_getSubscriberNotifications method: GET description: Novu Retrieve Subscriber Notifications inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: limit in: query type: number required: false description: limit - name: after in: query type: string required: false description: after - name: offset in: query type: number required: false description: offset - name: read in: query type: boolean required: false description: Filter by read/unread state - name: archived in: query type: boolean required: false description: Filter by archived state - name: snoozed in: query type: boolean required: false description: Filter by snoozed state - name: seen in: query type: boolean required: false description: Filter by seen state - name: data in: query type: string required: false description: Filter by data attributes (JSON string) - name: severity in: query type: array required: false description: Filter by severity levels - name: createdGte in: query type: number required: false description: Filter notifications created on or after this timestamp (Unix timestamp in milliseconds) - name: createdLte in: query type: number required: false description: Filter notifications created on or before this timestamp (Unix timestamp in milliseconds) - name: contextKeys in: query type: array required: false description: Context keys for filtering notifications in multi-context scenarios outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-count path: /v2/subscribers/{subscriberId}/notifications/count operations: - name: SubscribersController_getSubscriberNotificationsCount method: GET description: Novu Retrieve Subscriber Notifications Count inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: filters in: query type: string required: true description: Array of filter objects (max 30) to count notifications by different criteria outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-notificationid-read path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/read operations: - name: SubscribersController_markNotificationAsRead method: PATCH description: Novu Mark a Notification as Read inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: notificationId in: path type: string required: true description: The identifier of the notification - name: contextKeys in: query type: array required: false description: Context keys for filtering outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-notificationid-unread path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/unread operations: - name: SubscribersController_markNotificationAsUnread method: PATCH description: Novu Mark a Notification as Unread inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: notificationId in: path type: string required: true description: The identifier of the notification - name: contextKeys in: query type: array required: false description: Context keys for filtering outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-notificationid-archive path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/archive operations: - name: SubscribersController_archiveNotification method: PATCH description: Novu Archive a Notification inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: notificationId in: path type: string required: true description: The identifier of the notification - name: contextKeys in: query type: array required: false description: Context keys for filtering outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-notificationid-unarchive path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/unarchive operations: - name: SubscribersController_unarchiveNotification method: PATCH description: Novu Unarchive a Notification inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: notificationId in: path type: string required: true description: The identifier of the notification - name: contextKeys in: query type: array required: false description: Context keys for filtering outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-notificationid-snooze path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/snooze operations: - name: SubscribersController_snoozeNotification method: PATCH description: Novu Snooze a Notification inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: notificationId in: path type: string required: true description: The identifier of the notification - name: contextKeys in: query type: array required: false description: Context keys for filtering - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-notificationid-unsnooze path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/unsnooze operations: - name: SubscribersController_unsnoozeNotification method: PATCH description: Novu Unsnooze a Notification inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: notificationId in: path type: string required: true description: The identifier of the notification - name: contextKeys in: query type: array required: false description: Context keys for filtering outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-notificationid path: /v2/subscribers/{subscriberId}/notifications/{notificationId} operations: - name: SubscribersController_deleteNotification method: DELETE description: Novu Delete a Notification inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: notificationId in: path type: string required: true description: The identifier of the notification - name: contextKeys in: query type: array required: false description: Context keys for filtering outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-notificationid-actions-actiontype-complete path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/complete operations: - name: SubscribersController_completeNotificationAction method: PATCH description: Novu Complete a Notification Action inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: notificationId in: path type: string required: true description: The identifier of the notification - name: actionType in: path type: string required: true description: The type of action (primary or secondary) - name: contextKeys in: query type: array required: false description: Context keys for filtering outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-notificationid-actions-actiontype-revert path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/revert operations: - name: SubscribersController_revertNotificationAction method: PATCH description: Novu Revert a Notification Action inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: notificationId in: path type: string required: true description: The identifier of the notification - name: actionType in: path type: string required: true description: The type of action (primary or secondary) - name: contextKeys in: query type: array required: false description: Context keys for filtering outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-seen path: /v2/subscribers/{subscriberId}/notifications/seen operations: - name: SubscribersController_markNotificationsAsSeen method: POST description: Novu Mark Notifications as Seen inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-read path: /v2/subscribers/{subscriberId}/notifications/read operations: - name: SubscribersController_markAllNotificationsAsRead method: POST description: Novu Mark All Notifications as Read inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-archive path: /v2/subscribers/{subscriberId}/notifications/archive operations: - name: SubscribersController_archiveAllNotifications method: POST description: Novu Archive All Notifications inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-read-archive path: /v2/subscribers/{subscriberId}/notifications/read-archive operations: - name: SubscribersController_archiveAllReadNotifications method: POST description: Novu Archive All Read Notifications inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-subscribers-subscriberid-notifications-delete path: /v2/subscribers/{subscriberId}/notifications/delete operations: - name: SubscribersController_deleteAllNotifications method: POST description: Novu Delete All Notifications inputParameters: - name: subscriberId in: path type: string required: true description: The identifier of the subscriber - name: body in: body type: object required: true description: Request body payload outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: novu-subscribers-rest port: 8080 description: REST adapter for Novu API — Subscribers. One Spectral-compliant resource per consumed operation. resources: - path: /v1/subscribers/bulk name: v1-subscribers-bulk description: REST surface for /v1/subscribers/bulk. operations: - method: POST name: SubscribersV1Controller_bulkCreateSubscribers description: Novu Bulk Create Subscribers call: novu-subscribers.SubscribersV1Controller_bulkCreateSubscribers with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscribers/{subscriberId}/credentials name: v1-subscribers-subscriberid-credentials description: REST surface for /v1/subscribers/{subscriberId}/credentials. operations: - method: PUT name: SubscribersV1Controller_updateSubscriberChannel description: Novu Update Provider Credentials call: novu-subscribers.SubscribersV1Controller_updateSubscriberChannel with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: SubscribersV1Controller_modifySubscriberChannel description: Novu Upsert Provider Credentials call: novu-subscribers.SubscribersV1Controller_modifySubscriberChannel with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscribers/{subscriberId}/credentials/{providerId} name: v1-subscribers-subscriberid-credentials-providerid description: REST surface for /v1/subscribers/{subscriberId}/credentials/{providerId}. operations: - method: DELETE name: SubscribersV1Controller_deleteSubscriberCredentials description: Novu Delete Provider Credentials call: novu-subscribers.SubscribersV1Controller_deleteSubscriberCredentials with: subscriberId: rest.subscriberId providerId: rest.providerId outputParameters: - type: object mapping: $. - path: /v1/subscribers/{subscriberId}/online-status name: v1-subscribers-subscriberid-online-status description: REST surface for /v1/subscribers/{subscriberId}/online-status. operations: - method: PATCH name: SubscribersV1Controller_updateSubscriberOnlineFlag description: Novu Update Subscriber Online Status call: novu-subscribers.SubscribersV1Controller_updateSubscriberOnlineFlag with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscribers/{subscriberId}/notifications/feed name: v1-subscribers-subscriberid-notifications-feed description: REST surface for /v1/subscribers/{subscriberId}/notifications/feed. operations: - method: GET name: SubscribersV1Controller_getNotificationsFeed description: Novu Retrieve Subscriber Notifications call: novu-subscribers.SubscribersV1Controller_getNotificationsFeed with: subscriberId: rest.subscriberId page: rest.page limit: rest.limit read: rest.read seen: rest.seen payload: rest.payload outputParameters: - type: object mapping: $. - path: /v1/subscribers/{subscriberId}/notifications/unseen name: v1-subscribers-subscriberid-notifications-unseen description: REST surface for /v1/subscribers/{subscriberId}/notifications/unseen. operations: - method: GET name: SubscribersV1Controller_getUnseenCount description: Novu Retrieve Unseen Notifications Count call: novu-subscribers.SubscribersV1Controller_getUnseenCount with: subscriberId: rest.subscriberId seen: rest.seen limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/subscribers/{subscriberId}/messages/mark-as name: v1-subscribers-subscriberid-messages-mark-as description: REST surface for /v1/subscribers/{subscriberId}/messages/mark-as. operations: - method: POST name: SubscribersV1Controller_markMessagesAs description: Novu Update Notifications State call: novu-subscribers.SubscribersV1Controller_markMessagesAs with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscribers/{subscriberId}/messages/mark-all name: v1-subscribers-subscriberid-messages-mark-all description: REST surface for /v1/subscribers/{subscriberId}/messages/mark-all. operations: - method: POST name: SubscribersV1Controller_markAllUnreadAsRead description: Novu Update All Notifications State call: novu-subscribers.SubscribersV1Controller_markAllUnreadAsRead with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type} name: v1-subscribers-subscriberid-messages-messageid-actions-type description: REST surface for /v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type}. operations: - method: POST name: SubscribersV1Controller_markActionAsSeen description: Novu Update Notification Action Status call: novu-subscribers.SubscribersV1Controller_markActionAsSeen with: messageId: rest.messageId type: rest.type subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - path: /v2/subscribers name: v2-subscribers description: REST surface for /v2/subscribers. operations: - method: GET name: SubscribersController_searchSubscribers description: Novu Search Subscribers call: novu-subscribers.SubscribersController_searchSubscribers with: after: rest.after before: rest.before limit: rest.limit orderDirection: rest.orderDirection orderBy: rest.orderBy includeCursor: rest.includeCursor email: rest.email name: rest.name phone: rest.phone subscriberId: rest.subscriberId outputParameters: - type: object mapping: $. - method: POST name: SubscribersController_createSubscriber description: Novu Create a Subscriber call: novu-subscribers.SubscribersController_createSubscriber with: failIfExists: rest.failIfExists body: rest.body outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId} name: v2-subscribers-subscriberid description: REST surface for /v2/subscribers/{subscriberId}. operations: - method: GET name: SubscribersController_getSubscriber description: Novu Retrieve a Subscriber call: novu-subscribers.SubscribersController_getSubscriber with: subscriberId: rest.subscriberId outputParameters: - type: object mapping: $. - method: PATCH name: SubscribersController_patchSubscriber description: Novu Update a Subscriber call: novu-subscribers.SubscribersController_patchSubscriber with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: SubscribersController_removeSubscriber description: Novu Delete a Subscriber call: novu-subscribers.SubscribersController_removeSubscriber with: subscriberId: rest.subscriberId outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/preferences name: v2-subscribers-subscriberid-preferences description: REST surface for /v2/subscribers/{subscriberId}/preferences. operations: - method: GET name: SubscribersController_getSubscriberPreferences description: Novu Retrieve Subscriber Preferences call: novu-subscribers.SubscribersController_getSubscriberPreferences with: subscriberId: rest.subscriberId criticality: rest.criticality contextKeys: rest.contextKeys outputParameters: - type: object mapping: $. - method: PATCH name: SubscribersController_updateSubscriberPreferences description: Novu Update Subscriber Preferences call: novu-subscribers.SubscribersController_updateSubscriberPreferences with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/preferences/bulk name: v2-subscribers-subscriberid-preferences-bulk description: REST surface for /v2/subscribers/{subscriberId}/preferences/bulk. operations: - method: PATCH name: SubscribersController_bulkUpdateSubscriberPreferences description: Novu Bulk Update Subscriber Preferences call: novu-subscribers.SubscribersController_bulkUpdateSubscriberPreferences with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/subscriptions name: v2-subscribers-subscriberid-subscriptions description: REST surface for /v2/subscribers/{subscriberId}/subscriptions. operations: - method: GET name: SubscribersController_listSubscriberTopics description: Novu Retrieve Subscriber Subscriptions call: novu-subscribers.SubscribersController_listSubscriberTopics with: subscriberId: rest.subscriberId after: rest.after before: rest.before limit: rest.limit orderDirection: rest.orderDirection orderBy: rest.orderBy includeCursor: rest.includeCursor key: rest.key contextKeys: rest.contextKeys outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications name: v2-subscribers-subscriberid-notifications description: REST surface for /v2/subscribers/{subscriberId}/notifications. operations: - method: GET name: SubscribersController_getSubscriberNotifications description: Novu Retrieve Subscriber Notifications call: novu-subscribers.SubscribersController_getSubscriberNotifications with: subscriberId: rest.subscriberId limit: rest.limit after: rest.after offset: rest.offset read: rest.read archived: rest.archived snoozed: rest.snoozed seen: rest.seen data: rest.data severity: rest.severity createdGte: rest.createdGte createdLte: rest.createdLte contextKeys: rest.contextKeys outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/count name: v2-subscribers-subscriberid-notifications-count description: REST surface for /v2/subscribers/{subscriberId}/notifications/count. operations: - method: GET name: SubscribersController_getSubscriberNotificationsCount description: Novu Retrieve Subscriber Notifications Count call: novu-subscribers.SubscribersController_getSubscriberNotificationsCount with: subscriberId: rest.subscriberId filters: rest.filters outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/read name: v2-subscribers-subscriberid-notifications-notificationid-read description: REST surface for /v2/subscribers/{subscriberId}/notifications/{notificationId}/read. operations: - method: PATCH name: SubscribersController_markNotificationAsRead description: Novu Mark a Notification as Read call: novu-subscribers.SubscribersController_markNotificationAsRead with: subscriberId: rest.subscriberId notificationId: rest.notificationId contextKeys: rest.contextKeys outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/unread name: v2-subscribers-subscriberid-notifications-notificationid-unread description: REST surface for /v2/subscribers/{subscriberId}/notifications/{notificationId}/unread. operations: - method: PATCH name: SubscribersController_markNotificationAsUnread description: Novu Mark a Notification as Unread call: novu-subscribers.SubscribersController_markNotificationAsUnread with: subscriberId: rest.subscriberId notificationId: rest.notificationId contextKeys: rest.contextKeys outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/archive name: v2-subscribers-subscriberid-notifications-notificationid-archive description: REST surface for /v2/subscribers/{subscriberId}/notifications/{notificationId}/archive. operations: - method: PATCH name: SubscribersController_archiveNotification description: Novu Archive a Notification call: novu-subscribers.SubscribersController_archiveNotification with: subscriberId: rest.subscriberId notificationId: rest.notificationId contextKeys: rest.contextKeys outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/unarchive name: v2-subscribers-subscriberid-notifications-notificationid-unarchive description: REST surface for /v2/subscribers/{subscriberId}/notifications/{notificationId}/unarchive. operations: - method: PATCH name: SubscribersController_unarchiveNotification description: Novu Unarchive a Notification call: novu-subscribers.SubscribersController_unarchiveNotification with: subscriberId: rest.subscriberId notificationId: rest.notificationId contextKeys: rest.contextKeys outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/snooze name: v2-subscribers-subscriberid-notifications-notificationid-snooze description: REST surface for /v2/subscribers/{subscriberId}/notifications/{notificationId}/snooze. operations: - method: PATCH name: SubscribersController_snoozeNotification description: Novu Snooze a Notification call: novu-subscribers.SubscribersController_snoozeNotification with: subscriberId: rest.subscriberId notificationId: rest.notificationId contextKeys: rest.contextKeys body: rest.body outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/unsnooze name: v2-subscribers-subscriberid-notifications-notificationid-unsnooze description: REST surface for /v2/subscribers/{subscriberId}/notifications/{notificationId}/unsnooze. operations: - method: PATCH name: SubscribersController_unsnoozeNotification description: Novu Unsnooze a Notification call: novu-subscribers.SubscribersController_unsnoozeNotification with: subscriberId: rest.subscriberId notificationId: rest.notificationId contextKeys: rest.contextKeys outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/{notificationId} name: v2-subscribers-subscriberid-notifications-notificationid description: REST surface for /v2/subscribers/{subscriberId}/notifications/{notificationId}. operations: - method: DELETE name: SubscribersController_deleteNotification description: Novu Delete a Notification call: novu-subscribers.SubscribersController_deleteNotification with: subscriberId: rest.subscriberId notificationId: rest.notificationId contextKeys: rest.contextKeys outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/complete name: v2-subscribers-subscriberid-notifications-notificationid-actions-actiontype-complete description: REST surface for /v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/complete. operations: - method: PATCH name: SubscribersController_completeNotificationAction description: Novu Complete a Notification Action call: novu-subscribers.SubscribersController_completeNotificationAction with: subscriberId: rest.subscriberId notificationId: rest.notificationId actionType: rest.actionType contextKeys: rest.contextKeys outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/revert name: v2-subscribers-subscriberid-notifications-notificationid-actions-actiontype-revert description: REST surface for /v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/revert. operations: - method: PATCH name: SubscribersController_revertNotificationAction description: Novu Revert a Notification Action call: novu-subscribers.SubscribersController_revertNotificationAction with: subscriberId: rest.subscriberId notificationId: rest.notificationId actionType: rest.actionType contextKeys: rest.contextKeys outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/seen name: v2-subscribers-subscriberid-notifications-seen description: REST surface for /v2/subscribers/{subscriberId}/notifications/seen. operations: - method: POST name: SubscribersController_markNotificationsAsSeen description: Novu Mark Notifications as Seen call: novu-subscribers.SubscribersController_markNotificationsAsSeen with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/read name: v2-subscribers-subscriberid-notifications-read description: REST surface for /v2/subscribers/{subscriberId}/notifications/read. operations: - method: POST name: SubscribersController_markAllNotificationsAsRead description: Novu Mark All Notifications as Read call: novu-subscribers.SubscribersController_markAllNotificationsAsRead with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/archive name: v2-subscribers-subscriberid-notifications-archive description: REST surface for /v2/subscribers/{subscriberId}/notifications/archive. operations: - method: POST name: SubscribersController_archiveAllNotifications description: Novu Archive All Notifications call: novu-subscribers.SubscribersController_archiveAllNotifications with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/read-archive name: v2-subscribers-subscriberid-notifications-read-archive description: REST surface for /v2/subscribers/{subscriberId}/notifications/read-archive. operations: - method: POST name: SubscribersController_archiveAllReadNotifications description: Novu Archive All Read Notifications call: novu-subscribers.SubscribersController_archiveAllReadNotifications with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - path: /v2/subscribers/{subscriberId}/notifications/delete name: v2-subscribers-subscriberid-notifications-delete description: REST surface for /v2/subscribers/{subscriberId}/notifications/delete. operations: - method: POST name: SubscribersController_deleteAllNotifications description: Novu Delete All Notifications call: novu-subscribers.SubscribersController_deleteAllNotifications with: subscriberId: rest.subscriberId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: novu-subscribers-mcp port: 9090 transport: http description: MCP adapter for Novu API — Subscribers. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: bulk-create-subscribers description: Novu Bulk Create Subscribers hints: readOnly: false destructive: false idempotent: false call: novu-subscribers.SubscribersV1Controller_bulkCreateSubscribers with: body: tools.body outputParameters: - type: object mapping: $. - name: update-provider-credentials description: Novu Update Provider Credentials hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersV1Controller_updateSubscriberChannel with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: upsert-provider-credentials description: Novu Upsert Provider Credentials hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersV1Controller_modifySubscriberChannel with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: delete-provider-credentials description: Novu Delete Provider Credentials hints: readOnly: false destructive: true idempotent: true call: novu-subscribers.SubscribersV1Controller_deleteSubscriberCredentials with: subscriberId: tools.subscriberId providerId: tools.providerId outputParameters: - type: object mapping: $. - name: update-subscriber-online-status description: Novu Update Subscriber Online Status hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersV1Controller_updateSubscriberOnlineFlag with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-subscriber-notifications description: Novu Retrieve Subscriber Notifications hints: readOnly: true destructive: false idempotent: true call: novu-subscribers.SubscribersV1Controller_getNotificationsFeed with: subscriberId: tools.subscriberId page: tools.page limit: tools.limit read: tools.read seen: tools.seen payload: tools.payload outputParameters: - type: object mapping: $. - name: retrieve-unseen-notifications-count description: Novu Retrieve Unseen Notifications Count hints: readOnly: true destructive: false idempotent: true call: novu-subscribers.SubscribersV1Controller_getUnseenCount with: subscriberId: tools.subscriberId seen: tools.seen limit: tools.limit outputParameters: - type: object mapping: $. - name: update-notifications-state description: Novu Update Notifications State hints: readOnly: false destructive: false idempotent: false call: novu-subscribers.SubscribersV1Controller_markMessagesAs with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: update-all-notifications-state description: Novu Update All Notifications State hints: readOnly: false destructive: false idempotent: false call: novu-subscribers.SubscribersV1Controller_markAllUnreadAsRead with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: update-notification-action-status description: Novu Update Notification Action Status hints: readOnly: false destructive: false idempotent: false call: novu-subscribers.SubscribersV1Controller_markActionAsSeen with: messageId: tools.messageId type: tools.type subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: search-subscribers description: Novu Search Subscribers hints: readOnly: true destructive: false idempotent: true call: novu-subscribers.SubscribersController_searchSubscribers with: after: tools.after before: tools.before limit: tools.limit orderDirection: tools.orderDirection orderBy: tools.orderBy includeCursor: tools.includeCursor email: tools.email name: tools.name phone: tools.phone subscriberId: tools.subscriberId outputParameters: - type: object mapping: $. - name: create-subscriber description: Novu Create a Subscriber hints: readOnly: false destructive: false idempotent: false call: novu-subscribers.SubscribersController_createSubscriber with: failIfExists: tools.failIfExists body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-subscriber description: Novu Retrieve a Subscriber hints: readOnly: true destructive: false idempotent: true call: novu-subscribers.SubscribersController_getSubscriber with: subscriberId: tools.subscriberId outputParameters: - type: object mapping: $. - name: update-subscriber description: Novu Update a Subscriber hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersController_patchSubscriber with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: delete-subscriber description: Novu Delete a Subscriber hints: readOnly: false destructive: true idempotent: true call: novu-subscribers.SubscribersController_removeSubscriber with: subscriberId: tools.subscriberId outputParameters: - type: object mapping: $. - name: retrieve-subscriber-preferences description: Novu Retrieve Subscriber Preferences hints: readOnly: true destructive: false idempotent: true call: novu-subscribers.SubscribersController_getSubscriberPreferences with: subscriberId: tools.subscriberId criticality: tools.criticality contextKeys: tools.contextKeys outputParameters: - type: object mapping: $. - name: update-subscriber-preferences description: Novu Update Subscriber Preferences hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersController_updateSubscriberPreferences with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: bulk-update-subscriber-preferences description: Novu Bulk Update Subscriber Preferences hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersController_bulkUpdateSubscriberPreferences with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-subscriber-subscriptions description: Novu Retrieve Subscriber Subscriptions hints: readOnly: true destructive: false idempotent: true call: novu-subscribers.SubscribersController_listSubscriberTopics with: subscriberId: tools.subscriberId after: tools.after before: tools.before limit: tools.limit orderDirection: tools.orderDirection orderBy: tools.orderBy includeCursor: tools.includeCursor key: tools.key contextKeys: tools.contextKeys outputParameters: - type: object mapping: $. - name: retrieve-subscriber-notifications-2 description: Novu Retrieve Subscriber Notifications hints: readOnly: true destructive: false idempotent: true call: novu-subscribers.SubscribersController_getSubscriberNotifications with: subscriberId: tools.subscriberId limit: tools.limit after: tools.after offset: tools.offset read: tools.read archived: tools.archived snoozed: tools.snoozed seen: tools.seen data: tools.data severity: tools.severity createdGte: tools.createdGte createdLte: tools.createdLte contextKeys: tools.contextKeys outputParameters: - type: object mapping: $. - name: retrieve-subscriber-notifications-count description: Novu Retrieve Subscriber Notifications Count hints: readOnly: true destructive: false idempotent: true call: novu-subscribers.SubscribersController_getSubscriberNotificationsCount with: subscriberId: tools.subscriberId filters: tools.filters outputParameters: - type: object mapping: $. - name: mark-notification-read description: Novu Mark a Notification as Read hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersController_markNotificationAsRead with: subscriberId: tools.subscriberId notificationId: tools.notificationId contextKeys: tools.contextKeys outputParameters: - type: object mapping: $. - name: mark-notification-unread description: Novu Mark a Notification as Unread hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersController_markNotificationAsUnread with: subscriberId: tools.subscriberId notificationId: tools.notificationId contextKeys: tools.contextKeys outputParameters: - type: object mapping: $. - name: archive-notification description: Novu Archive a Notification hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersController_archiveNotification with: subscriberId: tools.subscriberId notificationId: tools.notificationId contextKeys: tools.contextKeys outputParameters: - type: object mapping: $. - name: unarchive-notification description: Novu Unarchive a Notification hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersController_unarchiveNotification with: subscriberId: tools.subscriberId notificationId: tools.notificationId contextKeys: tools.contextKeys outputParameters: - type: object mapping: $. - name: snooze-notification description: Novu Snooze a Notification hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersController_snoozeNotification with: subscriberId: tools.subscriberId notificationId: tools.notificationId contextKeys: tools.contextKeys body: tools.body outputParameters: - type: object mapping: $. - name: unsnooze-notification description: Novu Unsnooze a Notification hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersController_unsnoozeNotification with: subscriberId: tools.subscriberId notificationId: tools.notificationId contextKeys: tools.contextKeys outputParameters: - type: object mapping: $. - name: delete-notification description: Novu Delete a Notification hints: readOnly: false destructive: true idempotent: true call: novu-subscribers.SubscribersController_deleteNotification with: subscriberId: tools.subscriberId notificationId: tools.notificationId contextKeys: tools.contextKeys outputParameters: - type: object mapping: $. - name: complete-notification-action description: Novu Complete a Notification Action hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersController_completeNotificationAction with: subscriberId: tools.subscriberId notificationId: tools.notificationId actionType: tools.actionType contextKeys: tools.contextKeys outputParameters: - type: object mapping: $. - name: revert-notification-action description: Novu Revert a Notification Action hints: readOnly: false destructive: false idempotent: true call: novu-subscribers.SubscribersController_revertNotificationAction with: subscriberId: tools.subscriberId notificationId: tools.notificationId actionType: tools.actionType contextKeys: tools.contextKeys outputParameters: - type: object mapping: $. - name: mark-notifications-seen description: Novu Mark Notifications as Seen hints: readOnly: false destructive: false idempotent: false call: novu-subscribers.SubscribersController_markNotificationsAsSeen with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: mark-all-notifications-read description: Novu Mark All Notifications as Read hints: readOnly: false destructive: false idempotent: false call: novu-subscribers.SubscribersController_markAllNotificationsAsRead with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: archive-all-notifications description: Novu Archive All Notifications hints: readOnly: false destructive: false idempotent: false call: novu-subscribers.SubscribersController_archiveAllNotifications with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: archive-all-read-notifications description: Novu Archive All Read Notifications hints: readOnly: false destructive: false idempotent: false call: novu-subscribers.SubscribersController_archiveAllReadNotifications with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $. - name: delete-all-notifications description: Novu Delete All Notifications hints: readOnly: false destructive: false idempotent: false call: novu-subscribers.SubscribersController_deleteAllNotifications with: subscriberId: tools.subscriberId body: tools.body outputParameters: - type: object mapping: $.