Our AI detection models just got upgraded. They now catch ChatGPT and Claude in student code more accurately than ever. See what's new
Developer API

Code Plagiarism
Detection API

Build plagiarism detection into your apps. Check code against 20+ billion sources.

const response = await fetch('https://codequiry.com/api/v1/check', { method: 'POST', headers: { 'apikey': 'YOUR_API_KEY' }, body: formData }); // Check created!
CHECK SUMMARY API

Get Check Summary

Retrieve a high-level summary of a plagiarism check including aggregate statistics, plagiarism scores, AI detection metrics, and processing information.

API Endpoint

GET https://codequiry.com/api/v1/checks/{checkId}/summary
POST https://codequiry.com/api/v1/check/summary
Two equivalent forms: Use the RESTful path form (GET /checks/{checkId}/summary) with the check ID in the URL, or the POST form (POST /check/summary) with check_id in the request body. Both return the same payload.

Authentication

Include your API key in the request header:

apikey: YOUR_API_KEY_HERE

Request Parameters

Parameter Type Required Description
checkId (path) / check_id (body) Integer Required The unique identifier of the check to summarize. Provide it as the {checkId} URL segment (REST form) or as check_id in the body (POST form).

Success Response

HTTP Status: 200 OK

{
    "check_id": 2810,
    "check_name": "Python Assignment - Week 5",
    "status": "Completed",
    "status_id": 4,
    "submission_count": 25,
    "completed_submissions": 25,
    "plagiarism_stats": {
        "avg": 34.5,
        "max": 89.2,
        "min": 2.1
    },
    "ai_detection_stats": {
        "avg": 22.3,
        "max": 78.5
    },
    "flagged_submissions": 8,
    "processing_time_seconds": 145,
    "created_at": "2024-01-15 14:30:22",
    "updated_at": "2024-01-15 14:32:47"
}
        
JSON Response
Response Fields
  • check_id — The check identifier
  • check_name — Human-readable check name
  • status / status_id — Current check status
  • submission_count — Total submissions in the check
  • completed_submissions — Submissions that have been fully analyzed
  • plagiarism_stats.avg — Average plagiarism score across all submissions (%)
  • plagiarism_stats.max — Highest plagiarism score found (%)
  • plagiarism_stats.min — Lowest plagiarism score found (%)
  • ai_detection_stats.avg — Average AI detection probability (%)
  • ai_detection_stats.max — Highest AI detection probability (%)
  • flagged_submissions — Number of submissions exceeding 75% on either plagiarism (total_result) or average AI probability
  • processing_time_seconds — Total analysis time in seconds (created_at to updated_at); only populated when the check is completed (status_id 4), otherwise null
  • created_at / updated_at — Timestamps in UTC

Error Responses

401 Unauthorized

Invalid or missing API key.

404 Not Found

Check not found or does not belong to your account ("Invalid check_id provided.").

422 Unprocessable Entity

No check ID supplied ("check_id is required"), or no API Checks folder exists on your account ("No API Checks folder exists.").

Code Examples

cURL (REST path form)
curl "https://codequiry.com/api/v1/checks/2810/summary" \
  -H "apikey: YOUR_API_KEY_HERE"
        
cURL - REST
cURL (POST body form)
curl -X POST "https://codequiry.com/api/v1/check/summary" \
  -H "apikey: YOUR_API_KEY_HERE" \
  -d "check_id=2810"
        
cURL - POST
JavaScript
const response = await fetch('https://codequiry.com/api/v1/check/summary', {
    method: 'POST',
    headers: {
        'apikey': 'YOUR_API_KEY_HERE',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({ check_id: 2810 })
});

const summary = await response.json();

console.log(`Check: ${summary.check_name}`);
console.log(`Submissions: ${summary.submission_count}`);
console.log(`Avg Plagiarism: ${summary.plagiarism_stats.avg}%`);
console.log(`Max Plagiarism: ${summary.plagiarism_stats.max}%`);
console.log(`Flagged: ${summary.flagged_submissions}`);
        
JavaScript