API / Checks
Create a check
Submit text or a document for AI detection, Turnitin similarity, or both. The API accepts the work and returns a check while processing continues.
/api/v1/checksRequest body
textstringOptionalDocument text. Supply one input: text, multipart file, or upload_id.
filefile · multipartOptionalA supported document up to 4 MB. Send it with multipart/form-data.
upload_idstringOptionalID returned by POST /uploads, after uploading the file bytes. Each upload can be used once.
productsstring[]OptionalOne or both of "ai" and "similarity". Defaults to ["ai"].
namestringOptionalA label for the check. Defaults to the file name or a timestamp for text.
metadataobjectOptionalYour reference data, returned with the check and completion webhook. Avoid including sensitive information you do not need.
webhook_urlstringOptionalA public HTTPS completion URL for this check, overriding the account endpoint. Configure an account webhook first to obtain a signing secret.
Upload a file directly
curl -X POST https://academi.cx/api/v1/checks \
-H "Authorization: Bearer $ACADEMICX_KEY" \
-F "file=@essay.docx" \
-F "products=ai" \
-F "products=similarity"
Prevent duplicate charges
Include an Idempotency-Key header when creating a check. Replaying it on the same account returns the original check. Use a new key for a different document or set of products.
curl -X POST https://academi.cx/api/v1/checks \
-H "Authorization: Bearer $ACADEMICX_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: essay-review-001" \
-d '{
"text": "Academic writing develops an argument through careful reading, clear reasoning, and evidence. A useful draft explains how each source contributes to the central question. During revision, writers can check that quotations are marked, citations are complete, and their own analysis remains distinct from the material they discuss. This process makes the argument easier to follow and gives readers a way to evaluate its claims. A strong introduction sets out the problem and explains why it matters. Each paragraph then develops a specific point with relevant examples and a connection to the wider argument. The conclusion brings these points together without introducing unsupported claims. Before submitting a paper, the writer should review its structure, verify source details, and read difficult passages aloud to identify unclear sentences. Feedback from another reader can reveal assumptions that need explanation and help make the final draft more precise.",
"products": [
"ai"
],
"name": "Essay draft",
"metadata": {
"reference": "essay-001"
}
}'
{
"id": "9f1c0f52-6a9b-4b1e-9e1a-2d3c4b5a6f70",
"object": "check",
"status": "processing",
"name": "Essay draft",
"products": [
"ai"
],
"words": 143,
"created_at": "2026-09-10T12:00:00.000Z",
"completed_at": null,
"metadata": {
"reference": "essay-001"
},
"cost": {
"ai_cents": 20,
"similarity_cents": 0,
"total_cents": 20,
"billed_words": 1000
},
"error": null,
"ai": {
"status": "processing"
},
"similarity": null,
"files": {
"similarity_pdf": false,
"pdf": false,
"original": false
}
}
Base URL: https://academi.cx/api/v1
Still have a question? We’re here to help.
