9 endpoints.
| Method | Path | Summary |
|---|---|---|
GET | /api/reports/communities/{communityId}/members/{memberId}/reports | Get all reports against a specific member (moderators only) |
GET | /api/reports/communities/{communityId}/reports | Get paginated list of reports with optional filters (moderators only) |
POST | /api/reports/communities/{communityId}/reports | Submit a new content report (any authenticated community member) |
GET | /api/reports/communities/{communityId}/reports/{reportId} | Get a single report by ID with full details (moderators only) |
PATCH | /api/reports/communities/{communityId}/reports/{reportId} | Update report status (moderator taking action) |
POST | /api/reports/communities/{communityId}/reports/{reportId}/dismiss | Dismiss a report as unfounded (moderator action) |
POST | /api/reports/communities/{communityId}/reports/{reportId}/escalate | Escalate a report to higher authority (moderator action) |
GET | /api/reports/communities/{communityId}/reports/queue | Get the active report queue (moderators only) |
GET | /api/reports/communities/{communityId}/reports/stats | Get report statistics for the community dashboard (admins only) |
GET /api/reports/communities/{communityId}/members/{memberId}/reportsAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
memberId | path | yes | string (uuid) | — |
page | query | no | integer | — |
limit | query | no | integer | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | List of reports against member | — |
403 | Permission denied | — |
GET /api/reports/communities/{communityId}/reportsAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
page | query | no | integer | — |
limit | query | no | integer | — |
status | query | no | string | — |
priority | query | no | string | — |
category | query | no | string | — |
reportType | query | no | string | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Paginated list of reports | — |
403 | Permission denied | — |
POST /api/reports/communities/{communityId}/reportsAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
Request body (required) — application/json
| Field | Type | Required | Description |
|---|---|---|---|
reportType | enum: MEMBER, TWEET, COMMENT, MESSAGE, ALBUM, BLOG, EVENT, GROUP | yes | — |
reportedId | string (uuid) | yes | — |
category | enum: SPAM, HARASSMENT, HATE_SPEECH, VIOLENCE, MISINFORMATION, INAPPROPRIATE_CONTENT, IMPERSONATION, SCAM, COPYRIGHT, OTHER | yes | — |
description | string | no | — |
screenshots | string[] | no | — |
additionalContext | string | no | — |
Responses
| Status | Description | Body |
|---|---|---|
201 | Report submitted successfully | — |
400 | Validation error | — |
GET /api/reports/communities/{communityId}/reports/{reportId}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
reportId | path | yes | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Report details | — |
403 | Permission denied | — |
PATCH /api/reports/communities/{communityId}/reports/{reportId}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
reportId | path | yes | string (uuid) | — |
Request body (required) — application/json
| Field | Type | Required | Description |
|---|---|---|---|
status | enum: UNDER_REVIEW, ACTION_TAKEN, DISMISSED, ESCALATED | yes | — |
reviewNotes | string | no | — |
actionTaken | string | no | — |
relatedModerationLogId | string (uuid) | no | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Report status updated | — |
403 | Permission denied | — |
POST /api/reports/communities/{communityId}/reports/{reportId}/dismissAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
reportId | path | yes | string (uuid) | — |
Request body (required) — application/json
| Field | Type | Required | Description |
|---|---|---|---|
reason | string | yes | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Report dismissed | — |
403 | Permission denied | — |
POST /api/reports/communities/{communityId}/reports/{reportId}/escalateAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
reportId | path | yes | string (uuid) | — |
Request body (required) — application/json
| Field | Type | Required | Description |
|---|---|---|---|
reason | string | yes | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Report escalated | — |
403 | Permission denied | — |
GET /api/reports/communities/{communityId}/reports/queueAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
page | query | no | integer | — |
limit | query | no | integer | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Active report queue | — |
403 | Permission denied | — |
GET /api/reports/communities/{communityId}/reports/statsAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Report statistics | — |
403 | Permission denied | — |