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 with us.

Disclaimer: Brand logos are trademarks of their respective owners. Codequiry isn't affiliated with or endorsed by these brands. Teams or individuals from these organizations independently use Codequiry under various subscription plans.

Codequiry

© 2018 - 2025 Codequiry LLC., CQ Pvt Ltd.

Headquarters: 535 Mission St, San Francisco, CA 94105 • India Office: Regal Building, New Delhi, India

Made with ♥ in USA