Ringkasan endpoint
Public endpoint
POST /api/contact
POST /api/contact
Request body:
POST /api/waitlist
POST /api/waitlist
Request body:
GET /api/health
GET /api/health
Respons inti:
- status
200dipakai saat sistem sehat untuk fitur aktif, - status
503dipakai saat ada fitur aktif yang belum siap atau check database gagal, - respons juga membawa map per fitur yang berisi
enabled,missing_env, dandisabled_by_flag.
Endpoint untuk user login
POST /api/payments
POST /api/payments
Request body:
POST /api/subscription
POST /api/subscription
Request body:
cancelresume
POST /api/profile
POST /api/profile
Request body:
POST /api/profile/avatar
POST /api/profile/avatar
Request body:
Endpoint admin
POST /api/admin/users/role
POST /api/admin/users/role
Request body:
Endpoint AI
POST /api/ai/chat
POST /api/ai/chat
Request body:
- stream UI message response, bukan JSON biasa,
- usage dicatat setelah stream selesai.
POST /api/ai/generate
POST /api/ai/generate
Request body:
Endpoint webhook provider
POST /api/webhooks/midtrans
POST /api/webhooks/midtrans
Gunakan endpoint ini sebagai callback dari Midtrans, bukan dari browser user.Yang diverifikasi:
order_idstatus_codegross_amountsignature_keytransaction_status
- signature invalid menghasilkan
401, - payload invalid menghasilkan
400, - payment record tidak ditemukan menghasilkan
404, - duplicate event bisa mengembalikan
{ "received": true, "duplicate": true }, - event valid akan memperbarui
payments, bisa mengaktifkansubscriptions, lalu menuliswebhook_eventsdanaudit_logs.
POST /api/webhooks/doku
POST /api/webhooks/doku
Gunakan endpoint ini sebagai callback dari Doku JOKUL, bukan dari browser user.Yang diverifikasi:
order.invoice_numberorder.amounttransaction.statustransaction.original_request_idsecurity.check_word
- signature invalid menghasilkan
401, - payload invalid menghasilkan
400, - payment record tidak ditemukan menghasilkan
404, - duplicate event bisa diidentifikasi lewat
webhook_events, - event valid memperbarui
payments, bisa mengaktifkansubscriptions, lalu menulis audit trail.
Route
/auth/confirm adalah callback auth, bukan endpoint /api. Untuk memahami perannya dalam login, OTP, dan OAuth flow, baca Flow end-to-end.