Di halaman ini
Inbox publik (white-label)
Endpoint di bawah /v1/public/* dipakai oleh UI tempmail white-label yang jalan di domain customer (mis. jandabuas.com). Endpoint ini tidak butuh API key maupun JWT — akses diatur lewat fullAddress, sessionToken, dan (opsional) password inbox. Rate limit publik: 30 req/menit per IP.
> Integrator server-to-server biasanya tidak memakai endpoint ini — pakai Address dan Pesan dengan API key. Halaman ini mendokumentasikan permukaan yang dipakai frontend white-label.
Generate address
POST /v1/public/inbox/generate
Body:
| Field | Tipe | Wajib | Keterangan |
|---|---|---|---|
hostname | string | ya | Domain verified milik layanan |
localPart | string | tidak | Kosong = random |
ttlSeconds | number | tidak | 60–86400; diterima tapi tidak membuat address kedaluwarsa (model Mailinator) |
201:
{
"data": {
"address": {
"full": "abc12@jandabuas.com",
"hostname": "jandabuas.com",
"expiresAt": "2036-05-28T08:00:00.000Z",
"ttlSecondsLeft": 0,
"sessionToken": "..."
}
}
}
sessionToken dipakai untuk operasi yang butuh authz (extend, hapus).
Ambil inbox
GET /v1/public/inbox/:address
Header opsional: X-Inbox-Password (kalau address di-protect). Query: cursor, limit (1–100, default 50). Mengembalikan info service (branding) + daftar pesan (ringkas) + meta pagination. Kalau address belum pernah menerima email, mengembalikan inbox kosong (address auto-dibuat saat email pertama masuk).
Detail pesan
GET /v1/public/inbox/:address/messages/:messageId
Header opsional: X-Inbox-Password. Mengembalikan renderedHtml (hasil render template layanan), otpCode, dan links yang diekstrak. Menandai pesan read.
Hapus pesan / bersihkan inbox
DELETE /v1/public/inbox/:address/messages/:messageId
DELETE /v1/public/inbox/:address
Header: X-Inbox-Session (wajib untuk address ber-owner), X-Inbox-Password (kalau di-protect). Response 204. Menghapus satu pesan, atau membersihkan seluruh pesan inbox (address tetap ada).
Perpanjang address
POST /v1/public/inbox/:address/extend
Header: X-Inbox-Session (wajib). Body: { "extraSeconds": 600 } (60–3600, default 600).
Password lock (per layanan)
Kalau layanan mengaktifkan access lock, UI white-label memakai:
POST /v1/public/unlock— body{ host, password }. Sukses mengembalikan{ data: { ok, token } }. Rate limit ketat: 5 req / 15 menit per IP.GET /v1/public/unlock-status?host=X&token=Y— cek apakah token sesi masih valid.
Info domain
GET /v1/public/domain-info?host=X— metadata layanan (nama, warna aksen, theme, status) untuk middleware white-label.GET /v1/public/cloudin-domain-allowed?domain=X— dipakai infrastruktur TLS on-demand; bukan untuk integrasi umum.