Dokumentasi Resmi
|tulis.org

Arsitektur Dokumentasi

Peta jalan panduan, SDK integration, dan API reference lengkap yang disiapkan secara terstruktur.

TULIS CMS/DEVELOPER HUB
/api-reference-setup-setup

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

FieldTypeRequiredDescription
namestringyaNama superadmin.
emailstringyaEmail superadmin.
passwordstringyaPassword superadmin (minimal 8 karakter).
workspace_namestringyaNama workspace pertama.
workspace_slugstringyaSlug 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_SECRET di .env menjadi string acak yang kuat.

Lini Masa Peluncuran Fitur

Fase 1: Setup Awal & KonfigurasiSELESAI

Docker Compose, pengaturan file environment, dan panduan setup lokal telah lengkap dibuat.

Fase 2: Referensi RESTful APISELESAI

Dokumentasi route endpoint publik, otentikasi JWT, dan kontrol hak akses telah selesai disusun.

Fase 3: Integrasi Frontend & Fitur LanjutSEDANG BERJALAN

Mempersiapkan boilerplate untuk Next.js client, manajemen revisi konten, dan optimasi query.