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

# POST /email-validation

> Valide endereços de e-mail verificando formato, registros MX e detectando domínios com função ou erros de digitação.

## Endpoint

```
POST https://api.bunny.build/api/v1/email-validation
```

## Autenticação

| Header         | Obrigatório | Valor                        |
| -------------- | ----------- | ---------------------------- |
| `X-API-Key`    | Sim         | Sua chave de API (`bun_...`) |
| `Content-Type` | Sim         | `application/json`           |

## Visão geral

Valide um endereço de e-mail em múltiplas camadas: formato de sintaxe, existência de registro MX no DNS e detecção de endereços baseados em função. A resposta também inclui uma sugestão de correção para erros de digitação comuns em domínios, permitindo que você oriente os usuários a corrigir erros óbvios antes de enviar.

## Casos de uso

* Bloquear endereços inválidos no cadastro para reduzir taxas de rejeição
* Limpar listas de leads e bases de newsletters antes de envios de campanha
* Exigir e-mails entregáveis em formulários de entrada de CRM
* Exibir sugestões de correção para usuários que digitam domínios comuns errados

## Corpo da requisição

| Campo   | Tipo   | Obrigatório | Descrição                           |
| ------- | ------ | ----------- | ----------------------------------- |
| `email` | string | Sim         | O endereço de e-mail a ser validado |

### Exemplo

```json theme={null}
{
  "email": "user@gmail.com"
}
```

## Resposta

### 200 OK

| Campo        | Tipo    | Descrição                                                                                                      |
| ------------ | ------- | -------------------------------------------------------------------------------------------------------------- |
| `email`      | string  | O endereço de e-mail avaliado                                                                                  |
| `valid`      | boolean | `true` quando as verificações de formato e MX passam                                                           |
| `checks`     | object  | Resultados individuais: `format` (boolean), `mx` (boolean), `role` (boolean, `true` se for endereço de função) |
| `mx_records` | array   | Lista de registros MX, cada um com `priority` (integer) e `exchange` (string)                                  |
| `suggestion` | string  | E-mail corrigido se um erro de digitação comum foi detectado, caso contrário `null`                            |

**Exemplo**

```json theme={null}
{
  "email": "user@gmail.com",
  "valid": true,
  "checks": {
    "format": true,
    "mx": true,
    "role": false
  },
  "mx_records": [
    { "priority": 5, "exchange": "gmail-smtp-in.l.google.com" }
  ],
  "suggestion": null
}
```

**Exemplo com sugestão de correção**

```json theme={null}
{
  "email": "user@gamil.com",
  "valid": false,
  "checks": {
    "format": true,
    "mx": false,
    "role": false
  },
  "mx_records": [],
  "suggestion": "user@gmail.com"
}
```

### 401 Unauthorized

```json theme={null}
{
  "detail": "Missing API key. Include X-API-Key header."
}
```

### 402 Payment Required

```json theme={null}
{
  "detail": "Monthly quota exceeded. Upgrade your plan."
}
```

### 422 Unprocessable Entity

```json theme={null}
{
  "detail": "Field 'email' is required."
}
```

### 429 Too Many Requests

```json theme={null}
{
  "detail": "Rate limit exceeded. Try again in 60 seconds."
}
```

## Exemplo cURL

```bash theme={null}
curl -X POST https://api.bunny.build/api/v1/email-validation \
  -H "X-API-Key: bun_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@gmail.com"}'
```
