Novu · Capability

Novu API — Subscribers

Notifications — Subscribers. 35 operations. Lead operation: Bulk Create Subscribers. Self-contained Naftiko capability covering one Novu business surface.

Novu API — Subscribers is a Naftiko capability published by Novu, one of 16 capabilities the APIs.io network indexes for this provider. It bundles 35 operations across the PATCH, POST, GET, DELETE, and PUT methods.

The capability includes 8 read-only operations and 27 state-changing operations. Lead operation: Novu Bulk Create Subscribers. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Novu, Notifications, and Subscribers.

Run with Naftiko NovuNotificationsSubscribers

What You Can Do

POST
Subscribersv1controller_bulkcreatesubscribers — Novu Bulk Create Subscribers
/v1/subscribers/bulk
PUT
Subscribersv1controller_updatesubscriberchannel — Novu Update Provider Credentials
/v1/subscribers/{subscriberId}/credentials
PATCH
Subscribersv1controller_modifysubscriberchannel — Novu Upsert Provider Credentials
/v1/subscribers/{subscriberId}/credentials
DELETE
Subscribersv1controller_deletesubscribercredentials — Novu Delete Provider Credentials
/v1/subscribers/{subscriberId}/credentials/{providerId}
PATCH
Subscribersv1controller_updatesubscriberonlineflag — Novu Update Subscriber Online Status
/v1/subscribers/{subscriberId}/online-status
GET
Subscribersv1controller_getnotificationsfeed — Novu Retrieve Subscriber Notifications
/v1/subscribers/{subscriberId}/notifications/feed
GET
Subscribersv1controller_getunseencount — Novu Retrieve Unseen Notifications Count
/v1/subscribers/{subscriberId}/notifications/unseen
POST
Subscribersv1controller_markmessagesas — Novu Update Notifications State
/v1/subscribers/{subscriberId}/messages/mark-as
POST
Subscribersv1controller_markallunreadasread — Novu Update All Notifications State
/v1/subscribers/{subscriberId}/messages/mark-all
POST
Subscribersv1controller_markactionasseen — Novu Update Notification Action Status
/v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type}
GET
Subscriberscontroller_searchsubscribers — Novu Search Subscribers
/v2/subscribers
POST
Subscriberscontroller_createsubscriber — Novu Create a Subscriber
/v2/subscribers
GET
Subscriberscontroller_getsubscriber — Novu Retrieve a Subscriber
/v2/subscribers/{subscriberId}
PATCH
Subscriberscontroller_patchsubscriber — Novu Update a Subscriber
/v2/subscribers/{subscriberId}
DELETE
Subscriberscontroller_removesubscriber — Novu Delete a Subscriber
/v2/subscribers/{subscriberId}
GET
Subscriberscontroller_getsubscriberpreferences — Novu Retrieve Subscriber Preferences
/v2/subscribers/{subscriberId}/preferences
PATCH
Subscriberscontroller_updatesubscriberpreferences — Novu Update Subscriber Preferences
/v2/subscribers/{subscriberId}/preferences
PATCH
Subscriberscontroller_bulkupdatesubscriberpreferences — Novu Bulk Update Subscriber Preferences
/v2/subscribers/{subscriberId}/preferences/bulk
GET
Subscriberscontroller_listsubscribertopics — Novu Retrieve Subscriber Subscriptions
/v2/subscribers/{subscriberId}/subscriptions
GET
Subscriberscontroller_getsubscribernotifications — Novu Retrieve Subscriber Notifications
/v2/subscribers/{subscriberId}/notifications
GET
Subscriberscontroller_getsubscribernotificationscount — Novu Retrieve Subscriber Notifications Count
/v2/subscribers/{subscriberId}/notifications/count
PATCH
Subscriberscontroller_marknotificationasread — Novu Mark a Notification as Read
/v2/subscribers/{subscriberId}/notifications/{notificationId}/read
PATCH
Subscriberscontroller_marknotificationasunread — Novu Mark a Notification as Unread
/v2/subscribers/{subscriberId}/notifications/{notificationId}/unread
PATCH
Subscriberscontroller_archivenotification — Novu Archive a Notification
/v2/subscribers/{subscriberId}/notifications/{notificationId}/archive
PATCH
Subscriberscontroller_unarchivenotification — Novu Unarchive a Notification
/v2/subscribers/{subscriberId}/notifications/{notificationId}/unarchive
PATCH
Subscriberscontroller_snoozenotification — Novu Snooze a Notification
/v2/subscribers/{subscriberId}/notifications/{notificationId}/snooze
PATCH
Subscriberscontroller_unsnoozenotification — Novu Unsnooze a Notification
/v2/subscribers/{subscriberId}/notifications/{notificationId}/unsnooze
DELETE
Subscriberscontroller_deletenotification — Novu Delete a Notification
/v2/subscribers/{subscriberId}/notifications/{notificationId}
PATCH
Subscriberscontroller_completenotificationaction — Novu Complete a Notification Action
/v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/complete
PATCH
Subscriberscontroller_revertnotificationaction — Novu Revert a Notification Action
/v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/revert
POST
Subscriberscontroller_marknotificationsasseen — Novu Mark Notifications as Seen
/v2/subscribers/{subscriberId}/notifications/seen
POST
Subscriberscontroller_markallnotificationsasread — Novu Mark All Notifications as Read
/v2/subscribers/{subscriberId}/notifications/read
POST
Subscriberscontroller_archiveallnotifications — Novu Archive All Notifications
/v2/subscribers/{subscriberId}/notifications/archive
POST
Subscriberscontroller_archiveallreadnotifications — Novu Archive All Read Notifications
/v2/subscribers/{subscriberId}/notifications/read-archive
POST
Subscriberscontroller_deleteallnotifications — Novu Delete All Notifications
/v2/subscribers/{subscriberId}/notifications/delete

