PUT
/
v1
/
integrations
/
{integrationId}
import { Novu, ProvidersIdEnum } from "@novu/node";

const novu = new Novu("<NOVU_SECRET_KEY>");

const updatePayload = {
  name: "SendGrid",
  identifier: "sendgrid-identifier",
  credentials: {
    apiKey: "SUPER_SECRET_API_KEY",
    from: "no-reply@novu.co",
    senderName: "Novu Team",
    // ... other credentials as per provider
  },
  active: true,
  check: false,
};

await novu.integrations.getWebhookProviderStatus(
  ProvidersIdEnum.SendGrid,
  updatePayload
);
{
  "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 18d2e625f05d80e

import { Novu, ProvidersIdEnum } from "@novu/node";

const novu = new Novu("<NOVU_SECRET_KEY>");

const updatePayload = {
  name: "SendGrid",
  identifier: "sendgrid-identifier",
  credentials: {
    apiKey: "SUPER_SECRET_API_KEY",
    from: "no-reply@novu.co",
    senderName: "Novu Team",
    // ... other credentials as per provider
  },
  active: true,
  check: false,
};

await novu.integrations.getWebhookProviderStatus(
  ProvidersIdEnum.SendGrid,
  updatePayload
);
{
  "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

Authorization
string
headerrequired

API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".

Path Parameters

integrationId
string
required

Body

application/json
name
string
identifier
string
_environmentId
string
active
boolean

If the integration is active the validation on the credentials field will run

credentials
object
removeNovuBranding
boolean

If true, the Novu branding will be removed from the Inbox component

check
boolean
conditions
object[]

Response

200 - application/json
data
object