# 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/java/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

```java label="Java"
chat.truncateChannel(type, id, TruncateChannelRequest.builder().build()).execute();
```

## 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-11T17:19:20.598Z.

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