MCP Tools

bulk-create-subscribers

Novu Bulk Create Subscribers

update-provider-credentials

Novu Update Provider Credentials

idempotent
upsert-provider-credentials

Novu Upsert Provider Credentials

idempotent
delete-provider-credentials

Novu Delete Provider Credentials

idempotent
update-subscriber-online-status

Novu Update Subscriber Online Status

idempotent
retrieve-subscriber-notifications

Novu Retrieve Subscriber Notifications

read-only idempotent
retrieve-unseen-notifications-count

Novu Retrieve Unseen Notifications Count

read-only idempotent
update-notifications-state

Novu Update Notifications State

update-all-notifications-state

Novu Update All Notifications State

update-notification-action-status

Novu Update Notification Action Status

search-subscribers

Novu Search Subscribers

read-only idempotent
create-subscriber

Novu Create a Subscriber

retrieve-subscriber

Novu Retrieve a Subscriber

read-only idempotent
update-subscriber

Novu Update a Subscriber

idempotent
delete-subscriber

Novu Delete a Subscriber

idempotent
retrieve-subscriber-preferences

Novu Retrieve Subscriber Preferences

read-only idempotent
update-subscriber-preferences

Novu Update Subscriber Preferences

idempotent
bulk-update-subscriber-preferences

Novu Bulk Update Subscriber Preferences

idempotent
retrieve-subscriber-subscriptions

Novu Retrieve Subscriber Subscriptions

read-only idempotent
retrieve-subscriber-notifications-2

Novu Retrieve Subscriber Notifications

read-only idempotent
retrieve-subscriber-notifications-count

Novu Retrieve Subscriber Notifications Count

read-only idempotent
mark-notification-read

Novu Mark a Notification as Read

idempotent
mark-notification-unread

Novu Mark a Notification as Unread

idempotent
archive-notification

Novu Archive a Notification

idempotent
unarchive-notification

Novu Unarchive a Notification

idempotent
snooze-notification

Novu Snooze a Notification

idempotent
unsnooze-notification

Novu Unsnooze a Notification

idempotent
delete-notification

Novu Delete a Notification

idempotent
complete-notification-action

Novu Complete a Notification Action

idempotent
revert-notification-action

Novu Revert a Notification Action

idempotent
mark-notifications-seen

Novu Mark Notifications as Seen

mark-all-notifications-read

Novu Mark All Notifications as Read

archive-all-notifications

Novu Archive All Notifications

archive-all-read-notifications

Novu Archive All Read Notifications

delete-all-notifications

Novu Delete All Notifications

Capability Spec

novu-subscribers.yaml Raw ↑
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
        descr

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/capabilities/novu-subscribers.yaml