Skip to content
Dashboard

Comments

Threaded discussions on posts and changelogs. Comments support voting, moderation, and privacy controls.

List comments
GET/v2/comments
Create a new comment
POST/v2/comments
Get a comment by ID
GET/v2/comments/{id}
Update a comment
PATCH/v2/comments/{id}
Delete a comment
DELETE/v2/comments/{id}
Delete a comment
DELETE/v2/comment
Search comments
POST/v2/comments/search
ModelsExpand Collapse
Comment object { id, author, changelogId, 14 more }
id: string

Unique identifier

author: object { id, name, profilePicture, type }
id: string

Author unique identifier

name: string

Author display name

profilePicture: string

Author profile picture URL

type: "admin" or "customer" or "guest" or 3 more

Type of user who authored the comment

One of the following:
"admin"
"customer"
"guest"
"integration"
"bot"
"lead"
changelogId: string

Changelog ID this comment belongs to

content: string

Comment content in HTML format

createdAt: string

ISO 8601 timestamp when created

downvotes: number

Number of downvotes

inReview: boolean

Whether the comment is in review

isDeleted: boolean

Whether the comment is deleted

isPinned: boolean

Whether the comment is pinned

isPrivate: boolean

Whether the comment is private

isSpam: boolean

Whether the comment is spam

object: "comment"

Object type identifier

parentCommentId: string

Parent comment ID for replies, null for root comments

postId: string

Post ID this comment belongs to

score: number

Net score (upvotes - downvotes)

updatedAt: string

ISO 8601 timestamp when updated

upvotes: number

Number of upvotes

CommentDelete0Response object { id, deleted, object }
id: string

Unique identifier of the deleted comment

deleted: true

Indicates the resource was deleted

object: "comment"

Object type identifier

CommentDelete1Response object { success }
success: boolean
CommentSearchResponse object { data, nextCursor, object, 2 more }
data: array of object { id, author, changelogId, 14 more }

Array of search results

id: string

Unique identifier

author: object { id, name, profilePicture, type }
id: string

Author unique identifier

name: string

Author display name

profilePicture: string

Author profile picture URL

type: "admin" or "customer" or "guest" or 3 more

Type of user who authored the comment

One of the following:
"admin"
"customer"
"guest"
"integration"
"bot"
"lead"
changelogId: string

Changelog ID this comment belongs to

content: string

Comment content in HTML format

createdAt: string

ISO 8601 timestamp when created

downvotes: number

Number of downvotes

inReview: boolean

Whether the comment is in review

isDeleted: boolean

Whether the comment is deleted

isPinned: boolean

Whether the comment is pinned

isPrivate: boolean

Whether the comment is private

isSpam: boolean

Whether the comment is spam

object: "comment"

Object type identifier

parentCommentId: string

Parent comment ID for replies, null for root comments

postId: string

Post ID this comment belongs to

score: number

Net score (upvotes - downvotes)

updatedAt: string

ISO 8601 timestamp when updated

upvotes: number

Number of upvotes

nextCursor: string

Cursor for fetching the next page (null if no more results)

object: "list"

Object type identifier

totalCount: optional number

Total number of comments matching the query, capped at 5000 in filter mode and 200 (the Turbopuffer top-K) in search mode. When at the cap, totalCountCapped is true and the value is exactly the cap.

totalCountCapped: optional boolean

True when totalCount is exactly the cap and the real count may be higher. UI can render as e.g. “5000+”.