Dokumentasi API

API GPTMail

Gunakan GPTMail API untuk membuat kotak masuk sementara, menampilkan daftar dan membaca pesan, serta menghapus email melalui HTTPS dengan header X-API-Key. Cocok untuk pengujian otomatis, pipeline CI/CD, dan alur kerja QA.

Cara mendapatkan API Key

Buy API requests

Purchase API requests with GPTMail points. Earn points through daily check-ins and public domains, or buy points with LDC at a 1:1 rate.

Buy with points / add requests

Opsi 2: Tambahkan domain Anda sendiri

Setelah domain publik lolos verifikasi MX: diajukan tanpa masuk akun → kunci API (20000 permintaan); diajukan saat masuk akun → 200 poin. Setiap domain hanya mendapat satu hadiah. Penting: setelah terhubung, suffix domain itu menjadi public suffix yang tersedia bagi semua pengguna di situs ini, sehingga pengguna lain juga bisa membuat alamat mailbox di bawahnya. Setelah aktivasi, jangan hapus, ganti, atau ubah catatan MX yang mengarahkan domain ini ke layanan kami; jika tidak, pemeriksaan berikutnya dapat menganggap domain salah konfigurasi. Jika pemeriksaan berikutnya menemukan MX tidak valid, domain akan dinonaktifkan. Jika MX tetap tidak valid untuk 3 pemeriksaan berturut-turut, API key terkait juga dinonaktifkan. Jika MX kembali valid nanti, domain akan diaktifkan lagi secara otomatis.

Domain

Kunci uji publik

Untuk pengujian, kirim kunci publik bersama yang ditampilkan di bawah pada header X-API-Key. Kunci ini berganti setiap hari dan memiliki batas harian 200.000 permintaan yang dipakai bersama oleh semua pengguna.

Sisa hari ini

Reset dalam

Memuat kuota langsung untuk public key...

Referensi API di bawah dapat disalin sebagai Markdown untuk alat AI, basis pengetahuan, atau README.

URL Dasar: https://mail.chatgpt.org.uk

AI
llms.txt

·

llms-full.txt

(Markdown)

Mulai cepat

  • X-API-Key: YOUR_KEY adalah opsi paling sederhana. Untuk uji cepat, gunakan kunci publik harian yang ditampilkan di atas sebagai pengganti YOUR_KEY.

  • Sebagian besar endpoint mailbox memerlukan parameter email, misalnya ?email=demo@example.com.

  • Respons GPTMail API menggunakan JSON dengan kolom success, data, dan error, ditambah usage saat kunci API digunakan. Kesalahan Cloudflare, termasuk respons batas laju, dapat mengembalikan HTML sebagai gantinya. Periksa status HTTP dan Content-Type sebelum mengurai JSON.

  • Jika Anda sudah mengetahui domain yang didukung di situs ini, Anda tidak harus memanggil endpoint pembuatan email terlebih dahulu. Anda bisa menyusun prefix@domain secara lokal dan memanggil mailbox APIs langsung, menghemat satu API request.

Batas laju dan percobaan ulang

  • GET dan POST /api/generate-email berbagi batas 30 permintaan per 10 detik per IP sumber. Ini berlaku untuk kunci API publik maupun pribadi. Kunci dan klien berbeda di balik IP yang sama berbagi batas ini.

  • Melampaui batas ini akan menghasilkan HTTP 429 dan memblokir pembuatan alamat email selama 10 detik. Tunggu selama durasi Retry-After sebelum mencoba lagi. Jika header ini tidak ada, tunggu setidaknya 10 detik, lalu coba lagi dengan jeda yang makin lama. Hindari percobaan ulang bersamaan dari klien yang berbagi IP.

  • Aturan ini tidak berlaku untuk menampilkan daftar kotak masuk atau membaca email satu per satu. Kuota harian dan total kunci API tetap berlaku secara terpisah. Menunggu 10 detik tidak memulihkan kuota kunci yang sudah habis.

Endpoint inti

POST / GET
/api/generate-email

Buat inbox sementara. Gunakan GET untuk alur inbox acak yang paling sederhana, atau POST dengan prefix dan domain bila Anda ingin kontrol eksplisit.

GET
/api/emails?email=...

Ambil email untuk sebuah mailbox.

GET
/api/email/{id}?email=...

Ambil satu email, termasuk teks, HTML, header mentah, dan metadata.

DELETE
/api/email/{id}?email=...

DELETE satu email berdasarkan ID.

DELETE
/api/emails/clear?email=...

DELETE semua email di mailbox.

GET
/api/stats

Baca statistik seluruh situs.

Alur contoh

Berikut dua pola umum: biarkan layanan membuat inbox untuk Anda, atau minta prefix tetap. Jika Anda sudah mengetahui domain yang saat ini didukung, Anda juga bisa menyusun mailbox secara lokal dan menanyakannya langsung.

