Submit Reported Posts and Users

You can submit posts and users that have been reported on your platform to the Dashboard through the Reports API. You can choose to send these reported tasks straight to the Review Feed or directly take enforcement actions on them.

Configure Report Categories

Before sending reports through the API, you will need to configure report categories to match the current set of report categories within your platform. On the Rules page under the “Reported Users” or “Reported Posts” tabs, click “Configure Report Categories” in the top right to open the create interface.

First you will need to specify the category key and display name. The category key will be the key you will use in the Report API when defining the report_categories field. The corresponding display name is how the category will be displayed across the Dashboard. Lastly, you will need to specify whether the report category applies to either users, posts or both, on your platform.

28802880

Configure Report Categories

Once you have created all of your report categories, you can start submitting Reports to the Dashboard and create rules based on these categories.

Submitting Reports to the Reports API

📘

Please Note:

Report tasks can only be reported if they have been submitted through the Dashboard API first. You can not directly submit content to the Dashboard through the Report API.

Sync Request

https://api.hivemoderation.com/api/v1/report

Form Data

Field (*required)

Type

Description

*post_id (if post is being reported)

OR

*user_id (if user is being reported)

String

ID tied to the post that was published. Use the same ID that was used during task submission to the Dashboard API.

reporter_id

String

ID tied to the user reporting the content

report_categories*

String (array)

Report Category (ex: Self Harm, Hate Speech, False Information)

* Configure Report Categories on the Rules page
* Submit report categories using the category key

report_reason

String

Reason for why the post/user was reported (optional)

curl --location --request POST 'https://api.hivemoderation.com/api/v1/report' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'authorization: token lGqTHDletUtTvEsONMTqWBA' \
--data-raw '{
  "post_id": "post_id_123",
  "report_categories": ["hate"],
  "report_reason": "This post is inappropriate",
  "reporter_id": "reporter_id_123"
}'
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://api.hivemoderation.com/api/v1/report',
  'headers': {
    'accept': 'application/json',
    'Content-Type': 'application/json',
    'authorization': 'token lGqTHDletUtTvEsONMTqWBA'
  },
  body: JSON.stringify({
    "post_id": "post_id_123",
    "report_categories": [
      "hate"
    ],
    "report_reason": "This post is inappropriate",
    "reporter_id": "reporter_id_123"
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests
import json

url = "https://api.hivemoderation.com/api/v1/report"

payload = json.dumps({
  "post_id": "post_id_123",
  "report_categories": [
    "hate"
  ],
  "report_reason": "This post is inappropriate",
  "reporter_id": "reporter_id_123"
})
headers = {
  'accept': 'application/json',
  'Content-Type': 'application/json',
  'authorization': 'token lGqTHDletUtTvEsONMTqWBA'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"post_id\": \"post_id_123\",\n  \"report_categories\": [\"hate\"],\n  \"report_reason\": \"This post is inappropriate\",\n  \"reporter_id\": \"reporter_id_123\"\n}");
Request request = new Request.Builder()
  .url("https://api.hivemoderation.com/api/v1/report")
  .method("POST", body)
  .addHeader("accept", "application/json")
  .addHeader("Content-Type", "application/json")
  .addHeader("authorization", "token lGqTHDletUtTvEsONMTqWBA")
  .build();
Response response = client.newCall(request).execute();

Create Report Rules

28762876

Report Rules

On the rules page, you can create reported user and post rules. When a post or user is reported through the Reports API, if all conditions in a report rule are matched, the Dashboard will trigger the rule and take any corresponding action. For example, the rule below will first temporarily hide any post with more than 5 "Hate" reports. It will then send the post to the Review Feed to be manually moderated. Then, in the Review Feed, a moderator can decide to publish the post if it doesn’t violate any policies or permanently delete it.

717717

Temporarily hide post if post is reported as hate more than 5 times

737737

Flag post for Review if post is reported as Hate more than 5 times

If you want to take action on all reports regardless of the report category, you can select “Post reported (any reason)”

14821482

If post is reported for any reason, then Flag Post for Review

View Reports on the Dashboard

Content Feed
If a post has been reported, all content associated with the post will show a yellow circle on the content row and will display the number of reports submitted. Click into a content row to view the specific report categories, report reasons, and reporter ids.

28802880 28522852

User Feed
Similar to post reports, if a user has been reported, a yellow circle will appear on the user row displaying the number of reports submitted for that users. Click into a user row to view the specific report categories, report reasons, and reporter ids.

Review Feed
Reported users and posts that are flagged for human review will show up on the Review Feed page under the Reports Feed. Only reported users and posts will be displayed in the reports feed. All other review tasks will be displayed in the General Review Feed.