Développeurs
API TempMail
API REST simple, sans clé, sans authentification complexe. Un jeton anonyme par adresse, du JSON partout, prête pour vos tests automatisés.
Démarrage rapide
// 1. Créer une adresse
const res = await fetch("/api/addresses", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({})
});
const { address } = await res.json();
console.log(address.email, address.token);
// 2. Lister les messages (polling 4s recommandé)
const inbox = await fetch(
`/api/addresses/${address.id}/messages?token=${address.token}`
).then(r => r.json());
console.log(inbox.total, "messages,", inbox.unread, "non lus");
// 3. Lire un message
const msg = await fetch(
`/api/messages/${inbox.messages[0].id}?token=${address.token}`
).then(r => r.json());Testez en direct
GET /api/stats — aucune authentification requise
Référence des endpoints
/api/domainsDomaines actifsListe les domaines e-mail réellement actifs pour créer des adresses.
Réponse 200
{ "domains": ["uberip.com"], "provider": "mail.tm" }/api/addressesCréer une adresse réelleCrée un vrai compte e-mail (valide 60 minutes) capable de recevoir de vrais messages, avec messages de bienvenue.
Corps de requête
{
"localPart": "mon.test.42",
"domain": "uberip.com"
}Réponse 200
{
"address": {
"id": "uuid",
"email": "mon.test.42@uberip.com",
"token": "jeton-secret",
"expiresAt": "2026-10-01T12:00:00Z"
}
}/api/addresses?token=xxxRécupérer mon adresseRetrouve l'adresse liée à votre jeton anonyme.
Réponse 200
{ "address": { "email": "...", "messageCount": 3 } }/api/addresses/{id}/messagesLister les messagesParamètres : token (requis), search, filter (all|unread|read|attachments).
Réponse 200
{
"messages": [...],
"total": 12,
"unread": 4
}/api/messages/{id}?token=xxxLire un messageRetourne le contenu complet (texte + HTML) et marque comme lu.
Réponse 200
{ "message": { "subject": "...", "bodyHtml": "..." } }/api/messages/{id}Marquer lu / non luBascule le statut de lecture d'un message.
Corps de requête
{ "token": "xxx", "isRead": true }Réponse 200
{ "ok": true, "isRead": true }/api/messages/{id}Supprimer un messageSuppression définitive et immédiate.
Corps de requête
{ "token": "xxx" }Réponse 200
{ "ok": true }/api/addresses/{id}/extendProlonger +60 minRepousse l'expiration de 60 minutes (max 10 prolongations).
Corps de requête
{ "token": "xxx" }Réponse 200
{ "address": { "expiresAt": "...", "extendedCount": 1 } }/api/addresses/{id}?token=xxxSupprimer une adresseDétruit l'adresse et tous ses messages (cascade).
Réponse 200
{ "ok": true }Besoin d'un SDK ou d'un webhook ?
Dites-le-nous, la feuille de route est pilotée par vos retours.
Proposer une fonctionnalité