Migrating from Mailsac
Endpoint-by-endpoint map. The Authorization header is the only auth change you need.
What's different
- One bearer token per request — no
Mailsac-Keyheader. - Native long-poll via
/wait— no client-side polling loops. - OTPs and magic links extracted server-side.
- Signed, retried webhooks instead of fire-and-forget.
Endpoint map
| Operation | Mailsac | ephemail |
|---|---|---|
| List addresses | GET /api/addresses | GET /v1/addresses |
| Create address | POST /api/addresses/{addr} | POST /v1/addresses |
| Delete address | DELETE /api/addresses/{addr} | DELETE /v1/addresses/{addr} |
| List messages | GET /api/addresses/{addr}/messages | GET /v1/addresses/{addr}/messages |
| Get message | GET /api/text/{addr}/{id} | GET /v1/messages/{id} |
| Get raw message | GET /api/raw/{addr}/{id} | GET /v1/messages/{id}/raw |
| Wait for message | (polling) | GET /v1/addresses/{addr}/wait |
| Send message | POST /api/outgoing-messages | POST /v1/send |
| Validate address | POST /api/validations/addresses | POST /v1/validate |
| Webhooks | Stateless POST per-inbox | Persistent /v1/webhooks with signing + retries |