Skip to main content
Fetch Many Comments
Returns a paginated list of comments. Used for both top-level comment threads (filter by entityId) and reply threads (filter by parentId). Also used for user profile comment history (filter by userId). Deleted comments in thread view appear as stripped placeholders to preserve tree structure (Reddit-style). Authors viewing their own comments always see full data.

Query Parameters

string
Filter comments by entity. Returns all comments (top-level and replies) for this entity.
string
Filter to replies of a specific comment. Used to fetch a reply thread.
string
Filter to comments by a specific user. When this matches the authenticated user’s ID, soft-deleted comments are included with full data.
string
Filter by the sourceId of the entity. Only effective when include contains entity.
string
default:"exclude"
Controls how comments authored by users the viewer is block-edged with are treated. "exclude" (default) hides those comments. "include-outbound-blocked" re-includes comments authored only by users the viewer themselves blocked (their own “view anyway” choice); it never surfaces content from users who blocked the viewer. Counts reflect what the viewer sees (computed post-filter). Has no effect when the moderation bundle is not installed.
string
default:"createdAt"
Sort order. One of:
  • createdAt — chronological by creation time (honors sortDir; newest first by default)
  • top — by net upvotes (upvotes minus downvotes)
  • controversial — high total votes with a close up/down split (comments with no votes sort last)
string
default:"DESC"
Sort direction for sortBy=createdAt. ASC or DESC.
new and old are deprecated aliases (removed in v8). new === createdAt with sortDir=desc; old === createdAt with sortDir=asc. They still work identically, but requests using them receive a non-blocking Deprecation response header — switch to createdAt (+ sortDir).
number
default:"1"
Page number (1-indexed).
number
default:"10"
Number of comments per page. Maximum 100.
string
Comma-separated list of associations to include. Valid values: user, entity, space, grants (the reputation-grant summary. Note parent is accepted by validation on this endpoint but is only resolved on the single-comment reads.)
Requesting space automatically includes entity as well, since space membership is resolved via the entity. Requesting user also includes the user’s avatar and banner file URLs.

Space-scoped reputation

This endpoint has a space in context, so it accepts the opt-in reputation params. They add a spaceReputation field to each populated author user, alongside the always-present reputation total. Requires the reputation bundle. See the Reputation data model for the full contract.

Response

Returns a paginated response:
Each item is a Comment. In thread view (no userId filter), removed comments appear as stripped placeholders: userId, user, content, gif, mentions, and attachments are nulled out. Structural fields such as id, parentId, entityId, reactionCounts, repliesCount, createdAt, updatedAt, metadata, and foreignId are retained so the tree can be rendered. This applies to both user-deleted comments (always stripped) and moderation-removed comments (stripped for non-authors; the author sees full data).