emailens-dev API

emailens-dev API as documented publicly: 17 operations. Contract generated from the documentation by API Evangelist (2026-10-30); not the provider's own document.

Operations 17

POST /api/auth/magic-link POST /api/auth/magic-link #
POST /api/deliverability POST /api/deliverability #
GET /api/domains List monitored sending domains and DNS health scores. #
POST /api/domains Add a new sending domain for continuous drift monitoring. #
DELETE /api/domains/[id] Remove a monitored domain. #
POST /api/extension/prepare Securely relay the email HTML payload to the Next.js API and save it to a temporary, high-entropy single-use Redis cache. #
POST /api/gate POST /api/gate #
GET /api/keys List active API keys and 30-day usage metrics. #
POST /api/keys Create a new API key. #
DELETE /api/keys/[id] Revoke an API key. #
POST /api/mcp POST /api/mcp #
POST /api/preview POST /api/preview #
POST /api/sandbox/smtp/credentials POST /api/sandbox/smtp/credentials #
DELETE /api/sandbox/smtp/credentials/cred_abc123 DELETE /api/sandbox/smtp/credentials/cred_abc123 #
POST /api/sandbox/smtp/credentials/cred_abc123/rotate POST /api/sandbox/smtp/credentials/cred_abc123/rotate #
GET /api/sandbox/v1/messages/wait Wait for messages programmatically and immediately receive parsed verification codes to finish authentication without scraping raw HTML. #
POST /api/share POST /api/share #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/emailens-dev:emailens-dev-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

emailens-dev-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: emailens-dev API
  version: '2026-10-30'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-30: 17 operation(s) read from 15 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; emailens-dev has published no machine-readable contract
    that the pipeline could find. Engine: anthropic.'
  x-evidence-tiers:
    code-example: 9
    documentation: 8
    pages-with-code: 13
    pages-read: 15
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-30'
  x-generator: generate-contract-from-docs.py
  x-engine: anthropic
  x-sources:
  - https://docs.emailens.dev/api
  - https://docs.emailens.dev/api/gate
  - https://docs.emailens.dev/api/authentication
  - https://docs.emailens.dev/getting-started
  - https://docs.emailens.dev/getting-started/installation
  - https://docs.emailens.dev/getting-started/first-preview
  - https://docs.emailens.dev/web-app/sharing
  - https://docs.emailens.dev/integrations/react-email
  - https://docs.emailens.dev/integrations/chrome-extension
  - https://docs.emailens.dev/integrations/mjml
  - https://docs.emailens.dev/integrations/maizzle
  - https://docs.emailens.dev/integrations/ci-cd
  - https://docs.emailens.dev/sandbox
  - https://docs.emailens.dev/sandbox/credentials
  - https://docs.emailens.dev/sandbox/automated-testing
