report_resolve
Close a report after reviewing it. Use resolve when you acted on it and dismiss when no action was needed. This only changes the report’s status; take any moderation action, such as deleting the message, separately.
Request
Section titled “Request”{ "cmd": "report_resolve", "report_id": "5b1f3c1e-8d0a-4d6e-9f43-2a7c9e1b0d55", "action": "dismiss"}| Field | Type | Required | Description |
|---|---|---|---|
report_id |
string | Yes | The report’s id from report_list. |
action |
string | No | resolve sets the status to resolved; dismiss sets it to dismissed. Defaults to resolve. |
Response
Section titled “Response”{ "cmd": "report_resolve", "report": { "id": "5b1f3c1e-8d0a-4d6e-9f43-2a7c9e1b0d55", "reporter": "alice", "target_type": "user", "target_id": "usr_8f2k1", "reason": "Impersonating a moderator", "snapshot": { "username": "mallory" }, "status": "dismissed", "created_at": 1727180530.204, "resolved_by": "modbot", "resolved_at": 1727184102.877 }}resolved_by is your username and resolved_at is the time in Unix seconds.
- You can resolve a report that is already closed. The status,
resolved_by, andresolved_atare overwritten. - There is no way to reopen a report.
- The server records a
report_resolveentry in the audit log, under themessage_moderationcategory, with the report ID as the target andactionandstatusindetails. - Other moderators aren’t notified.
Permissions
Section titled “Permissions”Requires review_reports. A user in timeout gets a rate_limit frame instead.
Errors
Section titled “Errors”val |
When |
|---|---|
report_id: Required |
report_id is missing. |
report_id: Expected length at least 1 |
report_id is empty after trimming. |
action: Expected one of [resolve dismiss], received close |
action isn’t resolve or dismiss. |
Report not found |
No stored report has that ID. |
Report storage is unavailable |
The report file can’t be read. |
Unable to save report |
The change couldn’t be written. |
