Skip to main content
Use message flagging when a signed-in user reports a chat message. The SDKs expose three client-side actions: flag a message, unflag a message, and check whether the current user has already flagged a fetched message. Flagged messages are sent to the moderation backend. Keep product policy, review workflow, and enforcement copy outside the SDK integration layer so this page stays focused on the calls your app makes.

Platform Surface

The older Android no-reason flagMessage(messageId) overload and Flutter flag(messageId) repository method still exist for compatibility, but new docs should use reason-based flagging.

Parameters

Flag A Message

Flag a message with a moderation reason so your product can route it into review.

Use A Custom Reason

Use the Others reason only when your UI collects additional detail from the reporter. Pass a custom reason string when the platform enum supports Others or direct string reasons.

Unflag A Message

Remove the current user’s flag from a message when the user reverses the report action.

Check Flag State

TypeScript and iOS can ask the repository for the current user’s flag state by message ID. Android and Flutter expose the state on fetched message objects. Read flag state before rendering selected or disabled report controls.

Query Messages

Refresh list state after flag or unflag actions.

Edit and Delete Messages

Modify or soft-delete your own messages.

Content Moderation

Connect message reports to your moderation operating model.