API Reference
Live documentation sourced from your running backend controllers. All endpoints, parameters, and responses pulled from the actual codebase.
Live API Tester
Quick Start
# Analyze an image
curl -X POST http://localhost:8080/detection/analyze \
-F "file=@suspicious_photo.jpg"
# Check scan history
curl http://localhost:8080/detection/history
# ML service health
curl http://localhost:8000/All Endpoints (8)
/detection/analyzeDetectionController.javaAnalyze a single image for deepfake detection. Accepts multipart/form-data with a file field. Optionally pass userId to associate the scan with a user.
Parameters
fileMultipartFilerequired— Image to analyze (JPEG/PNG/WEBP)userIdLong— User ID to associate with scanExample
curl -X POST http://localhost:8080/detection/analyze \
-F "file=@image.jpg" \
-F "userId=1"/detection/historyDetectionController.javaRetrieve all scan history entries. Returns an array of DetectionHistory objects with scan ID, result label, confidence, metadata, and timestamp.
Example
curl http://localhost:8080/detection/history/detection/history/{scanId}DetectionController.javaRetrieve a specific scan result by its scan ID for detailed report viewing.
Parameters
scanIdLongrequired— Scan ID from historyExample
curl http://localhost:8080/detection/history/42/api/users/registerUserController.javaRegister a new user account. Accepts a JSON body with user details.
Parameters
nameStringrequired— UsernameemailStringrequired— Email addresspasswordHashString— Password hashExample
curl -X POST http://localhost:8080/api/users/register \
-H "Content-Type: application/json" \
-d '{"name":"demo","email":"demo@test.com"}'/api/users/{name}UserController.javaRetrieve user details by their username.
Parameters
nameStringrequired— Username to look upExample
curl http://localhost:8080/api/users/demo/api/users/clerk-syncUserController.javaCreate or update a user from Clerk authentication data. Used for SSO sync.
Parameters
clerkIdStringrequired— Clerk user IDnameStringrequired— Display nameemailStringrequired— EmailExample
curl -X POST http://localhost:8080/api/users/clerk-sync \
-H "Content-Type: application/json" \
-d '{"clerkId":"clerk_xxx","name":"demo","email":"demo@test.com"}'/ (ML Health)ml_service/main.pyHealth check for the ML microservice. Returns model status, device info, and whether the custom or fallback model is loaded.
Example
curl http://localhost:8000//detect (ML Direct)ml_service/main.pyDirect inference endpoint on the ML service. Used internally by the Java backend. Accepts an image file and optional include_ela_image flag.
Parameters
fileUploadFilerequired— Image fileinclude_ela_imagebool— Include base64 ELA imageExample
curl -X POST http://localhost:8000/detect \
-F "file=@image.jpg" \
-F "include_ela_image=true"