🔐 Autenticação: A maioria dos endpoints não requer autenticação. Apenas /api/all-domains/ requer o X-Domain-Token cabeçalho.

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

Obtenha uma lista paginada dos e-mails de um usuário. As respostas da lista contêm apenas metadados (não body / html_body).

ParâmetroLocalizaçãoDescrição
domaincaminhoDomínio de e-mail, por ex. example.com
usercaminhoNome de usuário, por ex. testuser
pageconsulta, opcionalNúmero da página (padrão 1)
limitconsulta, opcionalItens por página (padrão 20, máximo 100)
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}

Obtenha todos os detalhes de um e-mail.

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

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

Exclua um e-mail específico.

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

POST/api/add-domain/{domain}

Adicione um novo domínio ou atualize o status online de um domínio existente. O domínio deve ter um registro MX apontando para o nome do host do sistema para ser aceito (status added, is_online: true).

curl -X POST "https://BASE_URL/api/add-domain/newdomain.com"
// Adicionado com sucesso
{ "status": "added", "domain": "newdomain.com", "is_online": true }

// Domínio existente: atualize seu status
{ "status": "updated", "domain": "newdomain.com", "is_online": false }
⚠️ Se o registro MX não apontar para o host correto, a API retornará um erro 400 com orientação.

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

Todos os domínios online (privados, token obrigatório):

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

Domínios online aleatórios (públicos):

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

GET/api/check-mx/{domain}

Verifique se um domínio possui um registro MX válido apontando para o sistema.

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

Tratamento de erros

CódigoSignificado
200Sucesso
400Solicitação inválida (por exemplo, domínio/e-mail malformado)
401Token ausente ou inválido para um endpoint privado
404E-mail não encontrado
429Limite de taxa excedido
{ "detail": "Domain not found" }

Notas importantes