API Documentation

Complete reference for the euromail.dev transactional email API. 124 endpoints across 7 resource groups.

Quick start

Send your first email with any of our official SDKs. All requests require an API key from the dashboard.

curl -X POST https://api.euromail.dev/v1/emails \
  -H "X-EuroMail-Api-Key: em_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "from": "[email protected]", "to": "[email protected]", "subject": "Hello from EuroMail", "html_body": "<h1>It works!</h1>" }'
import { EuroMail } from "@euromail/sdk";

const euromail = new EuroMail({ apiKey: "em_live_..." });

const result = await euromail.sendEmail({
    from: "[email protected]",
    to: "[email protected]",
    subject: "Hello from EuroMail",
    html_body: "<h1>It works!</h1>",
});
from euromail import EuroMail

client = EuroMail(api_key="em_live_...")

result = client.send_email(
    from_address="[email protected]",
    to="[email protected]",
    subject="Hello from EuroMail",
    html_body="<h1>It works!</h1>",
)
use euromail::{EuroMail, SendEmailParams};

let client = EuroMail::new("em_live_...");

let result = client.send_email(&SendEmailParams {
    from: "[email protected]".into(),
    to: "[email protected]".into(),
    subject: Some("Hello from EuroMail".into()),
    html_body: Some("<h1>It works!</h1>".into()),
    ..Default::default()
}).await?;
client := euromail.NewClient("em_live_...")

result, err := client.SendEmail(ctx, euromail.SendEmailParams{
    From:     "[email protected]",
    To:       euromail.Recipients("[email protected]"),
    Subject:  euromail.String("Hello from EuroMail"),
    HTMLBody: euromail.String("<h1>It works!</h1>"),
})
Install an SDK

Official SDKs for TypeScript, Python, Rust, and Go.

# TypeScript / Node.js
npm install @euromail/sdk

# Python
pip install euromail

# Rust (add to Cargo.toml)
euromail = "0.1"

# Go
go get github.com/kalle-works/euromail-go

Emails

Send and track transactional emails

7 endpoints

Domains

Register and verify sender domains (SPF, DKIM, DMARC)

9 endpoints

Templates

Manage email templates with MiniJinja syntax

5 endpoints

Webhooks

Configure webhook endpoints for delivery events

6 endpoints

Contact Lists

Manage contact lists and contacts

10 endpoints

Analytics

Email analytics: overview, timeseries, domain breakdown, CSV export

7 endpoints

Dead Letters

View, retry, or delete failed emails from the dead letter queue

3 endpoints

Suppressions

Manage the per-account suppression list

5 endpoints

Billing

Plans, subscriptions, and billing management

4 endpoints

Account

Account management, GDPR export and deletion

4 endpoints

Audit

Security audit log

1 endpoint

API Keys

Create and manage API keys and their scopes

3 endpoints

Admin Mailboxes

Admin read access to the platform mailboxes (support@, privacy@, abuse@, ...)

4 endpoints

Admin Stats

Platform-wide accounts, signups and sending for administrators

1 endpoint

Agent Mailboxes

Provisioned inbound email addresses for AI agents: create, poll, reply, search

20 endpoints

Deliverability

Public, account-agnostic deliverability statistics

1 endpoint

Developer Tools

Public developer utilities, such as the domain DNS health checker

1 endpoint

GDPR

Per-email GDPR export and erasure

2 endpoints

Inbound

View and manage received inbound emails

3 endpoints

Inbound Routes

Route inbound mail on a domain to a webhook

5 endpoints

Newsletters

Draft, update, and send newsletters to a contact list

6 endpoints

Operations

Track the progress of long-running bulk operations (batch sends, newsletters, broadcasts)

2 endpoints

Signup Forms

Create and manage public signup forms for contact lists

6 endpoints

Sub-Accounts

Create and manage sub-accounts under a parent account's quota pool

7 endpoints

Validation

Validate email addresses: syntax, MX, disposable, role, and free provider checks

1 endpoint

insights

1 endpoint

Feature Guides

In-depth documentation for euromail's core capabilities.

Quickstart

Add your domain, send a test email to yourself, then verify to send to anyone

