The REST API for the mailbox you already have.

Bring Gmail, Outlook, Fastmail, iCloud, or any IMAP/SMTP account. We connect to it, speak the old protocols on your behalf, and expose your mail as clean JSON. Incoming messages arrive at your webhook as parsed Markdown. Outgoing is one authenticated POST. Your agent never touches a protocol older than HTTPS.

Bring your own mailbox

Works with any IMAP/SMTP account. Connect with the credentials your provider supports (app password or account password). Your provider stays the source of truth. Revoke our access at any time and your inbox is untouched.

Just the message

Every email arrives at your webhook (or via polling) as clean Markdown: HTML stripped, signatures gone, quoted threads cut, attachments separated into structured metadata. Your agent gets the signal. Nothing else makes the trip.

One endpoint to send

POST /api/v1/{inbox}/send with a bearer token, a JSON body, and the recipient list. We handle queuing, retries, threading headers, and SMTP delivery. You get a message_id back to correlate replies.

Files as real URLs

Attachments come as plain HTTPS downloads, bearer-authenticated and ready to fetch. Your agent handles them like any other file on the internet. No MIME, no base64, no in-memory parsing.

For autonomous agents

Pull mode for headless agents

No public URL? Call GET /api/v1/{slug}/messages?since=<cursor> on a schedule. Same JSON shape as the webhook, deduped by message_id.

HMAC-signed webhooks

Every POST carries an X-Llmail-Signature header. Optional in dev, recommended in prod.

Predictable rate limits

Three independent buckets (send, messages, media) per plan, so polling for new mail never starves outgoing replies.