Update Comment Annotations
curl --request POST \
--url https://api.velt.dev/v2/commentannotations/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>",
"locationIds": [
"<string>"
],
"userIds": [
"<string>"
],
"annotationIds": [
"<string>"
],
"updatedData": [
{
"location": {
"id": "<string>",
"locationName": "<string>"
},
"targetElement": {
"elementId": "<string>",
"targetText": "<string>",
"occurrence": 123,
"selectAllContent": true
},
"from": {},
"status": {
"id": "<string>",
"name": "<string>",
"type": "<string>",
"color": "<string>",
"lightColor": "<string>",
"svg": "<string>",
"iconUrl": "<string>"
},
"assignedTo": {},
"context": {},
"priority": {
"id": "<string>",
"name": "<string>",
"color": "<string>",
"lightColor": "<string>"
},
"suggestion": {
"targetId": "<string>",
"targetType": "<string>",
"oldValue": "<any>",
"newValue": "<any>",
"summary": "<string>",
"driftDetected": true
}
}
],
"updateUsers": [
{
"oldUser": {
"userId": "<string>",
"name": "<string>",
"email": "<string>"
},
"newUser": {
"userId": "<string>",
"name": "<string>",
"email": "<string>"
}
}
]
}
}
'import requests
url = "https://api.velt.dev/v2/commentannotations/update"
payload = { "data": {
"organizationId": "<string>",
"documentId": "<string>",
"locationIds": ["<string>"],
"userIds": ["<string>"],
"annotationIds": ["<string>"],
"updatedData": [
{
"location": {
"id": "<string>",
"locationName": "<string>"
},
"targetElement": {
"elementId": "<string>",
"targetText": "<string>",
"occurrence": 123,
"selectAllContent": True
},
"from": {},
"status": {
"id": "<string>",
"name": "<string>",
"type": "<string>",
"color": "<string>",
"lightColor": "<string>",
"svg": "<string>",
"iconUrl": "<string>"
},
"assignedTo": {},
"context": {},
"priority": {
"id": "<string>",
"name": "<string>",
"color": "<string>",
"lightColor": "<string>"
},
"suggestion": {
"targetId": "<string>",
"targetType": "<string>",
"oldValue": "<any>",
"newValue": "<any>",
"summary": "<string>",
"driftDetected": True
}
}
],
"updateUsers": [
{
"oldUser": {
"userId": "<string>",
"name": "<string>",
"email": "<string>"
},
"newUser": {
"userId": "<string>",
"name": "<string>",
"email": "<string>"
}
}
]
} }
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>',
locationIds: ['<string>'],
userIds: ['<string>'],
annotationIds: ['<string>'],
updatedData: [
{
location: {id: '<string>', locationName: '<string>'},
targetElement: {
elementId: '<string>',
targetText: '<string>',
occurrence: 123,
selectAllContent: true
},
from: {},
status: {
id: '<string>',
name: '<string>',
type: '<string>',
color: '<string>',
lightColor: '<string>',
svg: '<string>',
iconUrl: '<string>'
},
assignedTo: {},
context: {},
priority: {id: '<string>', name: '<string>', color: '<string>', lightColor: '<string>'},
suggestion: {
targetId: '<string>',
targetType: '<string>',
oldValue: '<any>',
newValue: '<any>',
summary: '<string>',
driftDetected: true
}
}
],
updateUsers: [
{
oldUser: {userId: '<string>', name: '<string>', email: '<string>'},
newUser: {userId: '<string>', name: '<string>', email: '<string>'}
}
]
}
})
};
fetch('https://api.velt.dev/v2/commentannotations/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/commentannotations/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>',
'locationIds' => [
'<string>'
],
'userIds' => [
'<string>'
],
'annotationIds' => [
'<string>'
],
'updatedData' => [
[
'location' => [
'id' => '<string>',
'locationName' => '<string>'
],
'targetElement' => [
'elementId' => '<string>',
'targetText' => '<string>',
'occurrence' => 123,
'selectAllContent' => true
],
'from' => [
],
'status' => [
'id' => '<string>',
'name' => '<string>',
'type' => '<string>',
'color' => '<string>',
'lightColor' => '<string>',
'svg' => '<string>',
'iconUrl' => '<string>'
],
'assignedTo' => [
],
'context' => [
],
'priority' => [
'id' => '<string>',
'name' => '<string>',
'color' => '<string>',
'lightColor' => '<string>'
],
'suggestion' => [
'targetId' => '<string>',
'targetType' => '<string>',
'oldValue' => '<any>',
'newValue' => '<any>',
'summary' => '<string>',
'driftDetected' => true
]
]
],
'updateUsers' => [
[
'oldUser' => [
'userId' => '<string>',
'name' => '<string>',
'email' => '<string>'
],
'newUser' => [
'userId' => '<string>',
'name' => '<string>',
'email' => '<string>'
]
]
]
]
]),
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/commentannotations/update"
payload := strings.NewReader("{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"locationIds\": [\n \"<string>\"\n ],\n \"userIds\": [\n \"<string>\"\n ],\n \"annotationIds\": [\n \"<string>\"\n ],\n \"updatedData\": [\n {\n \"location\": {\n \"id\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"targetElement\": {\n \"elementId\": \"<string>\",\n \"targetText\": \"<string>\",\n \"occurrence\": 123,\n \"selectAllContent\": true\n },\n \"from\": {},\n \"status\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\",\n \"svg\": \"<string>\",\n \"iconUrl\": \"<string>\"\n },\n \"assignedTo\": {},\n \"context\": {},\n \"priority\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\"\n },\n \"suggestion\": {\n \"targetId\": \"<string>\",\n \"targetType\": \"<string>\",\n \"oldValue\": \"<any>\",\n \"newValue\": \"<any>\",\n \"summary\": \"<string>\",\n \"driftDetected\": true\n }\n }\n ],\n \"updateUsers\": [\n {\n \"oldUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"newUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\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/commentannotations/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 \"locationIds\": [\n \"<string>\"\n ],\n \"userIds\": [\n \"<string>\"\n ],\n \"annotationIds\": [\n \"<string>\"\n ],\n \"updatedData\": [\n {\n \"location\": {\n \"id\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"targetElement\": {\n \"elementId\": \"<string>\",\n \"targetText\": \"<string>\",\n \"occurrence\": 123,\n \"selectAllContent\": true\n },\n \"from\": {},\n \"status\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\",\n \"svg\": \"<string>\",\n \"iconUrl\": \"<string>\"\n },\n \"assignedTo\": {},\n \"context\": {},\n \"priority\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\"\n },\n \"suggestion\": {\n \"targetId\": \"<string>\",\n \"targetType\": \"<string>\",\n \"oldValue\": \"<any>\",\n \"newValue\": \"<any>\",\n \"summary\": \"<string>\",\n \"driftDetected\": true\n }\n }\n ],\n \"updateUsers\": [\n {\n \"oldUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"newUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\n }\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/commentannotations/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 \"locationIds\": [\n \"<string>\"\n ],\n \"userIds\": [\n \"<string>\"\n ],\n \"annotationIds\": [\n \"<string>\"\n ],\n \"updatedData\": [\n {\n \"location\": {\n \"id\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"targetElement\": {\n \"elementId\": \"<string>\",\n \"targetText\": \"<string>\",\n \"occurrence\": 123,\n \"selectAllContent\": true\n },\n \"from\": {},\n \"status\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\",\n \"svg\": \"<string>\",\n \"iconUrl\": \"<string>\"\n },\n \"assignedTo\": {},\n \"context\": {},\n \"priority\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\"\n },\n \"suggestion\": {\n \"targetId\": \"<string>\",\n \"targetType\": \"<string>\",\n \"oldValue\": \"<any>\",\n \"newValue\": \"<any>\",\n \"summary\": \"<string>\",\n \"driftDetected\": true\n }\n }\n ],\n \"updateUsers\": [\n {\n \"oldUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"newUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\n }\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Annotations updated successfully.",
"data": {
"yourAnnotationId1": {
"success": true,
"id": "yourAnnotationId1",
"message": "Annotations updated successfully"
}
}
}
}
Comments Annotations
Update Comment Annotations
Update V2 comment annotations via REST — patch status, priority, assignee, context, or suggestion payload by annotation, location, or user ID.
POST
/
v2
/
commentannotations
/
update
Update Comment Annotations
curl --request POST \
--url https://api.velt.dev/v2/commentannotations/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>",
"locationIds": [
"<string>"
],
"userIds": [
"<string>"
],
"annotationIds": [
"<string>"
],
"updatedData": [
{
"location": {
"id": "<string>",
"locationName": "<string>"
},
"targetElement": {
"elementId": "<string>",
"targetText": "<string>",
"occurrence": 123,
"selectAllContent": true
},
"from": {},
"status": {
"id": "<string>",
"name": "<string>",
"type": "<string>",
"color": "<string>",
"lightColor": "<string>",
"svg": "<string>",
"iconUrl": "<string>"
},
"assignedTo": {},
"context": {},
"priority": {
"id": "<string>",
"name": "<string>",
"color": "<string>",
"lightColor": "<string>"
},
"suggestion": {
"targetId": "<string>",
"targetType": "<string>",
"oldValue": "<any>",
"newValue": "<any>",
"summary": "<string>",
"driftDetected": true
}
}
],
"updateUsers": [
{
"oldUser": {
"userId": "<string>",
"name": "<string>",
"email": "<string>"
},
"newUser": {
"userId": "<string>",
"name": "<string>",
"email": "<string>"
}
}
]
}
}
'import requests
url = "https://api.velt.dev/v2/commentannotations/update"
payload = { "data": {
"organizationId": "<string>",
"documentId": "<string>",
"locationIds": ["<string>"],
"userIds": ["<string>"],
"annotationIds": ["<string>"],
"updatedData": [
{
"location": {
"id": "<string>",
"locationName": "<string>"
},
"targetElement": {
"elementId": "<string>",
"targetText": "<string>",
"occurrence": 123,
"selectAllContent": True
},
"from": {},
"status": {
"id": "<string>",
"name": "<string>",
"type": "<string>",
"color": "<string>",
"lightColor": "<string>",
"svg": "<string>",
"iconUrl": "<string>"
},
"assignedTo": {},
"context": {},
"priority": {
"id": "<string>",
"name": "<string>",
"color": "<string>",
"lightColor": "<string>"
},
"suggestion": {
"targetId": "<string>",
"targetType": "<string>",
"oldValue": "<any>",
"newValue": "<any>",
"summary": "<string>",
"driftDetected": True
}
}
],
"updateUsers": [
{
"oldUser": {
"userId": "<string>",
"name": "<string>",
"email": "<string>"
},
"newUser": {
"userId": "<string>",
"name": "<string>",
"email": "<string>"
}
}
]
} }
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>',
locationIds: ['<string>'],
userIds: ['<string>'],
annotationIds: ['<string>'],
updatedData: [
{
location: {id: '<string>', locationName: '<string>'},
targetElement: {
elementId: '<string>',
targetText: '<string>',
occurrence: 123,
selectAllContent: true
},
from: {},
status: {
id: '<string>',
name: '<string>',
type: '<string>',
color: '<string>',
lightColor: '<string>',
svg: '<string>',
iconUrl: '<string>'
},
assignedTo: {},
context: {},
priority: {id: '<string>', name: '<string>', color: '<string>', lightColor: '<string>'},
suggestion: {
targetId: '<string>',
targetType: '<string>',
oldValue: '<any>',
newValue: '<any>',
summary: '<string>',
driftDetected: true
}
}
],
updateUsers: [
{
oldUser: {userId: '<string>', name: '<string>', email: '<string>'},
newUser: {userId: '<string>', name: '<string>', email: '<string>'}
}
]
}
})
};
fetch('https://api.velt.dev/v2/commentannotations/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/commentannotations/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>',
'locationIds' => [
'<string>'
],
'userIds' => [
'<string>'
],
'annotationIds' => [
'<string>'
],
'updatedData' => [
[
'location' => [
'id' => '<string>',
'locationName' => '<string>'
],
'targetElement' => [
'elementId' => '<string>',
'targetText' => '<string>',
'occurrence' => 123,
'selectAllContent' => true
],
'from' => [
],
'status' => [
'id' => '<string>',
'name' => '<string>',
'type' => '<string>',
'color' => '<string>',
'lightColor' => '<string>',
'svg' => '<string>',
'iconUrl' => '<string>'
],
'assignedTo' => [
],
'context' => [
],
'priority' => [
'id' => '<string>',
'name' => '<string>',
'color' => '<string>',
'lightColor' => '<string>'
],
'suggestion' => [
'targetId' => '<string>',
'targetType' => '<string>',
'oldValue' => '<any>',
'newValue' => '<any>',
'summary' => '<string>',
'driftDetected' => true
]
]
],
'updateUsers' => [
[
'oldUser' => [
'userId' => '<string>',
'name' => '<string>',
'email' => '<string>'
],
'newUser' => [
'userId' => '<string>',
'name' => '<string>',
'email' => '<string>'
]
]
]
]
]),
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/commentannotations/update"
payload := strings.NewReader("{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"locationIds\": [\n \"<string>\"\n ],\n \"userIds\": [\n \"<string>\"\n ],\n \"annotationIds\": [\n \"<string>\"\n ],\n \"updatedData\": [\n {\n \"location\": {\n \"id\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"targetElement\": {\n \"elementId\": \"<string>\",\n \"targetText\": \"<string>\",\n \"occurrence\": 123,\n \"selectAllContent\": true\n },\n \"from\": {},\n \"status\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\",\n \"svg\": \"<string>\",\n \"iconUrl\": \"<string>\"\n },\n \"assignedTo\": {},\n \"context\": {},\n \"priority\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\"\n },\n \"suggestion\": {\n \"targetId\": \"<string>\",\n \"targetType\": \"<string>\",\n \"oldValue\": \"<any>\",\n \"newValue\": \"<any>\",\n \"summary\": \"<string>\",\n \"driftDetected\": true\n }\n }\n ],\n \"updateUsers\": [\n {\n \"oldUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"newUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\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/commentannotations/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 \"locationIds\": [\n \"<string>\"\n ],\n \"userIds\": [\n \"<string>\"\n ],\n \"annotationIds\": [\n \"<string>\"\n ],\n \"updatedData\": [\n {\n \"location\": {\n \"id\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"targetElement\": {\n \"elementId\": \"<string>\",\n \"targetText\": \"<string>\",\n \"occurrence\": 123,\n \"selectAllContent\": true\n },\n \"from\": {},\n \"status\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\",\n \"svg\": \"<string>\",\n \"iconUrl\": \"<string>\"\n },\n \"assignedTo\": {},\n \"context\": {},\n \"priority\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\"\n },\n \"suggestion\": {\n \"targetId\": \"<string>\",\n \"targetType\": \"<string>\",\n \"oldValue\": \"<any>\",\n \"newValue\": \"<any>\",\n \"summary\": \"<string>\",\n \"driftDetected\": true\n }\n }\n ],\n \"updateUsers\": [\n {\n \"oldUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"newUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\n }\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/commentannotations/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 \"locationIds\": [\n \"<string>\"\n ],\n \"userIds\": [\n \"<string>\"\n ],\n \"annotationIds\": [\n \"<string>\"\n ],\n \"updatedData\": [\n {\n \"location\": {\n \"id\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"targetElement\": {\n \"elementId\": \"<string>\",\n \"targetText\": \"<string>\",\n \"occurrence\": 123,\n \"selectAllContent\": true\n },\n \"from\": {},\n \"status\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\",\n \"svg\": \"<string>\",\n \"iconUrl\": \"<string>\"\n },\n \"assignedTo\": {},\n \"context\": {},\n \"priority\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"color\": \"<string>\",\n \"lightColor\": \"<string>\"\n },\n \"suggestion\": {\n \"targetId\": \"<string>\",\n \"targetType\": \"<string>\",\n \"oldValue\": \"<any>\",\n \"newValue\": \"<any>\",\n \"summary\": \"<string>\",\n \"driftDetected\": true\n }\n }\n ],\n \"updateUsers\": [\n {\n \"oldUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"newUser\": {\n \"userId\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\"\n }\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Annotations updated successfully.",
"data": {
"yourAnnotationId1": {
"success": true,
"id": "yourAnnotationId1",
"message": "Annotations updated successfully"
}
}
}
}
Use this API to update comment annotations in a document within an organization.
Additional filters can be applied using location IDs, annotation IDs, or user IDs.
Endpoint
POST https://api.velt.dev/v2/commentannotations/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
required
Document ID
string[]
Array of Location IDs
string[]
Array of User IDs. These are the users who created the comment annotation.
string[]
Array of Annotation IDs
object[]
Show properties
Show properties
object
Target Element
Show properties
Show properties
string
Element DOM Id
string
Target Text. Provide this if you want to add comment annotation on the provided text content.
number
Occurrence. Provide this if you want to add comment annotation on a text content.
boolean
Select All Content. Provide this if you want to select and add comment annotation on the entire text content of the target elementId.
User
User object from whom the Comment Annotation is added
Status
User
User object to whom the comment is assigned
object
Custom key/value metadata object
object
object
Proposed-change payload for
type: "suggestion" annotations. Any fields you send replace the persisted suggestion object. Only applied when the target annotation is a suggestion.The schema is open — additional custom fields are stored as-is. suggestion.status is server-owned and cannot be changed here: it is flipped to accepted or rejected only through the corresponding lifecycle actions (for example, accepting an agent suggestion). Any caller-supplied status is ignored.Show properties
Show properties
Example Requests
1. Update all comment annotations by organizationId and documentId
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"annotationIds": [
"yourAnnotationId1",
"yourAnnotationId2"
],
"updatedData" : {
"status": {
"id": "inprogress",
"name": "In Progress",
"type": "ongoing"
}
}
}
}
2. Update comment annotations by organizationId, documentId and locationIds
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"locationIds": [
"locationx"
],
"annotationIds": [
"yourAnnotationId1",
"yourAnnotationId2"
],
"updatedData" : {
"status": {
"id": "inprogress",
"name": "In Progress",
"type": "ongoing"
}
}
}
}
3. Update annotations by organizationId, documentId, locationIds and userIds
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"locationIds": [
"locationx"
],
"userIds": [
"yourUserId"
],
"annotationIds": [
"yourAnnotationId1",
"yourAnnotationId2"
],
"updatedData" : {
"status": {
"id": "inprogress",
"name": "In Progress",
"type": "ongoing"
}
}
}
}
4. Update comment annotations by organizationId, documentId and userIds
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"userIds": [
"yourUserId"
],
"annotationIds": [
"yourAnnotationId1",
"yourAnnotationId2"
],
"updatedData" : {
"status": {
"id": "inprogress",
"name": "In Progress",
"type": "ongoing"
}
}
}
}
5. Update comment annotations by organizationId, documentId and annotationIds
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"annotationIds": [
"yourAnnotationId1",
"yourAnnotationId2"
],
"updatedData" : {
"status": {
"id": "inprogress",
"name": "In Progress",
"type": "ongoing"
}
}
}
}
6. Update comment annotations by organizationId, documentId, locationIds and annotationIds
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"locationIds": [
"locationx"
],
"annotationIds": [
"yourAnnotationId1",
"yourAnnotationId2"
],
"updatedData" : {
"status": {
"id": "inprogress",
"name": "In Progress",
"type": "ongoing"
}
}
}
}
7. Update Users in existing comment annotations
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"annotationIds": [
"yourAnnotationId1",
"yourAnnotationId2"
],
"updateUsers" : [
{
"oldUser": {
"userId": "oldUserId",
},
"newUser": {
"userId": "newUserId",
"name": "newUserName",
"email": "newUserEmail"
}
}
]
}
}
8. Update comment annotations with access context
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"annotationIds": [
"yourAnnotationId1"
],
"updatedData": {
"context": {
"access": {
"entityId": "numberOfAccounts",
"dashboardId": "salesDashboard"
}
}
}
}
}
Response
Success Response
{
"result": {
"status": "success",
"message": "Annotations updated successfully.",
"data": {
"yourAnnotationId1": {
"success": true,
"id": "yourAnnotationId1",
"message": "Annotations updated successfully"
}
}
}
}
Failure Response
{
"error": {
"message": "ERROR_MESSAGE",
"status": "INVALID_ARGUMENT"
}
}
{
"result": {
"status": "success",
"message": "Annotations updated successfully.",
"data": {
"yourAnnotationId1": {
"success": true,
"id": "yourAnnotationId1",
"message": "Annotations updated successfully"
}
}
}
}
Was this page helpful?
⌘I

