FastAPI Service Specification
Spesifikasi endpoint internal FastAPI, validasi header HMAC, dan routing inferensi.
Status: Stablev1.0.0Source Verified: Yes
Source:
backend/app/api/routes/predict.py, backend/app/core/config.pyTests: backend/tests/test_predict.py, tests/unit/aiContract.test.tsFastAPI Service Specification#
Spesifikasi teknis API inferensi internal yang melayani analisis citra dental intraoral.
1. Daftar Endpoint Layanan#
| Method | Endpoint | Fungsi | Otorisasi |
|---|---|---|---|
GET | /health | Liveness probe & status model loaded | Publik |
GET | /api/metrics | Metrik performa, rata-rata latensi, & hit count | Internal Secret |
POST | /api/predict | Menjalankan inferensi klasifikasi SVM dental | Internal Secret |
2. Autentikasi Internal Header HMAC#
Setiap request ke /api/predict wajib menyertakan header keamanan rahasia:
text
text
1X-Internal-Secret: <AI_BACKEND_INTERNAL_KEY>
Jika header tidak ada atau tidak cocok, FastAPI akan langsung mengembalikan status 403 Forbidden sebelum memproses gambar untuk mencegah penyalahgunaan komputasi server.
3. Skema Data Request & Response#
Request Payload (PredictRequest):#
json
json
1{2 "image_base64": "data:image/jpeg;base64,/9j/4AAQSkZJRg...",3 "session_id": "cs_2026_clinic01_001",4 "patient_id": "pat_081299"5}
Response Payload (PredictResponse):#
json
json
1{2 "status": "success",3 "prediction": "Maloklusi",4 "class_index": 1,5 "confidence": 0.9125,6 "features_count": 26244,7 "inference_time_ms": 138.2,8 "model_version": "1.0.0"9}