Novu · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Novu Topics API

12 actions 12 updates phrasing extends openapi/novu-topics-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 12

$.info
$.paths['/v1/topics/{topicKey}/subscribers/{externalSubscriberId}'].get
$.paths['/v2/topics'].get
$.paths['/v2/topics'].post
$.paths['/v2/topics/{topicKey}'].get
$.paths['/v2/topics/{topicKey}'].delete
$.paths['/v2/topics/{topicKey}'].patch
$.paths['/v2/topics/{topicKey}/subscriptions'].get
$.paths['/v2/topics/{topicKey}/subscriptions'].post
$.paths['/v2/topics/{topicKey}/subscriptions'].delete
$.paths['/v2/topics/{topicKey}/subscriptions/{identifier}'].get
$.paths['/v2/topics/{topicKey}/subscriptions/{identifier}'].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 Topics API
  version: 1.0.0
extends: openapi/novu-topics-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: 11
- target: $.paths['/v1/topics/{topicKey}/subscribers/{externalSubscriberId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check if a subscriber is in a topic
      effect: read
      questions:
      - Is a particular subscriber part of a given topic?
      - How can I confirm someone is already subscribed to a topic before adding them?
      instructions:
      - text: Check whether subscriber {externalSubscriberId} belongs to topic {topicKey}.
        slots:
          externalSubscriberId: path.externalSubscriberId
          topicKey: path.topicKey
      - text: Confirm {externalSubscriberId} is a member of the {topicKey} topic.
        slots:
          externalSubscriberId: path.externalSubscriberId
          topicKey: path.topicKey
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/topics'].get
  update:
    x-apievangelist-phrasing:
      intent: List topics
      effect: read
      questions:
      - What topics have I set up for group notifications?
      - Can I filter my topics by key or by name?
      instructions:
      - text: List all topics.
      - text: Find topics named {name}.
        slots:
          name: query.name
      - text: List topics with key {key}.
        slots:
          key: query.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/topics'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update a topic
      effect: write
      questions:
      - How do I create a topic to notify a group of subscribers together?
      - What happens if I create a topic whose key already exists?
      instructions:
      - text: Create a topic with key {key} and name {name}.
        slots:
          key: requestBody.key
          name: requestBody.name
      - text: 'Create topic {key} but fail if it already exists: {failIfExists}.'
        slots:
          key: requestBody.key
          failIfExists: query.failIfExists
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/topics/{topicKey}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a topic
      effect: read
      questions:
      - How do I look up a topic by its key?
      - What name is set on a specific topic?
      instructions:
      - text: Show me topic {topicKey}.
        slots:
          topicKey: path.topicKey
      - text: Retrieve the details of the {topicKey} topic.
        slots:
          topicKey: path.topicKey
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/topics/{topicKey}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a topic
      effect: destructive
      questions:
      - What happens to a topic's subscriptions when I delete it?
      - Can I permanently remove a topic by its key?
      instructions:
      - text: Delete topic {topicKey} and all its subscriptions.
        slots:
          topicKey: path.topicKey
      - text: Permanently remove the {topicKey} topic.
        slots:
          topicKey: path.topicKey
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/topics/{topicKey}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Rename a topic
      effect: write
      questions:
      - How do I change the display name of an existing topic?
      - Can I rename a topic without changing its key?
      instructions:
      - text: Rename topic {topicKey} to {name}.
        slots:
          topicKey: path.topicKey
          name: requestBody.name
      - text: Change the name of existing topic {topicKey} to {name}.
        slots:
          topicKey: path.topicKey
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/topics/{topicKey}/subscriptions'].get
  update:
    x-apievangelist-phrasing:
      intent: List a topic's subscribers
      effect: read
      questions:
      - Who is subscribed to a given topic?
      - Can I page through every subscription in a large topic?
      instructions:
      - text: List the subscriptions for topic {topicKey}.
        slots:
          topicKey: path.topicKey
      - text: Show the subscription for {subscriberId} within topic {topicKey}'s subscriber list.
        slots:
          subscriberId: query.subscriberId
          topicKey: path.topicKey
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/topics/{topicKey}/subscriptions'].post
  update:
    x-apievangelist-phrasing:
      intent: Subscribe subscribers to a topic
      effect: write
      questions:
      - How do I add several subscribers to a topic at once?
      - Does subscribing people to a topic that doesn't exist yet create it?
      - Can I set preferences for subscribers when adding them to a topic?
      instructions:
      - text: Subscribe {subscriberIds} to topic {topicKey}.
        slots:
          subscriberIds: requestBody.subscriberIds
          topicKey: path.topicKey
      - text: Add {subscriberIds} to topic {topicKey} with preferences {preferences}.
        slots:
          subscriberIds: requestBody.subscriberIds
          topicKey: path.topicKey
          preferences: requestBody.preferences
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/topics/{topicKey}/subscriptions'].delete
  update:
    x-apievangelist-phrasing:
      intent: Unsubscribe subscribers from a topic
      effect: destructive
      questions:
      - How do I remove a few subscribers from a topic while keeping the topic?
      - Can I unsubscribe multiple people from a topic in one call?
      instructions:
      - text: Unsubscribe {subscriberIds} from topic {topicKey}.
        slots:
          subscriberIds: requestBody.subscriberIds
          topicKey: path.topicKey
      - text: Remove subscriptions {subscriptions} from topic {topicKey}.
        slots:
          subscriptions: requestBody.subscriptions
          topicKey: path.topicKey
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/topics/{topicKey}/subscriptions/{identifier}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a topic subscription
      effect: read
      questions:
      - How do I look up one subscription in a topic by its identifier?
      - What preferences are stored on a specific topic subscription?
      instructions:
      - text: Show subscription {identifier} in topic {topicKey}.
        slots:
          identifier: path.identifier
          topicKey: path.topicKey
      - text: Fetch the preferences on topic {topicKey} subscription {identifier}.
        slots:
          topicKey: path.topicKey
          identifier: path.identifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/topics/{topicKey}/subscriptions/{identifier}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a topic subscription
      effect: write
      questions:
      - How do I change the preferences on someone's topic subscription?
      - Can I rename a single subscription within a topic?
      instructions:
      - text: Update preferences on subscription {identifier} in topic {topicKey} to {preferences}.
        slots:
          identifier: path.identifier
          topicKey: path.topicKey
          preferences: requestBody.preferences
      - text: Rename subscription {identifier} of topic {topicKey} to {name}.
        slots:
          identifier: path.identifier
          topicKey: path.topicKey
          name: requestBody.name
      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-topics-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.