SDK TypeScript v7.28.0+ · iOS 8.8.0+ · Android 7.27.0+ · Last verified September 2026 · Not available on Flutter
Speed run — just the code
Speed run — just the code
Prerequisites: SDK installed and authenticated, a community whose settings you can change, and a user who holds
REVIEW_COMMUNITY_COMMENT on it (community moderators do by default).Also recommended: Comments & Reactions for the comment thread this guide builds on.After completing this guide you’ll have:
- A community that holds members’ comments for review
- An author experience that shows a pending comment as “awaiting review”
- Comment threads and counts that stay correct as comments are approved
- A reviewer screen that lists pending comments and approves or declines them
How Comment Review Works
A comment is held only when three things are true: it is on a post in a community, that community requires comment review, and its author cannot review the community’s comments. The community’s creator and its moderators publish immediately. Comments on stories, on user-feed posts, and on your own content IDs are never held. A held comment ispending. A reviewer approves it (approved, visible to everyone) or declines it (rejected, and deleted). Editing an approved comment’s content sends it back to pending. The full rules, with every transition and what it changes, are in the Approval Lifecycle.
Step-by-Step Implementation
1
Turn on review for a community
Set Moderators can also turn it on from the Admin Console: the community’s Permissions tab → Approve member comments. On Android, use
needApprovalOnCommentCreation when you create or update the community. From then on, new comments by members who cannot review are held.TypeScript
isCommentReviewEnabled(true) on the community create or update builder.Full reference → Require Review for Community Comments2
Create comments and show the author an awaiting-review state
Create with optimistic creation turned off. An optimistic create shows a local comment before the server answers, and its approval status is only the SDK’s guess; with it off, the comment you receive carries the server’s decision.Keep that returned comment and render it yourself. A pending comment never appears in a comment query, not even its author’s, so the thread alone would make it look as if the comment disappeared.Full reference → Read Approval Status on a Comment
TypeScript
3
Keep the thread and counts correct
Subscribe to the post’s comment topic so approvals reach the client. The comment query then inserts an approved comment into the thread on its own, in the position where it was written, and moves the count.For the post’s comment count,
TypeScript
post.commentsCount counts approved comments for everyone, the author included. Use post.getLocalCommentCount(true) when the author should see their own pending comment counted.Full reference → Social Realtime Events · What Approving or Declining Changes4
Build the reviewer screen
Show review controls only to users who hold Approve or decline by comment ID. Approving publishes the comment; declining rejects and deletes it.Full reference → Query the Review Queue · Approve or Decline a Comment
REVIEW_COMMUNITY_COMMENT on the community. The server enforces the permission on every call; the client check is for hiding controls.TypeScript
TypeScript
5
Handle edits
An effective edit by the author sends an approved comment back to review, so read the status on the edited comment too. Whether an author may edit a comment that is still pending is a network setting; read it before you show an edit control on a pending comment.Full reference → How the Status Changes
TypeScript
Admin Console: Review Comments Without Building a Screen
Moderators can work the same queue from the Admin Console instead of an in-app screen: the Requires approval queue on the Comments page lists pending comments, with approve and decline actions. Both surfaces act on the same comments, so a decision in one is reflected in the other. → Comment Approval in the ConsoleCommon Mistakes
Best Practices
Reviewer experience
Reviewer experience
- Filter the queue by
postIdor a date range when a community is busy - Treat a
404on a pending comment as “not visible to you”, not as “deleted” - Remember that turning review off does not clear the queue; pending comments still need a decision
Next Steps
Your next step → Content Moderation Pipeline
Comments are reviewed before they go live — now add flagging, AI moderation, and webhook automation.
Comments & Reactions
Build the comment threads that review applies to
Roles, Permissions & Governance
Decide who can review a community’s comments
Community Platform
Set up the communities that carry the review setting