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

# Erros e respostas

> Códigos HTTP, respostas assíncronas e formatos de erro mais comuns da EZ API.

## Respostas síncronas e assíncronas

A EZ API mistura dois padrões de resposta:

* Operações de configuração retornam `200 OK` ou `201 Created` imediatamente.
* Envios de mensagens retornam `202 Accepted` quando entram na fila com sucesso.

## Códigos mais comuns

| Status                      | Significado                                                                                 |
| --------------------------- | ------------------------------------------------------------------------------------------- |
| `200 OK`                    | Requisição concluída com sucesso.                                                           |
| `201 Created`               | Recurso criado com sucesso, como instância ou grupo.                                        |
| `202 Accepted`              | A operação foi aceita e colocada na fila da instância.                                      |
| `400 Bad Request`           | Algum parâmetro obrigatório não foi informado ou está inválido.                             |
| `401 Unauthorized`          | `Client-Token` ou `instanceToken` inválido.                                                 |
| `404 Not Found`             | Instância, QR Code ou recurso consultado não foi encontrado.                                |
| `408 Request Timeout`       | O worker não respondeu dentro do tempo esperado.                                            |
| `409 Conflict`              | Estado atual da instância impede a ação, como pedir pairing code em instância já conectada. |
| `422 Unprocessable Entity`  | O worker recebeu a ação, mas não conseguiu executá-la.                                      |
| `429 Too Many Requests`     | Limite de taxa excedido.                                                                    |
| `500 Internal Server Error` | Falha inesperada do serviço.                                                                |

## Formato de erro

A maior parte dos erros segue um destes formatos:

```json theme={null}
{
  "error": "Unauthorized",
  "message": "Invalid instanceToken"
}
```

```json theme={null}
{
  "error": "Worker command timeout"
}
```

```json theme={null}
{
  "error": "Unable to process request"
}
```

## Respostas padrão de sucesso

### Operações booleanas

```json theme={null}
{
  "value": true
}
```

### Ajustes de privacidade

```json theme={null}
{
  "success": true
}
```

### Envio assíncrono de mensagem

```json theme={null}
{
  "messageId": "3EB047ED70306656281B34",
  "id": "3EB047ED70306656281B34"
}
```

### Atualização de webhook

```json theme={null}
{
  "value": "https://example.com/webhooks/received"
}
```

## Quando usar webhooks para diagnosticar

Para operações assíncronas, o `202` confirma apenas a entrada na fila. O resultado final pode ser acompanhado por:

* webhook de entrega
* webhook de status da mensagem
* endpoint de [erros de envio](/api-reference/messages/send-errors)
