Add Comments
curl --request POST \
--url https://api.velt.dev/v1/commentannotations/comments/add \
--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>",
"annotationId": "<string>",
"commentData": [
{
"commentId": 123,
"commentText": "<string>",
"commentHtml": "<string>",
"isCommentResolverUsed": true,
"isCommentTextAvailable": true,
"from": {},
"createdAt": 123,
"lastUpdated": 123,
"taggedUserContacts": [
{
"text": "<string>",
"userId": "<string>",
"contact": {
"email": "<string>",
"name": "<string>",
"userId": "<string>"
}
}
]
}
]
}
}
'import requests
url = "https://api.velt.dev/v1/commentannotations/comments/add"
payload = { "data": {
"organizationId": "<string>",
"documentId": "<string>",
"annotationId": "<string>",
"commentData": [
{
"commentId": 123,
"commentText": "<string>",
"commentHtml": "<string>",
"isCommentResolverUsed": True,
"isCommentTextAvailable": True,
"from": {},
"createdAt": 123,
"lastUpdated": 123,
"taggedUserContacts": [
{
"text": "<string>",
"userId": "<string>",
"contact": {
"email": "<string>",
"name": "<string>",
"userId": "<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>',
annotationId: '<string>',
commentData: [
{
commentId: 123,
commentText: '<string>',
commentHtml: '<string>',
isCommentResolverUsed: true,
isCommentTextAvailable: true,
from: {},
createdAt: 123,
lastUpdated: 123,
taggedUserContacts: [
{
text: '<string>',
userId: '<string>',
contact: {email: '<string>', name: '<string>', userId: '<string>'}
}
]
}
]
}
})
};
fetch('https://api.velt.dev/v1/commentannotations/comments/add', 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/v1/commentannotations/comments/add",
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>',
'annotationId' => '<string>',
'commentData' => [
[
'commentId' => 123,
'commentText' => '<string>',
'commentHtml' => '<string>',
'isCommentResolverUsed' => true,
'isCommentTextAvailable' => true,
'from' => [
],
'createdAt' => 123,
'lastUpdated' => 123,
'taggedUserContacts' => [
[
'text' => '<string>',
'userId' => '<string>',
'contact' => [
'email' => '<string>',
'name' => '<string>',
'userId' => '<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/v1/commentannotations/comments/add"
payload := strings.NewReader("{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"annotationId\": \"<string>\",\n \"commentData\": [\n {\n \"commentId\": 123,\n \"commentText\": \"<string>\",\n \"commentHtml\": \"<string>\",\n \"isCommentResolverUsed\": true,\n \"isCommentTextAvailable\": true,\n \"from\": {},\n \"createdAt\": 123,\n \"lastUpdated\": 123,\n \"taggedUserContacts\": [\n {\n \"text\": \"<string>\",\n \"userId\": \"<string>\",\n \"contact\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"userId\": \"<string>\"\n }\n }\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/v1/commentannotations/comments/add")
.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 \"annotationId\": \"<string>\",\n \"commentData\": [\n {\n \"commentId\": 123,\n \"commentText\": \"<string>\",\n \"commentHtml\": \"<string>\",\n \"isCommentResolverUsed\": true,\n \"isCommentTextAvailable\": true,\n \"from\": {},\n \"createdAt\": 123,\n \"lastUpdated\": 123,\n \"taggedUserContacts\": [\n {\n \"text\": \"<string>\",\n \"userId\": \"<string>\",\n \"contact\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"userId\": \"<string>\"\n }\n }\n ]\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v1/commentannotations/comments/add")
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 \"annotationId\": \"<string>\",\n \"commentData\": [\n {\n \"commentId\": 123,\n \"commentText\": \"<string>\",\n \"commentHtml\": \"<string>\",\n \"isCommentResolverUsed\": true,\n \"isCommentTextAvailable\": true,\n \"from\": {},\n \"createdAt\": 123,\n \"lastUpdated\": 123,\n \"taggedUserContacts\": [\n {\n \"text\": \"<string>\",\n \"userId\": \"<string>\",\n \"contact\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"userId\": \"<string>\"\n }\n }\n ]\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Comment(s) added successfully.",
"data": [
778115
]
}
}
Comments
Add Comments
POST
/
v1
/
commentannotations
/
comments
/
add
Add Comments
curl --request POST \
--url https://api.velt.dev/v1/commentannotations/comments/add \
--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>",
"annotationId": "<string>",
"commentData": [
{
"commentId": 123,
"commentText": "<string>",
"commentHtml": "<string>",
"isCommentResolverUsed": true,
"isCommentTextAvailable": true,
"from": {},
"createdAt": 123,
"lastUpdated": 123,
"taggedUserContacts": [
{
"text": "<string>",
"userId": "<string>",
"contact": {
"email": "<string>",
"name": "<string>",
"userId": "<string>"
}
}
]
}
]
}
}
'import requests
url = "https://api.velt.dev/v1/commentannotations/comments/add"
payload = { "data": {
"organizationId": "<string>",
"documentId": "<string>",
"annotationId": "<string>",
"commentData": [
{
"commentId": 123,
"commentText": "<string>",
"commentHtml": "<string>",
"isCommentResolverUsed": True,
"isCommentTextAvailable": True,
"from": {},
"createdAt": 123,
"lastUpdated": 123,
"taggedUserContacts": [
{
"text": "<string>",
"userId": "<string>",
"contact": {
"email": "<string>",
"name": "<string>",
"userId": "<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>',
annotationId: '<string>',
commentData: [
{
commentId: 123,
commentText: '<string>',
commentHtml: '<string>',
isCommentResolverUsed: true,
isCommentTextAvailable: true,
from: {},
createdAt: 123,
lastUpdated: 123,
taggedUserContacts: [
{
text: '<string>',
userId: '<string>',
contact: {email: '<string>', name: '<string>', userId: '<string>'}
}
]
}
]
}
})
};
fetch('https://api.velt.dev/v1/commentannotations/comments/add', 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/v1/commentannotations/comments/add",
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>',
'annotationId' => '<string>',
'commentData' => [
[
'commentId' => 123,
'commentText' => '<string>',
'commentHtml' => '<string>',
'isCommentResolverUsed' => true,
'isCommentTextAvailable' => true,
'from' => [
],
'createdAt' => 123,
'lastUpdated' => 123,
'taggedUserContacts' => [
[
'text' => '<string>',
'userId' => '<string>',
'contact' => [
'email' => '<string>',
'name' => '<string>',
'userId' => '<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/v1/commentannotations/comments/add"
payload := strings.NewReader("{\n \"data\": {\n \"organizationId\": \"<string>\",\n \"documentId\": \"<string>\",\n \"annotationId\": \"<string>\",\n \"commentData\": [\n {\n \"commentId\": 123,\n \"commentText\": \"<string>\",\n \"commentHtml\": \"<string>\",\n \"isCommentResolverUsed\": true,\n \"isCommentTextAvailable\": true,\n \"from\": {},\n \"createdAt\": 123,\n \"lastUpdated\": 123,\n \"taggedUserContacts\": [\n {\n \"text\": \"<string>\",\n \"userId\": \"<string>\",\n \"contact\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"userId\": \"<string>\"\n }\n }\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/v1/commentannotations/comments/add")
.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 \"annotationId\": \"<string>\",\n \"commentData\": [\n {\n \"commentId\": 123,\n \"commentText\": \"<string>\",\n \"commentHtml\": \"<string>\",\n \"isCommentResolverUsed\": true,\n \"isCommentTextAvailable\": true,\n \"from\": {},\n \"createdAt\": 123,\n \"lastUpdated\": 123,\n \"taggedUserContacts\": [\n {\n \"text\": \"<string>\",\n \"userId\": \"<string>\",\n \"contact\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"userId\": \"<string>\"\n }\n }\n ]\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v1/commentannotations/comments/add")
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 \"annotationId\": \"<string>\",\n \"commentData\": [\n {\n \"commentId\": 123,\n \"commentText\": \"<string>\",\n \"commentHtml\": \"<string>\",\n \"isCommentResolverUsed\": true,\n \"isCommentTextAvailable\": true,\n \"from\": {},\n \"createdAt\": 123,\n \"lastUpdated\": 123,\n \"taggedUserContacts\": [\n {\n \"text\": \"<string>\",\n \"userId\": \"<string>\",\n \"contact\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"userId\": \"<string>\"\n }\n }\n ]\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"status": "success",
"message": "Comment(s) added successfully.",
"data": [
778115
]
}
}
Use this API to add comments within a specific CommentAnnotation.
Endpoint
POST https://api.velt.dev/v1/commentannotations/comments/add
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
required
Comment Annotation ID
Comment[]
required
Array of Comment Data
Show properties
Show properties
number
Custom Comment ID. If not provided, Velt will generate a unique ID for the comment.
string
Comment content in plain text string
string
Comment content in HTML string
boolean
Use this for self-hosting comments data. Set this as true if you are comments resolver data provider in the SDK.
boolean
Use this for self-hosting comments data. Set this as true if this comment will have text content. Sometimes, comments might only have attachments and in that case, set this as false.
User
required
User object from whom the comment is added
number
Created At timestamp (in milliseconds since epoch).
number
Last Updated timestamp (in milliseconds since epoch).
Object[]
Example Requests
1. Add comment in a CommentAnnotation by organizationId, documentId, and annotationId
{
"data": {
"organizationId": "yourOrganizationId",
"documentId": "yourDocumentId",
"annotationId": "yourAnnotationId",
"commentData": [
{
"commentText": "Sample Comment",
"commentHtml": "<div>Hello</div>",
"from": {
"userId": "yourUserId"
}
}
]
}
}
Response
Success Response
{
"result": {
"status": "success",
"message": "Comment(s) added successfully.",
"data": [
778115
]
}
}
Failure Response
{
"error": {
"message": "ERROR_MESSAGE",
"status": "INVALID_ARGUMENT"
}
}
{
"result": {
"status": "success",
"message": "Comment(s) added successfully.",
"data": [
778115
]
}
}
Was this page helpful?
⌘I

