SDK v7.x · Last verified March 2026 · iOS · Android · Web · Flutter
Speed run — just the code
Speed run — just the code
Prerequisites: SDK installed and authenticated → SDK Setup. At least one community created → Create Community. Admin Console access needed for global role management.Also recommended: Complete Community Platform first — roles and permissions govern community behavior.
After completing this guide you’ll have:
- SDK permission checks (
hasPermission) gating actions in your UI - Community moderator role assignment and revocation working
- Post review mode (content gating) enabled in at least one community
- User ban and unban flows implemented
Quick Start: Check a Permission
TypeScript
Step-by-Step Implementation
Check permissions before showing UI
Always check permissions before rendering action buttons (edit, delete, ban, etc.). This prevents users from seeing controls they can’t use and avoids server-side permission errors.Full reference → Roles & Permissions
TypeScript
Assign community moderator roles
Promote a member to moderator via the member management API. Moderators can approve/reject posts, ban users, and manage content within their community.Full reference → Member Management
TypeScript
Configure post moderation settings
Set the
Full reference → Create Community
postSettings when creating or updating a community to control who can post and whether posts need approval.| Setting | Who posts | Review needed | Best for |
|---|---|---|---|
ANYONE_CAN_POST | All members | No | Open communities |
ADMIN_REVIEW_POST_REQUIRED | All members | Yes, admin approves | Curated communities |
ONLY_ADMIN_CAN_POST | Admins/mods only | No | Announcement channels |
Ban and unban community members
Community admins and moderators can ban members who violate guidelines. Banned users cannot view or interact with the community.Full reference → Community Moderation
TypeScript
Review and approve pending posts
When a community uses Full reference → Post Review
ADMIN_REVIEW_POST_REQUIRED, new posts land in the reviewing feed type. Check a post’s feedType to know its state, then approve or decline it. Only users with the REVIEW_COMMUNITY_POST permission can take these actions.TypeScript
Manage global roles in the Admin Console
Global roles (super admin, admin, support) are managed in Admin Console → Settings → Admin Access Control. These roles grant cross-community permissions.→ Admin Console: Roles & Privileges
Permission Reference
| Permission | Description | Who has it by default |
|---|---|---|
EDIT_COMMUNITY_POST | Edit any post in a community | Community admin, moderator |
DELETE_COMMUNITY_POST | Delete any post in a community | Community admin, moderator |
BAN_COMMUNITY_USER | Ban/unban members | Community admin, moderator |
EDIT_COMMUNITY | Change community name, description, settings | Community admin |
REVIEW_COMMUNITY_POST | Approve/decline posts in review queue | Community admin, moderator |
MUTE_COMMUNITY_USER | Temporarily silence a member | Community admin, moderator |
Connect to Moderation & Analytics
Admin Console: role management
Admin Console: role management
Create custom roles with specific permission sets in Admin Console → Settings → Roles. Assign users to roles globally or per-community.→ Roles & Privileges
Moderation audit trail
Moderation audit trail
All moderator actions (ban, post removal, role change) are logged. Review the audit trail in Admin Console → Moderation → Activity Log for compliance.
Webhook: role change events
Webhook: role change events
Receive
community.role.assigned and community.role.removed webhook events to sync role state with your backend or trigger notifications.→ Webhook EventsCommon Mistakes
Best Practices
Defense in depth
Defense in depth
- Check permissions in the SDK before showing UI elements (buttons, menus)
- The server enforces permissions even if the client doesn’t check — but a good UX never shows controls a user can’t use
- Assign at least 2 moderators per community to avoid single-point-of-failure moderation
- Use
ADMIN_REVIEW_POST_REQUIREDfor communities with compliance requirements (healthcare, finance, education)
Role hierarchy design
Role hierarchy design
- Keep your role hierarchy flat: admin → moderator → member is sufficient for most apps
- Don’t create more than 3-4 custom roles — complexity creates confusion
- Define clear escalation paths: moderator handles content, admin handles users, super admin handles settings
- Document role responsibilities in community guidelines
User experience
User experience
- Show a “You’re now a moderator” notification when someone is promoted
- Surface moderation tools contextually: show “Approve” button inline on queued posts, not buried in settings
- Give moderators a dedicated “Mod queue” view with pending posts and flagged content
- Let users see their own role in the community header (“You are a Moderator”)
Next Steps
Your next step → Content Moderation Pipeline
Roles are set — now wire up the moderation pipeline with flagging, AI review, and webhooks.
Community Platform
Build communities that use these governance rules
Content Moderation Pipeline
Set up the full moderation workflow
User Profiles & Social Graph
Manage user relationships and blocking