Skip to content
sanalyer API

Admin feed moderation

Admin feed routes remove a feed post, a comment on one or a reply to a comment, or put a public post that reports took off Discover back on it. All require feed:moderate. Reports about feed content arrive through the Admin Reports API with report type FEED_POST (3) or FEED_COMMENT (4); their reported_message_id is the post, comment or reply ID, and a comment report’s first context entry is its post. A reply report’s second context entry is the comment it answers, whose ID the reply delete route takes.

DELETE/v1/admin/feed/posts/{post_id}Audit reason

Removes a post with its images or video, likes, comments and replies, and returns 204 with an empty body. Requires feed:moderate.

FieldTypeDescription
post_idsnowflakeThe ID of the post
StatusBodyCondition
204emptyThe post was removed and the audit entry was written
403error responseThe caller lacks feed:moderate
404error responseNo post has the ID and the request returns UNKNOWN_FEED_POST

Home feeds drop the post on their next read, and its notifications leave the author’s inbox. The author receives a system DM in their locale saying a moderator removed one of their posts, through the same delivery job as System DMs. No Dispatch is emitted.

One Admin audit entry is recorded with the action delete_feed_post and the target type feed_post, targeting the post ID. Its metadata is author_id, and evidence_keys when the post had images or a video: the comma-separated reports bucket keys of their copies.

100 requests per minute for each authenticated user, on the admin:feed:moderation bucket.

DELETE/v1/admin/feed/posts/{post_id}/discover-hideAudit reason

Undoes the hide that enough reports put on a public post, and returns 204 with an empty body. The post’s reports are cleared, it returns to the Discover ranking with the score its reactions earned, and new reports cannot take it off Discover again for 72 hours. Requires feed:moderate.

FieldTypeDescription
post_idsnowflakeThe ID of the post
StatusBodyCondition
204emptyThe hide was undone and the audit entry was written
403error responseThe caller lacks feed:moderate
404error responseNo post has the ID and the request returns UNKNOWN_FEED_POST

Discover shows the post again from its next list build, about a minute later; a post that is not public or is older than 72 hours stays off Discover. The author is not told, as they were not told of the hide. No Dispatch is emitted.

One Admin audit entry is recorded with the action restore_feed_post_discover and the target type feed_post, targeting the post ID. Its metadata is author_id.

100 requests per minute for each authenticated user, on the admin:feed:moderation bucket.

DELETE/v1/admin/feed/posts/{post_id}/comments/{comment_id}Audit reason

Removes a top-level comment on a post with its replies and returns 204 with an empty body. Requires feed:moderate.

FieldTypeDescription
post_idsnowflakeThe ID of the post
comment_idsnowflakeThe ID of the comment
StatusBodyCondition
204emptyThe comment was removed and the audit entry was written
403error responseThe caller lacks feed:moderate
404error responseThe post has no comment with the ID and the request returns UNKNOWN_FEED_COMMENT

The post’s comment count drops by one plus the number of replies. The comment’s author receives a system DM in their locale saying a moderator removed one of their comments; the authors of its replies are not told. No Dispatch is emitted.

One Admin audit entry is recorded with the action delete_feed_comment and the target type feed_comment, targeting the comment ID. Its metadata is post_id and author_id.

100 requests per minute for each authenticated user, on the admin:feed:moderation bucket.

DELETE/v1/admin/feed/posts/{post_id}/comments/{comment_id}/replies/{reply_id}Audit reason

Removes a reply to a comment on a post and returns 204 with an empty body. Requires feed:moderate.

FieldTypeDescription
post_idsnowflakeThe ID of the post
comment_idsnowflakeThe ID of the top-level comment the reply answers
reply_idsnowflakeThe ID of the reply
StatusBodyCondition
204emptyThe reply was removed and the audit entry was written
403error responseThe caller lacks feed:moderate
404error responseThe comment has no reply with the ID and the request returns UNKNOWN_FEED_COMMENT

The post’s comment count and the comment’s reply count drop by one. The reply’s author receives a system DM in their locale saying a moderator removed one of their comments. No Dispatch is emitted.

One Admin audit entry is recorded with the action delete_feed_comment_reply and the target type feed_comment, targeting the reply ID. Its metadata is post_id, parent_id (the comment the reply answers) and author_id.

100 requests per minute for each authenticated user, on the admin:feed:moderation bucket.