🔐 Authentification: La plupart des points de terminaison ne nécessitent pas d'authentification. Seulement /api/all-domains/ nécessite le X-Domain-Token en-tête.

GET/api/email/{domain}/{user}/

Obtenez une liste paginée des e-mails d'un utilisateur. Les réponses de liste contiennent uniquement des métadonnées (non body / html_body).

ParamètreEmplacementDescription
domaincheminDomaine de messagerie, par ex. example.com
usercheminNom d'utilisateur, par ex. testuser
pagerequête, facultatifNuméro de page (par défaut 1)
limitrequête, facultatifÉléments par page (20 par défaut, 100 maximum)
curl -X GET "https://BASE_URL/api/email/example.com/testuser/?page=1&limit=20"
{
  "emails": [
    {
      "id": 123,
      "subject": "Welcome",
      "sender": "[email protected]",
      "date": "2026-09-30T10:30:00.000Z",
      "has_attachments": false,
      "size": 1234
    }
  ],
  "total": 5,
  "page": 1,
  "limit": 20,
  "has_more": false
}

GET/api/email/{domain}/{user}/{email_id}

Obtenez tous les détails d’un e-mail.

curl -X GET "https://BASE_URL/api/email/example.com/testuser/123"

DELETE/api/email/{domain}/{user}/{email_id}

Supprimez un e-mail spécifique.

curl -X DELETE "https://BASE_URL/api/email/example.com/testuser/123"
{ "status": "deleted" }

POST/api/add-domain/{domain}

Ajoutez un nouveau domaine ou mettez à jour le statut en ligne d'un domaine existant. Le domaine doit avoir un enregistrement MX pointant vers le nom d'hôte du système pour être accepté (statut added, is_online: true).

curl -X POST "https://BASE_URL/api/add-domain/newdomain.com"
// Ajouté avec succès
{ "status": "added", "domain": "newdomain.com", "is_online": true }

// Domaine existant : mettre à jour son statut
{ "status": "updated", "domain": "newdomain.com", "is_online": false }
⚠️ Si l'enregistrement MX ne pointe pas vers le bon hôte, l'API renvoie une erreur 400 avec guidage.

GET/api/all-domains/ & /api/random-domains/

Tous les domaines en ligne (privés, jeton requis) :

curl -X GET "https://BASE_URL/api/all-domains/" \
  -H "X-Domain-Token: YOUR_TOKEN"

Domaines en ligne aléatoires (publics) :

curl -X GET "https://BASE_URL/api/random-domains/?limit=10"
{ "domains": ["domain1.com", "domain2.com"], "total": 2 }

GET/api/check-mx/{domain}

Vérifiez si un domaine possède un enregistrement MX valide pointant vers le système.

curl -X GET "https://BASE_URL/api/check-mx/example.com"
{ "result": "online" }   // ou "offline"

Gestion des erreurs

CodeSignification
200Succès
400Demande invalide (par exemple, domaine/e-mail mal formé)
401Jeton manquant ou invalide pour un point de terminaison privé
404E-mail introuvable
429Limite de débit dépassée
{ "detail": "Domain not found" }

Remarques importantes