Individuals

Submit text for plagiarism checking

Changed on

Submit plain text or a supported file for plagiarism checking. The authenticated user is charged against either their own balance or the selected group balance.

The text must pass content and language validation, and duplicate submissions within a short interval are rejected. When the external checking queue cannot accept the text immediately, the check may be stored and submitted by background processing.

post/api/v1/text

Request

  • Base URL
    https://plagiarismcheck.org
  • Auth
    API key in header X-API-TOKEN

Request body application/x-www-form-urlencoded

textstring required

Text content to check.

languagestring
validation_hashstring
callbackstring uri
filenamestring
excludestring

JSON array of text IDs to exclude.

exclude_groupsstring

JSON array of group IDs to exclude.

group_idinteger

Optional group ID to charge and associate with the check. The authenticated user must belong to the group.

custom_authorstring

Custom author display name. Required for group teachers and owners when the group has custom-author enforcement enabled.

skip_english_words_validationboolean

Skip English-word validation. Groups with language validation disabled can force this behavior.

skip_percentage_words_validationboolean

Skip letter-percentage validation. Groups with language validation disabled can force this behavior.

integration_coursestring
integration_course_workstring
integration_submissionstring
integration_attachmentstring
course_namestring

Optional name of the course the check belongs to. Stored with the check and shown in group reports. On a Moodle submission (lms=moodle) it names the Moodle course; on an LMS submission sent with integration_course_work it names that coursework's course, saving the server a lookup it would otherwise make against the LMS; otherwise it names the course as your own system knows it. Blank values are treated as absent, names are deduplicated server-side, and names longer than 255 characters are truncated.

assignment_namestring

Optional name of the assignment the check belongs to. Stored with the check and shown in group reports. On a Moodle submission (lms=moodle) it names the Moodle assignment, alongside assignment_id; on an LMS submission sent with integration_course_work it names that coursework, saving the server a lookup it would otherwise make against the LMS. Blank values are treated as absent, names are deduplicated server-side, and names longer than 255 characters are truncated.

Example request

{
  "language": "en",
  "exclude": "[1,2]",
  "exclude_groups": "[3,4]",
  "course_name": "Introduction to Biology",
  "assignment_name": "Term paper"
}

Response

The plagiarism check was created successfully and billing information was returned.

successboolean

Example response

{
  "success": true,
  "data": {
    "text": {
      "id": 15,
      "user_id": 24,
      "filename": "example.pdf",
      "created_at": 1516279363000,
      "updated_at": 1516279364000,
      "submitted_at": 1516279364000,
      "state": 3,
      "language": "en",
      "pages": 30,
      "words": 127,
      "group_id": 100,
      "custom_author": "Student Name",
      "report_id": 13,
      "ai_report_id": 15,
      "creator": {
        "id": 3132945,
        "name": "John Doe",
        "email": "student@example.com",
        "created_at": 1512638171000,
        "updated_at": 1512638171000,
        "allowed_languages": [
          "en"
        ],
        "balance_type": 1,
        "avatar": "https://randomuser.me/api/portraits/lego/1.jpg",
        "is_email_verification_needed": true
      },
      "report": {
        "id": 13,
        "created_at": "1643727471000",
        "source_count": 5,
        "percent": "28.57"
      },
      "ai_report": {
        "enabled": true,
        "id": 15,
        "status": 3,
        "percent": 50.5,
        "processed_percent": 70.25,
        "strong_percent": 40.25,
        "likely_percent": 30,
        "mark": 1,
        "comment": "Lorem ipsum dolor",
        "comment_author": {
          "id": 24,
          "name": "John Doe"
        },
        "type": 3,
        "words": 550,
        "pages": 2,
        "group_id": 100,
        "creator": {
          "id": 3132945,
          "name": "John Doe",
          "email": "student@example.com",
          "created_at": 1512638171000,
          "updated_at": 1512638171000,
          "allowed_languages": [
            "en"
          ],
          "balance_type": 1,
          "avatar": "https://randomuser.me/api/portraits/lego/1.jpg",
          "is_email_verification_needed": true
        },
        "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus molestie diam id lacus maximus, ac scelerisque neque suscipit. Pellentesque luctus elit cursus varius aliquam. Nam neque leo, cursus sit amet quam a, dignissim malesuada est. Sed efficitur finibus felis euismod mattis. Donec egestas nunc odio, vitae lacinia nunc pellentesque id. Etiam ornare nunc vel accumsan ullamcorper. Donec sed lacinia orci.\n",
        "chunks": [
          {
            "reliability": 1,
            "position": [
              100,
              200
            ]
          }
        ],
        "ignored_ranges": [
          {
            "id": 123,
            "start": 42,
            "end": 87,
            "filename": "assignment-template.docx",
            "ignore_assignment_template_id": 55
          }
        ]
      }
    },
    "charged": 1
  }
}

Changes

    • info

      added the new optional request property (media type: application/x-www-form-urlencoded)

    • info

      added the new optional request property (media type: multipart/form-data)

    • info

      added the new optional request property (media type: application/x-www-form-urlencoded)

    • info

      added the new optional request property (media type: multipart/form-data)

    • breaking

      the //////// response's property format changed from email to no format for status

    • breaking

      the /////// response's property format changed from email to no format for status

    • info

      added the optional property //////// to the response with the status

    • info

      added the optional property /////// to the response with the status