Subscriber CRUD Examples
Create
Node.js
import { Novu } from "@novu/api";
const novu = new Novu({
secretKey: process.env.NOVU_SECRET_KEY,
});
await novu.subscribers.create({
subscriberId: "user-123",
email: "[email protected]",
firstName: "Jane",
lastName: "Doe",
phone: "+15551234567",
avatar: "https://example.com/jane.jpg",
locale: "en-US",
timezone: "America/New_York",
data: {
plan: "pro",
company: "Acme Inc",
},
});
Python
from novu_py import Novu
novu = Novu(security=Security(secret_key=os.environ["NOVU_SECRET_KEY"]))
novu.subscribers.create(request={
"subscriber_id": "user-123",
"email": "[email protected]",
"first_name": "Jane",
"last_name": "Doe",
})
cURL
curl -X POST https://api.novu.co/v1/subscribers \
-H "Authorization: ApiKey $NOVU_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"subscriberId": "user-123",
"email": "[email protected]",
"firstName": "Jane",
"lastName": "Doe"
}'
Read
Retrieve Single Subscriber
const subscriber = await novu.subscribers.retrieve("user-123");
console.log(subscriber.result);
cURL — Get Subscriber
curl https://api.novu.co/v1/subscribers/user-123 \
-H "Authorization: ApiKey $NOVU_SECRET_KEY"
Search Subscribers
const results = await novu.subscribers.search({
email: "[email protected]",
});
Update
Partial Update
await novu.subscribers.patch(
{ firstName: "Jane", data: { plan: "enterprise" } },
"user-123"
);
cURL
curl -X PATCH https://api.novu.co/v1/subscribers/user-123 \
-H "Authorization: ApiKey $NOVU_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"firstName": "Jane",
"data": { "plan": "enterprise" }
}'
Delete
await novu.subscribers.delete("user-123");
cURL
curl -X DELETE https://api.novu.co/v1/subscribers/user-123 \
-H "Authorization: ApiKey $NOVU_SECRET_KEY"
Bulk Create
At max 500 subscribers can be created in one single api callawait novu.subscribers.createBulk({
subscribers: [
{ subscriberId: "user-1", email: "[email protected]", firstName: "Alice" },
{ subscriberId: "user-2", email: "[email protected]", firstName: "Bob" },
{ subscriberId: "user-3", email: "[email protected]", firstName: "Carol" },
],
});