aiverifysnap
Developer Documentation

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

bash
# 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)

POST/detection/analyzeDetectionController.java

Analyze 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

fileMultipartFilerequiredImage to analyze (JPEG/PNG/WEBP)
userIdLongUser ID to associate with scan

Example

bash
curl -X POST http://localhost:8080/detection/analyze \
  -F "file=@image.jpg" \
  -F "userId=1"
GET/detection/historyDetectionController.java

Retrieve all scan history entries. Returns an array of DetectionHistory objects with scan ID, result label, confidence, metadata, and timestamp.

Example

bash
curl http://localhost:8080/detection/history
GET/detection/history/{scanId}DetectionController.java

Retrieve a specific scan result by its scan ID for detailed report viewing.

Parameters

scanIdLongrequiredScan ID from history

Example

bash
curl http://localhost:8080/detection/history/42
POST/api/users/registerUserController.java

Register a new user account. Accepts a JSON body with user details.

Parameters

nameStringrequiredUsername
emailStringrequiredEmail address
passwordHashStringPassword hash

Example

bash
curl -X POST http://localhost:8080/api/users/register \
  -H "Content-Type: application/json" \
  -d '{"name":"demo","email":"demo@test.com"}'
GET/api/users/{name}UserController.java

Retrieve user details by their username.

Parameters

nameStringrequiredUsername to look up

Example

bash
curl http://localhost:8080/api/users/demo
POST/api/users/clerk-syncUserController.java

Create or update a user from Clerk authentication data. Used for SSO sync.

Parameters

clerkIdStringrequiredClerk user ID
nameStringrequiredDisplay name
emailStringrequiredEmail

Example

bash
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"}'
GET/ (ML Health)ml_service/main.py

Health check for the ML microservice. Returns model status, device info, and whether the custom or fallback model is loaded.

Example

bash
curl http://localhost:8000/
POST/detect (ML Direct)ml_service/main.py

Direct inference endpoint on the ML service. Used internally by the Java backend. Accepts an image file and optional include_ela_image flag.

Parameters

fileUploadFilerequiredImage file
include_ela_imageboolInclude base64 ELA image

Example

bash
curl -X POST http://localhost:8000/detect \
  -F "file=@image.jpg" \
  -F "include_ela_image=true"

Full interactive Swagger UI available at:

Need API keys for production access?

View Pricing Plans