curl --location 'https://api.novu.co/v1/subscribers' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: ApiKey <NOVU_API_KEY>' \
--data-raw '{
"firstName": "Pawan",
"lastName": "Jain",
"email": "pawan.jain@domain.com",
"phone": "+1234567890",
"avatar": "avatar-url",
"locale": "en-US",
"data": {
"isDeveloper": true,
"customKey": "customValue"
}
}'
import { Novu } from '@novu/node';
const novu = new Novu("<NOVU_API_KEY>");
await novu.subscribers.identify("subscriberId", {
firstName: "Pawan",
lastName: "Jain",
email: "pawan.jain@domain.com",
phone: "+1234567890",
avatar: "https://gravatar.com/avatar/553b157d82ac2880237566d5a644e5fe?s=400&d=robohash&r=x",
locale: "en-US",
data: {
isDeveloper: true,
customKey: "customValue"
}
});
use Novu\SDK\Novu;
$novu = new Novu('<NOVU_API_KEY>');
$novu->createSubscriber([
'subscriberId' => 'YOUR_SYSTEM_USER_ID>',
'email' => '<insert-email>', // optional
'firstName' => '<insert-firstname>', // optional
'lastName' => '<insert-lastname>', // optional
'phone' => '<insert-phone>', //optional
'avatar' => '<insert-avatar>', // optional
])->toArray();
require 'novu'
client = Novu::Client.new('<NOVU_API_KEY>')
payload = {
'subscriberId' => '7789',
'email' => '<insert-email>', # optional
'firstName' => '<insert-firstName>', # optional
'lastName' => '<insert-lastName>', # optional
'phone' => '<insert-phone>', # optional
'avatar' => '<insert-profile-avatar>' # optional
}
client.create_subscriber(payload)
from novu.dto.subscriber import SubscriberDto
from novu.api.subscriber import SubscriberApi
url = "https://api.novu.co"
api_key = "<NOVU_API_KEY>"
# Define a subscriber instance
subscriber = SubscriberDto(
email="novu_user@mail.com",
subscriber_id="82a48af6ac82b3cc2157b57f", #This is what the subscriber_id looks like
first_name="", # Optional
last_name="", # Optional
phone="", # Optional
avatar="", # Optional
)
# Create a subscriber
novu = SubscriberApi(url, api_key).create(subscriber)
import co.novu.common.base.Novu;
import co.novu.api.common.SubscriberRequest;
import co.novu.api.subscribers.responses.CreateSubscriberResponse;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
SubscriberRequest subscriberRequest = new SubscriberRequest();
subscriberRequest.setEmail("<EMAIL_ADDRESS>");
subscriberRequest.setFirstName("<FIRST_NAME>");
subscriberRequest.setLastName("<LAST_NAME>");
subscriberRequest.setPhone("<PHONE_NUMBER>");
subscriberRequest.setAvatar("<AVATAR>");
subscriberRequest.setSubscriberId("<SUBSCRIBER_ID>");
CreateSubscriberResponse response = novu.createSubscriber(subscriberRequest);
}
}
using Novu.DTO;
using Novu.Models;
using Novu;
var novuConfiguration = new NovuClientConfiguration
{
/**
* Defaults to https://api.novu.co/v1
*/
Url = "https://novu-api.my-domain.com/v1",
ApiKey = "12345",
};
var novu = new NovuClient(novuConfiguration);
var additionalData = new List<AdditionalDataDto>
{
new AdditionalDataDto
{
Key = "External ID",
Value = "1122334455"
},
new AdditionalDataDto
{
Key = "SMS_PREFERENCE",
Value = "EMERGENT_ONLY"
}
};
var newSubscriberDto = new CreateSubscriberDto
{
SubscriberId = "unique_subscriber_id",
FirstName = "John",
LastName = "Doe",
Avatar = "https://unslpash.com/random",
Email = "jdoe@novu.co",
Locale = "en-US",
Phone = "+11112223333",
Data = additionalData
};
var subscriber = await novu.Subscriber.CreateSubscriber(newSubscriberDto)
{
"data": {
"_organizationId": "abcd12349876wxyz1234wxyz",
"_environmentId": "zyxw4321abcd1234lmno5678",
"firstName": "Alex",
"lastName": "Benjamin",
"phone": "123456789",
"subscriberId": "abcd1234",
"email": "alex@email.com",
"avatar": "string",
"locale": "en-US",
"channels": [],
"_id": "6516ed5a9d727fe8256028ed",
"deleted": false,
"createdAt": "2023-09-29T15:29:30.667Z",
"updatedAt": "2023-09-29T15:29:30.667Z",
"__v": 0,
"id": "6516ed5a9d727fe8256028ed"
}
}
Create subscriber
Creates a subscriber entity, in the Novu platform. The subscriber will be later used to receive notifications, and access notification feeds. Communication credentials such as email, phone number, and 3 rd party credentials i.e slack tokens could be later associated to this entity.
curl --location 'https://api.novu.co/v1/subscribers' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: ApiKey <NOVU_API_KEY>' \
--data-raw '{
"firstName": "Pawan",
"lastName": "Jain",
"email": "pawan.jain@domain.com",
"phone": "+1234567890",
"avatar": "avatar-url",
"locale": "en-US",
"data": {
"isDeveloper": true,
"customKey": "customValue"
}
}'
import { Novu } from '@novu/node';
const novu = new Novu("<NOVU_API_KEY>");
await novu.subscribers.identify("subscriberId", {
firstName: "Pawan",
lastName: "Jain",
email: "pawan.jain@domain.com",
phone: "+1234567890",
avatar: "https://gravatar.com/avatar/553b157d82ac2880237566d5a644e5fe?s=400&d=robohash&r=x",
locale: "en-US",
data: {
isDeveloper: true,
customKey: "customValue"
}
});
use Novu\SDK\Novu;
$novu = new Novu('<NOVU_API_KEY>');
$novu->createSubscriber([
'subscriberId' => 'YOUR_SYSTEM_USER_ID>',
'email' => '<insert-email>', // optional
'firstName' => '<insert-firstname>', // optional
'lastName' => '<insert-lastname>', // optional
'phone' => '<insert-phone>', //optional
'avatar' => '<insert-avatar>', // optional
])->toArray();
require 'novu'
client = Novu::Client.new('<NOVU_API_KEY>')
payload = {
'subscriberId' => '7789',
'email' => '<insert-email>', # optional
'firstName' => '<insert-firstName>', # optional
'lastName' => '<insert-lastName>', # optional
'phone' => '<insert-phone>', # optional
'avatar' => '<insert-profile-avatar>' # optional
}
client.create_subscriber(payload)
from novu.dto.subscriber import SubscriberDto
from novu.api.subscriber import SubscriberApi
url = "https://api.novu.co"
api_key = "<NOVU_API_KEY>"
# Define a subscriber instance
subscriber = SubscriberDto(
email="novu_user@mail.com",
subscriber_id="82a48af6ac82b3cc2157b57f", #This is what the subscriber_id looks like
first_name="", # Optional
last_name="", # Optional
phone="", # Optional
avatar="", # Optional
)
# Create a subscriber
novu = SubscriberApi(url, api_key).create(subscriber)
import co.novu.common.base.Novu;
import co.novu.api.common.SubscriberRequest;
import co.novu.api.subscribers.responses.CreateSubscriberResponse;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
SubscriberRequest subscriberRequest = new SubscriberRequest();
subscriberRequest.setEmail("<EMAIL_ADDRESS>");
subscriberRequest.setFirstName("<FIRST_NAME>");
subscriberRequest.setLastName("<LAST_NAME>");
subscriberRequest.setPhone("<PHONE_NUMBER>");
subscriberRequest.setAvatar("<AVATAR>");
subscriberRequest.setSubscriberId("<SUBSCRIBER_ID>");
CreateSubscriberResponse response = novu.createSubscriber(subscriberRequest);
}
}
using Novu.DTO;
using Novu.Models;
using Novu;
var novuConfiguration = new NovuClientConfiguration
{
/**
* Defaults to https://api.novu.co/v1
*/
Url = "https://novu-api.my-domain.com/v1",
ApiKey = "12345",
};
var novu = new NovuClient(novuConfiguration);
var additionalData = new List<AdditionalDataDto>
{
new AdditionalDataDto
{
Key = "External ID",
Value = "1122334455"
},
new AdditionalDataDto
{
Key = "SMS_PREFERENCE",
Value = "EMERGENT_ONLY"
}
};
var newSubscriberDto = new CreateSubscriberDto
{
SubscriberId = "unique_subscriber_id",
FirstName = "John",
LastName = "Doe",
Avatar = "https://unslpash.com/random",
Email = "jdoe@novu.co",
Locale = "en-US",
Phone = "+11112223333",
Data = additionalData
};
var subscriber = await novu.Subscriber.CreateSubscriber(newSubscriberDto)
{
"data": {
"_organizationId": "abcd12349876wxyz1234wxyz",
"_environmentId": "zyxw4321abcd1234lmno5678",
"firstName": "Alex",
"lastName": "Benjamin",
"phone": "123456789",
"subscriberId": "abcd1234",
"email": "alex@email.com",
"avatar": "string",
"locale": "en-US",
"channels": [],
"_id": "6516ed5a9d727fe8256028ed",
"deleted": false,
"createdAt": "2023-09-29T15:29:30.667Z",
"updatedAt": "2023-09-29T15:29:30.667Z",
"__v": 0,
"id": "6516ed5a9d727fe8256028ed"
}
}
Authorization field like the example shown below:E.g ApiKey 18d2e625f05d80ecurl --location 'https://api.novu.co/v1/subscribers' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: ApiKey <NOVU_API_KEY>' \
--data-raw '{
"firstName": "Pawan",
"lastName": "Jain",
"email": "pawan.jain@domain.com",
"phone": "+1234567890",
"avatar": "avatar-url",
"locale": "en-US",
"data": {
"isDeveloper": true,
"customKey": "customValue"
}
}'
import { Novu } from '@novu/node';
const novu = new Novu("<NOVU_API_KEY>");
await novu.subscribers.identify("subscriberId", {
firstName: "Pawan",
lastName: "Jain",
email: "pawan.jain@domain.com",
phone: "+1234567890",
avatar: "https://gravatar.com/avatar/553b157d82ac2880237566d5a644e5fe?s=400&d=robohash&r=x",
locale: "en-US",
data: {
isDeveloper: true,
customKey: "customValue"
}
});
use Novu\SDK\Novu;
$novu = new Novu('<NOVU_API_KEY>');
$novu->createSubscriber([
'subscriberId' => 'YOUR_SYSTEM_USER_ID>',
'email' => '<insert-email>', // optional
'firstName' => '<insert-firstname>', // optional
'lastName' => '<insert-lastname>', // optional
'phone' => '<insert-phone>', //optional
'avatar' => '<insert-avatar>', // optional
])->toArray();
require 'novu'
client = Novu::Client.new('<NOVU_API_KEY>')
payload = {
'subscriberId' => '7789',
'email' => '<insert-email>', # optional
'firstName' => '<insert-firstName>', # optional
'lastName' => '<insert-lastName>', # optional
'phone' => '<insert-phone>', # optional
'avatar' => '<insert-profile-avatar>' # optional
}
client.create_subscriber(payload)
from novu.dto.subscriber import SubscriberDto
from novu.api.subscriber import SubscriberApi
url = "https://api.novu.co"
api_key = "<NOVU_API_KEY>"
# Define a subscriber instance
subscriber = SubscriberDto(
email="novu_user@mail.com",
subscriber_id="82a48af6ac82b3cc2157b57f", #This is what the subscriber_id looks like
first_name="", # Optional
last_name="", # Optional
phone="", # Optional
avatar="", # Optional
)
# Create a subscriber
novu = SubscriberApi(url, api_key).create(subscriber)
import co.novu.common.base.Novu;
import co.novu.api.common.SubscriberRequest;
import co.novu.api.subscribers.responses.CreateSubscriberResponse;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
SubscriberRequest subscriberRequest = new SubscriberRequest();
subscriberRequest.setEmail("<EMAIL_ADDRESS>");
subscriberRequest.setFirstName("<FIRST_NAME>");
subscriberRequest.setLastName("<LAST_NAME>");
subscriberRequest.setPhone("<PHONE_NUMBER>");
subscriberRequest.setAvatar("<AVATAR>");
subscriberRequest.setSubscriberId("<SUBSCRIBER_ID>");
CreateSubscriberResponse response = novu.createSubscriber(subscriberRequest);
}
}
using Novu.DTO;
using Novu.Models;
using Novu;
var novuConfiguration = new NovuClientConfiguration
{
/**
* Defaults to https://api.novu.co/v1
*/
Url = "https://novu-api.my-domain.com/v1",
ApiKey = "12345",
};
var novu = new NovuClient(novuConfiguration);
var additionalData = new List<AdditionalDataDto>
{
new AdditionalDataDto
{
Key = "External ID",
Value = "1122334455"
},
new AdditionalDataDto
{
Key = "SMS_PREFERENCE",
Value = "EMERGENT_ONLY"
}
};
var newSubscriberDto = new CreateSubscriberDto
{
SubscriberId = "unique_subscriber_id",
FirstName = "John",
LastName = "Doe",
Avatar = "https://unslpash.com/random",
Email = "jdoe@novu.co",
Locale = "en-US",
Phone = "+11112223333",
Data = additionalData
};
var subscriber = await novu.Subscriber.CreateSubscriber(newSubscriberDto)
{
"data": {
"_organizationId": "abcd12349876wxyz1234wxyz",
"_environmentId": "zyxw4321abcd1234lmno5678",
"firstName": "Alex",
"lastName": "Benjamin",
"phone": "123456789",
"subscriberId": "abcd1234",
"email": "alex@email.com",
"avatar": "string",
"locale": "en-US",
"channels": [],
"_id": "6516ed5a9d727fe8256028ed",
"deleted": false,
"createdAt": "2023-09-29T15:29:30.667Z",
"updatedAt": "2023-09-29T15:29:30.667Z",
"__v": 0,
"id": "6516ed5a9d727fe8256028ed"
}
}
Authorizations
API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
Body
The internal identifier you used to create this subscriber, usually correlates to the id the user in your systems
An http url to the profile image of your subscriber
Show child attributes
Show child attributes
Response
Created
The internal identifier you used to create this subscriber, usually correlates to the id the user in your systems
The internal id novu generated for your subscriber, this is not the subscriberId matching your query. See subscriberId for that
Channels settings for subscriber
Show child attributes
Show child attributes
Was this page helpful?