EMXby Elchi Studios

For developers

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.

The parts

One API

https://mail.emxmail.app/api, bearer tokens with mail:read, mail:write and admin, with an expiry you choose.

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, 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.