Arsitektur Dokumentasi
Peta jalan panduan, SDK integration, dan API reference lengkap yang disiapkan secara terstruktur.
First-Time Setup
Setup awal saat pertama kali menjalankan Tulis CMS. Membuat akun superadmin, workspace default, dan konfigurasi sistem.
Check Setup Status
Memeriksa apakah sistem sudah di-setup atau belum.
Endpoint
GET /api/setup/status
Authentication
Tidak diperlukan (publik).
Response — Belum Setup
{
"status": 200,
"message": "System not yet configured",
"data": {
"configured": false
}
}Response — Sudah Setup
{
"status": 200,
"message": "System already configured",
"data": {
"configured": true
}
}Run Setup
Menjalankan setup pertama kali. Hanya bisa dijalankan sekali — setelah sukses, endpoint ini akan menolak permintaan selanjutnya.
Endpoint
POST /api/setup
Authentication
Tidak diperlukan (publik, tapi hanya bisa dijalankan saat sistem belum dikonfigurasi).
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | ya | Nama superadmin. |
email | string | ya | Email superadmin. |
password | string | ya | Password superadmin (minimal 8 karakter). |
workspace_name | string | ya | Nama workspace pertama. |
workspace_slug | string | ya | Slug workspace pertama. |
{
"name": "Admin Tulis",
"email": "admin@example.com",
"password": "superadmin123",
"workspace_name": "My First Site",
"workspace_slug": "my-first-site"
}Response
{
"status": 201,
"message": "Setup completed successfully",
"data": {
"user": {
"id": "00000000-0000-0000-0000-000000000001",
"name": "Admin Tulis",
"email": "admin@example.com",
"role": "superadmin"
},
"workspace": {
"id": "a1b2c3d4-1111-2222-3333-444455556666",
"name": "My First Site",
"slug": "my-first-site"
},
"api_key": "tulis_live_abc123def456..."
}
}cURL Example
curl -X POST "https://YOUR_HOST/api/setup" \
-H "Content-Type: application/json" \
-d '{
"name": "Admin Tulis",
"email": "admin@example.com",
"password": "superadmin123",
"workspace_name": "My First Site",
"workspace_slug": "my-first-site"
}'Catatan Penting
- Setup hanya bisa dijalankan sekali. Setelah sukses, endpoint akan mengembalikan error.
- Superadmin memiliki akses ke semua workspace dan endpoint
/api/admin/*. - API key pertama dibuat otomatis — simpan segera, tidak bisa dilihat lagi.
- Untuk production, ganti
JWT_SECRETdi.envmenjadi string acak yang kuat.
Lini Masa Peluncuran Fitur
Docker Compose, pengaturan file environment, dan panduan setup lokal telah lengkap dibuat.
Dokumentasi route endpoint publik, otentikasi JWT, dan kontrol hak akses telah selesai disusun.
Mempersiapkan boilerplate untuk Next.js client, manajemen revisi konten, dan optimasi query.