Update Notification Config
curl --request POST \
--url https://api.velt.dev/v2/workspace/notificationconfig/update \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"useNotificationService": true,
"notificationServiceConfig": {
"triggers": {},
"delayConfig": {
"isEnabled": true,
"delaySeconds": 123
},
"batchConfig": {
"document": {
"isEnabled": true,
"batchWindowSeconds": 123,
"maxActivities": 123
},
"user": {
"isEnabled": true,
"batchWindowSeconds": 123,
"maxActivities": 123
}
}
}
}
}
'import requests
url = "https://api.velt.dev/v2/workspace/notificationconfig/update"
payload = { "data": {
"useNotificationService": True,
"notificationServiceConfig": {
"triggers": {},
"delayConfig": {
"isEnabled": True,
"delaySeconds": 123
},
"batchConfig": {
"document": {
"isEnabled": True,
"batchWindowSeconds": 123,
"maxActivities": 123
},
"user": {
"isEnabled": True,
"batchWindowSeconds": 123,
"maxActivities": 123
}
}
}
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
useNotificationService: true,
notificationServiceConfig: {
triggers: {},
delayConfig: {isEnabled: true, delaySeconds: 123},
batchConfig: {
document: {isEnabled: true, batchWindowSeconds: 123, maxActivities: 123},
user: {isEnabled: true, batchWindowSeconds: 123, maxActivities: 123}
}
}
}
})
};
fetch('https://api.velt.dev/v2/workspace/notificationconfig/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.velt.dev/v2/workspace/notificationconfig/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
'useNotificationService' => true,
'notificationServiceConfig' => [
'triggers' => [
],
'delayConfig' => [
'isEnabled' => true,
'delaySeconds' => 123
],
'batchConfig' => [
'document' => [
'isEnabled' => true,
'batchWindowSeconds' => 123,
'maxActivities' => 123
],
'user' => [
'isEnabled' => true,
'batchWindowSeconds' => 123,
'maxActivities' => 123
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/workspace/notificationconfig/update"
payload := strings.NewReader("{\n \"data\": {\n \"useNotificationService\": true,\n \"notificationServiceConfig\": {\n \"triggers\": {},\n \"delayConfig\": {\n \"isEnabled\": true,\n \"delaySeconds\": 123\n },\n \"batchConfig\": {\n \"document\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n },\n \"user\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n }\n }\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.velt.dev/v2/workspace/notificationconfig/update")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"useNotificationService\": true,\n \"notificationServiceConfig\": {\n \"triggers\": {},\n \"delayConfig\": {\n \"isEnabled\": true,\n \"delaySeconds\": 123\n },\n \"batchConfig\": {\n \"document\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n },\n \"user\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n }\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/workspace/notificationconfig/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"useNotificationService\": true,\n \"notificationServiceConfig\": {\n \"triggers\": {},\n \"delayConfig\": {\n \"isEnabled\": true,\n \"delaySeconds\": 123\n },\n \"batchConfig\": {\n \"document\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n },\n \"user\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n }\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Notification configuration updated successfully.",
"data": {
"useNotificationService": true,
"notificationServiceConfig": {
"delayConfig": {
"isEnabled": true,
"delaySeconds": 30
}
}
}
}
}
Notification Configuration
Update Notification Config
POST
/
v2
/
workspace
/
notificationconfig
/
update
Update Notification Config
curl --request POST \
--url https://api.velt.dev/v2/workspace/notificationconfig/update \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"useNotificationService": true,
"notificationServiceConfig": {
"triggers": {},
"delayConfig": {
"isEnabled": true,
"delaySeconds": 123
},
"batchConfig": {
"document": {
"isEnabled": true,
"batchWindowSeconds": 123,
"maxActivities": 123
},
"user": {
"isEnabled": true,
"batchWindowSeconds": 123,
"maxActivities": 123
}
}
}
}
}
'import requests
url = "https://api.velt.dev/v2/workspace/notificationconfig/update"
payload = { "data": {
"useNotificationService": True,
"notificationServiceConfig": {
"triggers": {},
"delayConfig": {
"isEnabled": True,
"delaySeconds": 123
},
"batchConfig": {
"document": {
"isEnabled": True,
"batchWindowSeconds": 123,
"maxActivities": 123
},
"user": {
"isEnabled": True,
"batchWindowSeconds": 123,
"maxActivities": 123
}
}
}
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
useNotificationService: true,
notificationServiceConfig: {
triggers: {},
delayConfig: {isEnabled: true, delaySeconds: 123},
batchConfig: {
document: {isEnabled: true, batchWindowSeconds: 123, maxActivities: 123},
user: {isEnabled: true, batchWindowSeconds: 123, maxActivities: 123}
}
}
}
})
};
fetch('https://api.velt.dev/v2/workspace/notificationconfig/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.velt.dev/v2/workspace/notificationconfig/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
'useNotificationService' => true,
'notificationServiceConfig' => [
'triggers' => [
],
'delayConfig' => [
'isEnabled' => true,
'delaySeconds' => 123
],
'batchConfig' => [
'document' => [
'isEnabled' => true,
'batchWindowSeconds' => 123,
'maxActivities' => 123
],
'user' => [
'isEnabled' => true,
'batchWindowSeconds' => 123,
'maxActivities' => 123
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/workspace/notificationconfig/update"
payload := strings.NewReader("{\n \"data\": {\n \"useNotificationService\": true,\n \"notificationServiceConfig\": {\n \"triggers\": {},\n \"delayConfig\": {\n \"isEnabled\": true,\n \"delaySeconds\": 123\n },\n \"batchConfig\": {\n \"document\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n },\n \"user\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n }\n }\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.velt.dev/v2/workspace/notificationconfig/update")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"useNotificationService\": true,\n \"notificationServiceConfig\": {\n \"triggers\": {},\n \"delayConfig\": {\n \"isEnabled\": true,\n \"delaySeconds\": 123\n },\n \"batchConfig\": {\n \"document\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n },\n \"user\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n }\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/workspace/notificationconfig/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"useNotificationService\": true,\n \"notificationServiceConfig\": {\n \"triggers\": {},\n \"delayConfig\": {\n \"isEnabled\": true,\n \"delaySeconds\": 123\n },\n \"batchConfig\": {\n \"document\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n },\n \"user\": {\n \"isEnabled\": true,\n \"batchWindowSeconds\": 123,\n \"maxActivities\": 123\n }\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Notification configuration updated successfully.",
"data": {
"useNotificationService": true,
"notificationServiceConfig": {
"delayConfig": {
"isEnabled": true,
"delaySeconds": 30
}
}
}
}
}
Use this API to update the in-app notification service configuration for a workspace. At least one of
useNotificationService or notificationServiceConfig must be provided. The config is deep-merged with the existing value, so omitted sub-fields are preserved.
This endpoint uses API-key-level auth: pass
x-velt-api-key and x-velt-auth-token as headers. You can obtain these from the Get Auth Tokens endpoint.The numeric delay/batching fields must be integers within these ranges, otherwise the request is rejected with
INVALID_ARGUMENT:delayConfig.delaySeconds:10–15552000(10 seconds to 6 months)batchConfig.document.batchWindowSeconds/batchConfig.user.batchWindowSeconds:10–604800(10 seconds to 1 week)batchConfig.document.maxActivities/batchConfig.user.maxActivities:2–50
Defaults on first enable. If you enable the service (
useNotificationService: true) and the stored config has no triggers yet (defaults are seeded even if delayConfig / batchConfig already exist), a default set of triggers is seeded automatically: the standard comment triggers and all huddle triggers are turned on. Delay and batching stay off — no delayConfig or batchConfig is written by the seeding. Existing non-trigger fields are preserved, and any notificationServiceConfig values you send in the same request are merged on top of these defaults.The response
data echoes the latest post-write state as { useNotificationService, notificationServiceConfig } — the same shape returned by Get Notification Config. Fields not part of your request fall back to the existing stored values.Endpoint
POST https://api.velt.dev/v2/workspace/notificationconfig/update
Headers
string
required
Your API key.
string
required
Your Auth Token.
Body
Params
object
required
Show properties
Show properties
boolean
Whether to enable the in-app notification service.
object
Notification service configuration object.
Show properties
Show properties
object
Event triggers that activate in-app notifications. Supports
comment and huddle trigger groups. Each is a map of event-type string to a boolean to enable (true) or disable (false) that trigger. See Webhooks for the full list of event types.object
object
Notification batching settings, with independent
document and user configs.Show properties
Show properties
object
Per-document batching.
object
Per-user batching.
Example Request
{
"data": {
"useNotificationService": true,
"notificationServiceConfig": {
"delayConfig": {
"isEnabled": true,
"delaySeconds": 30
}
}
}
}
Example Response
Success Response
{
"result": {
"status": "success",
"message": "Notification configuration updated successfully.",
"data": {
"useNotificationService": true,
"notificationServiceConfig": {
"delayConfig": {
"isEnabled": true,
"delaySeconds": 30
}
}
}
}
}
Failure Response
{
"error": {
"status": "INVALID_ARGUMENT",
"message": "At least one of useNotificationService or notificationServiceConfig must be provided"
}
}
{
"result": {
"status": "success",
"message": "Notification configuration updated successfully.",
"data": {
"useNotificationService": true,
"notificationServiceConfig": {
"delayConfig": {
"isEnabled": true,
"delaySeconds": 30
}
}
}
}
}
Was this page helpful?
⌘I

