Stream Chat icon

Stream Chat

Server-side Stream Chat operations

Channel → Query Channels

AI-generated

Summary

Query channels using flexible MongoDB-style filters, sorting, and pagination; optionally include detailed channel state, messages, and member information; and enable real-time updates for live chat scenarios.

Inputs

  • Channel Type — Type of channel to query (default: 'messaging'). Common values: 'messaging' (1-on-1), 'team' (group channels), 'livestream' (broadcast).
  • Query Filter — JSON object defining filter criteria for channels, using MongoDB syntax (e.g., filtering by type or members). Defaults to empty filter {} to get all channels.
  • Query Sort — JSON object specifying sort order by field(s), with 1 for ascending and -1 for descending (e.g., {"last_message_at": -1}). Defaults to {} (no sorting).
  • Limit — Maximum number of channels to return (minimum 1). Default is 50.
  • Offset — Pagination offset to skip a number of channels before returning results (0 to 1000). Default is 0.
  • State — Boolean to include full channel state (messages, members, read states). Default true for full data; false for lightweight queries.
  • Watch — Boolean to enable real-time subscription for returned channels, allowing live updates. Default true.
  • Message Limit — Number of messages to include per channel (0 to 300). Default is 25; set 0 to exclude messages.
  • Member Limit — Number of members to include per channel (0 to 100). Default is 100; set 0 to exclude member info for better performance.

Output shape

a list of channel objects matching the filter, optionally including messages and member details as configured

Supports pagination via limit and offset parameters. Real-time updates enabled if 'Watch' is true. Returned channel data includes varying detail depending on 'State', 'Message Limit', and 'Member Limit' settings.

Discussion