Handle Appeals

Overview

Appeals, or opportunities to contest previous moderation decisions, are a crucial part of any content moderation workflow. No content moderation system is perfect, and even with the combined power of automation and human review, there are bound to be mistakes. Widely-recognized trust and safety regulations for online platforms, such as the EU’s Digital Services Act, mandate support for appeals to ensure that users are able to have a say when they feel like a moderation decision involving them is wrong.

An example of a Post Appeal

To facilitate easy compliance with DSA requirements, Moderation Dashboard supports the entire appeal process for both users and moderators. On this page, we’ll cover how to submit appeals to Moderation Dashboard, how moderators can view and act on those appeals in a timely manner, and how to request the status of a particular appeal so that users can view the final decision.


Types of Appeals

Any moderation action can be appealed, whether that be a Rule Action, Review Feed Action, or an action manually taken via the User Content Page. Appeals can be submitted by either the user whose content or account has been moderated, or the user who created a report. In total, there are four distinct types of appeals:

  • Post Appeals
    • A user appeals a post action that was taken on a post they published
    • appeal_context will have type post
    • Note: report_id is absent when creating post appeals
  • User Appeals
    • A user appeals a user action that was taken on their account
    • appeal_context will have type user
    • Note: report_id is absent when creating post appeals
  • Reported Post Appeals
    • The user who reported a post appeals the decision made on that report
    • report_id will be “post report” type
  • Reported User Appeals
    • The user who reported another user appeals the decisions made on that report
    • report_id will be “user report” type

Opting-In To Appeals

In order to begin using the Appeals-related features on Moderation Dashboard, navigate to the Appeals Settings section of our Application Settings page. Here, make sure that the Return judgment_id option is checked. This field is an important part of appeal submissions within Moderation Dashboard. The judgment_id will be submitted along with each appeal to identify which Action is being appealed.


Submitting an Appeal

Appeal submissions are made in the following format:

https://api.hivemoderation.com/api/v1/appeals/create
Field (*required)TypeDescription
judgment_id*StringTies action to appeal.
appealer_id*StringID of the user that submitted the appeal.
appeal_reasonStringUser-submitted blurb about why they are appealing.
urlStringPublicly hosted URL that represents the image for a post. Only required if the post being appealed is past the retention date.
text_dataStringText data to be appealed. Only required if the post being appealed is past the retention date.
metadataJSON ObjectMetadata associated with the appeal.
report_idStringOptional, if it's an appeal from a report.
appeal_categoriesArrayOptional array of appeal categories.

Actions Without judgment_id

If you do not wish to submit an appeal with a judgment_id for any reason, you can use the appeal_context field instead to provide the necessary data to process the appeal. This format is described below:

https://api.hivemoderation.com/api/v1/appeals/create
Field (* required)TypeDescription
appealer_id*StringID of the user that submitted the appeal.
appeal_reasonStringUser-submitted blurb about why they are appealing.
appeal_context*JSON ObjectRelevant data to be displayed so the appeal can be processed.
appeal_context.type*StringSubject of the appeal (either post or user)
appeal_context.post_idStringThe post_id (*required if appeal_context.user_id is not provided).
appeal_context.user_idStringThe user_id (*required if appeal_context.post_id is not provided).
appeal_context.source_post_idStringSource post ID.
urlStringURL for the image in a post.
text_dataStringText data for the post.
metadataJSON ObjectMetadata associated with the appeal.
report_idStringOptional, if it's an appeal from a report.
appeal_categoriesArrayOptional array of appeal categories.

Get Appeal Status

Every appeal submission will return an appeal_id. This appeal_id can be used to retrieve the status of an appeal: in review, overturned, or upheld.

https://api.hivemoderation.com/api/v1/appeals/status
Field (*required)TypeDescription
appeal_id*StringThe appeal_id for the appeal you’d like to see the status of.

You’ll get a response containing the current status of the appeal in the following format:

Field

Type

Description

appeal_id

String

The appeal_id of the appeal in question.

status

JSON Object

  • In Review
  • Reviewed
    • Status (overturned, upheld)
    • action_id
    • action_name
    • action_reasons

original_decision

JSON Object

  • action_id
  • action_name
  • action_reasons

Moderating Appeals

Moderators can view all appeals in the Post Appeal feed. For each appeal, they’ll be able to view the post itself, the user’s reason for the appeal, as well as any metadata that was included in the submission. Based on this information, moderators can either decide to uphold the previous moderation decision or overturn it.

Below is a moderator's view of both a Post Appeal and User Appeal, with all metadata and other relevant information displayed beside the post.

An example of a Post Appeal

An example of a Post Appeal

An example of a User Appeal

An example of a User Appeal