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.Promise<{ 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.
Promise<PaginatedResponse<Report>>
Each Report carries id, spaceId, targetId, targetType, status, reporterCount, timestamps, and optional userReports, target, and space associations.
