Platform Support
Approval Lifecycle
Every comment carries anapprovalStatus. This section is the single reference for when a comment is held, how its status moves, and what each move changes on the comment and its post. The method sections below show the calls.
When Review Applies
A comment is held for review only when all three of these are true:- It is written on a post that belongs to a community. This includes replies: a reply on such a post is held under the same rule as a top-level comment.
- That community has
needApprovalOnCommentCreationturned on. See Require Review for Community Comments. - Its author cannot review that community’s comments. The community’s creator, and anyone who holds
REVIEW_COMMUNITY_COMMENTon the community, publish immediately. Community moderators hold that permission by default.
Changing the setting affects future transitions, not existing comments:
- Turning review on changes no existing comment. A comment written before the switch enters review only if someone who cannot review later makes an effective edit to it. See How the Status Changes.
- Turning review off does not drain the queue. Comments already pending stay pending, stay in the review queue, and can still be approved or declined.
Statuses
The server omits
approvalStatus on a comment that has never been through
review, which includes every comment written before this feature. Every SDK
reads an absent value as approved. Read the value from the SDK model, not
the field’s presence on the raw payload, and do not write your own defaulting.Comment Queries Show Approved Comments Only
The TypeScript, iOS, and Android SDKs filter comment queries to approved comments, for every viewer, including the author of a pending comment. The same applies to a post’s latest-comment previews and to reply lists. You do not need to filter pending comments out yourself, and you cannot get one back through a comment query. To show an author their own pending comment, keep the comment that create or edit returns and render it outside the list, for example with an “Awaiting review” label. Reviewers read pending comments through the review queue.How the Status Changes
An edit is effective when it changes the comment’s text, or when it sends
attachments, links, or metadata at all, even the same values as before. An
edit that sends only unchanged text leaves the status as it is.
What Approving or Declining Changes
OnlyapprovalStatus records the outcome on the comment. The other changes land on visibility, counts, and events.
The reviewer who decided, the time of the decision, and the decline
reason are kept for the moderation record only. No SDK returns them.
Permission
Reading the queue and deciding on a comment both require theREVIEW_COMMUNITY_COMMENT permission on the target community. A client-side check is for hiding controls only; the server enforces the permission on every call, and a reviewer can never review their own comment.
Require Review for Community Comments
SetneedApprovalOnCommentCreation when you create or update the community. After it is on, new comments and effective edits in that community enter the queue, unless their author can review the community’s comments. See Approval Lifecycle for the full rule.
Turning the setting off does not drain the queue. Comments already waiting
stay waiting, and the review queue keeps serving them until each one is
decided.
Read Approval Status on a Comment
Read the status on any comment you hold — including the one returned by create and edit — before you show it as published. In a community that requires review, a create or an effective edit comes back pending. In a community that requires review, create comments with optimistic creation turned off. An optimistic create writes a local comment before the server answers, and the SDK cannot determine that comment’s approval status yet; the correct status is reflected once the server responds. With optimistic creation off, nothing is written locally until the server confirms the comment, so the comment you receive already carries its approval status.Query the Review Queue
List a community’s pending comments, newest first by when each entered the queue. A comment sent back for re-review returns to the top.Approve or Decline a Comment
Approve to reveal the comment to everyone and move the post’s comment count by one. Decline to reject it — a declined comment is deleted at the same time. What Approving or Declining Changes lists every effect of both. Both calls take the comment ID. Decline also takes an optionalreason, at most 250 characters, kept for the moderation record only.
Neither call is idempotent. A second decision on a comment that was already decided is refused, so two reviewers acting at once cannot both record an outcome.
Related SDK Functions
Comment review changes how several other comment, post, and community APIs behave. The reference for each is on its own page; this table says only how review affects it.Related Topics
Post Review
Approve, decline, and query posts held for community review.
Edit Comment
Update comment text and attachments, and see when an edit needs review
again.
Query Comments
List comments and replies on a post, story, or custom content ID.
Social Realtime Events
Subscribe to community and post topics so comment events reach the client.