Update Notifications
curl --request POST \
--url https://api.velt.dev/v2/notifications/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": {
"organizationId": "<string>",
"documentId": "<string>",
"locationId": "<string>",
"userId": "<string>",
"verifyUserPermissions": true,
"notifications": {
"id": "<string>",
"actionUser": {},
"displayHeadlineMessageTemplate": "<string>",
"displayHeadlineMessageTemplateData": {
"actionUser": {},
"recipientUser": "<string>",
"yourCustomField": "<string>"
},
"displayBodyMessage": "<string>",
"notificationSourceData": {},
"readByUserIds": [
"<string>"
],
"persistReadForUsers": true
}
}
}
'import requests
url = "https://api.velt.dev/v2/notifications/update"
payload = { "data": {
"organizationId": "<string>",
"documentId": "<string>",
"locationId": "<string>",
"userId": "<string>",
"verifyUserPermissions": True,
"notifications": {
"id": "<string>",
"actionUser": {},
"displayHeadlineMessageTemplate": "<string>",
"displayHeadlineMessageTemplateData": {
"actionUser": {},
"recipientUser": "<string>",
"yourCustomField": "<string>"
},
"displayBodyMessage": "<string>",
"notificationSourceData": {},
"readByUserIds": ["<string>"],
"persistReadForUsers": True
}
} }
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: {
organizationId: '<string>',
documentId: '<string>',
locationId: '<string>',
userId: '<string>',
verifyUserPermissions: true,
notifications: {
id: '<string>',
actionUser: {},
displayHeadlineMessageTemplate: '<string>',
displayHeadlineMessageTemplateData: {actionUser: {}, recipientUser: '<string>', yourCustomField: '<string>'},
displayBodyMessage: '<string>',
notificationSourceData: {},
readByUserIds: ['<string>'],
persistReadForUsers: true
}
}
})
};
fetch('https://api.velt.dev/v2/notifications/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/notifications/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' => [
'organizationId' => '<string>',
'documentId' => '<string>',
'locationId' => '<string>',
'userId' => '<string>',
'verifyUserPermissions' => true,
'notifications' => [
'id' => '<string>',
'actionUser' => [
],
'displayHeadlineMessageTemplate' => '<string>',
'displayHeadlineMessageTemplateData' => [
'actionUser' => [
],
'recipientUser' => '<string>',
'yourCustomField' => '<string>'
],
'displayBodyMessage' => '<string>',
'notificationSourceData' => [
],
'readByUserIds' => [
'<string>'
],
'persistReadForUsers' => true
]
]
]),
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/notifications/update"
payload := strings.NewReader("{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"userId\": \"<string>\",\n \"verifyUserPermissions\": true,\n \"notifications\": {\n \"id\": \"<string>\",\n \"actionUser\": {},\n \"displayHeadlineMessageTemplate\": \"<string>\",\n \"displayHeadlineMessageTemplateData\": {\n \"actionUser\": {},\n \"recipientUser\": \"<string>\",\n \"yourCustomField\": \"<string>\"\n },\n \"displayBodyMessage\": \"<string>\",\n \"notificationSourceData\": {},\n \"readByUserIds\": [\n \"<string>\"\n ],\n \"persistReadForUsers\": true\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/notifications/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 \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"userId\": \"<string>\",\n \"verifyUserPermissions\": true,\n \"notifications\": {\n \"id\": \"<string>\",\n \"actionUser\": {},\n \"displayHeadlineMessageTemplate\": \"<string>\",\n \"displayHeadlineMessageTemplateData\": {\n \"actionUser\": {},\n \"recipientUser\": \"<string>\",\n \"yourCustomField\": \"<string>\"\n },\n \"displayBodyMessage\": \"<string>\",\n \"notificationSourceData\": {},\n \"readByUserIds\": [\n \"<string>\"\n ],\n \"persistReadForUsers\": true\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/notifications/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 \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"userId\": \"<string>\",\n \"verifyUserPermissions\": true,\n \"notifications\": {\n \"id\": \"<string>\",\n \"actionUser\": {},\n \"displayHeadlineMessageTemplate\": \"<string>\",\n \"displayHeadlineMessageTemplateData\": {\n \"actionUser\": {},\n \"recipientUser\": \"<string>\",\n \"yourCustomField\": \"<string>\"\n },\n \"displayBodyMessage\": \"<string>\",\n \"notificationSourceData\": {},\n \"readByUserIds\": [\n \"<string>\"\n ],\n \"persistReadForUsers\": true\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Notification(s) updated successfully.",
"data": {
"5471488637912692": {
"success": true,
"message": "Notification updated."
}
}
}
}
Notifications
Update Notifications
POST
/
v2
/
notifications
/
update
Update Notifications
curl --request POST \
--url https://api.velt.dev/v2/notifications/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": {
"organizationId": "<string>",
"documentId": "<string>",
"locationId": "<string>",
"userId": "<string>",
"verifyUserPermissions": true,
"notifications": {
"id": "<string>",
"actionUser": {},
"displayHeadlineMessageTemplate": "<string>",
"displayHeadlineMessageTemplateData": {
"actionUser": {},
"recipientUser": "<string>",
"yourCustomField": "<string>"
},
"displayBodyMessage": "<string>",
"notificationSourceData": {},
"readByUserIds": [
"<string>"
],
"persistReadForUsers": true
}
}
}
'import requests
url = "https://api.velt.dev/v2/notifications/update"
payload = { "data": {
"organizationId": "<string>",
"documentId": "<string>",
"locationId": "<string>",
"userId": "<string>",
"verifyUserPermissions": True,
"notifications": {
"id": "<string>",
"actionUser": {},
"displayHeadlineMessageTemplate": "<string>",
"displayHeadlineMessageTemplateData": {
"actionUser": {},
"recipientUser": "<string>",
"yourCustomField": "<string>"
},
"displayBodyMessage": "<string>",
"notificationSourceData": {},
"readByUserIds": ["<string>"],
"persistReadForUsers": True
}
} }
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: {
organizationId: '<string>',
documentId: '<string>',
locationId: '<string>',
userId: '<string>',
verifyUserPermissions: true,
notifications: {
id: '<string>',
actionUser: {},
displayHeadlineMessageTemplate: '<string>',
displayHeadlineMessageTemplateData: {actionUser: {}, recipientUser: '<string>', yourCustomField: '<string>'},
displayBodyMessage: '<string>',
notificationSourceData: {},
readByUserIds: ['<string>'],
persistReadForUsers: true
}
}
})
};
fetch('https://api.velt.dev/v2/notifications/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/notifications/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' => [
'organizationId' => '<string>',
'documentId' => '<string>',
'locationId' => '<string>',
'userId' => '<string>',
'verifyUserPermissions' => true,
'notifications' => [
'id' => '<string>',
'actionUser' => [
],
'displayHeadlineMessageTemplate' => '<string>',
'displayHeadlineMessageTemplateData' => [
'actionUser' => [
],
'recipientUser' => '<string>',
'yourCustomField' => '<string>'
],
'displayBodyMessage' => '<string>',
'notificationSourceData' => [
],
'readByUserIds' => [
'<string>'
],
'persistReadForUsers' => true
]
]
]),
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/notifications/update"
payload := strings.NewReader("{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"userId\": \"<string>\",\n \"verifyUserPermissions\": true,\n \"notifications\": {\n \"id\": \"<string>\",\n \"actionUser\": {},\n \"displayHeadlineMessageTemplate\": \"<string>\",\n \"displayHeadlineMessageTemplateData\": {\n \"actionUser\": {},\n \"recipientUser\": \"<string>\",\n \"yourCustomField\": \"<string>\"\n },\n \"displayBodyMessage\": \"<string>\",\n \"notificationSourceData\": {},\n \"readByUserIds\": [\n \"<string>\"\n ],\n \"persistReadForUsers\": true\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/notifications/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 \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"userId\": \"<string>\",\n \"verifyUserPermissions\": true,\n \"notifications\": {\n \"id\": \"<string>\",\n \"actionUser\": {},\n \"displayHeadlineMessageTemplate\": \"<string>\",\n \"displayHeadlineMessageTemplateData\": {\n \"actionUser\": {},\n \"recipientUser\": \"<string>\",\n \"yourCustomField\": \"<string>\"\n },\n \"displayBodyMessage\": \"<string>\",\n \"notificationSourceData\": {},\n \"readByUserIds\": [\n \"<string>\"\n ],\n \"persistReadForUsers\": true\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/notifications/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 \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"userId\": \"<string>\",\n \"verifyUserPermissions\": true,\n \"notifications\": {\n \"id\": \"<string>\",\n \"actionUser\": {},\n \"displayHeadlineMessageTemplate\": \"<string>\",\n \"displayHeadlineMessageTemplateData\": {\n \"actionUser\": {},\n \"recipientUser\": \"<string>\",\n \"yourCustomField\": \"<string>\"\n },\n \"displayBodyMessage\": \"<string>\",\n \"notificationSourceData\": {},\n \"readByUserIds\": [\n \"<string>\"\n ],\n \"persistReadForUsers\": true\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Notification(s) updated successfully.",
"data": {
"5471488637912692": {
"success": true,
"message": "Notification updated."
}
}
}
}
Use this API to update notifications.
Endpoint
POST https://api.velt.dev/v2/notifications/update
Headers
string
required
Your API key.
string
required
Your Auth Token.
Body
Params
object
required
Show properties
Show properties
string
required
Organization ID
string
Document ID (Optional)
string
Location ID
string
User ID (Optional)
boolean
When enabled, notifications are only updated for users who have access to the specified document.
This ensures notification updates respect document access permissions configured via Access Control or Permission Provider.Default:
falseobject
Notifications object
Show properties
Show properties
string
Notification ID
User
User who took the action
string
Display Headline Message Template
object
string
Display Body Message
object
Any custom object to be stored with the notification.
When the user clicks on the notification, this data will be sent to in the callback.
string[]
Array of user ids that you want to mark the notification as read.
boolean
Use this with the
readByUserIds param. If true, the read notifications will be not be removed from the “For You” tab.Example Requests
1. Update by organizationId and documentId
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"notifications": [
{
"id": "yourNotificationId",
"displayBodyMessage": "This is body message (Secondary message)",
}
]
}
}
2. Update by organizationId, documentId and locationId
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"locationId": "yourLocationId",
"notifications": [
{
"id": "yourNotificationId",
"displayBodyMessage": "This is body message (Secondary message)",
}
]
}
}
3. Update by organizationId, documentId and userId
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"userId": "yourUserId",
"notifications": [
{
"id": "yourNotificationId",
"displayBodyMessage": "This is body message (Secondary message)",
}
]
}
}
4. Update by organizationId and userId
{
"data": {
"organizationId": "yourOrganizationId",
"userId": "yourUserId",
"notifications": [
{
"id": "yourNotificationId",
"displayBodyMessage": "This is body message (Secondary message)",
}
]
}
}
5. Update by organizationId, documentId, locationId and userId
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"userId": "yourUserId",
"locationId": "yourLocationId",
"notifications": [
{
"id": "yourNotificationId",
"displayBodyMessage": "This is body message (Secondary message)",
}
]
}
}
6. Update with Permission Verification
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"verifyUserPermissions": true,
"notifications": [
{
"id": "yourNotificationId",
"displayBodyMessage": "This is updated body message (Secondary message)"
}
]
}
}
When
verifyUserPermissions is enabled, the API checks document access for each user before updating their notifications. Updates are only applied to users with access to the document.Response
Success Response
{
"result": {
"status": "success",
"message": "Notification(s) updated successfully.",
"data": {
"5471488637912692": {
"success": true,
"message": "Notification updated."
}
}
}
}
When some notifications are not found
{
"result": {
"status": "success",
"message": "Notification(s) updated successfully.",
"data": {
"5471488637912692": {
"success": false,
"message": "Failed to update notification."
},
"5471488637912693": {
"success": true,
"message": "Notification updated."
}
}
}
}
Failure Response
{
"error": {
"message": "ERROR_MESSAGE",
"status": "INVALID_ARGUMENT"
}
}
{
"result": {
"status": "success",
"message": "Notification(s) updated successfully.",
"data": {
"5471488637912692": {
"success": true,
"message": "Notification updated."
}
}
}
}
Was this page helpful?
⌘I

