Novu · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Novu Subscribers API

36 actions 36 updates phrasing extends openapi/novu-subscribers-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Novu's API. It is a proposal applied on top of the contract, not a document Novu publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 36 · first 16 shown; the file carries all of them

$.info
$.paths['/v1/subscribers/bulk'].post
$.paths['/v1/subscribers/{subscriberId}/credentials'].put
$.paths['/v1/subscribers/{subscriberId}/credentials'].patch
$.paths['/v1/subscribers/{subscriberId}/credentials/{providerId}'].delete
$.paths['/v1/subscribers/{subscriberId}/online-status'].patch
$.paths['/v1/subscribers/{subscriberId}/notifications/feed'].get
$.paths['/v1/subscribers/{subscriberId}/notifications/unseen'].get
$.paths['/v1/subscribers/{subscriberId}/messages/mark-as'].post
$.paths['/v1/subscribers/{subscriberId}/messages/mark-all'].post
$.paths['/v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type}'].post
$.paths['/v2/subscribers'].get
$.paths['/v2/subscribers'].post
$.paths['/v2/subscribers/{subscriberId}'].get
$.paths['/v2/subscribers/{subscriberId}'].delete
$.paths['/v2/subscribers/{subscriberId}'].patch

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Novu Subscribers API
  version: 1.0.0
