Scans API
Create analyses, poll status, fetch results, send feedback.
POST /v1/scans
Starts an analysis job for the authenticated organization.
Auth: cookie or Bearer key · Counts toward: scan quota + storage
{
"inputType": "text",
"text": "At least 30 characters…",
"mode": "Standard",
"language": "Auto detect",
"modelId": "optional-model-id"
}
Also supports inputType: "url" with url, or multipart document upload (file + JSON metadata).
Response: Scan object with id and status (running → complete / failed).
Errors: 401 unauthenticated · 402 plan limit · 400 validation
GET /v1/scans
Lists scans for your organization (newest first).
GET /v1/scans/:id
Returns one scan. Poll until status is complete or failed.
GET /v1/scans/:id/result
Returns probabilities, classification, segments, signals, and model version. Only available when the scan is complete.
DELETE /v1/scans/:id
Deletes the scan and its result (frees storage).
POST /v1/scans/:id/feedback
{
"correct": "yes" | "no" | "",
"label": "AI" | "Human" | "Mixed" | "Unknown",
"generatorModel": "Unknown",
"consentForTraining": false
}
Feedback never enables training unless consentForTraining is explicitly true.
