Forums
Create a new discussion in a category
Confirmed at routes/forumRoutes.js. Requires login and is subject to the category's configured post permission (or any logged-in account if unset). Responds with a redirect to the new discussion, not JSON.
Reply to a discussion
Confirmed at routes/forumRoutes.js (discussionReplyHandler). Blocked for locked/archived discussions unless the caller can moderate.
Edit a discussion's original post
Confirmed at routes/forumRoutes.js. Own content editable by the author; editing any user's content requires `zander.forums.moderate`. Creates an edit-history revision.
Delete a discussion
Confirmed at routes/forumRoutes.js. Deleting the original post of a discussion deletes the whole discussion — a moderator action (`zander.forums.post.delete`); not available to the author for their own discussion via this route the way a reply is.
Edit a reply post
Confirmed at routes/forumRoutes.js. Own content editable by the author; editing any user's content requires `zander.forums.moderate`. Creates an edit-history revision.
Delete a reply post
Confirmed at routes/forumRoutes.js. Own reply deletable by the author; deleting any user's reply requires `zander.forums.post.delete`.
View a post's edit history
Confirmed at routes/forumRoutes.js. Moderator-only (`zander.forums.moderate`). Renders an HTML revisions page, not JSON.
Lock/unlock, pin/unpin, or archive/unarchive a discussion
Confirmed at routes/forumRoutes.js. Single moderation endpoint dispatched by the `action` body field: `lock`/`unlock` requires `zander.forums.discussion.lock`, `sticky`/`unsticky` requires `zander.forums.discussion.sticky`, `archive`/`unarchive` requires `zander.forums.discussion.archive` (all implied by `zander.forums.moderate`).
Move a discussion to a different category
Confirmed at routes/forumRoutes.js. Requires `zander.forums.moderate`.
Cast a vote on a discussion's poll
Confirmed at routes/forumRoutes.js. One vote per option per user.
Change a previously-cast poll vote
Confirmed at routes/forumRoutes.js. Only available if the poll has 'allow vote change' enabled.
Edit a forum category
Confirmed at routes/dashboard/forums.js. Requires `zander.forums.category.manage`.
Delete a forum category
Confirmed at routes/dashboard/forums.js. Requires `zander.forums.category.manage`.
Report a forum post
Requires the Reports feature to be enabled. Proxies to the site's internal report API. The only forums route documented to return JSON rather than an HTML/redirect response.