extends: openapi/novu-subscribers-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 35
- target: $.paths['/v1/subscribers/bulk'].post
  update:
    x-apievangelist-phrasing:
      intent: Create many subscribers at once
      effect: write
      questions:
      - How do I import a large batch of users as subscribers in one request?
      - What's the maximum number of subscribers I can create in a single bulk call?
      instructions:
      - text: 'Bulk create these subscribers: {subscribers}.'
        slots:
          subscribers: requestBody.subscribers
      - text: 'Import this list of up to 500 users as subscribers: {subscribers}.'
        slots:
          subscribers: requestBody.subscribers
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/subscribers/{subscriberId}/credentials'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a subscriber's provider credentials
      effect: write
      questions:
      - How do I overwrite a subscriber's push device tokens with a fresh set?
      - Can I replace the Slack webhook credentials stored for a subscriber?
      instructions:
      - text: Replace subscriber {subscriberId}'s {providerId} credentials with {credentials}.
        slots:
          subscriberId: path.subscriberId
          providerId: requestBody.providerId
          credentials: requestBody.credentials
      - text: Overwrite the device tokens for {subscriberId} on provider {providerId} with {credentials}.
        slots:
          subscriberId: path.subscriberId
          providerId: requestBody.providerId
          credentials: requestBody.credentials
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/subscribers/{subscriberId}/credentials'].patch
  update:
    x-apievangelist-phrasing:
      intent: Add to a subscriber's provider credentials
      effect: write
      questions:
      - Can I append a new FCM device token to a subscriber without dropping the old ones?
      - Which call upserts provider credentials instead of replacing them?
      instructions:
      - text: Append device token credentials {credentials} for {providerId} to subscriber {subscriberId}.
        slots:
          credentials: requestBody.credentials
          providerId: requestBody.providerId
          subscriberId: path.subscriberId
      - text: Upsert {providerId} credentials {credentials} on subscriber {subscriberId}, keeping existing tokens.
        slots:
          providerId: requestBody.providerId
          credentials: requestBody.credentials
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/subscribers/{subscriberId}/credentials/{providerId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a subscriber's provider credentials
      effect: destructive
      questions:
      - How do I delete the stored push or chat credentials for a subscriber?
      - Can I remove one provider's credentials from a subscriber and keep the others?
      instructions:
      - text: Delete subscriber {subscriberId}'s credentials for provider {providerId}.
        slots:
          subscriberId: path.subscriberId
          providerId: path.providerId
      - text: Remove the {providerId} device tokens from subscriber {subscriberId}.
        slots:
          providerId: path.providerId
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/subscribers/{subscriberId}/online-status'].patch
  update:
    x-apievangelist-phrasing:
      intent: Set a subscriber's online status
      effect: write
      questions:
      - Can I mark a subscriber as online or offline?
      - Where do I update whether a subscriber is currently online?
      instructions:
      - text: Set subscriber {subscriberId} online status to {isOnline}.
        slots:
          subscriberId: path.subscriberId
          isOnline: requestBody.isOnline
      - text: Mark {subscriberId} as offline by setting isOnline to {isOnline}.
        slots:
          subscriberId: path.subscriberId
          isOnline: requestBody.isOnline
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/subscribers/{subscriberId}/notifications/feed'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a subscriber's inbox feed (v1)
      effect: read
      questions:
      - What does the older page-based inbox feed endpoint return for a subscriber?
      - Can I filter the legacy notifications feed by read or seen status and page number?
      instructions:
      - text: Get page {page} of subscriber {subscriberId}'s legacy inbox feed.
        slots:
          page: query.page
          subscriberId: path.subscriberId
      - text: Show the v1 notifications feed for {subscriberId} filtered to read={read}.
        slots:
          subscriberId: path.subscriberId
          read: query.read
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/subscribers/{subscriberId}/notifications/unseen'].get
  update:
    x-apievangelist-phrasing:
      intent: Count a subscriber's unseen notifications
      effect: read
      questions:
      - How many unseen inbox notifications does a subscriber have for the bell badge?
      - Is there a quick endpoint just for the unseen count?
      instructions:
      - text: Get the unseen notification count for subscriber {subscriberId}.
        slots:
          subscriberId: path.subscriberId
      - text: Tell me how many unseen inbox items {subscriberId} has.
        slots:
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/subscribers/{subscriberId}/messages/mark-as'].post
  update:
    x-apievangelist-phrasing:
      intent: Mark specific inbox messages (v1)
      effect: write
      questions:
      - With the older v1 endpoint, can I mark several message ids as seen, read, unseen or unread at once?
      - Which legacy call flips the state of selected messages by message id?
      instructions:
      - text: Mark messages {messageId} for subscriber {subscriberId} as {markAs}.
        slots:
          messageId: requestBody.messageId
          subscriberId: path.subscriberId
          markAs: requestBody.markAs
      - text: Using the v1 mark-as call, set message {messageId} of {subscriberId} to {markAs}.
        slots:
          messageId: requestBody.messageId
          subscriberId: path.subscriberId
          markAs: requestBody.markAs
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/subscribers/{subscriberId}/messages/mark-all'].post
  update:
    x-apievangelist-phrasing:
      intent: Mark every inbox message in a feed (v1)
      effect: write
      questions:
      - Can I mark all of a subscriber's messages in one feed as seen or unread with the v1 API?
      - Which legacy endpoint changes the state of every message for a subscriber?
      instructions:
      - text: Mark all messages for subscriber {subscriberId} as {markAs}.
        slots:
          subscriberId: path.subscriberId
          markAs: requestBody.markAs
      - text: Set every message in feed {feedIdentifier} for {subscriberId} to {markAs}.
        slots:
          feedIdentifier: requestBody.feedIdentifier
          subscriberId: path.subscriberId
          markAs: requestBody.markAs
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type}'].post
  update:
    x-apievangelist-phrasing:
      intent: Set an inbox message's action status (v1)
      effect: write
      questions:
      - How do I record that a subscriber clicked the primary button on a message using the v1 API?
      - Can I set the action status of a message's secondary button to done?
      instructions:
      - text: Set the {type} action on message {messageId} for subscriber {subscriberId} to {status}.
        slots:
          type: path.type
          messageId: path.messageId
          subscriberId: path.subscriberId
          status: requestBody.status
      - text: Record status {status} for the {type} button of message {messageId}, subscriber {subscriberId}, via the v1 call.
        slots:
          status: requestBody.status
          type: path.type
          messageId: path.messageId
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers'].get
  update:
    x-apievangelist-phrasing:
      intent: Search subscribers
      effect: read
      questions:
      - How do I find a subscriber by their email address?
      - Is subscriber search case sensitive?
      - Can I look up subscribers by phone number or name?
      instructions:
      - text: Search subscribers with email {email}.
        slots:
          email: query.email
      - text: Find subscribers named {name}.
        slots:
          name: query.name
      - text: Look up subscribers by phone {phone}.
        slots:
          phone: query.phone
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a subscriber
      effect: write
      questions:
      - What do I need to add a new user as a Novu subscriber?
      - If the subscriber already exists, will creating it update the record instead?
      - Can I make subscriber creation fail when the id is already taken?
      instructions:
      - text: Create subscriber {subscriberId} with email {email}.
        slots:
          subscriberId: requestBody.subscriberId
          email: requestBody.email
      - text: Add a new subscriber {subscriberId} named {firstName} {lastName}.
        slots:
          subscriberId: requestBody.subscriberId
          firstName: requestBody.firstName
          lastName: requestBody.lastName
      - text: Create subscriber {subscriberId} only if new, with failIfExists {failIfExists}.
        slots:
          subscriberId: requestBody.subscriberId
          failIfExists: query.failIfExists
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a subscriber
      effect: read
      questions:
      - How can I pull up a subscriber's profile by their subscriberId?
      - What contact details are stored on a particular subscriber?
      instructions:
      - text: Show me subscriber {subscriberId}.
        slots:
          subscriberId: path.subscriberId
      - text: Fetch the profile of subscriber {subscriberId}.
        slots:
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a subscriber
      effect: destructive
      questions:
      - What gets removed along with a subscriber when I delete them?
      - Can I delete a user and their topic subscriptions in one call?
      instructions:
      - text: Delete subscriber {subscriberId}.
        slots:
          subscriberId: path.subscriberId
      - text: Remove {subscriberId} along with their messages, preferences and topic subscriptions.
        slots:
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a subscriber's profile
      effect: write
      questions:
      - How do I change a subscriber's email or phone number?
      - Can I update a subscriber's timezone or locale?
      instructions:
      - text: Update subscriber {subscriberId}'s email to {email}.
        slots:
          subscriberId: path.subscriberId
          email: requestBody.email
      - text: Set existing subscriber {subscriberId}'s timezone to {timezone}.
        slots:
          subscriberId: path.subscriberId
          timezone: requestBody.timezone
      - text: Change the phone number on {subscriberId} to {phone}.
        slots:
          subscriberId: path.subscriberId
          phone: requestBody.phone
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/preferences'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a subscriber's notification preferences
      effect: read
      questions:
      - Which channels has a subscriber opted out of for each workflow?
      - Can I see a subscriber's global and per-workflow preferences together?
      instructions:
      - text: Show notification preferences for subscriber {subscriberId}.
        slots:
          subscriberId: path.subscriberId
      - text: Get {subscriberId}'s preferences for {criticality} workflows.
        slots:
          subscriberId: path.subscriberId
          criticality: query.criticality
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/preferences'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a subscriber's preferences
      effect: write
      questions:
      - How do I turn off email for a subscriber on one workflow?
      - If I leave out the workflow, does the preference change apply globally?
      - Can I set a delivery schedule for when a subscriber receives notifications?
      instructions:
      - text: Update {subscriberId}'s channel preferences for workflow {workflowId} to {channels}.
        slots:
          subscriberId: path.subscriberId
          workflowId: requestBody.workflowId
          channels: requestBody.channels
      - text: Set global channel preferences for {subscriberId} to {channels}.
        slots:
          subscriberId: path.subscriberId
          channels: requestBody.channels
      - text: Give subscriber {subscriberId} the delivery schedule {schedule}.
        slots:
          subscriberId: path.subscriberId
          schedule: requestBody.schedule
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/preferences/bulk'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update many workflow preferences at once
      effect: write
      questions:
      - Can I change a subscriber's preferences for several workflows in one request?
      - How many workflow preferences can I bulk update at a time?
      instructions:
      - text: Bulk update subscriber {subscriberId}'s workflow preferences to {preferences}.
        slots:
          subscriberId: path.subscriberId
          preferences: requestBody.preferences
      - text: 'Apply these per-workflow settings to {subscriberId} in one go: {preferences}.'
        slots:
          subscriberId: path.subscriberId
          preferences: requestBody.preferences
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/subscriptions'].get
  update:
    x-apievangelist-phrasing:
      intent: List a subscriber's topic subscriptions
      effect: read
      questions:
      - Which topics is a given subscriber subscribed to?
      - Can I check a subscriber's subscriptions filtered by topic key?
      instructions:
      - text: List the topics subscriber {subscriberId} belongs to.
        slots:
          subscriberId: path.subscriberId
      - text: Show {subscriberId}'s subscriptions for topic key {key}.
        slots:
          subscriberId: path.subscriberId
          key: query.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications'].get
  update:
    x-apievangelist-phrasing:
      intent: List a subscriber's inbox notifications
      effect: read
      questions:
      - What unread notifications does a subscriber have in their inbox?
      - Can I filter a subscriber's inbox by archived, snoozed or severity?
      - Is there a way to list inbox notifications created within a date range?
      instructions:
      - text: List inbox notifications for subscriber {subscriberId}.
        slots:
          subscriberId: path.subscriberId
      - text: Show {subscriberId}'s archived inbox notifications where archived is {archived}.
        slots:
          subscriberId: path.subscriberId
          archived: query.archived
      - text: List inbox notifications for {subscriberId} created after {createdGte}.
        slots:
          subscriberId: path.subscriberId
          createdGte: query.createdGte
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count a subscriber's inbox notifications by filter
      effect: read
      questions:
      - Can I count a subscriber's inbox notifications under several different filters at once?
      - How many filter criteria can I pass when counting inbox notifications?
      instructions:
      - text: Count subscriber {subscriberId}'s inbox notifications using filters {filters}.
        slots:
          subscriberId: path.subscriberId
          filters: query.filters
      - text: Give me per-filter notification counts for {subscriberId} with {filters}.
        slots:
          subscriberId: path.subscriberId
          filters: query.filters
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/{notificationId}/read'].patch
  update:
    x-apievangelist-phrasing:
      intent: Mark one inbox notification as read
      effect: write
      questions:
      - How do I mark a single inbox notification as read for a subscriber?
      - Can I flag one notification read without touching the rest of the inbox?
      instructions:
      - text: Mark notification {notificationId} as read for subscriber {subscriberId}.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      - text: Set just inbox item {notificationId} of {subscriberId} to read.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/{notificationId}/unread'].patch
  update:
    x-apievangelist-phrasing:
      intent: Mark one inbox notification as unread
      effect: write
      questions:
      - Can a subscriber flag a notification they already read as unread again?
      - Which call reverts a single inbox notification back to unread?
      instructions:
      - text: Mark notification {notificationId} as unread for subscriber {subscriberId}.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      - text: Flag inbox item {notificationId} of {subscriberId} as unread again.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/{notificationId}/archive'].patch
  update:
    x-apievangelist-phrasing:
      intent: Archive one inbox notification
      effect: write
      questions:
      - How do I move one notification into a subscriber's archive?
      - Can I archive a single inbox notification by its id?
      instructions:
      - text: Archive notification {notificationId} for subscriber {subscriberId}.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      - text: Move inbox item {notificationId} of {subscriberId} to the archive.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/{notificationId}/unarchive'].patch
  update:
    x-apievangelist-phrasing:
      intent: Unarchive one inbox notification
      effect: write
      questions:
      - Can I restore an archived notification back to a subscriber's inbox?
      - Which call takes a single notification out of the archive?
      instructions:
      - text: Unarchive notification {notificationId} for subscriber {subscriberId}.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      - text: Bring archived item {notificationId} back into {subscriberId}'s inbox.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/{notificationId}/snooze'].patch
  update:
    x-apievangelist-phrasing:
      intent: Snooze an inbox notification
      effect: write
      questions:
      - Can a subscriber snooze a notification until later?
      - What time format do I give to snooze an inbox notification until a specific moment?
      instructions:
      - text: Snooze notification {notificationId} for {subscriberId} until {snoozeUntil}.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
          snoozeUntil: requestBody.snoozeUntil
      - text: Hide inbox item {notificationId} of {subscriberId} until {snoozeUntil}.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
          snoozeUntil: requestBody.snoozeUntil
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/{notificationId}/unsnooze'].patch
  update:
    x-apievangelist-phrasing:
      intent: Unsnooze an inbox notification
      effect: write
      questions:
      - How do I bring a snoozed notification back right away?
      - Can I cancel the snooze on a single inbox notification?
      instructions:
      - text: Unsnooze notification {notificationId} for subscriber {subscriberId}.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      - text: Cancel the snooze on {subscriberId}'s inbox item {notificationId}.
        slots:
          subscriberId: path.subscriberId
          notificationId: path.notificationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/{notificationId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one inbox notification
      effect: destructive
      questions:
      - Can I permanently delete a single notification from a subscriber's inbox?
      - Is deleting one inbox notification permanent?
      instructions:
      - text: Delete notification {notificationId} from subscriber {subscriberId}'s inbox.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      - text: Permanently remove inbox item {notificationId} for {subscriberId}.
        slots:
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/complete'].patch
  update:
    x-apievangelist-phrasing:
      intent: Complete a notification's action button
      effect: write
      questions:
      - How do I mark a notification's primary action as completed?
      - Can I record that a subscriber finished the secondary action on an inbox item?
      instructions:
      - text: Complete the {actionType} action on notification {notificationId} for {subscriberId}.
        slots:
          actionType: path.actionType
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      - text: Mark {subscriberId}'s {actionType} button on {notificationId} as done.
        slots:
          subscriberId: path.subscriberId
          actionType: path.actionType
          notificationId: path.notificationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/revert'].patch
  update:
    x-apievangelist-phrasing:
      intent: Revert a notification's action to pending
      effect: write
      questions:
      - Can I undo a completed action on an inbox notification?
      - Which call puts a primary or secondary action back to pending?
      instructions:
      - text: Revert the {actionType} action on notification {notificationId} for {subscriberId}.
        slots:
          actionType: path.actionType
          notificationId: path.notificationId
          subscriberId: path.subscriberId
      - text: Reset {subscriberId}'s {actionType} button on {notificationId} to pending.
        slots:
          subscriberId: path.subscriberId
          actionType: path.actionType
          notificationId: path.notificationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/seen'].post
  update:
    x-apievangelist-phrasing:
      intent: Mark inbox notifications as seen
      effect: write
      questions:
      - Can I mark several inbox notifications as seen when the subscriber opens the inbox?
      - Is it possible to mark notifications seen by tag instead of by id?
      instructions:
      - text: Mark notifications {notificationIds} as seen for subscriber {subscriberId}.
        slots:
          notificationIds: requestBody.notificationIds
          subscriberId: path.subscriberId
      - text: Mark all {tags} tagged notifications seen for {subscriberId}.
        slots:
          tags: requestBody.tags
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/read'].post
  update:
    x-apievangelist-phrasing:
      intent: Mark all inbox notifications as read
      effect: write
      questions:
      - How do I clear a subscriber's unread inbox by marking everything read?
      - Can I mark all read only for notifications with certain tags?
      instructions:
      - text: Mark all inbox notifications as read for subscriber {subscriberId}.
        slots:
          subscriberId: path.subscriberId
      - text: Mark every {tags} notification read for {subscriberId}.
        slots:
          tags: requestBody.tags
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/archive'].post
  update:
    x-apievangelist-phrasing:
      intent: Archive all inbox notifications
      effect: write
      questions:
      - Can I archive a subscriber's entire inbox in one call?
      - Is there a way to archive all notifications matching a tag filter?
      instructions:
      - text: Archive all inbox notifications for subscriber {subscriberId}.
        slots:
          subscriberId: path.subscriberId
      - text: Archive every notification tagged {tags} for {subscriberId}.
        slots:
          tags: requestBody.tags
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/read-archive'].post
  update:
    x-apievangelist-phrasing:
      intent: Archive all read inbox notifications
      effect: write
      questions:
      - Can I archive only the notifications a subscriber has already read?
      - How do I tidy an inbox by archiving read items but leaving unread ones?
      instructions:
      - text: Archive all read notifications for subscriber {subscriberId}.
        slots:
          subscriberId: path.subscriberId
      - text: Move {subscriberId}'s already-read {tags} notifications to the archive.
        slots:
          subscriberId: path.subscriberId
          tags: requestBody.tags
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/subscribers/{subscriberId}/notifications/delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete all inbox notifications
      effect: destructive
      questions:
      - Can I permanently wipe every notification in a subscriber's inbox?
      - Is it possible to delete all inbox notifications that match certain tags?
      instructions:
      - text: Delete all inbox notifications for subscriber {subscriberId}.
        slots:
          subscriberId: path.subscriberId
      - text: Permanently delete every {tags} notification in {subscriberId}'s inbox.
        slots:
          tags: requestBody.tags
          subscriberId: path.subscriberId
      method: generated
      generated: '2026-09-26'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/novu-subscribers-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.