Code Plagiarism & Web Similarity API

Integrate your existing software with Codequiry's source code plagiarism checker. We provide a very easy and straightforward Rest API with libraries for any custom use cases.
Updated: 07/16/2024

API Demonstration

Connect your account to run the live examples.

4. Creating Checks

Now that you have learned how to retrieve checking history, it's time to learn how to actually create a check. To understand the checking process better, we will explain the process of checking submissions with the API in this section.

Endpoint for creating a new check

First Step: Creating a new check

Creating a check is the first step in checking submissions. Before we can start uploading or starting checking, we must create a check. We will have to give the check a name and specify the programming language.

When sending the request, we will need to POST two variables:

name - Name the check (string: min 3 char, non-unique)
language - The programming language (string, must be a language ID from the given list, auto detect option is coming soon)

				curl -X POST \
  https://codequiry.com/api/v1/check/create?name=Test%20Check&language=13 \
  	-H 'Accept: */*' \
  	-H 'apikey:  YOUR_API_KEY_HERE ' 
				
cURL Command
Sample Response (JSON Object)
				
   {
    "name": "Test Check",
    "status_id": 1,
    "job_id": 0,
    "updated_at": "2019-05-29 19:13:33",
    "created_at": "2019-05-29 19:13:33",
    "id": 2810
}

				
JSON Array
Error Format Response (422 error) , Provide a Valid Programming Language Id
                {
    "error": "Invalid programming language, must be a valid language ID",
    "available_languages": [
        {
            "id": 13,
            "language": "Java (.java)"
        },
        {
            "id": 14,
            "language": "Python (.py)"
        },
        {
            "id": 16,
            "language": "C (.c/.h)"
        },
        {
            "id": 17,
            "language": "C/C++ (.cc/.c/.h/.cpp/.hpp)"
        },
        {
            "id": 18,
            "language": "C# (.cs)"
        },
        {
            "id": 20,
            "language": "Perl (.pl/.sh)"
        },
        {
            "id": 21,
            "language": "PHP (.php)"
        },
        {
            "id": 22,
            "language": "SQL (.sql)"
        },
        {
            "id": 23,
            "language": "VB (.vb/.bas)"
        },
        {
            "id": 24,
            "language": "XML (.xml)"
        },
        {
            "id": 28,
            "language": "Haskell (.hs/.lhs)"
        },
        {
            "id": 29,
            "language": "Pascal (.pas/.inc)"
        },
        {
            "id": 30,
            "language": "Go (.go)"
        },
        {
            "id": 31,
            "language": "Matlab (.m)"
        },
        {
            "id": 32,
            "language": "Lisp (.el)"
        },
        {
            "id": 33,
            "language": "Ruby (.rb)"
        },
        {
            "id": 34,
            "language": "Assembly (.asm/.s)"
        },
        {
            "id": 38,
            "language": "HTML Javascript (.html/.htm/.xhtml)"
        },
        {
            "id": 39,
            "language": "Javascript (.js/.ts)"
        },
        {
            "id": 40,
            "language": "HTML (.html/.htm/.xhtml)"
        },
        {
            "id": 41,
            "language": "Plain text (.txt)"
        },
        {
            "id": 42,
            "language": "Text file by char (.txt)"
        },
        {
            "id": 43,
            "language": "Swift (.swift)"
        },
        {
            "id": 44,
            "language": "Kotlin (.kt/.kts)"
        },
        {
            "id": 45,
            "language": "Yacc (.y,.yy,.ypp,.yxx)"
        },
        {
            "id": 46,
            "language": "Lex (.l,.ll)"
        },
        {
            "id": 47,
            "language": "Elixir (.ex, .exs)"
        },
        {
            "id": 48,
            "language": "Python Jupyter Notebook (.ipynb)"
        },
        {
            "id": 49,
            "language": "Dart (.dart)"
        },
        {
            "id": 50,
            "language": "Shell (.sh/.bash)"
        },
        {
            "id": 51,
            "language": "Rust (.rs)"
        },
        {
            "id": 52,
            "language": "Scala (.scala)"
        },
        {
            "id": 53,
            "language": "R (.r)"
        },
        {
            "id": 54,
            "language": "Objective-C (.m, .mm)"
        },
        {
            "id": 55,
            "language": "TypeScript (.ts, .tsx)"
        },
        {
            "id": 56,
            "language": "Markdown (.md)"
        },
        {
            "id": 57,
            "language": "Julia (.jl)"
        },
        {
            "id": 58,
            "language": "Groovy (.groovy)"
        },
        {
            "id": 59,
            "language": "Sass/SCSS (.scss, .sass)"
        },
        {
            "id": 60,
            "language": "CoffeeScript (.coffee)"
        },
        {
            "id": 61,
            "language": "Lua (.lua)"
        },
        {
            "id": 62,
            "language": "Erlang (.erl, .hrl)"
        },
        {
            "id": 63,
            "language": "F# (.fs, .fsi, .fsx)"
        },
        {
            "id": 64,
            "language": "Fortran (.f90, .f95)"
        },
        {
            "id": 65,
            "language": "Haxe (.hx)"
        },
        {
            "id": 66,
            "language": "Scheme (.scm, .ss)"
        },
        {
            "id": 67,
            "language": "Tcl (.tcl)"
        },
        {
            "id": 68,
            "language": "Ada (.adb, .ads)"
        },
        {
            "id": 69,
            "language": "COBOL (.cob, .cbl)"
        },
        {
            "id": 70,
            "language": "VHDL (.vhd, .vhdl)"
        }
    ]
}
                
JSON Array

How to think of the checking process

Now that you have learned how to create a check, it's time to learn how to upload files to the newly created check. Think of creating a check being like creating a folder. Now that you have created the folder, we can now upload submissions to them.

What's next

For optimal understanding of API usage, we recommend following this guide.

Our Mission

Codequiry aims to achieve an equally fair environment for fields relating to computer science by preventing the use of unoriginal and plagiarised code. The first step to preserving academic integrity and original source code starts here.

Codequiry

Disclaimer: The brand images are copyrighted by their respective owners, and we have no affiliation with them. The brands listed represent teams using Codequiry under personal, team, or enterprise plans. Codequiry is utilized by over 5,000 teams globally. Teams and individuals at these organizations can use Codequiry without needing a company-wide plan or contract, except for the professional version.

© 2018-2025 Codequiry LLC., Intelligent Plagiarism Solutions, Inc.