> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vzaps.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Chats

> List and manage instance conversations

Use `chats` to list conversations and apply actions such as archive, mute, pin, and expiration.

For instances, see [Instances and billing](/en/sdk/typescript/instances-and-billing). For session, see [Session](/en/sdk/typescript/session).

## Chats

### `chats.list(request)`

```ts theme={null}
const chats = await vzaps.chats.list({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  page: 1,
  pageSize: 20,
});
```

**Return:** page `{ page, pageSize, total, totalPages, content[] }` with chat metadata per item.

### `chats.get(request)`

```ts theme={null}
const chat = await vzaps.chats.get({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
});
```

**Return:** `InstanceChatMetadata` — `phone`, `jid`, `name`, flags (`archived`, `pinned`, `muted`, etc.) and last message when available.

### `chats.archive(request)`

```ts theme={null}
await vzaps.chats.archive({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
});
```

**Return:** `{ status: "ok" }`.

### `chats.unarchive(request)`

```ts theme={null}
await vzaps.chats.unarchive({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
});
```

**Return:** `{ status: "ok" }`.

### `chats.mute(request)`

```ts theme={null}
await vzaps.chats.mute({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
  durationSeconds: 3600,
});
```

**Return:** `{ status: "ok" }`.

### `chats.unmute(request)`

```ts theme={null}
await vzaps.chats.unmute({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
});
```

**Return:** `{ status: "ok" }`.

### `chats.pin(request)`

```ts theme={null}
await vzaps.chats.pin({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
});
```

**Return:** `{ status: "ok" }`.

### `chats.unpin(request)`

```ts theme={null}
await vzaps.chats.unpin({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
});
```

**Return:** `{ status: "ok" }`.

### `chats.read(request)`

```ts theme={null}
await vzaps.chats.read({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
});
```

**Return:** `{ status: "ok" }`.

### `chats.unread(request)`

```ts theme={null}
await vzaps.chats.unread({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
});
```

**Return:** `{ status: "ok" }`.

### `chats.clear(request)`

```ts theme={null}
await vzaps.chats.clear({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
  deleteMedia: false,
});
```

**Return:** `{ status: "ok" }`.

### `chats.delete(request)`

```ts theme={null}
await vzaps.chats.delete({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
  deleteMedia: false,
});
```

**Return:** `{ status: "ok" }`.

### `chats.setExpiration(request)`

```ts theme={null}
await vzaps.chats.setExpiration({
  instanceId: 'VZ...',
  instanceToken: 'instance-token',
  phone: '5511999999999',
  expiration: '7_DAYS',
});
```

**Return:** `{ status: "ok" }`.

Accepted values for `expiration`: `24_HOURS`, `7_DAYS`, `90_DAYS`, `OFF`.
