Truncate Channel

Truncating a channel removes all messages but preserves the channel data and members. To delete both the channel and its messages, use Delete Channel instead.

Truncation can be performed client-side or server-side. Client-side truncation requires the TruncateChannel permission.

On server-side calls, use the user_id field to identify who performed the truncation.

By default, truncation hides messages. To permanently delete messages, set hard_delete to true.

Truncate a Channel

Channel->Truncate();

// Or with parameters:
Channel->Truncate(
  true,  // bHardDelete
  {},   // TruncatedAt
  FMessage{TEXT("Dear Everyone. The channel has been truncated.")},
  false,  // bSkipPush
  []
  {
    // Channel is truncated
  });

Truncate Options

Field Type Description Optional
truncated_at Date Truncate messages up to this time ✓
user_id string User who performed the truncation (server-side only) ✓
message object A system message to add after truncation ✓
skip_push bool Do not send a push notification for the system message ✓
hard_delete bool Permanently delete messages instead of hiding them ✓
Add Chat to my app: getstream.io/SKILL.md

The fastest way to build with Stream. Start a new project or improve an existing one. Full CLI and documentation integration out of the box.


Ask your agent:

/stream Build me a Social App with Feeds and Moderation.
/stream Any livestream calls running?
/stream Chat Unreal: <Your Question>