# Admin Reports Administrative endpoints for managing user reports and moderation. Provides tools for reviewing, assigning, resolving, and annotating reports about users, posts, and groups. Supports workflow management with assignment, notes, and resolution tracking. ## Remove posts from all reports and auto-close empty reports - [POST /api/v1/admin/reports/delete-posts](https://docs.wellesley.social/openapi/admin-reports/paths/~1api~1v1~1admin~1reports~1delete-posts/post.md): Removes specified posts from all reports that reference them. If a report no longer has any posts after removal, it is automatically closed/resolved. This is typically used after deleting reported content. Returns the count of reports that were auto-closed. The current user is recorded as having taken action on auto-closed reports. RBAC: requires Reports.Manage ## List moderation reports with filtering - [GET /api/v1/admin/reports/list](https://docs.wellesley.social/openapi/admin-reports/paths/~1api~1v1~1admin~1reports~1list/get.md): Retrieves a paginated list of moderation reports. Can filter by reported user, reported post, group context, or resolution status. Supports pagination for large result sets. Reports include details about the reporter, target content, assigned moderator, and any notes. RBAC: requires Reports.Manage ## Get specific report details - [GET /api/v1/admin/reports/{reportId}](https://docs.wellesley.social/openapi/admin-reports/paths/~1api~1v1~1admin~1reports~1%7Breportid%7D/get.md): Retrieves complete details of a specific moderation report including the reporter, target content (users/posts), assigned moderator, resolution status, and all associated notes. Use this to review a report before taking action. RBAC: requires Reports.Manage ## Add moderation note to report - [POST /api/v1/admin/reports/{reportId}/add-note](https://docs.wellesley.social/openapi/admin-reports/paths/~1api~1v1~1admin~1reports~1%7Breportid%7D~1add-note/post.md): Adds an internal moderation note to the report. Notes are used to document investigation findings, actions taken, or communication between moderators. Each note is timestamped and attributed to the adding moderator. Notes are visible only to moderators and not to the reporter or reported user. RBAC: requires Reports.Manage ## Assign report to yourself - [POST /api/v1/admin/reports/{reportId}/assign-to-self](https://docs.wellesley.social/openapi/admin-reports/paths/~1api~1v1~1admin~1reports~1%7Breportid%7D~1assign-to-self/post.md): Assigns the current user as the moderator responsible for handling this report. This helps coordinate moderation efforts by showing other moderators that someone is actively investigating this report. Updates the assignedToUserId field. RBAC: requires Reports.Manage ## Permanently delete a report - [DELETE /api/v1/admin/reports/{reportId}/delete](https://docs.wellesley.social/openapi/admin-reports/paths/~1api~1v1~1admin~1reports~1%7Breportid%7D~1delete/delete.md): Permanently removes a report from the system. This should only be used for invalid or spam reports. For legitimate reports that have been addressed, use the resolve endpoint instead to maintain moderation history. This action cannot be undone. RBAC: requires Reports.Manage ## Remove moderation note from report - [POST /api/v1/admin/reports/{reportId}/remove-note](https://docs.wellesley.social/openapi/admin-reports/paths/~1api~1v1~1admin~1reports~1%7Breportid%7D~1remove-note/post.md): Removes a specific moderation note from the report by its index position. Use this to correct mistakes or remove outdated information. Notes are zero-indexed, so the first note has index 0. Only valid indices are accepted. RBAC: requires Reports.Manage ## Reopen a resolved report - [POST /api/v1/admin/reports/{reportId}/reopen](https://docs.wellesley.social/openapi/admin-reports/paths/~1api~1v1~1admin~1reports~1%7Breportid%7D~1reopen/post.md): Reopens a previously resolved report for further investigation. This clears the resolution status and allows the report to be reassigned and worked on again. Useful when initial resolution was insufficient or new information becomes available. RBAC: requires Reports.Manage ## Mark report as resolved - [POST /api/v1/admin/reports/{reportId}/resolve](https://docs.wellesley.social/openapi/admin-reports/paths/~1api~1v1~1admin~1reports~1%7Breportid%7D~1resolve/post.md): Marks a report as resolved/closed, indicating that action has been taken. The current user is recorded as the moderator who resolved the report. This updates the actionTakenAt timestamp and actionTakenByUserId fields. RBAC: requires Reports.Manage ## Unassign report from any moderator - [POST /api/v1/admin/reports/{reportId}/unassign](https://docs.wellesley.social/openapi/admin-reports/paths/~1api~1v1~1admin~1reports~1%7Breportid%7D~1unassign/post.md): Removes the assignment of this report from any moderator, making it available for other moderators to claim. Use when unable to complete investigation or when transferring to another moderator. Clears the assignedToUserId field. RBAC: requires Reports.Manage