API Docs
Programmatic analysis for Dispel.cloud
Use bearer-authenticated endpoints to submit content, receive normalized verdicts, and integrate Dispel into a future API product surface. Scores are calibrated product heuristics, not absolute truth.
Analyze endpoints require an API key in the Authorization header.
Authorization: Bearer dsp_live_1234abcd_xxxxxxxxxxxxxxxxxxxxxxxx
API access is gated to Pro. Key management routes currently use the local single-user workspace identity in the dashboard. Raw tokens are never stored after creation.
v1 programmatic endpoints currently cover text and image. Voice, music, and video remain available in the web app while the API surface stays intentionally small.
/api/v1/analyze/textSubmit text content for scam-risk, AI-likelihood, provenance, and claim-consistency scoring.
/api/v1/analyze/imageSubmit an image file with multipart form data for file inspection, OCR-assisted scoring, and provider-backed checks when configured.
/api/v1/me/usageReturn the local workspace usage summary used by the dashboard settings screen.
/api/v1/me/keysList the current user’s API keys, prefixes, statuses, and usage counts.
/api/v1/me/keysCreate a new API key and reveal the raw token one time.
/api/v1/me/keys/:id/revokeRevoke an issued API key. Revocation is immediate and cannot be undone.
curl -X POST https://your-host/api/v1/analyze/text \
-H "Authorization: Bearer $DISPEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Suspicious payroll note",
"text": "Urgent final notice. Pay the onboarding fee today by gift card."
}'curl -X POST https://your-host/api/v1/analyze/image \ -H "Authorization: Bearer $DISPEL_API_KEY" \ -F "title=Listing screenshot" \ -F "file=@suspicious-image.png"
{
"analysisId": "cm123...",
"type": "TEXT",
"verdict": "HIGH_RISK",
"overallTrustScore": 14,
"aiLikelihoodScore": 58,
"scamRiskScore": 92,
"manipulationRiskScore": 71,
"provenanceScore": 28,
"claimConsistencyScore": 35,
"confidenceLabel": "Moderate",
"summary": "Multiple payment-pressure and impersonation signals were found.",
"recommendedAction": "Do not pay or click links until you verify the source independently.",
"uncertaintyNote": "Provider-backed AI checks can remain unknown when adapters are inactive.",
"evidence": [],
"warnings": [
"Remote image provider is unavailable, so AI-likelihood remains unknown."
],
"provider": {
"key": "openai-compatible",
"status": "inactive"
},
"reportUrl": "https://your-host/report/...",
"receiptUrl": "https://your-host/report/...?view=receipt"
}