Novu Topics API

Topics are a way to group subscribers together so that they can be notified of events at once. A topic is identified by a custom key. This can be helpful for things like sending out marketing emails or notifying users of new features. Topics can also be used to send notifications to the subscribers who have been grouped together based on their interests, location, activities and much more.

Operations 11

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/topics/{topicKey}/subscribers/{externalSubscriberId} Check if a subscriber is in a topic · Novu Check Topic Subscriber #
Ask an LLM
“Is a particular subscriber part of a given topic?”
“How can I confirm someone is already subscribed to a topic before adding them?”
Tell an agent
Check whether subscriber {externalSubscriberId} belongs to topic {topicKey}.
Confirm {externalSubscriberId} is a member of the {topicKey} topic.
GET /v2/topics List topics · Novu List All Topics #
Ask an LLM
“What topics have I set up for group notifications?”
“Can I filter my topics by key or by name?”
Tell an agent
List all topics.
Find topics named {name}.
POST /v2/topics Create or update a topic · Novu Create a Topic #
Ask an LLM
“How do I create a topic to notify a group of subscribers together?”
“What happens if I create a topic whose key already exists?”
Tell an agent
Create a topic with key {key} and name {name}.
Create topic {key} but fail if it already exists: {failIfExists}.
GET /v2/topics/{topicKey} Get a topic · Novu Retrieve a Topic #
Ask an LLM
“How do I look up a topic by its key?”
“What name is set on a specific topic?”
Tell an agent
Show me topic {topicKey}.
Retrieve the details of the {topicKey} topic.
PATCH /v2/topics/{topicKey} Rename a topic · Novu Update a Topic #
Ask an LLM
“How do I change the display name of an existing topic?”
“Can I rename a topic without changing its key?”
Tell an agent
Rename topic {topicKey} to {name}.
Change the name of existing topic {topicKey} to {name}.
DELETE /v2/topics/{topicKey} Delete a topic · Novu Delete a Topic #
Ask an LLM
“What happens to a topic's subscriptions when I delete it?”
“Can I permanently remove a topic by its key?”
Tell an agent destructive · confirm first
Delete topic {topicKey} and all its subscriptions.
Permanently remove the {topicKey} topic.
GET /v2/topics/{topicKey}/subscriptions List a topic's subscribers · Novu List Topic Subscriptions #
Ask an LLM
“Who is subscribed to a given topic?”
“Can I page through every subscription in a large topic?”
Tell an agent
List the subscriptions for topic {topicKey}.
Show the subscription for {subscriberId} within topic {topicKey}'s subscriber list.
POST /v2/topics/{topicKey}/subscriptions Subscribe subscribers to a topic · Novu Create Topic Subscriptions #
Ask an LLM
“How do I add several subscribers to a topic at once?”
“Does subscribing people to a topic that doesn't exist yet create it?”
Tell an agent
Subscribe {subscriberIds} to topic {topicKey}.
Add {subscriberIds} to topic {topicKey} with preferences {preferences}.
DELETE /v2/topics/{topicKey}/subscriptions Unsubscribe subscribers from a topic · Novu Delete Topic Subscriptions #
Ask an LLM
“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?”
Tell an agent destructive · confirm first
Unsubscribe {subscriberIds} from topic {topicKey}.
Remove subscriptions {subscriptions} from topic {topicKey}.
GET /v2/topics/{topicKey}/subscriptions/{identifier} Get a topic subscription · Novu Retrieve a Topic Subscription #
Ask an LLM
“How do I look up one subscription in a topic by its identifier?”
“What preferences are stored on a specific topic subscription?”
Tell an agent
Show subscription {identifier} in topic {topicKey}.
Fetch the preferences on topic {topicKey} subscription {identifier}.
PATCH /v2/topics/{topicKey}/subscriptions/{identifier} Update a topic subscription · Novu Update a Topic Subscription #
Ask an LLM
“How do I change the preferences on someone's topic subscription?”
“Can I rename a single subscription within a topic?”
Tell an agent
Update preferences on subscription {identifier} in topic {topicKey} to {preferences}.
Rename subscription {identifier} of topic {topicKey} to {name}.

Documentation

Specifications

Code Examples

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-trigger-event-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-trigger-event-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-bulk-trigger-event-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-subscriber-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-create-subscriber-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-bulk-subscriber-create-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-create-environment-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-update-environment-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-environment-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-topic-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-create-integration-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-update-integration-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-integration-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-message-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-create-workflow-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-update-workflow-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-workflow-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-layout-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-subscriber-payload-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-schema/novu-error-dto-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-structure/novu-trigger-event-request-dto-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-structure/novu-subscriber-response-dto-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-structure/novu-workflow-response-dto-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-structure/novu-message-response-dto-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-structure/novu-topic-response-dto-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/json-structure/novu-integration-response-dto-structure.json

Other Resources

🔗
Swagger
https://api.novu.co/api
🔗
Postman
https://github.com/novuhq/novu-postman
🔗
SDKs
https://www.npmjs.com/package/@novu/api
🔗
SDKs
https://pypi.org/project/novu-py/
🔗
SDKs
https://github.com/novuhq/novu-go
🔗
SDKs
https://github.com/novuhq/php-novu
🔗
SDKs
https://github.com/novuhq/novu-csharp
🔗
SDKs
https://github.com/novuhq/novu-java
🔗
SDKs
https://github.com/novuhq/novu-elixir
🔗
SDKs
https://github.com/novuhq/novu-kotlin
🔗
SDKs
https://github.com/novuhq/novu-ruby
🔗
SDKs
https://github.com/novuhq/novu-rust
🔗
SDKs
https://github.com/novuhq/novu-dotnet
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-trigger-event-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-trigger-event-bulk-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-broadcast-event-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-create-subscriber-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-bulk-create-subscribers-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-create-topic-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-add-subscribers-to-topic-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-create-environment-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-create-integration-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-workflow-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-list-messages-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/examples/novu-error-response-example.json

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/novu:novu-topics-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

novu-topics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Novu Topics API
  description: Novu REST API. Please see https://docs.novu.co/api-reference for more details.
  version: 3.15.0
  contact:
    name: Novu Support
    url: https://discord.gg/novu
    email: support@novu.co
  termsOfService: https://novu.co/terms
  license:
    name: MIT
    url: https://opensource.org/license/mit
servers:
- url: https://api.novu.co
- url: https://eu.api.novu.co
security:
- secretKey: []
tags:


# --- truncated at 32 KB (163 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/openapi/novu-topics-api-openapi.yml