API Overview
Struktur endpoint yellow-bank-soal, autentikasi, konvensi response, dan status implementasi.
API Overview
Source:
backend/app/main.py,backend/app/api/v1/
Base URL
Semua endpoint (kecuali import-export) berada di bawah prefix ini. Default saat dev: http://localhost:8000/api/v1.
Autentikasi
Bearer Token (App Access Token)
Didapat dari POST /api/v1/wordpress/verify_session. Dipakai sebagai:
Header Wajib
Role
Grup Endpoint
Status Implementasi
Beberapa endpoint di tabel ini belum ada di app — terutama yang berkaitan dengan Pola B (1-AJAX-per-soal). Untuk detail gap dan rencana implementasi:
→ Gap Analysis Integrasi Pola B
Tabel-tabel per grup endpoint menandai status tiap endpoint:
- ✅ Implemented — endpoint ada dan berfungsi
- 🚧 Planned — belum ada, dijelaskan di Gap Analysis
- ⚠️ Partial — ada tapi perlu refactor untuk mendukung Pola B
Konvensi Response
Sukses
FastAPI auto-generate schema dari Pydantic model. Lihat /docs (Swagger UI) atau /redoc untuk detail.
Error
HTTP status code mengikuti standar:
Pagination
Endpoint list pakai offset/limit (atau DataTables untuk admin). Contoh:
Response:
Rate Limiting
🚧 Planned — belum diimplementasi. Rencana: Redis-based limiter per-sesi (lihat Gap Analysis Gap 8).
Versioning
Sekarang pakai prefix /api/v1. Strategi future (kalau ada breaking change):
- Tambah prefix
/api/v2untuk endpoint baru - Pertahankan
/api/v1selama transition period - Deprecation header
Sunset: Sat, 25 Jul 2026 00:00:00 GMT
OpenAPI / Swagger
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc - OpenAPI JSON:
http://localhost:8000/openapi.json
Bacaan Lanjutan
- API → Session — lifecycle sesi (perlu refactor untuk Pola B)
- API → Adaptive — endpoint CAT per-soal (planned)
- API → Tryout — konfigurasi & kalibrasi
- Gap Analysis — detail gap implementasi
Last updated Jul 25, 2026