Menu dokumentasi
Dokumentasi API & Webhook Inbox publik (white-label)
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

kode
POST /v1/public/inbox/generate

Body:

FieldTipeWajibKeterangan
hostnamestringyaDomain verified milik layanan
localPartstringtidakKosong = random
ttlSecondsnumbertidak60–86400; diterima tapi tidak membuat address kedaluwarsa (model Mailinator)
Response 201:
json
{
  "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

kode
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

kode
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

kode
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

kode
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.