Novu Subscribers API

A subscriber in Novu represents someone who should receive a message. A subscriber's profile information contains important attributes about the subscriber that will be used in messages (name, email). The subscriber object can contain other key-value pairs that can be used to further personalize your messages.

Operations 35

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

POST /v1/subscribers/bulk Create many subscribers at once · Novu Bulk Create Subscribers #
Ask an LLM
“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?”
Tell an agent
Bulk create these subscribers: {subscribers}.
Import this list of up to 500 users as subscribers: {subscribers}.
PUT /v1/subscribers/{subscriberId}/credentials Replace a subscriber's provider credentials · Novu Update Provider Credentials #
Ask an LLM
“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?”
Tell an agent
Replace subscriber {subscriberId}'s {providerId} credentials with {credentials}.
Overwrite the device tokens for {subscriberId} on provider {providerId} with {credentials}.
PATCH /v1/subscribers/{subscriberId}/credentials Add to a subscriber's provider credentials · Novu Upsert Provider Credentials #
Ask an LLM
“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?”
Tell an agent
Append device token credentials {credentials} for {providerId} to subscriber {subscriberId}.
Upsert {providerId} credentials {credentials} on subscriber {subscriberId}, keeping existing tokens.
DELETE /v1/subscribers/{subscriberId}/credentials/{providerId} Remove a subscriber's provider credentials · Novu Delete Provider Credentials #
Ask an LLM
“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?”
Tell an agent destructive · confirm first
Delete subscriber {subscriberId}'s credentials for provider {providerId}.
Remove the {providerId} device tokens from subscriber {subscriberId}.
PATCH /v1/subscribers/{subscriberId}/online-status Set a subscriber's online status · Novu Update Subscriber Online Status #
Ask an LLM
“Can I mark a subscriber as online or offline?”
“Where do I update whether a subscriber is currently online?”
Tell an agent
Set subscriber {subscriberId} online status to {isOnline}.
Mark {subscriberId} as offline by setting isOnline to {isOnline}.
GET /v1/subscribers/{subscriberId}/notifications/feed Get a subscriber's inbox feed (v1) · Novu Retrieve Subscriber Notifications #
Ask an LLM
“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?”
Tell an agent
Get page {page} of subscriber {subscriberId}'s legacy inbox feed.
Show the v1 notifications feed for {subscriberId} filtered to read={read}.
GET /v1/subscribers/{subscriberId}/notifications/unseen Count a subscriber's unseen notifications · Novu Retrieve Unseen Notifications Count #
Ask an LLM
“How many unseen inbox notifications does a subscriber have for the bell badge?”
“Is there a quick endpoint just for the unseen count?”
Tell an agent
Get the unseen notification count for subscriber {subscriberId}.
Tell me how many unseen inbox items {subscriberId} has.
POST /v1/subscribers/{subscriberId}/messages/mark-as Mark specific inbox messages (v1) · Novu Update Notifications State #
Ask an LLM
“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?”
Tell an agent
Mark messages {messageId} for subscriber {subscriberId} as {markAs}.
Using the v1 mark-as call, set message {messageId} of {subscriberId} to {markAs}.
POST /v1/subscribers/{subscriberId}/messages/mark-all Mark every inbox message in a feed (v1) · Novu Update All Notifications State #
Ask an LLM
“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?”
Tell an agent
Mark all messages for subscriber {subscriberId} as {markAs}.
Set every message in feed {feedIdentifier} for {subscriberId} to {markAs}.
POST /v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type} Set an inbox message's action status (v1) · Novu Update Notification Action Status #
Ask an LLM
“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?”
Tell an agent
Set the {type} action on message {messageId} for subscriber {subscriberId} to {status}.
Record status {status} for the {type} button of message {messageId}, subscriber {subscriberId}, via the v1 call.
GET /v2/subscribers Search subscribers · Novu Search Subscribers #
Ask an LLM
“How do I find a subscriber by their email address?”
“Is subscriber search case sensitive?”
Tell an agent
Search subscribers with email {email}.
Find subscribers named {name}.
POST /v2/subscribers Create a subscriber · Novu Create a Subscriber #
Ask an LLM
“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?”
Tell an agent
Create subscriber {subscriberId} with email {email}.
Add a new subscriber {subscriberId} named {firstName} {lastName}.
GET /v2/subscribers/{subscriberId} Get a subscriber · Novu Retrieve a Subscriber #
Ask an LLM
“How can I pull up a subscriber's profile by their subscriberId?”
“What contact details are stored on a particular subscriber?”
Tell an agent
Show me subscriber {subscriberId}.
Fetch the profile of subscriber {subscriberId}.
PATCH /v2/subscribers/{subscriberId} Update a subscriber's profile · Novu Update a Subscriber #
Ask an LLM
“How do I change a subscriber's email or phone number?”
“Can I update a subscriber's timezone or locale?”
Tell an agent
Update subscriber {subscriberId}'s email to {email}.
Set existing subscriber {subscriberId}'s timezone to {timezone}.
DELETE /v2/subscribers/{subscriberId} Delete a subscriber · Novu Delete a Subscriber #
Ask an LLM
“What gets removed along with a subscriber when I delete them?”
“Can I delete a user and their topic subscriptions in one call?”
Tell an agent destructive · confirm first
Delete subscriber {subscriberId}.
Remove {subscriberId} along with their messages, preferences and topic subscriptions.
GET /v2/subscribers/{subscriberId}/preferences Get a subscriber's notification preferences · Novu Retrieve Subscriber Preferences #
Ask an LLM
“Which channels has a subscriber opted out of for each workflow?”
“Can I see a subscriber's global and per-workflow preferences together?”
Tell an agent
Show notification preferences for subscriber {subscriberId}.
Get {subscriberId}'s preferences for {criticality} workflows.
PATCH /v2/subscribers/{subscriberId}/preferences Update a subscriber's preferences · Novu Update Subscriber Preferences #
Ask an LLM
“How do I turn off email for a subscriber on one workflow?”
“If I leave out the workflow, does the preference change apply globally?”
Tell an agent
Update {subscriberId}'s channel preferences for workflow {workflowId} to {channels}.
Set global channel preferences for {subscriberId} to {channels}.
PATCH /v2/subscribers/{subscriberId}/preferences/bulk Update many workflow preferences at once · Novu Bulk Update Subscriber Preferences #
Ask an LLM
“Can I change a subscriber's preferences for several workflows in one request?”
“How many workflow preferences can I bulk update at a time?”
Tell an agent
Bulk update subscriber {subscriberId}'s workflow preferences to {preferences}.
Apply these per-workflow settings to {subscriberId} in one go: {preferences}.
GET /v2/subscribers/{subscriberId}/subscriptions List a subscriber's topic subscriptions · Novu Retrieve Subscriber Subscriptions #
Ask an LLM
“Which topics is a given subscriber subscribed to?”
“Can I check a subscriber's subscriptions filtered by topic key?”
Tell an agent
List the topics subscriber {subscriberId} belongs to.
Show {subscriberId}'s subscriptions for topic key {key}.
GET /v2/subscribers/{subscriberId}/notifications List a subscriber's inbox notifications · Novu Retrieve Subscriber Notifications #
Ask an LLM
“What unread notifications does a subscriber have in their inbox?”
“Can I filter a subscriber's inbox by archived, snoozed or severity?”
Tell an agent
List inbox notifications for subscriber {subscriberId}.
Show {subscriberId}'s archived inbox notifications where archived is {archived}.
GET /v2/subscribers/{subscriberId}/notifications/count Count a subscriber's inbox notifications by filter · Novu Retrieve Subscriber Notifications Count #
Ask an LLM
“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?”
Tell an agent
Count subscriber {subscriberId}'s inbox notifications using filters {filters}.
Give me per-filter notification counts for {subscriberId} with {filters}.
PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/read Mark one inbox notification as read · Novu Mark a Notification as Read #
Ask an LLM
“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?”
Tell an agent
Mark notification {notificationId} as read for subscriber {subscriberId}.
Set just inbox item {notificationId} of {subscriberId} to read.
PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/unread Mark one inbox notification as unread · Novu Mark a Notification as Unread #
Ask an LLM
“Can a subscriber flag a notification they already read as unread again?”
“Which call reverts a single inbox notification back to unread?”
Tell an agent
Mark notification {notificationId} as unread for subscriber {subscriberId}.
Flag inbox item {notificationId} of {subscriberId} as unread again.
PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/archive Archive one inbox notification · Novu Archive a Notification #
Ask an LLM
“How do I move one notification into a subscriber's archive?”
“Can I archive a single inbox notification by its id?”
Tell an agent
Archive notification {notificationId} for subscriber {subscriberId}.
Move inbox item {notificationId} of {subscriberId} to the archive.
PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/unarchive Unarchive one inbox notification · Novu Unarchive a Notification #
Ask an LLM
“Can I restore an archived notification back to a subscriber's inbox?”
“Which call takes a single notification out of the archive?”
Tell an agent
Unarchive notification {notificationId} for subscriber {subscriberId}.
Bring archived item {notificationId} back into {subscriberId}'s inbox.
PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/snooze Snooze an inbox notification · Novu Snooze a Notification #
Ask an LLM
“Can a subscriber snooze a notification until later?”
“What time format do I give to snooze an inbox notification until a specific moment?”
Tell an agent
Snooze notification {notificationId} for {subscriberId} until {snoozeUntil}.
Hide inbox item {notificationId} of {subscriberId} until {snoozeUntil}.
PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/unsnooze Unsnooze an inbox notification · Novu Unsnooze a Notification #
Ask an LLM
“How do I bring a snoozed notification back right away?”
“Can I cancel the snooze on a single inbox notification?”
Tell an agent
Unsnooze notification {notificationId} for subscriber {subscriberId}.
Cancel the snooze on {subscriberId}'s inbox item {notificationId}.
DELETE /v2/subscribers/{subscriberId}/notifications/{notificationId} Delete one inbox notification · Novu Delete a Notification #
Ask an LLM
“Can I permanently delete a single notification from a subscriber's inbox?”
“Is deleting one inbox notification permanent?”
Tell an agent destructive · confirm first
Delete notification {notificationId} from subscriber {subscriberId}'s inbox.
Permanently remove inbox item {notificationId} for {subscriberId}.
PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/complete Complete a notification's action button · Novu Complete a Notification Action #
Ask an LLM
“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?”
Tell an agent
Complete the {actionType} action on notification {notificationId} for {subscriberId}.
Mark {subscriberId}'s {actionType} button on {notificationId} as done.
PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/revert Revert a notification's action to pending · Novu Revert a Notification Action #
Ask an LLM
“Can I undo a completed action on an inbox notification?”
“Which call puts a primary or secondary action back to pending?”
Tell an agent
Revert the {actionType} action on notification {notificationId} for {subscriberId}.
Reset {subscriberId}'s {actionType} button on {notificationId} to pending.
POST /v2/subscribers/{subscriberId}/notifications/seen Mark inbox notifications as seen · Novu Mark Notifications as Seen #
Ask an LLM
“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?”
Tell an agent
Mark notifications {notificationIds} as seen for subscriber {subscriberId}.
Mark all {tags} tagged notifications seen for {subscriberId}.
POST /v2/subscribers/{subscriberId}/notifications/read Mark all inbox notifications as read · Novu Mark All Notifications as Read #
Ask an LLM
“How do I clear a subscriber's unread inbox by marking everything read?”
“Can I mark all read only for notifications with certain tags?”
Tell an agent
Mark all inbox notifications as read for subscriber {subscriberId}.
Mark every {tags} notification read for {subscriberId}.
POST /v2/subscribers/{subscriberId}/notifications/archive Archive all inbox notifications · Novu Archive All Notifications #
Ask an LLM
“Can I archive a subscriber's entire inbox in one call?”
“Is there a way to archive all notifications matching a tag filter?”
Tell an agent
Archive all inbox notifications for subscriber {subscriberId}.
Archive every notification tagged {tags} for {subscriberId}.
POST /v2/subscribers/{subscriberId}/notifications/read-archive Archive all read inbox notifications · Novu Archive All Read Notifications #
Ask an LLM
“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?”
Tell an agent
Archive all read notifications for subscriber {subscriberId}.
Move {subscriberId}'s already-read {tags} notifications to the archive.
POST /v2/subscribers/{subscriberId}/notifications/delete Delete all inbox notifications · Novu Delete All Notifications #
Ask an LLM
“Can I permanently wipe every notification in a subscriber's inbox?”
“Is it possible to delete all inbox notifications that match certain tags?”
Tell an agent destructive · confirm first
Delete all inbox notifications for subscriber {subscriberId}.
Permanently delete every {tags} notification in {subscriberId}'s inbox.

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-subscribers-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-subscribers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Novu Subscribers 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 (491 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/novu/refs/heads/main/openapi/novu-subscribers-api-openapi.yml