Arsitektur Dokumentasi
Peta jalan panduan, SDK integration, dan API reference lengkap yang disiapkan secara terstruktur.
Workspace
Workspace adalah unit tenant dalam Tulis CMS — setiap workspace memiliki konten, media, pengguna, dan pengaturan sendiri. Satu pengguna bisa menjadi anggota beberapa workspace.
Semua endpoint di bawah memerlukan Bearer Token (JWT).
Create Workspace
Membuat workspace baru. Pengguna yang membuat otomatis menjadi owner.
Endpoint
POST /api/workspaces
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | ya | Nama workspace (contoh: "Blog Pribadi"). |
slug | string | ya | Slug unik untuk subdomain/URL. |
{
"name": "Blog Pribadi",
"slug": "blog-pribadi"
}Response
{
"status": 201,
"message": "Workspace created successfully",
"data": {
"id": "a1b2c3d4-1111-2222-3333-444455556666",
"name": "Blog Pribadi",
"slug": "blog-pribadi",
"owner_id": "c3d4e5f6-3333-4444-5555-666677778888",
"created_at": "2026-01-15T08:00:00Z"
}
}cURL Example
curl -X POST "https://YOUR_HOST/api/workspaces" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"name": "Blog Pribadi", "slug": "blog-pribadi"}'List My Workspaces
Mendapatkan daftar workspace tempat pengguna menjadi anggota.
Endpoint
GET /api/workspaces
Response
{
"status": 200,
"message": "Workspaces retrieved",
"data": [
{
"id": "a1b2c3d4-1111-2222-3333-444455556666",
"name": "Blog Pribadi",
"slug": "blog-pribadi",
"role": "owner"
},
{
"id": "b2c3d4e5-2222-3333-4444-555566667777",
"name": "Tim Redaksi",
"slug": "tim-redaksi",
"role": "editor"
}
]
}cURL Example
curl "https://YOUR_HOST/api/workspaces" \
-H "Authorization: Bearer <token>"Get Workspace
Mendapatkan detail satu workspace.
Endpoint
GET /api/workspaces/:id
Response
{
"status": 200,
"message": "Workspace retrieved",
"data": {
"id": "a1b2c3d4-1111-2222-3333-444455556666",
"name": "Blog Pribadi",
"slug": "blog-pribadi",
"owner_id": "c3d4e5f6-3333-4444-5555-666677778888",
"created_at": "2026-01-15T08:00:00Z",
"updated_at": "2026-01-20T10:00:00Z"
}
}Update Workspace
Memperbarui nama/slug workspace. Hanya owner yang bisa.
Endpoint
PUT /api/workspaces/:id
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | tidak | Nama baru workspace. |
slug | string | tidak | Slug baru. |
Response
{
"status": 200,
"message": "Workspace updated",
"data": {
"id": "a1b2c3d4-1111-2222-3333-444455556666",
"name": "Blog Pribadi (Updated)",
"slug": "blog-pribadi-2"
}
}Delete Workspace
Menghapus workspace. Hanya owner yang bisa. Data konten, media, dan anggota akan ikut terhapus.
Endpoint
DELETE /api/workspaces/:id
Response
{
"status": 200,
"message": "Workspace deleted successfully"
}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.