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

# Validate Email

> Check if an email address is deliverable, invalid, or disposable. Free — no credits consumed.

## Authentication

Requires an API key in the `Authorization` header.

```bash theme={"dark"}
Authorization: Bearer YOUR_API_KEY
```

## Request

<ParamField body="email" type="string" required>
  The email address to validate. The legacy key `e` is still accepted.
</ParamField>

### Example request

<CodeGroup>
  ```bash cURL (API Key) theme={"dark"}
  curl -X POST "https://encrata.com/api/agent/validate" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"email": "test@example.com"}'
  ```

  ```python Python theme={"dark"}
  import requests

  resp = requests.post(
      "https://encrata.com/api/agent/validate",
      headers={"Authorization": "Bearer YOUR_API_KEY"},
      json={"email": "test@example.com"},
  )
  print(resp.json())
  ```

  ```javascript JavaScript theme={"dark"}
  const resp = await fetch("https://encrata.com/api/agent/validate", {
    method: "POST",
    headers: {
      Authorization: "Bearer YOUR_API_KEY",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ email: "test@example.com" }),
  });
  const data = await resp.json();
  ```
</CodeGroup>

## Response

<ResponseField name="email" type="string">
  The email address that was validated.
</ResponseField>

<ResponseField name="validity" type="string">
  One of `valid`, `invalid`, `disposable`, or `unknown`.
</ResponseField>

<ResponseField name="message" type="string">
  Human-readable explanation of the result.
</ResponseField>

### Example responses

```json Valid email theme={"dark"}
{
  "email": "satya@microsoft.com",
  "validity": "valid",
  "message": "Email is deliverable and valid."
}
```

```json Disposable email theme={"dark"}
{
  "email": "user@tempmail.com",
  "validity": "disposable",
  "message": "Disposable/temporary email."
}
```

```json Invalid email theme={"dark"}
{
  "email": "nobody@nonexistent.xyz",
  "validity": "invalid",
  "message": "Email is not deliverable or does not exist."
}
```

## Notes

* This endpoint is **free** — no credits are deducted.
* Disposable email detection runs first; if the domain is disposable, the SMTP check is skipped.
* Rate limited to **60 requests per minute**.
