Task Manager — Dokumentasi API

Download API.md ← Kembali ke Board

Base URL: https://task.masmuf.cloud/api/v1 · Media: application/json · Kontrak: v1.2

State Machine

backlog→ todo→ on_progress→ done

Boleh maju/mundur 1 langkah. Nilai lain → 400.

Objek Task

{// semua field pada response
  "id": 3,
  "title": "Implementasi fitur X",
  "description": "Detail task",
  "state": "todo",            // backlog|todo|on_progress|done
  "instansi": "pribadi",      // kantor|pribadi
  "app_name": "mas-dana",
  "service_name": "api",
  "category": "new_feature",  // bug_fix|new_feature
  "created_at": "2026-08-28T07:47:28.865839+00:00",
  "updated_at": "2026-08-28T08:10:00.000000+00:00"
}

Endpoint

GET/api/v1/states

Daftar state valid.

# Response 200
{ "states": ["backlog", "todo", "on_progress", "done"] }
GET/api/v1/tasks

List task. Semua filter opsional & bisa dikombinasi (AND):

ParamAturan
state∈ 4 state, selain itu 400
instansi∈ kantor/pribadi, selain itu 400
category∈ bug_fix/new_feature, selain itu 400
app_namepartial match (ILIKE)
service_namepartial match (ILIKE)
searchcase-insensitive pada title/description
# Contoh filter
curl "https://task.masmuf.cloud/api/v1/tasks?instansi=kantor&category=bug_fix"
curl "https://task.masmuf.cloud/api/v1/tasks?state=backlog&app_name=mas-dana"
POST/api/v1/tasks

Buat task. title wajib; state default backlog; instansi default pribadi; category default new_feature. Response 201.

curl -X POST https://task.masmuf.cloud/api/v1/tasks \
  -H "Content-Type: application/json" \
  -d '{"title":"Implementasi fitur X","description":"Detail","state":"todo","instansi":"kantor","category":"new_feature"}'
PATCH/api/v1/tasks/{id}

Update / pindah state. Semua field opsional, minimal 1. Idempoten.

# Pindah ke on_progress (paling sering dipakai AI agent)
curl -X PATCH https://task.masmuf.cloud/api/v1/tasks/3 \
  -H "Content-Type: application/json" \
  -d '{"state":"on_progress"}'
DELETE/api/v1/tasks/{id}

Hapus task. Response {"deleted": true, "id": N}; id tak ada → 404.

curl -X DELETE https://task.masmuf.cloud/api/v1/tasks/3

Kode Error

KodeKondisiBody
400validasi gagal / title kosong / state tak dikenal / tanpa field{"error":"..."}
404task tidak ditemukan{"error":"task tidak ditemukan"}
405method tidak diizinkan—
500error internal—

🤖 Panduan AI Agent (Claude Code / Hermes)

  1. Baca antrian: GET /api/v1/tasks?state=backlog (+ ?state=todo)
  2. Ambil task: PATCH {id} → {"state":"on_progress"}
  3. Selesai: PATCH {id} → {"state":"done"} + tulis ringkasan di description
  4. Hapus hanya task basi/duplikat — jangan hapus task orang lain tanpa konfirmasi
Kontrak lengkap + assertion test: file API.md di repo (/root/project/task-manager/API.md). Tanpa auth saat ini — hubungi mas mufid jika butuh proteksi API key.