Skip to main content
The moderation endpoints allow authenticated users with appropriate permissions to view and manage user reports.

Authentication

All moderation endpoints require:
  • Valid JWT token in the Authorization header
  • User must be active (is_active = true)
  • User must have report_read permission
Inactive users or users without proper permissions will receive a 403 Forbidden response.

Get reports

GET /api/v1/reports
Retrieves a paginated list of reports based on filter criteria.

Query parameters

public_access
string
required
Filter by visibility status:
  • v - Visible posts
  • h - Hidden posts
mod_status
string
required
Filter by moderation status:
  • o - Open reports
  • c - Closed reports
board_shortnames
string | array
default:"all boards"
Board(s) to filter by. Can be a single board shortname (1-5 characters) or an array of board shortnames. Defaults to all configured boards.
page_size
integer
default:"20"
Number of reports per page. Must be between 1 and 50.
page_num
integer
default:"0"
Page number (0-indexed). Must be non-negative.
Authorization
string
required
Bearer token from the login endpoint

Response

Returns an array of report objects matching the filter criteria.

Take action on report

POST /api/v1/reports/{report_parent_id}
Performs a moderation action on a specific report.
report_parent_id
integer
required
The ID of the report to act upon
Authorization
string
required
Bearer token from the login endpoint

Request body

action
string
required
The moderation action to perform:
  • report_delete - Delete the report
  • post_delete - Delete the reported post
  • media_delete - Delete the media file
  • media_hide - Hide the media file
  • media_show - Show the media file
  • post_show - Show the post
  • post_hide - Hide the post
  • report_close - Close the report
  • report_open - Reopen the report
  • report_save_notes - Save moderator notes
mod_notes
string | null
Optional moderator notes to attach to the action

Response

msg
string
Success message (status code < 400)
error
string
Error message (status code >= 400)

Bulk actions on reports

POST /api/v1/reports/bulk
Performs the same moderation action on multiple reports.
Authorization
string
required
Bearer token from the login endpoint

Request body

action
string
required
The moderation action to perform (see actions list above)
report_parent_ids
array
required
Array of report IDs to act upon. Must contain at least one ID. All IDs must be non-negative integers.
mod_notes
string | null
Optional moderator notes to attach to all actions

Response

Returns a results object with the outcome for each report ID.
results
object
Dictionary mapping report IDs to their individual results, each containing msg and code.
When results have mixed status codes, the endpoint returns 207 Multi-Status. If all operations have the same status, that status code is returned.

Required permissions

All moderation endpoints require the report_read permission. Additional permissions may be checked based on the action being performed:
  • report_delete - Delete reports
  • report_open / report_close - Change report status
  • report_save_notes - Save moderator notes
  • post_show / post_hide / post_delete - Modify posts
  • media_show / media_hide / media_delete - Modify media

Build docs developers (and LLMs) love