Mailbase Docs
How sending works (Amazon SES, a domain you buy or connect, a warm-up per domain), what the compliance controls do, and how to drive Mailbase from your own code: the REST API, webhooks and MCP.
REST API
Every Mailbase capability over HTTP: domains, campaigns, audiences, inbox, workflows, prospecting and analytics.
- Authentication
- Send transactional email
- Outgoing webhooks
Unsubscribe compliance
How Mailbase signs unsubscribe links, enforces suppression states, adds List-Unsubscribe headers, and keeps marketing sends compliant.
- Signed unsubscribe links
- Suppression enforcement
- List-Unsubscribe headers
API tokens
Create, scope, rotate, and verify Mailbase API tokens for workspace-safe backend integrations.
- Create a token
- Verify the token
- Scopes
Sender domains
Buy or connect a sending domain, publish SPF, DKIM and DMARC, and let Mailbase warm each domain up on real engagement while it sends through Amazon SES.
- How Mailbase sends
- Buy or connect a domain
- Verify the domain
MCP OAuth
Connect Claude, Cursor, Codex, or another MCP client to Mailbase with OAuth-scoped workspace access.
- Remote MCP server
- Connect a client
- Workspace scope
Claude Code plugin
Run Mailbase from Claude Code: the official plugin connects the Mailbase MCP server and adds skills and slash commands for prospecting, campaigns, replies and sending setup.
- Why use an external agent
- Claude Desktop and claude.ai (no terminal)
- Install the Claude Code plugin
CLI
The mailbase command-line tool: every Mailbase capability as a predictable command, with JSON output and stable exit codes, built for coding agents and scripts.
- Install and sign in
- Teach your agent
- Built for agents
No-code integrations
Connect Mailbase to Zapier, Make, or n8n with REST Hooks: subscribe a callback URL to an event, sample real payloads while you build, and unsubscribe when the automation is turned off.
- What the hooks API is
- Auth model
- Connect Zapier, Make or n8n
Deliverability and warm-up
How Mailbase sets up SPF, DKIM, DMARC and the reply MX for a domain, then warms it up on real engagement.
- Domain records
- Per-domain warm-up
- Honest by design
Send an email in one request.
Create a scoped token in Settings → Developer API, then call the send endpoint from your backend. Every endpoint is scoped to one workspace.
curl https://mailbase.studio/api/v1/send \
-H "Authorization: Bearer $MAILBASE_KEY" \
-H "Idempotency-Key: invoice-123" \
-H "Content-Type: application/json" \
-d '{
"to": "customer@example.com",
"subject": "Your invoice is ready",
"text": "Your invoice is ready."
}'const res = await fetch("https://mailbase.studio/api/v1/send", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.MAILBASE_KEY}`,
"Idempotency-Key": "invoice-123",
"Content-Type": "application/json",
},
body: JSON.stringify({
to: "customer@example.com",
subject: "Your invoice is ready",
text: "Your invoice is ready.",
}),
});
const result = await res.json();import os, requests
r = requests.post(
"https://mailbase.studio/api/v1/send",
headers={
"Authorization": f"Bearer {os.environ['MAILBASE_KEY']}",
"Idempotency-Key": "invoice-123",
},
json={
"to": "customer@example.com",
"subject": "Your invoice is ready",
"text": "Your invoice is ready.",
},
)
result = r.json(){
"ok": true,
"campaignId": "…",
"sent": [{ "email": "customer@example.com", "status": "sent" }],
"failed": []
}Two ways in: the REST API and MCP.
Mailbase has two integration surfaces: the REST API for product teams that need deterministic backend calls, and the MCP server for AI-assisted workflow clients. Both are workspace-scoped and designed around your sender domains, audiences, campaigns, replies and Amazon SES sending.
If you’re wiring Mailbase into a live product, start with the REST API reference for authentication, scoped tokens, transactional send, campaigns, and audiences — every endpoint is scoped to a single workspace so multi-tenant data never crosses boundaries. Teams building AI-assisted email workflows can instead connect the MCP server to clients like Claude Code, Cursor, or Codex, where drafts always land for human review before anything sends.
Professional integration checklist
- Create a workspace and verify at least one sender domain.
- Open Settings, then Developer API, and create a scoped API token.
- Store the token in your backend secret manager, never in frontend code.
- Call
/api/v1/mefrom CI or staging to verify the token scope. - Use
/api/v1/sendfor transactional email from your app. - Connect the provider's event webhook (Amazon SES by default) so delivery, bounce, complaint, and reply events flow back.