Key Benefit: Empower your community to self-moderate by providing robust flagging tools that integrate seamlessly with admin console workflows for efficient content review and action.

Feature Overview

Content flagging enables users to report inappropriate messages, creating a collaborative approach to community moderation. Flagged content appears in the admin console for review, where administrators can validate flags and take appropriate action to maintain community standards.

User-Driven Moderation

Community-powered safety
  • Predefined flag reasons for consistency
  • Optional custom explanations
  • Flag/unflag capabilities
  • Flag status tracking

Admin Integration

Streamlined review process
  • Admin console flag indicators
  • Content validation workflows
  • Policy enforcement tools
  • Flag analytics and reporting

Implementation Guide

Report inappropriate content with standardized reasonsEnable users to flag messages that violate community guidelines using predefined categories for consistent moderation workflows.

Required Parameters

ParameterTypeDescription
messageIdStringThe ID of the message to flag

Optional Parameters

ParameterTypeDescription
reasonContentFlagReasonPredefined reason for flagging (iOS, Android, TypeScript only)
explanationStringCustom explanation for “Others” reason (max 300 characters)

Flag Reasons

ReasonDescription
CommunityGuidelinesAgainst community guidelines
HarassmentOrBullyingHarassment or bullying content
SelfHarmOrSuicideSelf-harm or suicide-related content
ViolenceOrThreateningContentViolence or threatening behavior
SellingRestrictedItemsSelling and promoting restricted items
SexualContentOrNuditySexual content or nudity
SpamOrScamsSpam or scam content
FalseInformationFalse information or misinformation
OthersCustom reason with optional explanation

Code Examples

// Flag a message with specific reason
do {
    let flagged = try await messageRepository.flagMessage(
        withId: "message-id",
        reason: .communityGuidelines
    )
    if flagged {
        // Message successfully flagged
        showFlagSuccessMessage()
    }
} catch {
    // Handle flagging error
    handleFlagError(error)
}

// Flag with custom reason
do {
    let flagged = try await messageRepository.flagMessage(
        withId: "message-id",
        reason: .others,
        explanation: "Contains inappropriate language for our community"
    )
} catch {
    // Handle error
}
Platform Availability: Flag reasons are available in iOS, Android, and TypeScript SDKs. Flutter SDK supports basic flagging functionality.

Moderation Workflows

Best Practices

Implementation Strategy: Start with basic flag/unflag functionality, then add reason categorization and status checking. Focus on clear user feedback and seamless admin console integration for effective community moderation.