---
title: "Get text check status"
method: GET
path: "/api/v1/text/{textId}"
tags: ["Individuals"]
---

# Get text check status

`GET /api/v1/text/{textId}`

Return metadata for a text check, including processing state, page/word counts, report summary, creator, and AI report when available. Deleted texts are not returned.

## Path parameters

- `textId` integer, required

## Response `200`

The request succeeded and returned a text check object.

- object
  - `data` Text — Metadata for a submitted plagiarism check.
    - `id` integer, required — Numeric text check ID.
    - `version` integer, nullable — Internal text/report format version, when available.
    - `user_id` integer — Creator user ID. Returned by create/status responses that do not embed the full creator object.
    - `filename` string, required — Original or generated file name for the submitted text.
    - `created_at` integer, required — Unix timestamp in milliseconds.
    - `updated_at` integer, required — Unix timestamp in milliseconds.
    - `submitted_at` integer, nullable, required — Unix timestamp in milliseconds.
    - `is_deleted` boolean — Whether the text was marked as deleted.
    - `deleted_at` integer, nullable — Deletion timestamp in milliseconds, or `null` when the text is active.
    - `state` 2 | 3 | 4 | 5 — | ID | Name | Description | |---:|:-------|:------------| |2 | STATE_STORED | Text has been stored and is waiting to be submitted to the checking service. | |3 | STATE_SUBMITTED | Text has been submitted to the checking service and is being processed.| |4 | STATE_FAILED | Text has not been checked. An error happened.| |5 | STATE_CHECKED | Text has been successfully checked and you can receive the report.|
    - `language` string, required — Detected or submitted language code for the document.
    - `pages` integer, required — Estimated page count used for billing and limits.
    - `words` integer, required — Number of words detected in the submitted text.
    - `group_id` integer, nullable — Group associated with the check, or `null` for an individual check.
    - `custom_author` string, nullable — Custom author display name saved for group checks.
    - `report_id` integer, nullable — Report ID when the check has a plagiarism report.
    - `ai_report_id` integer, nullable — AI report ID when an AI report is associated with this text.
    - `creator` User — User account summary.
      - `id` integer — Numeric user ID.
      - `name` string — User display name.
      - `email` string, email — User email address.
      - `created_at` integer — User creation timestamp in milliseconds.
      - `updated_at` integer — User update timestamp in milliseconds.
      - `is_blocked` boolean — Whether the user account is blocked.
      - `allowed_languages` string[] — Language codes the user can submit for checking.
      - `balance` Account — Balance counters for a user or group account.
        - `balance` integer, required — Available balance in pages. One page is 275 words.
        - `bonus` integer, required — Available bonus balance in pages. One page is 275 words.
        - `hold` integer, required — Balance on hold. This field is deprecated.
        - `hold_bonus` integer, required — Bonus balance on hold. This field is deprecated.
        - `ai_balance` integer, required — Available AI-check balance.
      - `balance_type` integer — User billing/balance type.
      - `avatar` string, nullable — URL of the user avatar image, when available.
      - `sale_role` integer, nullable — Internal sale role for the user, when assigned.
      - `ai_checks_enabled` boolean — Whether AI detection checks are enabled for this user.
      - `is_test` boolean — Whether this is a test account.
      - `is_guest` boolean — Whether this account is a guest account.
      - `is_change_password_needed` boolean — Whether the user must change an autogenerated password.
      - `is_email_verification_needed` boolean — Whether this user should complete email verification.
      - `orders` integer — Number of paid orders for the user.
      - `not_ai_orders` integer — Number of paid non-AI orders for the user.
      - `last_ai_order_paid_days_ago` integer, nullable — Days since the user's most recent paid AI order, or `null`.
    - `report` object, nullable — Plagiarism report summary, or `null` while the text is not checked.
      - `id` integer — Numeric report ID.
      - `created_at` string — Report creation timestamp in milliseconds.
      - `source_count` integer — Number of matched sources in the report.
      - `percent` string — Similarity percentage for this report.
    - `ai_report` AiCheck — AI-generated text detection report.
      - `enabled` boolean — Whether AI detection is enabled for this report/user context.
      - `id` integer, nullable — Numeric AI report ID, or `null` when a text has no AI report yet.
      - `status` 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 10, nullable — | ID | Name | Description | |---:|:-------|:------------| | 1 | STATUS_QUEUED | Check in queue | | 2 | STATUS_IN_PROGRESS | Check in progress | | 3 | STATUS_FAILED | Check failed | | 4 | STATUS_CHECKED | Successfully checked | | 5 | STATUS_NOT_ENOUGH_TEXT | Not enough text | | 7 | STATUS_NOT_ENOUGH_ORIGINAL_TEXT | Not enough text | | 8 | STATUS_TEXT_TOO_LONG | Text is too long| | 9 | STATUS_LANGUAGE_IS_NOT_SUPPORTED | Text language is not supported | | 10 | STATUS_CREATED | Check created |
      - `percent` number, nullable — Overall probability that the submitted text was AI-generated.
      - `processed_percent` number, nullable — Percentage of the submitted text classified as AI-generated.
      - `strong_percent` number, nullable — Percentage of the submitted text classified as strongly likely to be AI-generated.
      - `likely_percent` number, nullable — Percentage of the submitted text classified as likely to be AI-generated.
      - `mark` 0 | 1, nullable — User feedback for the AI result: `1` means like, `0` means dislike, `null` means not rated.
      - `comment` string, nullable — Optional user comment submitted with the AI result rating.
      - `comment_author` object, nullable — User who submitted the rating comment, or `null` when no feedback exists.
        - `id` integer — Numeric user ID of the check author.
        - `name` string — Display name of the check author.
      - `type` integer, nullable — AI report type. For ChatGPT/perplexity checks this value is `3`.
      - `words` integer, nullable — Word count calculated for the AI detection check.
      - `pages` integer, nullable — Page count calculated for the AI detection check.
      - `parameters` object — Detector parameters saved with the AI report, when present.
      - `group_id` integer, nullable — Group ID associated with the AI check, or `null` for an individual check.
      - `creator` User — User account summary.
        - `id` integer — Numeric user ID.
        - `name` string — User display name.
        - `email` string, email — User email address.
        - `created_at` integer — User creation timestamp in milliseconds.
        - `updated_at` integer — User update timestamp in milliseconds.
        - `is_blocked` boolean — Whether the user account is blocked.
        - `allowed_languages` string[] — Language codes the user can submit for checking.
        - `balance` Account — Balance counters for a user or group account.
          - `balance` integer, required — Available balance in pages. One page is 275 words.
          - `bonus` integer, required — Available bonus balance in pages. One page is 275 words.
          - `hold` integer, required — Balance on hold. This field is deprecated.
          - `hold_bonus` integer, required — Bonus balance on hold. This field is deprecated.
          - `ai_balance` integer, required — Available AI-check balance.
        - `balance_type` integer — User billing/balance type.
        - `avatar` string, nullable — URL of the user avatar image, when available.
        - `sale_role` integer, nullable — Internal sale role for the user, when assigned.
        - `ai_checks_enabled` boolean — Whether AI detection checks are enabled for this user.
        - `is_test` boolean — Whether this is a test account.
        - `is_guest` boolean — Whether this account is a guest account.
        - `is_change_password_needed` boolean — Whether the user must change an autogenerated password.
        - `is_email_verification_needed` boolean — Whether this user should complete email verification.
        - `orders` integer — Number of paid orders for the user.
        - `not_ai_orders` integer — Number of paid non-AI orders for the user.
        - `last_ai_order_paid_days_ago` integer, nullable — Days since the user's most recent paid AI order, or `null`.
      - `has_own_content` boolean, nullable — Whether the report stores its own submitted content.
      - `conclusion_type` integer, nullable — Numeric conclusion category calculated for checked AI reports.
      - `conclusion` string, nullable — Human-readable conclusion calculated for checked AI reports.
      - `content` string, nullable — Original text content used for the AI detection check, when exposed by the endpoint.
      - `chunks` object[], nullable — Text ranges classified by the AI detector.
        - `reliability` integer — | ID | Name | Description | |---:|:-------|:------------| | 1 | RELIABILITY_LIKELY | Sentence with a small reliability | | 2 | RELIABILITY_STRONG | Sentence with a big reliability |
        - `position` integer[] — Start and end character offsets for the AI-highlighted text fragment.
      - `ignored_ranges` TextIgnoredRange[] — Character ranges forced to "not AI generated" because they match assignment ignore templates. Chunks overlapping these ranges are trimmed, split, or removed before the AI percentages are calculated. The submitted text itself is never modified.
        - `id` integer, nullable — Internal ignored range identifier.
        - `start` integer — Start character offset of the ignored range.
        - `end` integer — End character offset of the ignored range.
        - `filename` string — Name of the ignore assignment template file that produced this range.
        - `ignore_assignment_template_id` integer, nullable — Identifier of the ignore assignment template that produced this range.
    - `integration_links` object[] — Integration metadata for texts created through LMS or site integrations. Present only when integration links exist.

## Other responses

- `403` — Authentication or authorization failed because the token is missing, invalid, blocked, or not allowed to access the resource.
- `404` — The requested resource was not found.

---

[API](https://skmtc.net/plagiarismcheck/apis/plagiarismcheck-org-api.md) · [All operations](https://skmtc.net/plagiarismcheck/apis/plagiarismcheck-org-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/plagiarismcheck/plagiarismcheck-org-api/versions/034b4999350e/schema)
