Get a check
The status, progress and phase while the check runs; the report once it is done. ?view=summary returns the scalar fields and scores only (cheap polling); ?include= names the report parts to return (text, spans, matches, sources, issues, scores, meta) and wins over view. The default is the full report.
Authorization
bearerAuth Create a key under Account → API. Send it as Authorization: Bearer st_live_…. Keys carry scopes: checks:write (create, cancel, delete), checks:read (list, get) and usage:read (credit position).
In: header
Path Parameters
uuidQuery Parameters
summary: scalars and scores only. full (default): the whole report.
Value in
- "summary"
- "full"
Comma-separated report parts: text, spans, matches, sources, issues, scores, meta. Wins over view.
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/checks/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "id": "string", "title": "string", "status": "queued", "progress": 0, "phase": "string", "wordCount": 0, "inputKind": "string", "originalityScore": 0, "coverage": 0, "scores": { "plagiarism": 0, "citation": 0, "grammarSpelling": 0, "aiContent": 0, "clarity": null }, "issueCounts": { "citations": 0, "grammar": 0 }, "rejection": { "code": "string", "message": "string" }, "composition": { "exact": 0, "near": 0, "paraphrase": 0, "quoted": 0, "original": 0 }, "snippet": "string", "citationStyle": "APA", "mode": "full", "folderId": null, "tagIds": [], "createdAt": "string", "completedAt": "string", "report": { "status": "done", "rejection": { "code": "string", "message": "string" }, "text": "", "partial": false, "contentType": "prose", "languages": [], "locale": "string", "wordCount": 0, "checkedWords": 0, "originalityScore": 0, "similarityScore": 0, "coverage": 0, "spans": [], "matches": [], "sources": [], "issues": [], "scores": { "plagiarism": 0, "citation": 0, "grammarSpelling": 0, "aiContent": 0, "clarity": null }, "bibliographyStart": 0, "passes": { "language": "ok", "aiContent": "ok" }, "aiDetector": { "name": "string", "version": "string" }, "bibliography": { "ownsHeading": true, "entries": [ { "sourceId": 0, "text": "string" } ] }, "meta": { "durationMs": 0, "sourcesExcludedByRules": 0 } }, "rejectionCode": "string", "live": { "searchesUsed": 0, "pagesFetched": 0, "found": [ { "url": "string", "domain": "string", "title": "string" } ], "events": [] }, "runningMs": 0, "instant": { "engine": "string", "dialect": "string", "elapsedMs": 0, "wordCount": 0, "counts": { "spelling": 0, "grammar": 0 }, "issues": [ { "category": "spelling", "kind": "string", "message": "string", "original": { "text": "string", "start": 0, "end": 0 }, "suggestions": [] } ], "redactedIssues": 0, "teaserCutoff": 0, "crispWords": 0, "skipped": "non_english", "adopted": true }, "options": { "plagiarism": true, "grammarSpelling": true, "citations": true, "aiContent": true, "style": true, "register": "academic" }, "text": "string", "guest": { "teaserWords": 0, "flow": "A", "wallClockMs": 1, "crispWords": 0, "peekWords": 0, "peek": { "text": "string", "findings": 0, "marks": [ { "category": "spelling", "start": 0, "end": 0 } ] }, "wordCount": 0, "unscannedWords": 0, "truncated": true, "tail": "string", "ai": { "band": "low", "sentences": 0 }, "hiddenLanguage": 0, "lockedSources": 0, "lockedCitations": 0 }, "aiDetectorUpdated": true, "rest": { "words": 0, "text": "string", "expired": true, "cost": "locked" }, "completedBy": "string"}Create a check from text or a file POST
One call runs the plagiarism, grammar, citation, AI-content and style checks on a document. Every refusal about the document itself answers here, synchronously (`no_input`, `too_short`, `too_long`, `unsupported_type`, `unreadable_file`, `file_too_large` (413), `unsupported_language`, `multiple_inputs`, `invalid_file`), so a check that is accepted (202) has been read and will run. Only a scanned PDF or an image is read later, by OCR, while the check runs.
Delete a finished report DELETE
Next Page