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

# POST /v1/numbers/{id}/logout — Desconectar Instância WhatsApp

> POST /v1/numbers/{id}/logout — Desconecta uma instância WhatsApp sem removê-la do banco de dados.

# Desconectar instância WhatsApp

`POST /v1/numbers/{id}/logout` desconecta uma instância WhatsApp (logout) sem removê-la do banco de dados. Isso é diferente de `DELETE /v1/numbers/{id}` que remove a instância permanentemente.

```bash theme={null}
curl -X POST "https://pilotstatus.com.br/v1/numbers/wa_abc/logout" \
  -H "x-api-key: ps_your_token_here"
```

Resposta:

```json theme={null}
{
  "ok": true,
  "instances": [
    {
      "instanceId": "inst_123",
      "ok": true
    }
  ]
}
```

## Quando usar

* Quando você quer desconectar uma instância WhatsApp temporariamente sem deletá-la.
* Quando você precisa reconectar um número a um dispositivo diferente.
* Ao solucionar problemas de conexão e precisar redefinir o estado da conexão.

## Diferenças do DELETE

| Operação                       | O que faz                                                                                                               |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| `POST /v1/numbers/{id}/logout` | Desconecta o WhatsApp (desvincula o dispositivo) mas mantém a instância no banco de dados. Você pode reconectar depois. |
| `DELETE /v1/numbers/{id}`      | Desconecta E remove permanentemente a instância do banco de dados. Não pode ser desfeito.                               |

## Parâmetros da requisição

| Parâmetro | Tipo   | Obrigatório | Descrição                                            |
| --------- | ------ | ----------- | ---------------------------------------------------- |
| `id`      | string | Sim         | O ID da instância WhatsApp ou ID do número WhatsApp. |

## Resposta

### Sucesso (200)

```json theme={null}
{
  "ok": true,
  "instances": [
    {
      "instanceId": "inst_123",
      "ok": true
    }
  ]
}
```

| Campo                    | Tipo    | Descrição                                                              |
| ------------------------ | ------- | ---------------------------------------------------------------------- |
| `ok`                     | boolean | Status geral de sucesso.                                               |
| `instances`              | array   | Array de resultados de logout para cada instância.                     |
| `instances[].instanceId` | string  | O ID da instância.                                                     |
| `instances[].ok`         | boolean | Se o logout foi bem-sucedido para esta instância.                      |
| `instances[].error`      | string  | Mensagem de erro se o logout falhar (só presente quando `ok` é false). |

### Erros

| Status | Corpo                                  | Significado                                      |
| ------ | -------------------------------------- | ------------------------------------------------ |
| `401`  | `{ "error": "…" }`                     | Chave de API inválida ou ausente.                |
| `404`  | `{ "error": "Number not found" }`      | Nenhum número encontrado para esta chave de API. |
| `500`  | `{ "error": "Internal server error" }` | Erro do servidor (verifique os logs).            |

## Notas

* O logout é **best-effort**: se o provedor upstream retornar um erro benigno (ex: instância não encontrada, 401), ele é ignorado silenciosamente e o estado da instância ainda é atualizado.
* Após o logout, o estado da instância será `LOGOUT` no banco de dados.
* Você pode reconectar a instância depois usando `GET /v1/numbers/{id}/connect`.
