Skip to content
Docs

Overview

Send transactional email with one HTTPS request, then schedule, cancel, retry or forward it. Base URL, authentication, features and limits.

Updated Oct 1, 2026

The Email API sends email from your application over HTTPS instead of an SMTP connection. Use it for transactional mail such as sign-up confirmations, password resets, receipts and alerts, especially when you want templates, scheduling, idempotent retries and a separate ID for every recipient.

How it works

  1. Your application calls POST /emails with a From address on a verified sending domainSending domainA domain you own and verify with DNS records so Emailit can send mail from it with SPF, DKIM and a custom return path., the recipients, and the content or a template.
  2. Emailit validates the request, charges 1 credit per recipient and creates one email per recipient, each with its own em_ ID.
  3. The response comes back right away with the status accepted, or scheduled if you set a send time. Delivery happens in the background.
  4. Emailit signs the message with DKIM for your domain, runs spam checks and delivers it. Temporary failures are retried for about 21 hours.
  5. Every status change appears in Email APIEmails and is sent to your webhooks.

Base URL and authentication

Item Value
Base URL https://api.emailit.com/v2
Authentication Authorization: Bearer secret_•••• with an API key
Request body JSON, sent with Content-Type: application/json
Send endpoint POST /emails

A Full Access key can call every endpoint. A Sending Only key can send, reschedule, cancel, retry and forward email, and you can restrict it to a single sending domain. See Authentication for details.

Send an email

Terminal
curl https://api.emailit.com/v2/emails \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Acme <hello@acme.com>",
    "to": "ada@example.com",
    "subject": "Welcome to Acme",
    "html": "<p>Thanks for signing up, Ada.</p>",
    "text": "Thanks for signing up, Ada."
  }'

A successful request returns 200 with the new email:

JSON
{
  "object": "email",
  "id": "em_33VtK8mRq1xZp7LwN4cY2bHsDfa",
  "token": "33VtK8m4XcPq2RwZ7nLb1YsTgHd",
  "message_id": "<33VtK8m4XcPq2RwZ7nLb1YsTgHd@acme.com>",
  "from": "Acme <hello@acme.com>",
  "to": ["ada@example.com"],
  "subject": "Welcome to Acme",
  "status": "accepted",
  "scheduled_at": null,
  "created_at": "2026-10-01T09:30:12.418203Z",
  "tracking": { "loads": false, "clicks": false }
}

New workspaces start in sandbox mode and can only send to the account email addresses of workspace members. Request production access before you send to anyone else.

What you can do

From addresses, recipients, content, templates, tracking and every error.
Attach files as base64 or from a URL, and embed inline images.
Send later, reschedule, or cancel an email before it goes out.
Retry requests safely without sending the same email twice.
Custom headers, List-Unsubscribe, and metadata echoed in webhooks.
Resend failed or held email, or forward a sent email to someone else.
Store designs once and send them by alias with Temple variables.
Every email endpoint with parameters and responses.

Limits

Limit Value
Recipients per request 50 in to, 50 in cc and 50 in bcc
Message size 40 MB, including encoded attachments
Attachment downloaded from a URL 25 MB, with a 30-second download timeout
Idempotency window 24 hours
Sending rate (default) 2 emails per second and 5,000 emails per day per workspace, shared with SMTP
Forwarding 3 forwards per hour per workspace
Reschedule or cancel a scheduled email Until 3 minutes before its send time
Retry window 30 days after the original email was created

Rate limits count recipients, so one request to 10 recipients uses 10 of your per-second and daily allowance. Pro and Business workspaces get automatic increases based on sending health, and any workspace can ask for more from the Sending Limits card on the dashboard home page. See Limits and Rate limits.

Credits

Every recipient costs 1 credit, and to, cc and bcc addresses all count. If the workspace doesn’t have enough credits for every recipient, the request fails with 402 and nothing is sent. Retries and forwards are charged as new sends.

ActionCredits
Email sent with the API or SMTP (per recipient)1
Inbound email received1
Campaign email (per recipient)2
Automation run3
Email verification (per address)5

See Credits for how included and purchased credits are used.

Next steps

Send your first email in a few minutes.
Verify the domain you send from.
Get delivery, bounce and engagement events.
Compare the Email API with the SMTP relay.

Was this page helpful?

Thanks for the feedback.

Thanks, we read every message.