Di halaman ini
Autentikasi
REST API Cloudin punya dua mekanisme autentikasi. Untuk integrasi server-to-server (bot, otomasi), pakai API key.
Base URL
https://api.cloudin.id/v1
API key (X-API-Key)
Ini cara yang dipakai integrator. Generate key di Layanan → API Keys → Buat key.
curl -H "X-API-Key: clk_live_xxx" \
https://api.cloudin.id/v1/services/SVC_ID/addresses
Key hidup (clk_live_) dipakai di produksi. Ada juga key uji (clk_test_).
> Key hanya muncul sekali saat dibuat. Catat di password manager — kalau hilang, rotate.
Tiap key terikat ke satu layanan dan punya scope:
| Scope | Akses |
|---|---|
read | Baca address & pesan (GET) |
write | Baca + buat address (mencakup read) |
admin | Semua scope |
403 FORBIDDEN.
Endpoint yang menerima API key
API key hanya boleh dipakai di endpoint integrator berikut. Endpoint lain (mis. webhook CRUD, API keys, billing) menolak API key dengan 403 FORBIDDEN — endpoint itu khusus dashboard (Bearer JWT).
| Method | Path | Scope minimal |
|---|---|---|
GET | /v1/services/:id/addresses | read |
POST | /v1/services/:id/addresses | write |
GET | /v1/inboxes/:address/messages | read |
GET | /v1/messages/:id | read |
:id layanan (atau pemilik address/pesan) bukan milik service key tersebut, API balas 403 FORBIDDEN.
Bearer JWT (dashboard)
Dashboard web (app.cloudin.id) mengautentikasi via Supabase session (Authorization: Bearer ). Ini mencakup semua endpoint /v1 yang user-scoped — termasuk yang tidak ada di allow-list API key. Kamu tidak perlu memakai jalur ini untuk integrasi; ia dipakai otomatis oleh UI dashboard.
Endpoint publik (tanpa auth)
Endpoint white-label di bawah /v1/public/* tidak butuh API key maupun JWT — dipakai oleh UI tempmail white-label di domain customer. Lihat Inbox publik (white-label).
Request ID
Setiap response menyertakan header X-Request-Id. Kamu boleh mengirim X-Request-Id sendiri untuk korelasi log; kalau tidak, server generate satu. Sertakan nilai ini saat melaporkan masalah — ia juga muncul di body error sebagai error.requestId.