Skip to content
Browse API documentation

API / Checks

Retrieve a check

Read a check’s current state and, when available, its full report. API keys can only access checks created through the API on their own account.

GET/api/v1/checks/:id

Path & query parameters

idstring · pathRequired

The check ID returned when creating a check.

detailstring · queryOptional

Use "summary" for scores and status. Omit for the full report, including text, sentences, sources, and page positions where available.

Check statuses

StatusMeaning
processingAt least one requested product is still running.
completeEvery requested product completed successfully.
partialOne product succeeded and another failed. The failed product is refunded.
failedNo requested product produced a report. Failed products are refunded.

Work with the full report

Omit detail=summary to include the report data below. Unrequested products are null; result fields appear when that product completes.

When similarity.format is "pdf_only", the validated PDF is complete but structured extraction is unavailable. The score and files.similarity_pdf remain available; download /checks/:id/report?kind=similarity. Text, sources, matches, sentences, counts and page geometry are omitted.

ObjectContents and use
aiscore (0–100), verdict, counts and text. sentences includes text, start/end, tier, excluded, raw probability and display score.
similarityscore (0–100) and text. sources contains slot, title, url, percent and percent_display. matches links slots to fragments; sentences lists overlapping slots.
filessimilarity_pdf, pdf and original are availability booleans. Use them before requesting a download.
  • Slice ai.text or similarity.text using that product’s start/end offsets (end exclusive). Join matches to sources by slot; highlight fragments for exact matched spans.
  • Nullable pages, highlights and AI sentence rects use zero-based pages and PDF points from the top-left. Draw them over report?kind=pdf.

Product states

FieldValues
ai.statusprocessing, complete, failed
similarity.statusqueued, running, complete, failed; stage describes progress and error explains a failure

For a partial check, keep the successful product’s report. A summary omits text, sentences, sources, matches and page geometry.

Example request · cURL
curl "https://academi.cx/api/v1/checks/$CHECK_ID?detail=summary" \
  -H "Authorization: Bearer $ACADEMICX_KEY"
Example response · 200 · OK
{
  "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