🔐 Otentikasi: Sebagian besar titik akhir tidak memerlukan autentikasi. Hanya /api/all-domains/ membutuhkan X-Domain-Token tajuk.

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

Dapatkan daftar email pengguna yang diberi nomor halaman. Respons daftar hanya berisi metadata (no body / html_body).

ParameterLokasiKeterangan
domainjalurDomain email, mis. example.com
userjalurNama pengguna, mis. testuser
pagepermintaan, opsionalNomor halaman (default 1)
limitpermintaan, opsionalItem per halaman (default 20, maksimum 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}

Dapatkan detail lengkap email.

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

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

Hapus email tertentu.

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

POST/api/add-domain/{domain}

Tambahkan domain baru atau perbarui status online domain yang ada. Domain harus memiliki data MX yang menunjuk ke nama host sistem agar dapat diterima (status added, is_online: true).

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

// Domain yang ada: perbarui statusnya
{ "status": "updated", "domain": "newdomain.com", "is_online": false }
⚠️ Jika data MX tidak mengarah ke host yang benar, API akan mengembalikan kesalahan 400 dengan panduan.

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

Semua domain online (pribadi, diperlukan token):

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

Domain online acak (publik):

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

GET/api/check-mx/{domain}

Periksa apakah domain memiliki data MX valid yang mengarah ke sistem.

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

Penanganan kesalahan

KodeArti
200Kesuksesan
400Permintaan tidak valid (misalnya domain/email salah)
401Token tidak ada atau tidak valid untuk titik akhir privat
404Email tidak ditemukan
429Batas tarif terlampaui
{ "detail": "Domain not found" }

Catatan penting