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

# Email Validation

> Validate a single email address with the Enrichley API.

# Email Validation

This endpoint validates a single email address using the Enrichley API and returns validation and enrichment data.

* **Method:** `POST`
* **Path:** `/validate-single-email`
* **Auth:** `X-Api-Key` header

The request body accepts a single field:

```json theme={null}
{
  "email": "jane.doe@example.com"
}
```

A typical response includes both a JSON body and useful rate-limit / credit headers. For example:

```json theme={null}
{
  "email": "jane.doe@example.com",
  "valid": true,
  "result": "catch_all_validated",
  "mx_domain": "example.com",
  "email_type": "business",
  "mx_provider": "example",
  "credits_consumed": true,
  "mx_secure_email_gateway": true
}
```

And response headers such as:

* `x-ratelimit-limit`
* `x-ratelimit-remaining`
* `x-ratelimit-reset`
* `x-credits-remaining`

The OpenAPI specification models this endpoint so the API playground in these docs can be used to send real requests by providing your `X-Api-Key`.


## OpenAPI

````yaml POST /validate-single-email
openapi: 3.0.0
info:
  title: Enrichley API
  version: 1.0.0
  description: >-
    API for verifying email addresses (including catch-all domains) and
    enriching LinkedIn profile URLs.
servers:
  - url: https://api.enrichley.io/api/v1
    description: Production
security:
  - ApiKeyAuth: []
paths:
  /validate-single-email:
    post:
      tags:
        - People Enrichment
      summary: Email Validation
      description: >-
        Validate a single email address and return its validation and enrichment
        status. Response headers include rate limit and credits information:
        `x-ratelimit-limit`, `x-ratelimit-remaining`, `x-ratelimit-reset`, and
        `x-credits-remaining`.
      operationId: emailValidation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  format: email
                  description: The email address to validate.
              required:
                - email
            example:
              email: jane.doe@example.com
      responses:
        '200':
          description: Email validation and enrichment result.
          headers:
            x-ratelimit-limit:
              description: >-
                Maximum number of requests allowed in the current rate limit
                window.
              schema:
                type: integer
                example: 100
            x-ratelimit-remaining:
              description: Number of requests remaining in the current rate limit window.
              schema:
                type: integer
                example: 99
            x-ratelimit-reset:
              description: >-
                Unix timestamp in milliseconds when the current rate limit
                window resets.
              schema:
                type: integer
                format: int64
                example: 1700000000000
            x-credits-remaining:
              description: Number of credits remaining on your account after this request.
              schema:
                type: integer
                example: 999999
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type: string
                    format: email
                    description: The email address that was validated.
                  valid:
                    type: boolean
                    description: Whether the email is considered deliverable.
                  result:
                    type: string
                    enum:
                      - ok
                      - catch_all_validated
                      - catch_all
                      - invalid
                      - unknown
                    description: >-
                      High-level validation result.


                      Possible values:

                      - `ok` — the email is valid ✅

                      - `catch_all_validated` — the email is a catch-all but was
                      validated ✅

                      - `catch_all` — the email is a catch-all ❌

                      - `invalid` — the email is invalid and should not be used
                      ❌

                      - `unknown` — the validation status could not be retrieved
                      ❌
                  mx_domain:
                    type: string
                    description: MX domain used by your recipient's email.
                  email_type:
                    type: string
                    description: >-
                      Email type classification (for example, `business` or
                      `personal`).
                  mx_provider:
                    type: string
                    description: MX provider used by your recpipient's email.
                  credits_consumed:
                    type: boolean
                    description: Whether this request consumed a credit.
                  mx_secure_email_gateway:
                    type: boolean
                    description: >-
                      Whether your recipient's email is behind a secure email
                      gateway.
                required:
                  - email
              example:
                email: jane.doe@example.com
                valid: true
                result: catch_all_validated
                mx_domain: example.com
                email_type: business
                mx_provider: example
                credits_consumed: true
                mx_secure_email_gateway: true
        '400':
          description: Invalid request or missing parameters.
        '401':
          description: Invalid or missing API key.
        '429':
          description: Rate limit exceeded.
        '500':
          description: Server error.
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

````