Skip to main content

Overview

Comments allow users to discuss questions, share insights, and explain their reasoning. Comments can be public or private, can include forecasts, and support threading (replies).

List Comments

GET /api/comments/ Retrieve comments with filtering options. Either post or author parameter is required.

Query Parameters

integer
Filter comments by post ID (required if author not provided)
integer
Filter comments by author user ID (required if post not provided)
boolean
default:"false"
Show private comments (for authenticated user only) or public comments
boolean
Filter to only root comments (true) or only replies (false)
string
Sort order: created_at (oldest first) or -created_at (newest first)
integer
Place a specific comment at the top of results
boolean
default:"false"
Include soft-deleted comments in results
boolean
If true, pagination applies only to root comments, and all replies are included
integer
default:"50"
Number of comments to return
integer
default:"0"
Pagination offset

Response

integer
Total number of comments (including replies)
integer
Number of root comments only
string
URL for next page, or null
string
URL for previous page, or null
array
Array of comment objects

Comment Object

integer
Unique comment identifier
object
Author information
integer
User ID
string
Username
boolean
Whether the author is a bot
boolean
Whether the author is Metaculus staff
integer
ID of the comment being replied to, or null if root comment
integer
ID of the root comment in this thread
string (datetime)
When the comment was created
string (datetime)
When the comment text was last edited
string
Comment content in markdown
integer
ID of the post this comment belongs to
object
Basic post information
integer
Post ID
string
Post title
object
Forecast data if user included their prediction with the comment
integer
Question ID
number
For binary questions: probability value
array
For continuous questions: CDF array
boolean
Whether this is a private comment
boolean
Whether the comment has been deleted
boolean
Whether the comment is pinned by moderators
integer
Total vote score (upvotes - downvotes)
integer
Current user’s vote: 1 (upvote), -1 (downvote), or null
object
“Changed my mind” indicators
integer
Number of users who marked this comment as changing their mind
boolean
Whether current user marked this as changing their mind
array
Users mentioned with @ in the comment
string
Author’s staff permission level on the post
array
Key factors associated with this comment (advanced feature)

Create Comment

POST /api/comments/create/ Create a new comment on a post.

Request Body

integer
required
The post ID to comment on
string
required
Comment text in markdown format. Can be empty if key_factors are provided.
boolean
default:"false"
Whether this is a private comment (visible only to you)
boolean
default:"false"
Include your most recent forecast on this question
integer
ID of the comment to reply to (omit for root comments)
array
Advanced: Key factors to attach to this comment

Response

Returns the created comment object.
Comment FormattingComments support markdown formatting:
  • Bold: **text**
  • Italic: *text*
  • Links: [text](url)
  • Lists: - item or 1. item
  • Code: `code`
  • Mentions: @username
  • LaTeX math: $equation$ or $$block$$

Edit Comment

PATCH /api/comments/{commentId}/edit/ Edit your own comment.

Path Parameters

integer
required
The comment ID to edit

Request Body

string
required
Updated comment text
You can only edit your own comments. The edit timestamp is tracked in text_edited_at.

Delete Comment

DELETE /api/comments/{commentId}/delete/ Soft-delete your comment. The comment text is replaced with “deleted” but the comment remains visible.

Path Parameters

integer
required
The comment ID to delete

Vote on Comment

POST /api/comments/{commentId}/vote/ Vote on a comment.

Path Parameters

integer
required
The comment ID to vote on

Request Body

integer
required
Vote direction:
  • 1: Upvote
  • -1: Downvote
  • 0: Remove vote

Report Comment

POST /api/comments/{commentId}/report/ Report a comment for moderator review.

Path Parameters

integer
required
The comment ID to report

Request Body

string
required
Reason for reporting

Example: Comment Thread

Example: Comment with Forecast