1) Buat alamat email sementara acak

curl 'https://mail.chatgpt.org.uk/api/generate-email' \
  -H 'X-API-Key: PUBLIC_API_KEY'
Contoh respons
{
  "success": true,
  "data": {
    "email": "a3f9c2b1@example.com"
  },
  "usage": {
    "daily_limit": 200000,
    "used_today": 1,
    "remaining_today": 199999,
    "total_limit": 200000,
    "total_usage": 1,
    "remaining_total": 199999
  }
}

2) Buat dengan prefix tetap (mis. demo@example.com)

curl -X POST 'https://mail.chatgpt.org.uk/api/generate-email' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: PUBLIC_API_KEY' \
  -d '{"prefix":"demo"}'
Contoh respons
{
  "success": true,
  "data": {
    "email": "demo@example.com"
  },
  "usage": {
    "daily_limit": 200000,
    "used_today": 2,
    "remaining_today": 199998
  }
}

3) Daftar email dalam inbox

Jika Anda tahu domain yang didukung, lewati langkah 1 dan query langsung.

curl 'https://mail.chatgpt.org.uk/api/emails?email=demo@example.com' \
  -H 'X-API-Key: PUBLIC_API_KEY'
Contoh respons
{
  "success": true,
  "data": {
    "emails": [
      {
        "id": "e5a7f3...",
        "email_address": "demo@example.com",
        "from_address": "noreply@github.com",
        "subject": "Your code: 654321",
        "content": "Your verification code is 654321",
        "html_content": "...",
        "has_html": true,
        "timestamp": 1709654321,
        "created_at": "2024-03-05T12:18:41Z"
      }
    ],
    "count": 1
  }
}

4) Baca satu email — termasuk teks biasa, badan HTML, dan metadata

Ganti EMAIL_ID dengan id yang dikembalikan pada langkah 3. Kirim juga alamat kotak masuk sebagai email (termasuk saat menghapus dan mengunduh lampiran): email kemudian dibaca langsung dari kotak masuknya, bukan dicari berdasarkan ID. Dengan API key, parameter email bersifat opsional, tetapi mengirimkannya membuat pencarian lebih cepat.

curl 'https://mail.chatgpt.org.uk/api/email/EMAIL_ID?email=demo@example.com' \
  -H 'X-API-Key: PUBLIC_API_KEY'
Contoh respons
{
  "success": true,
  "data": {
    "id": "e5a7f3...",
    "email_address": "demo@example.com",
    "from_address": "noreply@github.com",
    "subject": "Your code: 654321",
    "content": "Your verification code is 654321",
    "html_content": "<p>Your code is 654321</p>",
    "has_html": true,
    "timestamp": 1709654321,
    "raw_size": 2048,
    "created_at": "2024-03-05T12:18:41Z"
  }
}

5) DELETE satu email berdasarkan ID

Dengan API key, parameter email bersifat opsional, tetapi mengirimkannya membuat pencarian lebih cepat.

curl -X DELETE 'https://mail.chatgpt.org.uk/api/email/EMAIL_ID?email=demo@example.com' \
  -H 'X-API-Key: PUBLIC_API_KEY'
Contoh respons
{
  "success": true,
  "data": {
    "message": "Email deleted"
  }
}

6) Kosongkan seluruh inbox — menghapus semua email untuk alamat ini

Setiap panggilan menghapus satu batch. Selama respons berisi "has_more": true, panggil lagi hingga mengembalikan false.

curl -X DELETE 'https://mail.chatgpt.org.uk/api/emails/clear?email=demo@example.com' \
  -H 'X-API-Key: PUBLIC_API_KEY'
Contoh respons
{
  "success": true,
  "data": {
    "message": "Deleted 3 emails",
    "count": 3,
    "has_more": false
  }
}

Bentuk respons

Respons sukses biasanya terlihat seperti ini. Jika Anda mengautentikasi dengan API Key, perhatikan info kuota di dalam usage.

{
  "success": true,
  "data": {
    "email": "demo@example.com"
  },
  "usage": {
    "daily_limit": 200000,
    "used_today": 1,
    "remaining_today": 199999,
    "total_limit": 200000,
    "total_usage": 1,
    "remaining_total": 199999
  }
}

Statistik lanjutan

  • /api/statistics/24h mengembalikan satu jendela distribusi per jam selama 24 jam; gunakan offset=1,2,... untuk jendela yang lebih lama.
  • /api/statistics/top-subjects mengembalikan subjek email teratas.
  • /api/statistics/top-domains mengembalikan domain paling aktif.
  • /api/statistics/top-senders mengembalikan pengirim paling aktif.
GPTMail