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

> Listar e gerenciar conversas de uma instância

Use `chats` para listar conversas e aplicar ações como arquivar, silenciar, fixar e expiração.

Para instâncias, veja [Instâncias e billing](/pt-BR/sdk/dotnet/instances-and-billing). Para sessão, veja [Sessão](/pt-BR/sdk/dotnet/session).

## Chats

### `client.Chats.ListAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.ListAsync<object>(new ChatListRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    Page = 1,
    PageSize = 20,
});
```

**Retorno:** pagina `{ Page, PageSize, Total, TotalPages, Content[] }` com metadados de cada chat.

### `client.Chats.GetAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.GetAsync<object>(new ChatRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999" });
```

**Retorno:** `InstanceChatMetadata` — `Phone`, `Jid`, `Name`, flags (`archived`, `pinned`, `muted`, etc.) e ultima mensagem quando disponivel.

### `client.Chats.ArchiveAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.ArchiveAsync<object>(new ChatRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999" });
```

**Retorno:** `{ Status: "ok" }`.

### `client.Chats.UnarchiveAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.UnarchiveAsync<object>(new ChatRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999" });
```

**Retorno:** `{ Status: "ok" }`.

### `client.Chats.MuteAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.MuteAsync<object>(new ChatMuteRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999", DurationSeconds = 3600 });
```

**Retorno:** `{ Status: "ok" }`.

### `client.Chats.UnmuteAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.UnmuteAsync<object>(new ChatRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999" });
```

**Retorno:** `{ Status: "ok" }`.

### `client.Chats.PinAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.PinAsync<object>(new ChatRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999" });
```

**Retorno:** `{ Status: "ok" }`.

### `client.Chats.UnpinAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.UnpinAsync<object>(new ChatRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999" });
```

**Retorno:** `{ Status: "ok" }`.

### `client.Chats.ReadAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.ReadAsync<object>(new ChatRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999" });
```

**Retorno:** `{ Status: "ok" }`.

### `client.Chats.UnreadAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.UnreadAsync<object>(new ChatRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999" });
```

**Retorno:** `{ Status: "ok" }`.

### `client.Chats.ClearAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.ClearAsync<object>(new ChatClearRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999", DeleteMedia = false });
```

**Retorno:** `{ Status: "ok" }`.

### `client.Chats.DeleteAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.DeleteAsync<object>(new ChatDeleteRequest { InstanceId = "VZ...", InstanceToken = "instance-token", Phone = "5511999999999", DeleteMedia = false });
```

**Retorno:** `{ Status: "ok" }`.

### `client.Chats.SetExpirationAsync<TResponse>(request)`

```csharp theme={null}
await client.Chats.SetExpirationAsync<object>(new ChatExpirationRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    Phone = "5511999999999",
    Expiration = "7_DAYS",
});
```

**Retorno:** `{ Status: "ok" }`.
