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

# Reconectar Instância

> Reativa o cliente whatsmeow sem invalidar a sessão (não requer re-scan de QR)

**Auth:** `TokenAccount` ou `TokenInstance` • **Rate-limit:** `Global` (100/min) • **Idempotente:** parcial

## Descrição

Reutiliza a sessão whatsmeow já armazenada para restabelecer a conexão **sem novo QR/pairing**. Funciona se a instância já foi conectada pelo menos uma vez (sessão salva no whatsmeow\_device).

## Exemplo

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://ryzeapi.cloud/api/instance/reconnect/minha-instancia" \
    -H "token: $Token_Instance"
  ```

  ```javascript JavaScript theme={null}
  await fetch("https://ryzeapi.cloud/api/instance/reconnect/minha-instancia", {
    method: "POST",
    headers: {
      "token": process.env.Token_Instance
    }
  });
  ```

  ```python Python theme={null}
  import os, requests

  requests.post(
      "https://ryzeapi.cloud/api/instance/reconnect/minha-instancia",
      headers={
          "token": os.environ["Token_Instance"]
      }
  )
  ```

  ```go Go theme={null}
  package main

  import (
      "net/http"
      "os"
  )

  func main() {
      req, _ := http.NewRequest("POST", "https://ryzeapi.cloud/api/instance/reconnect/minha-instancia", nil)
      req.Header.Set("token", os.Getenv("Token_Instance"))
      http.DefaultClient.Do(req)
  }
  ```
</CodeGroup>

## Resposta de sucesso

```json 200 OK theme={null}
{
  "success": true,
  "message": "Reconnect initiated",
  "status": "connecting"
}
```

Após a chamada, faça poll de [`GET /api/instance/list?instanceName=<nome>`](/pt/api/instance/list) para detectar quando o estado virar `connected`. O evento `instance.state` também é emitido via webhook/WebSocket.

## Path parameters

<ParamField path="instance" type="string" required>
  Nome da instância.
</ParamField>

## Headers

<ParamField header="token" type="string" required>
  TokenAccount ou TokenInstance.
</ParamField>

<Note>
  Body é aceito mas **ignorado**, pode enviar vazio.
</Note>

## Erros

| HTTP | `error.message`                                      | Quando                                                                     |
| :--: | ---------------------------------------------------- | -------------------------------------------------------------------------- |
|  400 | `Instance has no saved session, call /connect first` | Não há sessão para reutilizar (instância nunca conectou ou foi deslogada). |
|  401 | `Invalid token`                                      | Token ausente ou inválido.                                                 |
|  404 | `Instance not found`                                 | Nome não existe.                                                           |
|  429 | `Rate limit exceeded. Try again later.`              | Mais de 100 req/min.                                                       |
|  500 | `Failed to reconnect: <reason>`                      | Falha em `Connect()` (rede, proxy, DNS).                                   |

```json theme={null}
{
  "success": false,
  "error": {
    "message": "Instance has no saved session, call /connect first"
  }
}
```

## Notas

<Note>
  **Diferença para `connect`**: `connect` sempre (re)cria um cliente novo e gera QR/pairing. `reconnect` reutiliza sessão existente, **não funciona** se a instância nunca foi conectada ou foi deslogada do lado do celular.
</Note>

<Warning>
  Se o WhatsApp deslogou o dispositivo (estado `loggedout`), o `reconnect` falha com 400. Use [`connect`](/pt/api/instance/connect) para gerar um novo QR.
</Warning>

## Próximo

<CardGroup cols={2}>
  <Card title="Conectar (QR/pairing)" icon="qrcode" href="/pt/api/instance/connect">
    Para reconectar quando a sessão foi perdida.
  </Card>

  <Card title="Logout" icon="right-from-bracket" href="/pt/api/instance/logout">
    Desliga o dispositivo no WhatsApp mantendo a instância.
  </Card>
</CardGroup>
