Reply to comment
curl --request POST \
--url https://api.surefeedback.com/api/v1/comments/{id}/reply \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"content": "<string>",
"is_private": true,
"attachments": [
{}
]
}
'import requests
url = "https://api.surefeedback.com/api/v1/comments/{id}/reply"
payload = {
"content": "<string>",
"is_private": True,
"attachments": [{}]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({content: '<string>', is_private: true, attachments: [{}]})
};
fetch('https://api.surefeedback.com/api/v1/comments/{id}/reply', 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.surefeedback.com/api/v1/comments/{id}/reply",
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([
'content' => '<string>',
'is_private' => true,
'attachments' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.surefeedback.com/api/v1/comments/{id}/reply"
payload := strings.NewReader("{\n \"content\": \"<string>\",\n \"is_private\": true,\n \"attachments\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.surefeedback.com/api/v1/comments/{id}/reply")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"<string>\",\n \"is_private\": true,\n \"attachments\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.surefeedback.com/api/v1/comments/{id}/reply")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"<string>\",\n \"is_private\": true,\n \"attachments\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Reply created successfully",
"data": {
"reply": {
"id": "aa0e8400-e29b-41d4-a716-446655440005",
"comment_id": "990e8400-e29b-41d4-a716-446655440004",
"content": "I can reproduce this on Safari 17 as well.",
"priority": "MEDIUM",
"created_by": { "id": "...", "name": "Jane Smith" },
"created_at": "2026-03-02T13:00:00Z"
}
}
}
Comments
Reply to comment
Add a reply to an existing comment.
POST
/
comments
/
{id}
/
reply
Reply to comment
curl --request POST \
--url https://api.surefeedback.com/api/v1/comments/{id}/reply \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"content": "<string>",
"is_private": true,
"attachments": [
{}
]
}
'import requests
url = "https://api.surefeedback.com/api/v1/comments/{id}/reply"
payload = {
"content": "<string>",
"is_private": True,
"attachments": [{}]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({content: '<string>', is_private: true, attachments: [{}]})
};
fetch('https://api.surefeedback.com/api/v1/comments/{id}/reply', 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.surefeedback.com/api/v1/comments/{id}/reply",
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([
'content' => '<string>',
'is_private' => true,
'attachments' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.surefeedback.com/api/v1/comments/{id}/reply"
payload := strings.NewReader("{\n \"content\": \"<string>\",\n \"is_private\": true,\n \"attachments\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.surefeedback.com/api/v1/comments/{id}/reply")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"<string>\",\n \"is_private\": true,\n \"attachments\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.surefeedback.com/api/v1/comments/{id}/reply")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"<string>\",\n \"is_private\": true,\n \"attachments\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Reply created successfully",
"data": {
"reply": {
"id": "aa0e8400-e29b-41d4-a716-446655440005",
"comment_id": "990e8400-e29b-41d4-a716-446655440004",
"content": "I can reproduce this on Safari 17 as well.",
"priority": "MEDIUM",
"created_by": { "id": "...", "name": "Jane Smith" },
"created_at": "2026-03-02T13:00:00Z"
}
}
}
Adds a reply to an existing comment thread. All participants in the thread are notified.
Path parameters
string
required
UUID of the parent comment.
Request body
string
Reply text content. Required when no attachments are provided.
boolean
Whether the reply is private. Default:
false.array
Optional attachment payload. At least one of
content or attachments must be provided.{
"success": true,
"message": "Reply created successfully",
"data": {
"reply": {
"id": "aa0e8400-e29b-41d4-a716-446655440005",
"comment_id": "990e8400-e29b-41d4-a716-446655440004",
"content": "I can reproduce this on Safari 17 as well.",
"priority": "MEDIUM",
"created_by": { "id": "...", "name": "Jane Smith" },
"created_at": "2026-03-02T13:00:00Z"
}
}
}
Was this page helpful?
⌘I