API Documentation
Integrate TempMail into your application. No authentication required for public endpoints.
Base URL:
Format: All responses are JSON.
https://your-domain.comFormat: All responses are JSON.
Email Endpoints
GET/api/mail/messages?to={email}&page=1&limit=20
Retrieve paginated emails for an address (limit max: 100).
| Parameter | Type | Description |
|---|---|---|
to | query string | Email address (e.g. user@mailmomy.com) |
page | query string | Page number, default 1 |
limit | query string | Items per page, default 20, max 100 |
curl "https://mailmomy.com/api/mail/messages?to=test@mailmomy.com&page=1&limit=20"
const res = await fetch('/api/mail/messages?to=test@mailmomy.com&page=1&limit=20');
const page = await res.json();
const page = await res.json();
import requests
r = requests.get('https://mailmomy.com/api/mail/messages', params={'to': 'test@mailmomy.com', 'page': 1, 'limit': 20})
print(r.json())
r = requests.get('https://mailmomy.com/api/mail/messages', params={'to': 'test@mailmomy.com', 'page': 1, 'limit': 20})
print(r.json())
Response:
{"emails":[{"id":"uuid","recipient":"test@mailmomy.com","from":"sender@example.com",
"subject":"Welcome","message":"<html>...</html>","receivedAt":"2026-03-08 10:30:00"}],
"total":54,"page":1,"limit":20,"pages":3}
"subject":"Welcome","message":"<html>...</html>","receivedAt":"2026-03-08 10:30:00"}],
"total":54,"page":1,"limit":20,"pages":3}
DELETE/api/mail/delete?to={email}
Delete all emails for an address.
curl -X DELETE "https://mailmomy.com/api/mail/delete?to=test@mailmomy.com"
Response:
{"deleted": 5}
DELETE/api/mail/delete?id={uuid}
Delete a single email by its ID.
| Parameter | Type | Description |
|---|---|---|
id | query string | Email UUID (from the id field in messages response) |
curl -X DELETE "https://mailmomy.com/api/mail/delete?id=550e8400-e29b-41d4-a716-446655440000"
Response:
{"deleted": 1}
Domain Endpoints
GET/api/domains
List all registered domains.
curl "https://mailmomy.com/api/domains"
GET/api/domains/active
List active domain names only (string array).
["boxmail.store","mailmomy.com"]
POST/api/domains
Add a new domain. MX record must point to our server first.
curl -X POST "https://mailmomy.com/api/domains" \
-H "Content-Type: application/json" \
-d '{"domain":"mydomain.com","owner":"John","email":"john@example.com"}'
-H "Content-Type: application/json" \
-d '{"domain":"mydomain.com","owner":"John","email":"john@example.com"}'
Important: Your domain's MX record must point to
mail.mailmomy.com before submitting. We verify DNS on submission and check daily.GET/api/domains/check-dns?domain={domain}
Check if a domain's MX record points to our server.
{"ok": true, "message": "MX record points to mail.mailmomy.com"}
Notes
- All emails auto-delete after 2 hours
- Maximum email size: 10 MB
- No authentication required for public endpoints
- MX records are verified daily; domains pointing elsewhere are deactivated