curl --request PUT \
--url https://api.novu.co/v1/workflows/{workflowId} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "<name>",
}'
import { Novu, TemplateVariableTypeEnum, FilterPartTypeEnum, StepTypeEnum } from '@novu/node';
const novu = new Novu('<NOVU_API_KEY>');
await novu.notificationTemplates.update("workflowId", {
name: "Send daily digest email update",
description: "This workflow will send daily digest email to user at 9:00 AM"
/**
* all other fields from create workflow payload
*/
});
use Novu\SDK\Novu;
$novu = new Novu(<NOVU_API_KEY>);
$novu->updateNotificationTemplate($templateId, [
"name" => "name",
"tags" => ["tags"],
"description" => "description",
"identifier" => "identifier",
"steps" => ["steps"],
"notificationGroupId" => "notificationGroupId",
"active" => true,
"critical" => true,
"preferenceSettings" => preferenceSettings
])->toArray();
require 'novu'
client = Novu::Client.new('<NOVU_API_KEY>')
body = {
'name' => '<insert-name>',
'notificationGroupId' => 'notificationGroupId',
'tags' => ['tags'], # optional
'description' => 'description', # optional
'steps' => [ # optional
# insert all fields here
],
'active' => true, # optional
'draft' => true, # optional
'critical' => true, # optional
'preferenceSettings' => { # optional
# insert all fields here
},
'blueprintId' => 'blueprintId' # optional
}
client.update_notification_template('<insert-template-id>', body)
from novu.api import NotificationTemplateApi
url = "https://api.novu.co"
api_key = "<NOVU_API_KEY>"
novu = NotificationTemplateApi(url, api_key).update(
notification_template_id = "< The ID of the notification workflow to be updated>",
)
import co.novu.Novu;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
novu.updateWorkflow(workflowId, body);
}
}
package main
import (
"fmt"
"net/http"
"encoding/json"
)
func main() {
url := "https://api.novu.co/v1/workflows/:workflowId"
data := map[string]string{
"name": "name",
"tags": ["tags"],
"description": "description",
"identifier": "identifier",
"steps": ["steps"],
"notificationGroupId": "notificationGroupId",
"critical": true,
"preferenceSettings": preferenceSettings,
"data": data
}
jsonValue, _ := json.Marshal(data)
req, _ := http.NewRequest("PUT", url, bytes.NewBuffer(jsonValue))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "ApiKey REPLACE_WITH_API_KEY")
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import co.novu.Novu
import co.novu.extensions.updateWorkflow
class Main {
fun main(args: Array<String>) {
val apiKey = "<NOVU_API_KEY>"
val novu = Novu(apiKey)
novu.updateWorkflow(workflowId, body)
}
}
{
"data": {
"_id": "string",
"name": "string",
"description": "string",
"active": true,
"draft": true,
"preferenceSettings": {
"email": true,
"sms": true,
"in_app": true,
"chat": true,
"push": true
},
"critical": true,
"tags": [
"string"
],
"steps": [
{
"_id": "string",
"uuid": "string",
"name": "string",
"_templateId": "string",
"active": true,
"shouldStopOnFail": true,
"template": {},
"filters": [
{
"isNegated": true,
"type": "BOOLEAN",
"value": "AND",
"children": [
{
"field": "string",
"value": "string",
"operator": "LARGER",
"on": "subscriber"
}
]
}
],
"_parentId": {},
"metadata": {
"amount": 0,
"unit": "seconds",
"digestKey": "string",
"type": "regular",
"backoff": true,
"backoffAmount": 0,
"backoffUnit": "seconds",
"updateMode": true
},
"replyCallback": {}
}
],
"_organizationId": "string",
"_creatorId": "string",
"_environmentId": "string",
"triggers": [
{
"type": "string",
"identifier": "string",
"variables": [
{
"name": "string"
}
],
"subscriberVariables": [
{
"name": "string"
}
]
}
],
"_notificationGroupId": "string",
"_parentId": "string",
"deleted": true,
"deletedAt": "string",
"deletedBy": "string",
"notificationGroup": {
"_id": "string",
"name": "string",
"_environmentId": "string",
"_organizationId": "string",
"_parentId": "string"
},
"data": {},
"workflowIntegrationStatus": {}
}
}
Workflows
Update workflow
Workflow was previously named notification template
PUT
/
v1
/
workflows
/
{workflowId}
curl --request PUT \
--url https://api.novu.co/v1/workflows/{workflowId} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "<name>",
}'
import { Novu, TemplateVariableTypeEnum, FilterPartTypeEnum, StepTypeEnum } from '@novu/node';
const novu = new Novu('<NOVU_API_KEY>');
await novu.notificationTemplates.update("workflowId", {
name: "Send daily digest email update",
description: "This workflow will send daily digest email to user at 9:00 AM"
/**
* all other fields from create workflow payload
*/
});
use Novu\SDK\Novu;
$novu = new Novu(<NOVU_API_KEY>);
$novu->updateNotificationTemplate($templateId, [
"name" => "name",
"tags" => ["tags"],
"description" => "description",
"identifier" => "identifier",
"steps" => ["steps"],
"notificationGroupId" => "notificationGroupId",
"active" => true,
"critical" => true,
"preferenceSettings" => preferenceSettings
])->toArray();
require 'novu'
client = Novu::Client.new('<NOVU_API_KEY>')
body = {
'name' => '<insert-name>',
'notificationGroupId' => 'notificationGroupId',
'tags' => ['tags'], # optional
'description' => 'description', # optional
'steps' => [ # optional
# insert all fields here
],
'active' => true, # optional
'draft' => true, # optional
'critical' => true, # optional
'preferenceSettings' => { # optional
# insert all fields here
},
'blueprintId' => 'blueprintId' # optional
}
client.update_notification_template('<insert-template-id>', body)
from novu.api import NotificationTemplateApi
url = "https://api.novu.co"
api_key = "<NOVU_API_KEY>"
novu = NotificationTemplateApi(url, api_key).update(
notification_template_id = "< The ID of the notification workflow to be updated>",
)
import co.novu.Novu;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
novu.updateWorkflow(workflowId, body);
}
}
package main
import (
"fmt"
"net/http"
"encoding/json"
)
func main() {
url := "https://api.novu.co/v1/workflows/:workflowId"
data := map[string]string{
"name": "name",
"tags": ["tags"],
"description": "description",
"identifier": "identifier",
"steps": ["steps"],
"notificationGroupId": "notificationGroupId",
"critical": true,
"preferenceSettings": preferenceSettings,
"data": data
}
jsonValue, _ := json.Marshal(data)
req, _ := http.NewRequest("PUT", url, bytes.NewBuffer(jsonValue))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "ApiKey REPLACE_WITH_API_KEY")
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import co.novu.Novu
import co.novu.extensions.updateWorkflow
class Main {
fun main(args: Array<String>) {
val apiKey = "<NOVU_API_KEY>"
val novu = Novu(apiKey)
novu.updateWorkflow(workflowId, body)
}
}
{
"data": {
"_id": "string",
"name": "string",
"description": "string",
"active": true,
"draft": true,
"preferenceSettings": {
"email": true,
"sms": true,
"in_app": true,
"chat": true,
"push": true
},
"critical": true,
"tags": [
"string"
],
"steps": [
{
"_id": "string",
"uuid": "string",
"name": "string",
"_templateId": "string",
"active": true,
"shouldStopOnFail": true,
"template": {},
"filters": [
{
"isNegated": true,
"type": "BOOLEAN",
"value": "AND",
"children": [
{
"field": "string",
"value": "string",
"operator": "LARGER",
"on": "subscriber"
}
]
}
],
"_parentId": {},
"metadata": {
"amount": 0,
"unit": "seconds",
"digestKey": "string",
"type": "regular",
"backoff": true,
"backoffAmount": 0,
"backoffUnit": "seconds",
"updateMode": true
},
"replyCallback": {}
}
],
"_organizationId": "string",
"_creatorId": "string",
"_environmentId": "string",
"triggers": [
{
"type": "string",
"identifier": "string",
"variables": [
{
"name": "string"
}
],
"subscriberVariables": [
{
"name": "string"
}
]
}
],
"_notificationGroupId": "string",
"_parentId": "string",
"deleted": true,
"deletedAt": "string",
"deletedBy": "string",
"notificationGroup": {
"_id": "string",
"name": "string",
"_environmentId": "string",
"_organizationId": "string",
"_parentId": "string"
},
"data": {},
"workflowIntegrationStatus": {}
}
}
Enter your API key in the
Authorization field like the example shown below:E.g ApiKey 18d2e625f05d80e curl --request PUT \
--url https://api.novu.co/v1/workflows/{workflowId} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "<name>",
}'
import { Novu, TemplateVariableTypeEnum, FilterPartTypeEnum, StepTypeEnum } from '@novu/node';
const novu = new Novu('<NOVU_API_KEY>');
await novu.notificationTemplates.update("workflowId", {
name: "Send daily digest email update",
description: "This workflow will send daily digest email to user at 9:00 AM"
/**
* all other fields from create workflow payload
*/
});
use Novu\SDK\Novu;
$novu = new Novu(<NOVU_API_KEY>);
$novu->updateNotificationTemplate($templateId, [
"name" => "name",
"tags" => ["tags"],
"description" => "description",
"identifier" => "identifier",
"steps" => ["steps"],
"notificationGroupId" => "notificationGroupId",
"active" => true,
"critical" => true,
"preferenceSettings" => preferenceSettings
])->toArray();
require 'novu'
client = Novu::Client.new('<NOVU_API_KEY>')
body = {
'name' => '<insert-name>',
'notificationGroupId' => 'notificationGroupId',
'tags' => ['tags'], # optional
'description' => 'description', # optional
'steps' => [ # optional
# insert all fields here
],
'active' => true, # optional
'draft' => true, # optional
'critical' => true, # optional
'preferenceSettings' => { # optional
# insert all fields here
},
'blueprintId' => 'blueprintId' # optional
}
client.update_notification_template('<insert-template-id>', body)
from novu.api import NotificationTemplateApi
url = "https://api.novu.co"
api_key = "<NOVU_API_KEY>"
novu = NotificationTemplateApi(url, api_key).update(
notification_template_id = "< The ID of the notification workflow to be updated>",
)
import co.novu.Novu;
public class Main {
public static void main(String[] args) {
String apiKey = "<NOVU_API_KEY>";
Novu novu = new Novu(apiKey);
novu.updateWorkflow(workflowId, body);
}
}
package main
import (
"fmt"
"net/http"
"encoding/json"
)
func main() {
url := "https://api.novu.co/v1/workflows/:workflowId"
data := map[string]string{
"name": "name",
"tags": ["tags"],
"description": "description",
"identifier": "identifier",
"steps": ["steps"],
"notificationGroupId": "notificationGroupId",
"critical": true,
"preferenceSettings": preferenceSettings,
"data": data
}
jsonValue, _ := json.Marshal(data)
req, _ := http.NewRequest("PUT", url, bytes.NewBuffer(jsonValue))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "ApiKey REPLACE_WITH_API_KEY")
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import co.novu.Novu
import co.novu.extensions.updateWorkflow
class Main {
fun main(args: Array<String>) {
val apiKey = "<NOVU_API_KEY>"
val novu = Novu(apiKey)
novu.updateWorkflow(workflowId, body)
}
}
{
"data": {
"_id": "string",
"name": "string",
"description": "string",
"active": true,
"draft": true,
"preferenceSettings": {
"email": true,
"sms": true,
"in_app": true,
"chat": true,
"push": true
},
"critical": true,
"tags": [
"string"
],
"steps": [
{
"_id": "string",
"uuid": "string",
"name": "string",
"_templateId": "string",
"active": true,
"shouldStopOnFail": true,
"template": {},
"filters": [
{
"isNegated": true,
"type": "BOOLEAN",
"value": "AND",
"children": [
{
"field": "string",
"value": "string",
"operator": "LARGER",
"on": "subscriber"
}
]
}
],
"_parentId": {},
"metadata": {
"amount": 0,
"unit": "seconds",
"digestKey": "string",
"type": "regular",
"backoff": true,
"backoffAmount": 0,
"backoffUnit": "seconds",
"updateMode": true
},
"replyCallback": {}
}
],
"_organizationId": "string",
"_creatorId": "string",
"_environmentId": "string",
"triggers": [
{
"type": "string",
"identifier": "string",
"variables": [
{
"name": "string"
}
],
"subscriberVariables": [
{
"name": "string"
}
]
}
],
"_notificationGroupId": "string",
"_parentId": "string",
"deleted": true,
"deletedAt": "string",
"deletedBy": "string",
"notificationGroup": {
"_id": "string",
"name": "string",
"_environmentId": "string",
"_organizationId": "string",
"_parentId": "string"
},
"data": {},
"workflowIntegrationStatus": {}
}
}
Authorizations
API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
Path Parameters
Body
application/json
Response
Ok
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
⌘I