Sending Emails

The complete guide to sending transactional email with EuroMail. Single sends, batches, attachments, scheduling, idempotency, and tracking.

API Keys & Authentication

Create, use, rotate, and secure EuroMail API keys, and understand the two authentication schemes.

Errors & Rate Limits

The error format every EuroMail API call uses, what each error code means, and how to handle 429 responses and retries.

Send Email via SMTP

Send through EuroMail from WordPress, any framework, or any device that speaks SMTP -- authenticate with an API key.

WordPress Plugin

Install the official Euromail plugin to route wp_mail() through the EuroMail API, with an SMTP fallback, delivery log, and webhook-driven status updates -- no code changes.

EU Data Residency

Where EuroMail stores messages, processes AI requests, and uses ancillary services

Direct SMTP Engine

How EuroMail's custom Rust SMTP engine delivers email

Template Engine

Create and manage email templates with MiniJinja

Real-time Webhooks

Get instant delivery notifications via signed webhooks

Bounce & Feedback Loops

Automatic bounce handling and complaint processing

Domain Verification

Step-by-step DNS setup for SPF, DKIM, DMARC, and bounce routing

GDPR Tooling

Built-in tools for GDPR compliance and data subject rights

Dashboard

Full admin interface for managing your email infrastructure

IP Warm-up

Build sender reputation with automatic warm-up

Inbound Email Processing

Receive, route, and process incoming emails with EuroMail

Newsletters

Collect subscribers and send newsletters with EuroMail

Sub-Accounts

Create and manage multi-tenant sub-accounts with isolated quotas

Reading an Account Review

How EuroMail separates verification, sending restrictions, and recorded sending history when reviewing an account.

Email Validation

Validate email addresses before sending to improve deliverability

DMARC Monitoring

Monitor DMARC alignment across your sending domains

Deliverability Insights

Monitor sending reputation and identify deliverability issues

Scheduled Sending

Schedule emails for future delivery up to 30 days ahead

Agent Mailboxes

Persistent email addresses for AI agents with at-least-once message delivery

Contact Lists & Contacts

Organise subscribers into contact lists, add and import contacts, attach metadata, and manage subscription status.

Signup Forms & Double Opt-In

Create embeddable signup forms, turn on double opt-in for a list, and customise the embed.

Suppression List

How EuroMail's suppression list protects your reputation: automatic bounce/complaint/unsubscribe suppression, plus manual entries.

Analytics & Reporting

Measure delivery, opens, clicks, bounces and complaints with EuroMail's analytics endpoints, per-tag breakdowns, and CSV export.

Dead Letter Queue

Inspect, retry, and clear emails that exhausted delivery retries, and diagnose why they failed.

Billing, Plans & Quotas

How EuroMail billing works: plans, sending quotas, Stripe checkout and customer portal, and tracking usage.

Official SDKs

Install and use the official EuroMail SDKs for TypeScript, Python, PHP, Rust, and Go.

MCP Server for AI Agents

Let AI assistants send and manage email through EuroMail using the Model Context Protocol server.

Migrate from Resend

Move transactional email from Resend to EuroMail: API field mapping, code before/after, SMTP cutover, DNS, webhooks, and a zero-downtime checklist.

Migrate from SendGrid

Move transactional email from SendGrid to EuroMail: API field mapping, code before/after, SMTP cutover, DNS, webhooks, and a zero-downtime checklist.

Migrate from Mailgun

Move transactional email from Mailgun to EuroMail: API field mapping, code before/after, SMTP cutover, DNS, webhooks, and a zero-downtime checklist.

Migrate from Postmark

Move transactional email from Postmark to EuroMail: API field mapping, code before/after, SMTP cutover, DNS, webhooks, and a zero-downtime checklist.

Migrate from Amazon SES

Move transactional email from Amazon SES to EuroMail: API differences, code before/after, SMTP cutover, DNS, event mapping, and a zero-downtime checklist.

Migrate WordPress & WooCommerce email

Move a live WordPress or WooCommerce site's email to EuroMail: SMTP plugin settings, safe testing, suppression import, parallel running, and what the first 24 hours look like.