# 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](https://getstream.io/chat/docs/unreal/channel-delete/) 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

```cpp label="Unreal"
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     | ✓        |


---

This page was last updated at 2026-08-11T12:49:41.814Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/unreal/truncate-channel/](https://getstream.io/chat/docs/unreal/truncate-channel/).