comments module provides full server-side control over comments on entities. Use it to seed content, build moderation pipelines, or integrate comment data into your backend logic.
createComment
Creates a new comment on an entity.The Sublay entity ID to comment on.
The Sublay user ID of the comment author.
The comment text content.
Your application’s identifier for this comment.
A GIF to attach to the comment (
GifData), or null.User mentions embedded in the comment.
The Sublay comment ID of the parent, for creating a reply.
A comment being directly quoted or referenced.
File or media attachments on the comment.
Arbitrary metadata attached to the comment.
A
Date used to backdate the comment’s creation time.A
Date used to backdate the comment’s last update time.Promise<Comment>
fetchComment
Fetches a single comment by its Sublay ID.The Sublay comment ID.
Comma-separated list of associations to populate.
Opts the returned comment’s author into a
spaceReputation number. Accepts a space <uuid>, "none" (the project-general bucket), or "context" (the space derived from the request context). The empty string and the legacy general / null aliases are rejected. See Reputation.Only honored alongside an explicit space
<uuid>. When true, spaceReputation is the subtree sum — the named space plus all of its descendants.Promise<Comment>
fetchCommentByForeignId
Fetches a comment by your application’s own identifier.Your application’s comment identifier.
Comma-separated list of associations to populate.
Promise<Comment>
updateComment
Updates the content of an existing comment.The Sublay comment ID to update.
The new comment text.
Promise<Comment>
deleteComment
Permanently deletes a comment.The Sublay comment ID to delete.
Promise<void>
fetchManyComments
Fetches a paginated list of comments on an entity. Supports top-level and reply-level fetching.The Sublay entity ID to fetch comments for.
Filter to comments authored by a specific user.
When provided, fetches replies to this specific comment ID instead of top-level comments.
Filter comments by source ID.
Page number (1-indexed). Defaults to
1.Results per page. Defaults to
20.Sort order:
"createdAt" (newest first; honors sortDir), "top" (highest scored), or "controversial". "new" (createdAt DESC) and "old" (createdAt ASC) are deprecated aliases for "createdAt" (removed in v8) — the server still accepts them but responds with a deprecation header.Comma-separated list of associations to populate.
Opts each returned comment’s author into a
spaceReputation number. Accepts a space <uuid>, "none" (the project-general bucket), or "context" (the space derived from the request context — resolved per-row from the space each comment belongs to). The empty string and the legacy general / null aliases are rejected. See Reputation.Only honored alongside an explicit space
<uuid>. When true, spaceReputation is the subtree sum — the named space plus all of its descendants.Promise<PaginatedResponse<Comment>>
addReaction
Adds a reaction from a user to a comment.The Sublay comment ID.
The Sublay user ID of the reactor.
One of:
"upvote", "downvote", "like", "love", "wow", "sad", "angry", "funny".Promise<Reaction>
removeReaction
Removes a user’s existing reaction from a comment.The Sublay comment ID.
The Sublay user ID whose reaction to remove.
Promise<void>
fetchReactions
Fetches a paginated list of reactions on a comment, optionally filtered by reaction type.The Sublay comment ID.
Filter to a specific reaction type.
Page number (1-indexed). Defaults to
1.Results per page. Defaults to
20.Sort direction:
"asc" or "desc".Opts each returned reactor into a
spaceReputation number. Accepts a space <uuid>, "none" (the project-general bucket), or "context" (the space derived from the request context). The empty string and the legacy general / null aliases are rejected. See Reputation.Only honored alongside an explicit space
<uuid>. When true, spaceReputation is the subtree sum — the named space plus all of its descendants.Promise<PaginatedResponse<Reaction>>
getUserReaction
Checks what reaction (if any) a specific user has left on a comment.The Sublay comment ID.
The Sublay user ID to check.
Promise<{ reactionType: ReactionType | null }>
