Developer API

Code Plagiarism
Detection API

Build plagiarism detection into your applications with our powerful REST API. Detect copied code across 20+ billion sources with industry-leading accuracy.

99.7%
Accuracy
51+
Languages
20B+
Sources
5
SDKs

API Playground

Not Connected

Connect your API key to test endpoints

CHECK STATUS

Get Check Status & Monitor Progress

Monitor your plagiarism check progress and retrieve detailed results. Use this endpoint to check if your analysis is complete, track processing status, and get plagiarism scores for all submissions when the check finishes.

API Endpoint
POST https://codequiry.com/api/v1/check/get

How Status Checking Works

This endpoint provides complete, real-time information about your check, including its current processing status, all uploaded submissions, and their plagiarism scores (when analysis is complete). It's perfect for building progress indicators, polling for completion, or retrieving final results.

Real-time Monitoring: Poll this endpoint every 15-30 seconds to track analysis progress. When status_id changes to 4 (completed), results are ready to retrieve.
What You'll Get
Check Metadata

Current status, creation time, and processing state of your plagiarism check

All Submissions

Complete list of uploaded files with individual status and metadata

Plagiarism Scores

Similarity percentages for each submission (when analysis completes)

Status Details

Human-readable status messages and timestamp information for tracking

Request Parameters

Send a simple request with your check ID to retrieve the current status and all submission data.

Parameter Type Required Description
check_id Integer Required ID of the check to retrieve status for (from create check response)
Example Request
		curl -X POST \
  'https://codequiry.com/api/v1/check/get?check_id=2810' \
  -H 'Accept: application/json' \
  -H 'apikey:  YOUR_API_KEY_HERE '
		
cURL Command
Note: Replace 2810 with your actual check ID from the create check response.
Example Response
		{
    "check": {
        "id": 2821,
        "name": "Java Assignment Check",
        "created_at": "2024-01-15 15:54:15",
        "updated_at": "2024-01-15 16:02:29",
        "status_id": 4,
        "job_id": 8847
    },
    "status": "Checks completed",
    "submission_count": 3,
    "submissions": [
        {
            "id": 14587,
            "filename": "student1_assignment",
            "status_id": 4,
            "created_at": "2024-01-15 15:55:23",
            "updated_at": "2024-01-15 16:02:29",
            "result1": "0.00",
            "result2": "0.00",
            "result3": "0.00",
            "total_result": "48.65",
            "assignmentstatuses": {
                "id": 4,
                "status": "Checks completed",
                "icon": "icon dripicons-checkmark text-white",
                "color": "success",
                "created_at": null,
                "updated_at": null
            }
        },
        {
            "id": 14588,
            "filename": "student2_assignment",
            "status_id": 4,
            "created_at": "2024-01-15 15:55:23",
            "updated_at": "2024-01-15 16:02:29",
            "result1": "0.00",
            "result2": "0.00",
            "result3": "0.00",
            "total_result": "0.00",
            "assignmentstatuses": {
                "id": 4,
                "status": "Checks completed",
                "icon": "icon dripicons-checkmark text-white",
                "color": "success",
                "created_at": null,
                "updated_at": null
            }
        },
        {
            "id": 14589,
            "filename": "student3_assignment",
            "status_id": 4,
            "created_at": "2024-01-15 15:55:23",
            "updated_at": "2024-01-15 16:02:29",
            "result1": "0.00",
            "result2": "0.00",
            "result3": "0.00",
            "total_result": "48.65",
            "assignmentstatuses": {
                "id": 4,
                "status": "Checks completed",
                "icon": "icon dripicons-checkmark text-white",
                "color": "success",
                "created_at": null,
                "updated_at": null
            }
        }
    ]
}
		
JSON Response
Understanding the Response
  • check.status_id — Current processing status (see status reference below)
  • status — Human-readable status description for display in your UI
  • submission_count — Total number of files uploaded to this check
  • submissions — Array of all uploaded files with their individual scores
  • total_result — Highest similarity score found for each submission
  • job_id — Internal processing ID (0 = not started, >0 = processing/completed)

Check Status Reference

The status_id field indicates the current state of your plagiarism check. Use these values to build progress indicators and determine when results are ready:

Status 1: Pending

Awaiting Action

Check created but analysis not yet started—files may still be uploading

Action: Upload files and start analysis

Status 2: Processing

Analysis In Progress

Currently analyzing code for plagiarism—results not yet available

Action: Poll this endpoint every 15-30 seconds

Status 4: Completed

Ready to View

Analysis finished successfully—plagiarism scores and results are ready

Action: Retrieve detailed results and reports

Status 5: Failed

Processing Error

Analysis encountered an error during processing

Action: Contact support if error persists

Best Practices for Status Polling

Polling Frequency
  • Poll every 15-30 seconds during processing
  • Implement exponential backoff for long checks
  • Stop polling when status_id reaches 4 or 5
  • Set maximum polling duration (10-15 minutes)
Implementation
  • Use async/await or promises for cleaner code
  • Handle network errors gracefully
  • Show progress indicators to users
  • Cache results once completed
User Experience
  • Display estimated completion time
  • Show submission count being processed
  • Notify users when results are ready
  • Provide option to view partial results
Performance
  • Don't poll faster than necessary
  • Use webhooks for large-scale operations
  • Cache check metadata between polls
  • Batch multiple check statuses if needed

Error Responses

Invalid Check ID (422 Unprocessable Entity)
        {
    "error": "Invalid check_id provided"
}
        
Error Response
Common Issue: Verify the check_id exists and is associated with your API key. Check IDs from other accounts won't be accessible.