API Documentation

Dokumentasi endpoint Renamerged API

Base URL

http://localhost:3000

Headers (wajib)

X-Api-Key: your-shared-secretAuthorization: Bearer <supabase-jwt>

Auth

POST/api/auth/login

Login dengan email + password

Body: { email, password }
POST/api/auth/register

Daftar akun baru

Body: { email, password }
GET/api/auth/me

Ambil data user saat ini

Files

POST/api/files/upload

Upload PDF (multipart/form-data)

Body: files: File[]

Process

POST/api/process/parse

Parse metadata dari PDF

Body: ["file-id-1", "file-id-2"]
POST/api/process/rename

Rename / merge file

Body: { fileIds, mode, componentOrder, separator, ... }

Download

POST/api/download/zip

Download ZIP hasil proses

Body: { processId }

Payment

POST/api/payment/create

Buat pembayaran QRIS

Body: { couponCode?, name? }
POST/api/payment/cancel

Batalkan pembayaran

Body: { orderId }
GET/api/payment/status/:orderId

Cek status pembayaran

POST/api/payment/webhook

Webhook dari Pakasir

Body: (dikirim oleh Pakasir)

Profile

PATCH/api/profile/update

Update nama profil

Body: { name }

Admin

GET/api/admin/stats

Statistik dashboard

GET/api/admin/users

Daftar semua user

PATCH/api/admin/users/:id

Update user (tier/role)

Body: { subscriptionTier?, role? }
GET/api/admin/processes

Daftar semua proses

GET/api/admin/payments

Daftar semua pembayaran

POST/api/admin/payments/:id/force-cancel

Cancel paksa pembayaran

GET/api/admin/coupons

Daftar kupon

POST/api/admin/coupons

Buat kupon baru

Body: { code, discountPercent, maxUses, validUntil? }
DELETE/api/admin/coupons/:id

Hapus kupon

GET/api/admin/settings

Ambil semua settings

PUT/api/admin/settings

Update settings

Body: { key: value, ... }
GET/api/admin/export/users

Export users CSV

GET/api/admin/export/payments

Export payments CSV

Contoh Request

curl -X POST http://localhost:3000/api/files/upload \
  -H "X-Api-Key: your-shared-secret" \
  -H "Authorization: Bearer <jwt>" \
  -F "files=@faktur1.pdf" \
  -F "files=@faktur2.pdf"