Submit a scan
Upload media or pass a URL. Get a fused verdict and per-dimension evidence.
POST /api/v1/scans/upload-intents creates a private upload intent. After direct upload, POST /api/v1/scans/{id}/upload-complete produces the persisted result. The fused verdict, per-dimension evidence, and pipeline trace are populated as the scan moves through the pipeline.
curl -X POST https://api.plurall.tech/api/v1/scans/upload-intents \
-H "Authorization: Bearer pl_sbx_key_..." \
-H "Content-Type: application/json" \
-d '{"fileName":"clip.mp4","contentType":"video/mp4","mediaType":"video","byteSize":1048576}'Create a scan upload intent
This method/path/schema block is rendered from the shared OpenAPI registry, not hand-authored page copy.
Request
Pass either `file` (multipart) or `url` in the body. Optional `metadata` is echoed back so you can reconcile the scan with your own ids.
Response
Plurall AI returns a JSON envelope: { id, status, verdict, confidence, fusion, evidence[], pipeline[], audit[] }. The evidence array contains one entry per forensic dimension with a 0..1 score, a label, and a short narrative.
Polling
If you can't subscribe to webhooks, poll GET /api/v1/scans/{id}/job or GET /api/v1/scans/{id}. Use response metadata and the job status to avoid unnecessary polling under load.