API Documentation

REST API untuk integrasi eksternal. Base URL: /api/v1

← Kembali ke Login

Autentikasi

Semua endpoint (kecuali login) membutuhkan header Authorization: Bearer <token>. Token berlaku selama 24 jam.

POST/api/v1/auth/login

Login dan dapatkan Bearer token untuk mengakses API lainnya.

Request Body (JSON)
FieldKeterangan
emailstring — wajib. Email akun.
passwordstring — wajib. Password akun.
Response 200 OK
FieldKeterangan
tokenstring — Bearer token (HS256 JWT).
user{ id, name, email, role }
expiresInnumber — durasi token dalam detik (86400 = 24 jam).
Error Codes
400email atau password tidak disertakan
401email atau password salah, atau akun tidak aktif
Contoh
curl -X POST /api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","password":"rahasia123"}'
{
  "token": "eyJhbGciOiJIUzI1NiJ9...",
  "user": {
    "id": "clx...",
    "name": "Budi Santoso",
    "email": "[email protected]",
    "role": "MEMBER"
  },
  "expiresIn": 86400
}
POST/api/v1/email/sendrequires token

Kirim email menggunakan konfigurasi SMTP central inbox. Pengirim disesuaikan dengan domainEmail user yang login.

Request Body (JSON)
FieldKeterangan
tostring — wajib. Alamat penerima (bisa multiple dipisah koma).
subjectstring — wajib. Subjek email.
bodystring — wajib. Isi email.
ccstring — opsional. Alamat CC.
isHtmlboolean — opsional. Jika true, body dikirim sebagai HTML (default: false).
Response 200 OK
FieldKeterangan
okboolean — true jika berhasil.
messagestring — pesan konfirmasi.
Error Codes
400to, subject, atau body tidak disertakan
401token tidak ada, tidak valid, atau sudah kadaluarsa
503central inbox belum dikonfigurasi oleh admin
500gagal mengirim email (error SMTP)
Contoh
curl -X POST /api/v1/email/send \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "[email protected]",
    "subject": "Penawaran Harga",
    "body": "<p>Halo, berikut penawaran kami...</p>",
    "isHtml": true
  }'
{
  "ok": true,
  "message": "Email berhasil dikirim"
}
Helix Tasks Internal API · 2026