Skip to content
Browse API documentation

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.

POST/api/v1/checks

Request body

textstringOptional

Document text. Supply one input: text, multipart file, or upload_id.

filefile · multipartOptional

A supported document up to 4 MB. Send it with multipart/form-data.

upload_idstringOptional

ID returned by POST /uploads, after uploading the file bytes. Each upload can be used once.

productsstring[]Optional

One or both of "ai" and "similarity". Defaults to ["ai"].

namestringOptional

A label for the check. Defaults to the file name or a timestamp for text.

metadataobjectOptional

Your reference data, returned with the check and completion webhook. Avoid including sensitive information you do not need.

webhook_urlstringOptional

A 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 · multipart
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.

Example request · cURL
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"
  }
}'
Example response · 202 · Accepted
{
  "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