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

# Verify Email

> Checks whether an email address exists and can receive email. The result is returned as is, nothing is stored and sending isn't blocked based on it, so you decide what to do with it.

Verification talks to the recipient's mail server and can take up to a minute.



## OpenAPI

````yaml /openapi.yml post /api/v2/verify-email/
openapi: 3.1.1
info:
  title: DeliverymanAI API
  version: 2.0.0
  description: >-
    API documentation for DeliverymanAI. Send emails, track their delivery and
    engagement, read replies, verify addresses, manage your suppression list and
    receive webhook events.


    **Strongly recommended:** leave 5 to 10 minutes between emails sent from the
    same domain. Sending many emails from one domain in a short time can hurt
    your domain and IP reputation.


    **Rate limits:** emails from one sending domain go out at least a minimum
    interval apart. If you send sooner, the email is queued and `Send Email`
    returns `202`. Each endpoint also caps how many requests your account can
    make per minute. Over the cap you get `429` with a `Retry-After` header.
    Treat these limits as an upper bound and keep to the gap recommended above.
servers:
  - url: https://api.deliveryman.ai
    description: Deliveryman API Server
security: []
paths:
  /api/v2/verify-email/:
    post:
      tags:
        - Email Verification
      summary: Verify Email
      description: >-
        Checks whether an email address exists and can receive email. The result
        is returned as is, nothing is stored and sending isn't blocked based on
        it, so you decide what to do with it.


        Verification talks to the recipient's mail server and can take up to a
        minute.
      operationId: v2_verify_email
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerifyEmailRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/VerifyEmailRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/VerifyEmailRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifyEmailResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
          description: Bad Request
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
          description: Verification Service Error
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: bash
          label: curl
          source: |-
            curl -X POST "https://api.deliveryman.ai/api/v2/verify-email/" \
              -H "X-Api-Key: YOUR_API_KEY" \
              -H "Content-Type: application/json" \
              -d '{
                "email": "alex@draftss.com"
              }'
components:
  schemas:
    VerifyEmailRequest:
      properties:
        email:
          description: Email address to verify.
          format: email
          title: Email
          type: string
      required:
        - email
      title: VerifyEmailRequest
      type: object
    VerifyEmailResponse:
      type: object
      description: The result of verifying an email address.
      properties:
        email:
          type: string
          format: email
          description: The email address that was verified.
        status:
          allOf:
            - $ref: '#/components/schemas/VerifyEmailResponseStatusEnum'
          description: >-
            Overall result. `valid`: the mailbox exists and can receive email.
            `invalid_format`: not a valid email address. `email_not_exists`: the
            mailbox or domain doesn't exist. `catchall`: the domain accepts
            every address, so the mailbox can't be confirmed. `full_inbox`: the
            mailbox exists but is full. `disposable`: a temporary email service.
            `dangerous`: risky to send to. `webmail`: a webmail provider that
            can't be checked directly. `unverifiable`: the receiving server
            couldn't be reached or asked us to try later.


            * `valid` - valid

            * `invalid_format` - invalid_format

            * `email_not_exists` - email_not_exists

            * `catchall` - catchall

            * `full_inbox` - full_inbox

            * `disposable` - disposable

            * `dangerous` - dangerous

            * `webmail` - webmail

            * `unverifiable` - unverifiable
        deliverable:
          type:
            - boolean
            - 'null'
          description: >-
            Whether the mailbox accepts email, or null if it couldn't be
            determined.
        valid_format:
          type: boolean
          description: Whether the address has a valid format.
        catch_all:
          type: boolean
          description: Whether the domain accepts email for any address.
        full_inbox:
          type: boolean
          description: Whether the mailbox is full.
        disposable:
          type: boolean
          description: Whether the domain is a disposable email service.
        webmail:
          type: boolean
          description: Whether the domain is a webmail provider.
      required:
        - catch_all
        - deliverable
        - disposable
        - email
        - full_inbox
        - status
        - valid_format
        - webmail
    MessageResponse:
      type: object
      description: A message describing the result of the request, or what went wrong.
      properties:
        message:
          type: string
          description: Human readable description of the result or error.
      required:
        - message
    VerifyEmailResponseStatusEnum:
      enum:
        - valid
        - invalid_format
        - email_not_exists
        - catchall
        - full_inbox
        - disposable
        - dangerous
        - webmail
        - unverifiable
      type: string
      description: |-
        * `valid` - valid
        * `invalid_format` - invalid_format
        * `email_not_exists` - email_not_exists
        * `catchall` - catchall
        * `full_inbox` - full_inbox
        * `disposable` - disposable
        * `dangerous` - dangerous
        * `webmail` - webmail
        * `unverifiable` - unverifiable
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: >-
        Your API key. In the dashboard, go to Integrations and open Deliveryman
        API Keys to create one.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.