Query Capabilities
Member querying supports filtering by status, role, and deletion state, with configurable sorting. Results paginate automatically via Live Collections.Advanced Filtering
Multiple filter criteria
- Membership status filtering (active, muted, banned)
- Role-based member filtering
- Include/exclude deleted users
- Configurable sorting options
Paginated Results
Efficient data loading
- Pagination support for large member lists
- Real-time updates with Live Collections
- Search functionality with keyword matching
- Customizable page sizes and limits
Implementation Guide
- Basic Query
- Advanced Filtering
- Search Members
Essential member retrieval functionalityQuery members within a chat channel with flexible filtering and sorting options. This enables comprehensive member discovery and management within your chat application.
Required Parameters
| Parameter | Type | Description |
|---|---|---|
channelId | String | Unique identifier of the channel to query members from |
Optional Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
filter | FilterEnum | ALL | Filter members by membership status (ALL, MEMBER, MUTED, BANNED) |
roles | Array<String> | [] | Filter members by specific roles assigned in the channel |
includeDeleted | Boolean | false | Include members whose user accounts have been deleted |
sortBy | SortEnum | LAST_CREATED | Sort order for member results (FIRST_CREATED, LAST_CREATED) |
Code Examples
Member Count Calculation: Channel member count value is based on all members in the channel including the members whose user has been deleted.
API Reference
Filter Options
Membership status filtering
ALL: Members with any membership statusMEMBER: Only active membersMUTED: Only muted membersBANNED: Only banned members
Sort Options
Result ordering
FIRST_CREATED: Oldest members firstLAST_CREATED: Newest members first
Membership Status Filters
| Filter | Description | Use Case |
|---|---|---|
ALL | Members with any membership status | General member lists, comprehensive views |
MEMBER | Only active members | User-facing member lists, active participant views |
MUTED | Only muted members | Moderation interfaces, review muted users |
BANNED | Only banned members | Administrative tools, ban management |
Role-Based Filtering
| Parameter | Type | Description |
|---|---|---|
roles | Array<String> | Filter members by specific roles (e.g., “moderator”, “admin”) |
Data Inclusion Options
| Parameter | Type | Description |
|---|---|---|
includeDeleted | Boolean | Whether to include members whose user accounts have been deleted |
Sorting Options
| Sort Option | Description | Behavior |
|---|---|---|
FIRST_CREATED | Sort by membership creation date ascending | Shows oldest members first |
LAST_CREATED | Sort by membership creation date descending | Shows newest members first |
Membership Creation Date: The membership creation date refers to when the user joined the channel, not when their user account was created.
Best Practices
Query Optimization
Query Optimization
Performance and efficiency strategiesTargeted Filtering
- Use specific filters to reduce result set size and improve load times
- Combine multiple filter criteria when searching for specific member types
- Consider your use case when deciding whether to include deleted users
- Implement proper pagination for channels with large member counts (>20 members)
- Use appropriate page sizes (20-50 items) to balance performance and UX
- Load additional pages only when needed to conserve bandwidth
Member Status Management
Member Status Management
Handling different member states effectivelyStatus-Specific UI Design
- Active Members: Primary focus for user-facing features and interactions
- Muted Members: Separate moderation views with clear status indicators
- Banned Members: Administrative interfaces with appropriate warnings
- Deleted Users: Consider data retention and privacy requirements
- Utilize live collections to receive instant status changes
- Update UI immediately when member status changes
- Handle status transitions gracefully in your interface
- Respect user privacy when displaying member information
- Implement appropriate access controls for sensitive member data
- Consider anonymization for deleted user accounts
Search & Discovery UX
Search & Discovery UX
User experience optimization for member discoverySearch Implementation
- Implement debounced search (300-500ms delay) to reduce API calls
- Provide real-time search results as users type
- Show search suggestions or recent searches for better UX
- Provide intuitive filter controls for membership status and roles
- Show active filter indicators and easy reset options
- Show appropriate loading indicators during queries
- Implement skeleton screens for better perceived performance
- Provide clear error messages when queries fail
- Load basic member list first, then apply filters
- Implement infinite scroll for seamless browsing
- Cache search results for faster subsequent queries
Role-Based Access
Role-Based Access
Implementing proper access controlsPermission-Based Queries
- Filter query results based on user permissions
- Restrict sensitive member information to authorized users only
- Implement role-based visibility controls
- Provide comprehensive member management for admins and moderators
- Include banned and muted member views for moderation purposes
- Implement bulk actions for efficient member management
- Respect channel privacy settings when displaying members
- Implement appropriate member visibility controls
- Consider opt-out preferences for member discovery
Example: Permission-Based Filtering