EMXBetaby Elchi Studios

What the web client can do, your program can do too.

There is no second, smaller API. The web client talks to the same JSON API a token gets, described in OpenAPI 3.1, with the person's rights and the token's scopes.

EMX is in beta. Mailboxes, shared mailboxes, calendars, contacts, the web client, every mail app over IMAP and SMTP, calendar and contacts apps over CalDAV and CardDAV, the API and the webhooks work today; more features are being added.What is not included yet

The parts

One API

https://mail.emxmail.app/api, bearer tokens with mail:read, mail:write and admin, with an expiry you choose. Mail, folders, calendars, contacts, snippets and administration.

Changes, not polling

A client asks for what changed since its last state, and stays current without reloading.

Webhooks

message.received and delivery.failed, signed, retried, with a delivery id to deduplicate on.

An open client

An SDK for Rust, the emx command line and a desktop app, open source on GitHub.

Standards

IMAP, SMTP, CalDAV, CardDAV, SPF, DKIM, DMARC, MTA-STS and autoconfiguration, for everything that needs no API.

Errors with names

Every error answer has a code, a request id and a link to its explanation.

An example

curl -H "Authorization: Bearer emx_..." https://mail.emxmail.app/api/accounts/me/mailboxes

A mailbox at your own domain, today.

Private is free and starts at once. Switch to Team when more people join.