Kate Santo Updated by Kate Santo

Content moderation is a functionality that helps app admins reduce the risk of inappropriate content appearing in their app.

In Padoq apps, moderation can be done by users themselves or by the system. Find out more in this guide.

See for yourself

  • You can download the iOS or Android app on your phone to follow this journey along. And you can also log in or sign up to the web app here
  • You can also follow along by checking out the images or code snippets in this guide
  • And you will find the relevant endpoints linked and explained in this guide, but the full API is documented in Swagger UI

Reporting posts

There are 2 ways in which a post can be reported: a user can send a report through the UI or the system can report a post.

User reports

The members of a padoq can report a post via an option in the UI. It looks something like this:

The reportPost endpoint is called when the user taps the option. It takes 3 compulsory parameters: the name of the padoq the post belongs to, the postId and the postVersion of the post being reported. It returns basic success or error messages.

Scroll down to Managing reported posts to see what happens once a post is reported.

System reports

The app can also use the reportPost endpoint. The reference it uses to find and report posts is the moderation engine. The moderation engine works with a list of words and expressions that are deemed inappropriate. When one of those words appear in a post, the app automatically reports the post.

Managing moderation list

The moderation engine is not publicly available through the API. To make changes to the moderation list, speak to your account manager or send a request to

Scroll down to Managing reported posts to see what happens once a post is reported.

Managing reported posts

Regardless of whether a post was reported by a user or by the system, the original post gets a unit added to its reportedCount property.

The padoq admin can view all reported posts via the Super Admin page on the web app. The getPosts endpoint fetches all reported posts. Overall, this endpoint can take lots of parameters, but in the context of moderation it takes just 3:

  • name: the name of the padoq to retrieve posts from
  • Accept: the type of response accepted by this endpoint
  • reported: a string that narrows the request, only asking for posts that have been reported

When the reported posts come up on the UI, the padoq admin can review them and decide whether the post is acceptable or inappropriate.

If the admin believes the post is acceptable, they can deletePostReports. What this endpoint does is reset the value of the reportedCount to zero. When the count is zero, the post isn't marked as reported anymore.

If they believe the post is indeed inappropriate, they can deletePost. Reported posts are only deleted at this point. Even if a post has been reported many times, they are never deleted automatically: only the admin can do that.

How did we do?


Glossary | A guide to how we talk