curl --location 'https://api.novu.co/v1/integrations' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: ApiKey <NOVU_API_KEY>' \
--data '{
"name": "SES",
"identifier": "ses-NkIQ5Koy3-123",
"credentials": {
"apiKey": "ACCESS_KEY_ID",
"secretKey": "SECRET_ACCESS_KEY",
"region": "us-east-2",
"from": "FROM_EMAIL_ADDRESS",
"senderName": "SENDER_NAME",
// ... other credentials as per provider
},
"conditions": [],
"active": true,
"check": false,
"providerId": "ses",
"channel": "email"
}'
import { Novu, ChannelTypeEnum, ProvidersIdEnum } from '@novu/node';
const novu = new Novu('<NOVU_API_KEY>');
const createPaylod = {
name: "SendGrid",
identifier: "sendgrid-identifier",
credentials: {
apiKey: "SUPER_SECRET_API_KEY",
from: "sales@novu.co",
senderName: "Novu Sales Team",
channel: ChannelTypeEnum.EMAIL,
// ... other credentials as per provider
},
active: true,
check: false
}
await novu.integrations.create(ProvidersIdEnum.SendGrid, createPayload);
use Novu\SDK\Novu;
$novu = new Novu(<NOVU_API_KEY>);
// Create integration
$novu->createIntegration([
'providerId' => '<insert->provider->id>',
'channel' => '<insert->channel>',
'credentials' => [
// insert all the fields
],
'active' => true,
'check' => true
])->toArray();
require 'novu'
client = Novu::Client.new('<NOVU_API_KEY>')
body = {
'providerId' => '<insert-provider-id>',
'channel' => '<insert-channel>',
'credentials' => {
# insert all the fields
},
'active' => true,
'check' => true
}
client.create_integration(body)
from novu.api import IntegrationApi
url = "https://api.novu.co"
api_key = "<NOVU_API_KEY>"
novu = IntegrationApi(url, api_key).create(
integration="", # Integration instance that you want to create.
check="", # If you want the Novu server to check his connection using given integration configuration. Defaults to True.
)
import co.novu.sdk.Novu;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
novu.createIntegration(body)
}
}
{
"data": {
"_id": "string",
"_environmentId": "string",
"_organizationId": "string",
"name": "string",
"identifier": "string",
"providerId": "string",
"channel": "in_app",
"credentials": {
"apiKey": "string",
"user": "string",
"secretKey": "string",
"domain": "string",
"password": "string",
"host": "string",
"port": "string",
"secure": true,
"region": "string",
"accountSid": "string",
"messageProfileId": "string",
"token": "string",
"from": "string",
"senderName": "string",
"projectName": "string",
"applicationId": "string",
"clientId": "string",
"requireTls": true,
"ignoreTls": true,
"tlsOptions": {},
"baseUrl": "string",
"webhookUrl": "string",
"redirectUrl": "string",
"hmac": true,
"serviceAccount": "string",
"ipPoolName": "string"
},
"active": true,
"deleted": true,
"deletedAt": "string",
"deletedBy": "string",
"primary": true
}
}
Integrations
Create an integration
Create an integration for the current environment the user is based on the API key provided. Each provider supports different credentials, check the provider documentation for more details. Only integration metadata is returned, credentials field is returned as an empty object.
POST
/
v1
/
integrations
curl --location 'https://api.novu.co/v1/integrations' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: ApiKey <NOVU_API_KEY>' \
--data '{
"name": "SES",
"identifier": "ses-NkIQ5Koy3-123",
"credentials": {
"apiKey": "ACCESS_KEY_ID",
"secretKey": "SECRET_ACCESS_KEY",
"region": "us-east-2",
"from": "FROM_EMAIL_ADDRESS",
"senderName": "SENDER_NAME",
// ... other credentials as per provider
},
"conditions": [],
"active": true,
"check": false,
"providerId": "ses",
"channel": "email"
}'
import { Novu, ChannelTypeEnum, ProvidersIdEnum } from '@novu/node';
const novu = new Novu('<NOVU_API_KEY>');
const createPaylod = {
name: "SendGrid",
identifier: "sendgrid-identifier",
credentials: {
apiKey: "SUPER_SECRET_API_KEY",
from: "sales@novu.co",
senderName: "Novu Sales Team",
channel: ChannelTypeEnum.EMAIL,
// ... other credentials as per provider
},
active: true,
check: false
}
await novu.integrations.create(ProvidersIdEnum.SendGrid, createPayload);
use Novu\SDK\Novu;
$novu = new Novu(<NOVU_API_KEY>);
// Create integration
$novu->createIntegration([
'providerId' => '<insert->provider->id>',
'channel' => '<insert->channel>',
'credentials' => [
// insert all the fields
],
'active' => true,
'check' => true
])->toArray();
require 'novu'
client = Novu::Client.new('<NOVU_API_KEY>')
body = {
'providerId' => '<insert-provider-id>',
'channel' => '<insert-channel>',
'credentials' => {
# insert all the fields
},
'active' => true,
'check' => true
}
client.create_integration(body)
from novu.api import IntegrationApi
url = "https://api.novu.co"
api_key = "<NOVU_API_KEY>"
novu = IntegrationApi(url, api_key).create(
integration="", # Integration instance that you want to create.
check="", # If you want the Novu server to check his connection using given integration configuration. Defaults to True.
)
import co.novu.sdk.Novu;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
novu.createIntegration(body)
}
}
{
"data": {
"_id": "string",
"_environmentId": "string",
"_organizationId": "string",
"name": "string",
"identifier": "string",
"providerId": "string",
"channel": "in_app",
"credentials": {
"apiKey": "string",
"user": "string",
"secretKey": "string",
"domain": "string",
"password": "string",
"host": "string",
"port": "string",
"secure": true,
"region": "string",
"accountSid": "string",
"messageProfileId": "string",
"token": "string",
"from": "string",
"senderName": "string",
"projectName": "string",
"applicationId": "string",
"clientId": "string",
"requireTls": true,
"ignoreTls": true,
"tlsOptions": {},
"baseUrl": "string",
"webhookUrl": "string",
"redirectUrl": "string",
"hmac": true,
"serviceAccount": "string",
"ipPoolName": "string"
},
"active": true,
"deleted": true,
"deletedAt": "string",
"deletedBy": "string",
"primary": true
}
}
Enter your API key in the
Authorization field like the example shown below:E.g ApiKey 18d2e625f05d80ecurl --location 'https://api.novu.co/v1/integrations' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: ApiKey <NOVU_API_KEY>' \
--data '{
"name": "SES",
"identifier": "ses-NkIQ5Koy3-123",
"credentials": {
"apiKey": "ACCESS_KEY_ID",
"secretKey": "SECRET_ACCESS_KEY",
"region": "us-east-2",
"from": "FROM_EMAIL_ADDRESS",
"senderName": "SENDER_NAME",
// ... other credentials as per provider
},
"conditions": [],
"active": true,
"check": false,
"providerId": "ses",
"channel": "email"
}'
import { Novu, ChannelTypeEnum, ProvidersIdEnum } from '@novu/node';
const novu = new Novu('<NOVU_API_KEY>');
const createPaylod = {
name: "SendGrid",
identifier: "sendgrid-identifier",
credentials: {
apiKey: "SUPER_SECRET_API_KEY",
from: "sales@novu.co",
senderName: "Novu Sales Team",
channel: ChannelTypeEnum.EMAIL,
// ... other credentials as per provider
},
active: true,
check: false
}
await novu.integrations.create(ProvidersIdEnum.SendGrid, createPayload);
use Novu\SDK\Novu;
$novu = new Novu(<NOVU_API_KEY>);
// Create integration
$novu->createIntegration([
'providerId' => '<insert->provider->id>',
'channel' => '<insert->channel>',
'credentials' => [
// insert all the fields
],
'active' => true,
'check' => true
])->toArray();
require 'novu'
client = Novu::Client.new('<NOVU_API_KEY>')
body = {
'providerId' => '<insert-provider-id>',
'channel' => '<insert-channel>',
'credentials' => {
# insert all the fields
},
'active' => true,
'check' => true
}
client.create_integration(body)
from novu.api import IntegrationApi
url = "https://api.novu.co"
api_key = "<NOVU_API_KEY>"
novu = IntegrationApi(url, api_key).create(
integration="", # Integration instance that you want to create.
check="", # If you want the Novu server to check his connection using given integration configuration. Defaults to True.
)
import co.novu.sdk.Novu;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
novu.createIntegration(body)
}
}
{
"data": {
"_id": "string",
"_environmentId": "string",
"_organizationId": "string",
"name": "string",
"identifier": "string",
"providerId": "string",
"channel": "in_app",
"credentials": {
"apiKey": "string",
"user": "string",
"secretKey": "string",
"domain": "string",
"password": "string",
"host": "string",
"port": "string",
"secure": true,
"region": "string",
"accountSid": "string",
"messageProfileId": "string",
"token": "string",
"from": "string",
"senderName": "string",
"projectName": "string",
"applicationId": "string",
"clientId": "string",
"requireTls": true,
"ignoreTls": true,
"tlsOptions": {},
"baseUrl": "string",
"webhookUrl": "string",
"redirectUrl": "string",
"hmac": true,
"serviceAccount": "string",
"ipPoolName": "string"
},
"active": true,
"deleted": true,
"deletedAt": "string",
"deletedBy": "string",
"primary": true
}
}
Authorizations
API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
Body
application/json
Available options:
in_app, email, sms, chat, push Show child attributes
Show child attributes
If the integration is active the validation on the credentials field will run
Show child attributes
Show child attributes
Response
Created
Available options:
in_app, email, sms, chat, push Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
⌘I