RealTimeX
Start For Free

RealTimeX

API Documentation

IntroductionAuthenticationBase URLHeadersError codes
List ReportsResolve ReportsMute/Unmute UserBan/Unban UserAudit Logs
Sample requestsSample responsesStatus codesAppendixChangelog

API Reference

Resolve Reports

Overview

Close a pending moderation report by id — either delete the reported message (message_deleted) or dismiss the report without deleting content (dismissed).

On success, the API returns the updated report with status, resolution, resolutionNote, and resolvedAt filled in so the Platform queue can move the row out of pending.

When to use this endpoint?

Use Resolve Reports when:

  • A moderator confirms a violation and wants the message removed (message_deleted).
  • A report is invalid or already handled and should be closed without deleting the message (dismissed).
  • You need to attach an optional note explaining the decision for audit / queue history.
  • Clearing a pending item after reviewing it from List Reports.

Part of the client Platform Moderation module. Get reportId from List Reports (data.list[]._id). Mute or ban the sender separately via Mute / Ban endpoints.

Request Fields

FieldRequiredDescription
resolutionRequiredHow to close the report. Allowed values: message_deleted (delete the message; report status becomes resolved) or dismissed (keep the message; report status becomes dismissed).
noteOptionalModerator note stored as resolutionNote on the report.
PATCH{baseUrl}/api/{apiVersion}/client/moderation/reports/:reportId/resolve

Authentication

Required (Bearer token)

Tenant-scoped

Yes (tenant DB — requires x-client-id)

Request Headers

HeaderValueDescription
AuthorizationBearer <access_token>Client Access Token with tenant admin privileges (Platform panel).
Content-Typeapplication/jsonRequired when sending a JSON body.
is-tenanttrueTargets the tenant DB ("true", needs x-client-id).
x-client-id{{clientId}}Tenant (client) id. Required when is-tenant=true.

Path Parameters

ParameterExampleDescription
reportId6a589bb7cfa34ab66e35b2b3The report's _id from List Reports.

Request Payload

Delete the message (message_deleted)

Use when the report is valid and the content should be removed. Report status becomes resolved.

json
{
  "resolution": "message_deleted",
  "note": "Violates content policy"
}

Dismiss the report (dismissed)

Use when no action on the message is needed. Report status becomes dismissed.

json
{
  "resolution": "dismissed",
  "note": "Not a policy violation after review"
}

Success Response (HTTP 200 OK)

Returns the updated report document. In this example resolution is message_deleted, so status is resolved and resolutionNote mirrors the request note. Nested list enrichments (message, messageSender) are not required on this response.

json
{
  "success": true,
  "message": "Report resolved successfully",
  "data": {
    "_id": "6a589bb7cfa34ab66e35b2b3",
    "messageId": "6a589b97d379191dcf5fadbb",
    "conversationId": "6a589b96cfa34ab66e35b2ac",
    "reportedBy": "6a589b96cfa34ab66e35b2aa",
    "reason": "Offensive language",
    "status": "resolved",
    "resolution": "message_deleted",
    "resolutionNote": "Violates content policy",
    "resolvedAt": "2026-07-16T08:52:07.173Z",
    "createdAt": "2026-07-16T08:52:07.003Z",
    "updatedAt": "2026-07-16T08:52:07.173Z"
  },
  "error": null
}

Common Errors

Resolve fails when auth is invalid, the report id is missing, or the body is invalid.

HTTP 401 Unauthorized — No token

json
{
  "success": false,
  "message": "No token, authorization denied",
  "data": null,
  "error": "Unauthorized"
}

HTTP 403 Forbidden — Tenant admin required

json
{
  "success": false,
  "message": "Access denied: tenant admin privileges required",
  "data": null,
  "error": null
}

HTTP 404 Not Found — Report missing

json
{
  "success": false,
  "message": "Entity not found",
  "data": null,
  "error": "Entity not found"
}
CodeReason
400 Bad RequestMissing resolution, or value is not message_deleted / dismissed.
401 UnauthorizedAccess Token is missing, invalid, or expired.
403 ForbiddenTenant admin privileges required for Platform Moderation.
404 Not FoundNo report exists for the given reportId.
500 Internal Server ErrorAn unexpected error occurred while resolving the report.

Best Practices

  • Only resolve reports that are still pending in the queue UI.
  • Prefer message_deleted for clear policy violations; use dismissed when content should remain visible.
  • Always send a short note so audit history explains the decision.
  • After resolve, refetch List Reports so the inbox status filters update.
  • Mute or ban the sender as a separate step when the violation warrants account action.

Report closed

Update the queue from the returned status / resolution, then use Mute/Unmute User or Ban/Unban User if the sender needs further action.

PreviousList ReportsNextMute/Unmute User

On this page

OverviewWhen to use this endpoint?Request FieldsRequest HeadersPath ParametersRequest PayloadSuccess ResponseCommon ErrorsBest Practices