Skip to main content
The reports module lets end users file reports against entities and comments, and lets moderators read the moderated reports queue.

createReport

Files a report against an entity, comment, or chat message. Repeat reports of the same target are deduplicated.
"entity" | "comment" | "message"
required
The kind of content being reported.
string
required
The ID of the entity, comment, or chat message being reported.
ReportReason
required
One of spam, inappropriateContent, harassment, misinformation, hateSpeech, violence, illegalActivity, selfHarm, other. The API rejects anything else — use other plus details for the rest.
string
Additional context about the report.
Reporting a chat message uses targetType: "message" with the message id as targetId — the conversation is resolved server-side. Reports on space conversations reach space moderators; reports on DMs and group chats are project-level and appear only in the Sublay dashboard.
ReturnsPromise<{ message: string; code: "report/created" | "report/updated" | "report/already-reported" }>

fetchModeratedReports

Fetches a paginated list of moderated reports, with optional filters.
string
Restrict results to reports within a specific space.
"entity" | "comment" | "message"
Restrict results to reports of a specific target type. Message reports appear in this queue only for space conversations — DM and group reports are project-level and surface in the dashboard.
"pending" | "on-hold" | "escalated" | "dismissed" | "actioned"
Restrict results to reports with a specific moderation status.
"new" | "old"
Sort order for the returned reports.
number
The page of results to fetch.
number
The number of reports to return per page.
ReturnsPromise<PaginatedResponse<Report>> Each Report carries id, spaceId, targetId, targetType, status, reporterCount, timestamps, and optional userReports, target, and space associations.