# Get a comment by ID Retrieves a single comment by its unique identifier. Returns the full comment object including: - Author information - Voting stats (upvotes, downvotes, score) - Privacy and moderation status - Threading information (parentCommentId) - Timestamps ### Response Returns a comment object with all fields populated. ### Errors - 400 - Invalid comment ID format - 404 - Comment not found or doesn't belong to your organization Endpoint: GET /v2/comments/{id} Version: 2026-01-01.nova Security: bearerAuth ## Header parameters: - `Featurebase-Version` (string) API version for this request. Defaults to your organization's configured API version if not specified. Example: "2026-01-01.nova" ## Path parameters: - `id` (string, required) Comment unique identifier Example: "507f1f77bcf86cd799439011" ## Response 200 fields (application/json): - `object` (string, required) Object type identifier Enum: "comment" - `id` (string, required) Unique identifier Example: "507f1f77bcf86cd799439011" - `postId` (string,null, required) Post ID this comment belongs to Example: "507f1f77bcf86cd799439012" - `changelogId` (string,null, required) Changelog ID this comment belongs to Example: "507f1f77bcf86cd799439013" - `parentCommentId` (string,null, required) Parent comment ID for replies, null for root comments Example: "507f1f77bcf86cd799439014" - `content` (string, required) Comment content in HTML format Example: "
This is a great idea!
" - `author` (object,null, required) - `author.id` (string,null, required) Author unique identifier Example: "507f1f77bcf86cd799439011" - `author.name` (string, required) Author display name Example: "John Doe" - `author.profilePicture` (string,null, required) Author profile picture URL Example: "https://cdn.example.com/avatars/john.png" - `author.type` (string, required) Type of user who authored the comment Enum: "admin", "customer", "guest", "integration", "bot", "lead" - `upvotes` (number, required) Number of upvotes Example: 5 - `downvotes` (number, required) Number of downvotes - `score` (number, required) Net score (upvotes - downvotes) Example: 5 - `isPrivate` (boolean, required) Whether the comment is private - `isDeleted` (boolean, required) Whether the comment is deleted - `isPinned` (boolean, required) Whether the comment is pinned - `inReview` (boolean, required) Whether the comment is in review - `isSpam` (boolean, required) Whether the comment is spam - `createdAt` (string, required) ISO 8601 timestamp when created Example: "2023-12-12T00:00:00.000Z" - `updatedAt` (string, required) ISO 8601 timestamp when updated Example: "2023-12-13T00:00:00.000Z" ## Response 400 fields (application/json): - `error` (object, required) - `error.type` (string, required) The type of error returned Enum: "invalid_request_error" - `error.code` (string, required) Machine-readable error code Enum: "invalid_id" - `error.message` (string, required) Human-readable error message Example: "An error occurred" - `error.param` (string) The parameter that caused the error (if applicable) Example: "id" - `error.status` (number, required) HTTP status code Enum: 400 ## Response 404 fields (application/json): - `error` (object, required) - `error.type` (string, required) The type of error returned Enum: "invalid_request_error" - `error.code` (string, required) Machine-readable error code Enum: "comment_not_found" - `error.message` (string, required) Human-readable error message Example: "An error occurred" - `error.param` (string) The parameter that caused the error (if applicable) Example: "id" - `error.status` (number, required) HTTP status code Enum: 404