Changelog
Version history and recent changes to Robotomail.
August 24, 2026
Machine-readable API surface
- Published an OpenAPI 3.1 specification at /openapi.json: every endpoint with a unique operation ID, typed request/response schemas, the real error variants each route can emit, and the auth model (full-access vs mailbox-scoped keys). Kept in lockstep with the code by route-parity tests.
- llms.txt expanded: when to use Robotomail, developer resources, and a markdown URL for every public page.
- Versioning and deprecation policy: the API is URL-versioned (
/v1); breaking changes ship as a new version path, and retirements get at least 30 days of notice here plusDeprecation/Sunsetheaders. Now also part of the Terms of Service.
Structured errors for agents
- Unknown
/v1and/apipaths return a JSON 404 withcode: NOT_FOUNDand resolution links instead of an HTML page. - Unknown site paths requested with
Accept: text/markdownreturn a markdown 404 with recovery links (llms.txt, docs, sitemap, OpenAPI spec). - Every rate-limit
429now carries aRetry-Afterheader: the velocity window, the seconds until the daily reset at UTC midnight, or until the monthly reset. - Markdown-negotiated responses carry
Vary: Accept;GET /v1/signup/check-slugnow validates the full slug format (soavailable: truemeans signup will accept it) and is rate limited.
Trust and discovery
- New /contact page (with a markdown twin) and
/.well-known/security.txtfor vulnerability reports. - Organization metadata: legal entity (Tiny Bot Labs Limited, UK) and official profiles (npm, GitHub, YouTube) published in the site's structured data. openapi.json and llms.txt are now served with CORS enabled and proper caching.
August 19, 2026
Legacy free plan retired
- The legacy free plan has been retired, following notice to affected accounts in July and reminder and final notices in August. The card-free trial and the paid tiers are the supported path for new and existing accounts.
August 12, 2026
Reply threading
- Provider-agnostic reply threading: replies now thread correctly in recipients' mail clients even when intermediate providers rewrite Message-IDs, via a References-based threading token.
June 16, 2026
Card-free trial onboarding
- Verifying your signup email now starts a 3-day card-free trial automatically — no card required to try the full loop.
- Trial scope: 10 sends and 10 receives, with sends locked to your own verified address. Product routes answer
402 PAYMENT_REQUIREDbefore verification and again once the trial is spent or expired, until checkout completes. - New onboarding sandbox: your agent sends its first email, you reply, and it reads the answer over the API — under a minute, end to end.
June 1, 2026
On-site checkout
- Checkout now runs on robotomail.com with a redesigned order summary, instead of redirecting straight to a hosted page.
- Trial lifecycle emails: reminders and recovery for started-but-unfinished checkouts.
May 15, 2026
Dashboard
- Mailbox management UI — create, pause, and edit mailboxes from the dashboard.
- Domain management UI on settings — add domains, view DNS records, trigger verification.
- Suppressions page — view and manage the suppression list.
- Audit Feed — a read-only oversight timeline of your agents' email activity.
April 27, 2026
Resend verification
- New
POST /v1/auth/resend-verificationendpoint and a/resend-verificationpage, so a lost verification email no longer blocks activation. Rate limited per IP and per address; responses are identical for unknown and already-verified emails.
April 21, 2026
Monthly inbound limits
- Per-tier monthly inbound caps: Free 100, Developer 2,000, Growth 20,000, Scale unlimited.
- Soft enforcement: over-cap inbound messages are safely persisted but withheld — reads return
402 INBOUND_LIMIT_EXCEEDEDwith an upgrade hint and aresetAt; upgrading or the monthly reset makes them visible in place. - Every authenticated response now carries
X-Robotomail-Inbound-Quotaand, near the cap,X-Robotomail-Inbound-Warningheaders. - Warning emails at 80% and 90% of the cap, with a 24-hour follow-up.
April 9, 2026
Inbound attachments
- Inbound message attachments are now extracted automatically and uploaded to R2. Each attachment is linked to the inbound
Messagerow and surfaced via the REST API and the webhook/SSE event payloads. - REST API:
GET /v1/mailboxes/:id/messages/:msgIdreturns inbound messages with new fieldshasAttachments,attachmentsDropped,attachmentsDroppedReason, and anattachments[]array (callGET /v1/attachments/:idper attachment to get a presigned download URL). NewcontentIdfield on each attachment for inline image rewriting. message.receivedwebhook and SSE payloads now include theattachmentsarray with a fresh presigneddownload_urlper attachment, materialized at delivery time. Inline image parts includecontent_idmatching the original Content-ID header.- Limits: 25 MB per attachment, 20 attachments per inbound message. Over-cap parts are dropped; the message body is still ingested with
attachments_dropped: trueandattachments_dropped_reason:"size","count", or"both". - See Inbound attachments for the full schema, the inline-image rewrite examples, and the storage quota semantics.
Webhook delivery is at-least-once (action required)
- Every webhook POST now includes a new
X-Robotomail-Delivery-Idheader containing a stable UUID for that delivery. The same delivery ID is sent on every retry; distinct deliveries always have distinct IDs. - Your endpoint MUST dedupe on this header. Webhook delivery is at-least-once — if a network blip happens between us receiving HTTP 200 and recording success, we will retry. The dedupe row and your business logic must commit atomically (in a single DB transaction) to avoid silently losing events on handler failures.
- See Webhook delivery is at-least-once for the full code example using the verify→transactional-dedup→commit pattern.
April 2, 2026
Multi-tier pricing
- New 4-tier pricing: Free ($0), Developer ($19/mo), Growth ($79/mo), Scale ($199/mo)
- Free tier expanded — 3 platform mailboxes (was 1), 100 sends/day (was 50), 5,000/mo (was 1,000)
- Custom domain limits per tier — Developer: 1, Growth: 5, Scale: unlimited
- Unlimited monthly sending on Growth and Scale
- Immediate plan switching via Stripe Customer Portal with automatic proration
CLI
- CLI v0.1.7 —
robotomail account upgrade [plan]acceptsdeveloper,growth, orscale
March 30, 2026
Claude Code channel plugin
- Robotomail channel plugin for Claude Code — receive and reply to emails directly in your Claude Code session
- Connects to SSE endpoint, pushes inbound emails as notifications, Claude replies using
reply_emailandsend_emailtools - Install with Bun, free tier compatible
March 29, 2026
Dashboard
- Support contact form — reach us directly from the dashboard
Misc
- Custom 404 and 500 error pages
- 29 additional reserved slugs to prevent squatting on common terms
March 26, 2026
Send accounting
- Daily and monthly send quotas now count per recipient, not per message
- Recipient caps: 50 per
tofield, 50 perccfield
March 24, 2026
Abuse prevention
- Account and mailbox suspension on bounce/complaint threshold breaches (3% bounce, 0.05% complaint over 7-day window)
- Send velocity limiting — 30 messages/min per mailbox, 60/min per account
- Suspended accounts receive structured 403 responses with reason and support contact
GET /v1/accountnow returns suspension status
CLI
- CLI v0.1.6 — suspension and rate-limit detection with actionable error messages on all write commands
March 22, 2026
Content
- Blog with developer guides on agent email architecture, infrastructure, and integration
- 20 use case pages covering agent email scenarios (customer support, sales outreach, recruiting, and more)
- Comparison pages: Robotomail vs SendGrid, Mailgun, and Gmail API
- About page
March 20, 2026
Dashboard
- DNS records modal — view and copy DNS records for custom domains, trigger verification inline
- Relative hostnames displayed for registrar compatibility (Namecheap, Cloudflare, GoDaddy)
March 19, 2026
OpenClaw skill
- Published Robotomail as an OpenClaw skill on ClawHub — AI agents can now discover and use Robotomail across 30+ agent platforms (Claude Code, Cursor, Gemini CLI, and more)
- Skill includes full API reference, decision trees for common workflows, and webhook verification examples
- Install with
clawhub install robotomail
March 18, 2026
Real-time event streaming (SSE)
- New
GET /v1/eventsendpoint — real-time Server-Sent Events stream for receiving events without webhooks - Supports all 5 event types:
message.received,message.sent,message.delivered,message.bounced,message.complaint - Automatic replay on reconnect via
Last-Event-IDheader (buffer: last 100 events, 1-hour TTL) - Scoped API key filtering — scoped keys only receive events for their permitted mailboxes
- Connection limits: 5 concurrent per user, 4.5-minute lifetime with graceful reconnect signal
CLI listen command
- New
robotomail listencommand — stream events in your terminal (likestripe listen) --forward-to <url>— forward events to a local HTTP endpoint with HMAC-SHA256 signatures--json— output NDJSON for piping tojqand other tools--mailboxand--eventsfilters- Auto-reconnect with exponential backoff; exits immediately on auth/validation errors
Documentation
- New Events (SSE) API docs page with connection guide, payload schemas for all 5 event types, and reconnection reference
- Webhook payload schema reference added to Webhooks API page
- CLI docs updated with listen command
March 13, 2026
Email delivery
- Migrated outbound email to Resend for improved deliverability
- Delivery status tracking via webhooks (bounces, complaints, delivery confirmations)
- Total message size limit increased from 10 MB to 25 MB
- Automatic retry with backoff on rate limits
- Platform email addresses are now
slug@robotomail.co— simpler, no DNS setup needed per account - Default mailbox auto-created at signup
- Display name support — set via
PATCH /v1/mailboxes/:idso emails show"Name" <slug@robotomail.co> - Auto-quoting in replies — original message included as quoted block when
inReplyTois set
Account management
- Added
DELETE /v1/accountendpoint for permanent account deletion - Account deletion available in dashboard settings
Documentation
- All docs pages available as markdown at
/docs/*.md(e.g./docs/quickstart.md) - Content negotiation: request docs with
Accept: text/markdownheader - Navigation links in markdown views for prev/next page browsing
March 11, 2026
Documentation
- Launched API documentation at /docs — overview, concepts, API reference, guides, and CLI
Features
- Health endpoint (
GET /api/health) and public status page - New webhook events:
message.deliveredandmessage.complaint - Account status endpoint (
GET /v1/account) — check plan, limits, and verification state
March 6, 2026
- Resend outbound relay — all outbound email now sent via Resend for reliable delivery
- Resend webhook processing for delivery confirmations, bounces, and complaints
- Custom domain registration with Resend DKIM
- Automatic suppression list management
March 1, 2026
- Initial launch with full send/receive API
- Stalwart-based mail server for inbound and outbound
- Webhook system with signature verification
- CLI package (
@robotomail/cli) - Stripe billing integration
- Agent skill page for self-service onboarding