servers:
- url: https://app.emailens.dev
paths:
  /api/auth/magic-link:
    post:
      operationId: post_api_auth_magic_link
      tags:
      - Api
      summary: POST /api/auth/magic-link
      x-source: https://docs.emailens.dev/sandbox/automated-testing
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiAuthMagicLinkResponse'
      x-evidence:
        kind: code-example
        language: javascript
        snippet: "fetch ( \"https://myapp.com/api/auth/magic-link\" , { \n method: \"POST\" , \n headers: { \"Content-Type\" : \"application/json\"\
          \ }, \n body: JSON . stringify ({ email: \" [email protected] \" })"
  /api/deliverability:
    post:
      operationId: post_api_deliverability
      tags:
      - Api
      summary: POST /api/deliverability
      x-source: https://docs.emailens.dev/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiDeliverabilityRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiDeliverabilityResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://app.emailens.dev/api/deliverability  -H \"Authorization: Bearer ek_live_...\"  -H \"Content-Type: application/json\"\
          \  -d '{\"domain\": \"yourcompany.com\"}' \n Response: \n { \n \"domain\" : \"yourcompany.com\" , \n \"score\" : 94 , \n \"spf\" : {\
          \ \"valid\" : true , \"record\" : \"v=spf1 include:_spf.google.com ~all\" , \"lookups\" : 3 }, \n \"dkim\" : { \"valid\" : true , \"\
          selector\" : \"google\" }, \n \"dmarc\" : "
  /api/domains:
    get:
      operationId: get_api_domains
      tags:
      - Api
      summary: List monitored sending domains and DNS health scores.
      x-source: https://docs.emailens.dev/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_domains
      tags:
      - Api
      summary: Add a new sending domain for continuous drift monitoring.
      x-source: https://docs.emailens.dev/api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/domains/[id]:
    delete:
      operationId: delete_api_domains_id
      tags:
      - Api
      summary: Remove a monitored domain.
      x-source: https://docs.emailens.dev/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/extension/prepare:
    post:
      operationId: post_api_extension_prepare
      tags:
      - Api
      summary: Securely relay the email HTML payload to the Next.js API and save it to a temporary, high-entropy single-use Redis cache.
      x-source: https://docs.emailens.dev/integrations/chrome-extension
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiExtensionPrepareRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiExtensionPrepareResponse'
      x-evidence:
        kind: documentation
  /api/gate:
    post:
      operationId: post_api_gate
      tags:
      - Api
      summary: POST /api/gate
      x-source: https://docs.emailens.dev/api/gate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiGateRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiGateResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://app.emailens.dev/api/gate  -H \"Authorization: Bearer ek_live_...\"  -H \"Content-Type: application/json\"\
          \  -d '{\"html\":\"<table>...</table>\",\"ref\":\"emails/welcome.html\"}' \n { \n \"passed\" : false , \n \"overallScore\" : 62 , \n\
          \ \"worstClient\" : \"outlook-windows\" , \n \"baseline\" : { \"ref\" : \"emails/welcome.html\" , \"comparedTo\" : \"2026-08-30T09:12:04.000Z\"\
          \ }, \n \"failures\" : [ \n { \"family\" :"
  /api/keys:
    get:
      operationId: get_api_keys
      tags:
      - Api
      summary: List active API keys and 30-day usage metrics.
      x-source: https://docs.emailens.dev/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_keys
      tags:
      - Api
      summary: Create a new API key.
      x-source: https://docs.emailens.dev/api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/keys/[id]:
    delete:
      operationId: delete_api_keys_id
      tags:
      - Api
      summary: Revoke an API key.
      x-source: https://docs.emailens.dev/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/mcp:
    post:
      operationId: post_api_mcp
      tags:
      - Api
      summary: POST /api/mcp
      x-source: https://docs.emailens.dev/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiMcpRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://app.emailens.dev/api/mcp  -H \"Content-Type: application/json\"  -H \"Authorization: Bearer ek_live_...\"\
          \  -d '{ \n \"jsonrpc\": \"2.0\", \n \"id\": 1, \n \"method\": \"tools/list\", \n \"params\": {} \n }' Sharing Previews Create public,\
          \ collaborative preview links with client switching and password protection. Authentication Authenticate with the Emailens API using\
          \ API keys or session cookies. C"
  /api/preview:
    post:
      operationId: post_api_preview
      tags:
      - Api
      summary: POST /api/preview
      x-source: https://docs.emailens.dev/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiPreviewRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiPreviewResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://app.emailens.dev/api/preview  -H \"Content-Type: application/json\"  -H \"Authorization: Bearer ek_live_...\"\
          \  -d '{ \n \"html\": \"<html><body><h1>Hello World</h1></body></html>\", \n \"format\": \"html\", \n \"clients\": [\"gmail-web\", \"\
          outlook-windows\", \"apple-mail\"], \n \"title\": \"Welcome Email v2\" \n }' \n Request Body \n Field Type Required Description html\
          \ string Yes Email markup (HTML, JSX, "
  /api/sandbox/smtp/credentials:
    post:
      operationId: post_api_sandbox_smtp_credentials
      tags:
      - Api
      summary: POST /api/sandbox/smtp/credentials
      x-source: https://docs.emailens.dev/sandbox/credentials
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiSandboxSmtpCredentialsRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiSandboxSmtpCredentialsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://app.emailens.dev/api/sandbox/smtp/credentials  -H \"Authorization: Bearer ek_live_...\"  -H \"Content-Type:\
          \ application/json\"  -d '{ \n \"inboxId\": \"clx9inbox123\", \n \"name\": \"Staging Backend Worker\" \n }' \n Response: \n { \n \"\
          credential\" : { \n \"id\" : \"cred_abc123\" , \n \"inboxId\" : \"clx9inbox123\" , \n \"name\" : \"Staging Backend Worker\" , \n \"\
          username\" : \"esmtp_worker_clx9\" , \n \"password\" :"
  /api/sandbox/smtp/credentials/cred_abc123:
    delete:
      operationId: delete_api_sandbox_smtp_credentials_cred_abc123
      tags:
      - Api
      summary: DELETE /api/sandbox/smtp/credentials/cred_abc123
      x-source: https://docs.emailens.dev/sandbox/credentials
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X DELETE https://app.emailens.dev/api/sandbox/smtp/credentials/cred_abc123  -H \"Authorization: Bearer ek_live_...\" \n\
          \ Any subsequent SMTP handshake attempting authentication with the revoked credentials will immediately fail with 535 5.7.8 Invalid\
          \ SMTP username or password . Authenticated SMTP Relay Route outbound emails from your development backend, framework, or Docker container\
          \ to the Ema"
  /api/sandbox/smtp/credentials/cred_abc123/rotate:
    post:
      operationId: post_api_sandbox_smtp_credentials_cred_abc123_rotate
      tags:
      - Api
      summary: POST /api/sandbox/smtp/credentials/cred_abc123/rotate
      x-source: https://docs.emailens.dev/sandbox/credentials
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://app.emailens.dev/api/sandbox/smtp/credentials/cred_abc123/rotate  -H \"Authorization: Bearer ek_live_...\"\
          \ \n Revoking Credentials \n If a credential is compromised or no longer needed, revoke it immediately: \n In the dashboard, click Revoke\
          \ next to the credential row. \n Or send a DELETE request: "
  /api/sandbox/v1/messages/wait:
    get:
      operationId: get_api_sandbox_v1_messages_wait
      tags:
      - Api
      summary: Wait for messages programmatically and immediately receive parsed verification codes to finish authentication without scraping
        raw HTML.
      x-source: https://docs.emailens.dev/sandbox
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/share:
    post:
      operationId: post_api_share
      tags:
      - Api
      summary: POST /api/share
      x-source: https://docs.emailens.dev/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiShareRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiShareResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://app.emailens.dev/api/share  -H \"Authorization: Bearer ek_live_...\"  -H \"Content-Type: application/json\"\
          \  -d '{\"previewId\": \"abc123def456\"}' \n Response: \n { \n \"id\" : \"shr_xyz789\" , \n \"url\" : \"https://emailens.dev/share/shr_xyz789\"\
          \ \n } \n POST /api/deliverability \n Perform an immediate on-demand DNS deliverability audit for any domain. "
components:
  schemas:
    PostApiAuthMagicLinkResponse:
      type: object
      properties:
        redirect:
          type: string
    PostApiDeliverabilityRequest:
      type: object
      properties:
        domain:
          type: string
    PostApiDeliverabilityResponse:
      type: object
      properties:
        domain:
          type: string
        score:
          type: integer
        spf:
          type: object
          properties:
            valid:
              type: boolean
            record:
              type: string
            lookups:
              type: integer
        dkim:
          type: object
          properties:
            valid:
              type: boolean
            selector:
              type: string
        dmarc:
          type: object
          properties:
            valid:
              type: boolean
            policy:
              type: string
            record:
              type: string
        mx:
          type: object
          properties:
            valid:
              type: boolean
            hosts:
              type: array
              items:
                type: string
        bimi:
          type: object
          properties:
            valid:
              type: boolean
            indicatorUrl:
              type: string
    PostApiExtensionPrepareRequest:
      type: object
      properties:
        payload:
          type: string
          description: The email HTML source extracted from the DOM
        secret:
          type: string
          description: Secret used for verifying the request
      required:
      - payload
      - secret
    PostApiExtensionPrepareResponse:
      type: object
      properties:
        id:
          type: string
          description: Import ID returned by the API for accessing the cached payload
    PostApiGateRequest:
      type: object
      properties:
        html:
          type: string
        ref:
          type: string
    PostApiGateResponse:
      type: object
      properties:
        resolveLinks:
          type: boolean
    PostApiMcpRequest:
      type: object
      properties:
        jsonrpc:
          type: string
        id:
          type: integer
        method:
          type: string
        params:
          type: object
    PostApiPreviewRequest:
      type: object
      properties:
        html:
          type: string
        format:
          type: string
        clients:
          type: array
          items:
            type: string
        title:
          type: string
    PostApiPreviewResponse:
      type: object
      properties:
        id:
          type: string
        overallScore:
          type: integer
        transforms:
          type: array
          items:
            type: object
            properties:
              clientId:
                type: string
              html:
                type: string
              warnings:
                type: array
                items: {}
        compatibilityScores:
          type: object
          properties:
            gmail-web:
              type: object
              properties:
                score:
                  type: integer
                errors:
                  type: integer
                warnings:
                  type: integer
                info:
                  type: integer
            outlook-windows:
              type: object
              properties:
                score:
                  type: integer
                errors:
                  type: integer
                warnings:
                  type: integer
                info:
                  type: integer
        spamReport:
          type: object
          properties:
            score:
              type: integer
            triggers:
              type: array
              items: {}
        sizeReport:
          type: object
          properties:
            bytes:
              type: integer
            clippingRisk:
              type: boolean
        linkReport:
          type: object
          properties:
            total:
              type: integer
            broken:
              type: integer
            insecure:
              type: integer
        accessibilityReport:
          type: object
          properties:
            score:
              type: integer
            issues:
              type: array
              items: {}
        darkMode:
          type: object
          properties:
            gmail-web:
              type: object
              properties:
                html:
                  type: string
                warnings:
                  type: array
                  items: {}
    PostApiSandboxSmtpCredentialsRequest:
      type: object
      properties:
        inboxId:
          type: string
        name:
          type: string
    PostApiSandboxSmtpCredentialsResponse:
      type: object
      properties:
        credential:
          type: object
          properties:
            id:
              type: string
            inboxId:
              type: string
            name:
              type: string
            username:
              type: string
            password:
              type: string
            createdAt:
              type: string
              format: date-time
    PostApiShareRequest:
      type: object
      properties:
        previewId:
          type: string
    PostApiShareResponse:
      type: object
      properties:
        id:
          type: string
        url:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Api