Reply to a comment
Creates a new child comment under the parent comment specified by comment_id. The request body must include the content field and can optionally include additional metadata such as schema. The child comment can also be referred to as a reply or a thread.
curl --request POST \
--url https://api.superthread.com/v1/{team_id}/comments/{comment_id}/children \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "Good point!",
"content_format": "html",
"schema": 1
}
'import requests
url = "https://api.superthread.com/v1/{team_id}/comments/{comment_id}/children"
payload = {
"content": "Good point!",
"content_format": "html",
"schema": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({content: 'Good point!', content_format: 'html', schema: 1})
};
fetch('https://api.superthread.com/v1/{team_id}/comments/{comment_id}/children', 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.superthread.com/v1/{team_id}/comments/{comment_id}/children",
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' => 'Good point!',
'content_format' => 'html',
'schema' => 1
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.superthread.com/v1/{team_id}/comments/{comment_id}/children"
payload := strings.NewReader("{\n \"content\": \"Good point!\",\n \"content_format\": \"html\",\n \"schema\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <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.superthread.com/v1/{team_id}/comments/{comment_id}/children")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"Good point!\",\n \"content_format\": \"html\",\n \"schema\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.superthread.com/v1/{team_id}/comments/{comment_id}/children")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"Good point!\",\n \"content_format\": \"html\",\n \"schema\": 1\n}"
response = http.request(request)
puts response.read_body{
"child_comment": {
"id": "42",
"content": "Good point!",
"is_internal": true,
"schema": 1,
"page_id": "431",
"card_id": "433",
"user_id": "u-dsu0j19",
"user": {
"user_id": "uDsu0j19",
"type": "user",
"source": {
"type": "oauth",
"client_id": "oczapier",
"import_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"agent_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"email_addr": "somebody@example.com",
"email_verified": false,
"on_behalf_of": "<string>"
}
},
"user_updated": {
"user_id": "uDsu0j19",
"type": "user",
"source": {
"type": "oauth",
"client_id": "oczapier",
"import_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"agent_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"email_addr": "somebody@example.com",
"email_verified": false,
"on_behalf_of": "<string>"
}
},
"team_id": "u-dsu0j19",
"time_created": 1608742037016,
"time_updated": 1608742037016,
"reactions": [
{
"id": "sweat_smile",
"unicode": "<string>",
"members": [
{
"user_id": "<string>",
"time_created": 1608742037016,
"variation": "<string>"
}
]
}
],
"health_update_metadata": {
"previous": "on_track",
"new": "on_track",
"time": 1608742037016
},
"parent_id": "1"
}
}{
"error": {
"id": "err5f744ab",
"code": 403,
"sec": "SEC:000-00014",
"message": "You do not have access to this resource",
"date": 1608742037016
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Team ID is an alphanumerical string that identifies a Team. This is externally referred to as a "Workspace".
Comment ID is a numerical string that identifies a Comment.
Body
Comment object that needs to be created
102400"Good point!"
Format of the content field. When set to 'markdown', the server converts the content from GitHub Flavored Markdown to HTML before storage. Defaults to 'html'.
html, markdown 1
Response
comment created
Show child attributes
Show child attributes
curl --request POST \
--url https://api.superthread.com/v1/{team_id}/comments/{comment_id}/children \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "Good point!",
"content_format": "html",
"schema": 1
}
'import requests
url = "https://api.superthread.com/v1/{team_id}/comments/{comment_id}/children"
payload = {
"content": "Good point!",
"content_format": "html",
"schema": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({content: 'Good point!', content_format: 'html', schema: 1})
};
fetch('https://api.superthread.com/v1/{team_id}/comments/{comment_id}/children', 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.superthread.com/v1/{team_id}/comments/{comment_id}/children",
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' => 'Good point!',
'content_format' => 'html',
'schema' => 1
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.superthread.com/v1/{team_id}/comments/{comment_id}/children"
payload := strings.NewReader("{\n \"content\": \"Good point!\",\n \"content_format\": \"html\",\n \"schema\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <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.superthread.com/v1/{team_id}/comments/{comment_id}/children")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"Good point!\",\n \"content_format\": \"html\",\n \"schema\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.superthread.com/v1/{team_id}/comments/{comment_id}/children")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"Good point!\",\n \"content_format\": \"html\",\n \"schema\": 1\n}"
response = http.request(request)
puts response.read_body{
"child_comment": {
"id": "42",
"content": "Good point!",
"is_internal": true,
"schema": 1,
"page_id": "431",
"card_id": "433",
"user_id": "u-dsu0j19",
"user": {
"user_id": "uDsu0j19",
"type": "user",
"source": {
"type": "oauth",
"client_id": "oczapier",
"import_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"agent_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"email_addr": "somebody@example.com",
"email_verified": false,
"on_behalf_of": "<string>"
}
},
"user_updated": {
"user_id": "uDsu0j19",
"type": "user",
"source": {
"type": "oauth",
"client_id": "oczapier",
"import_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"agent_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"email_addr": "somebody@example.com",
"email_verified": false,
"on_behalf_of": "<string>"
}
},
"team_id": "u-dsu0j19",
"time_created": 1608742037016,
"time_updated": 1608742037016,
"reactions": [
{
"id": "sweat_smile",
"unicode": "<string>",
"members": [
{
"user_id": "<string>",
"time_created": 1608742037016,
"variation": "<string>"
}
]
}
],
"health_update_metadata": {
"previous": "on_track",
"new": "on_track",
"time": 1608742037016
},
"parent_id": "1"
}
}{
"error": {
"id": "err5f744ab",
"code": 403,
"sec": "SEC:000-00014",
"message": "You do not have access to this resource",
"date": 1608742037016
}
}