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.
API Playground
Not ConnectedPlagiarism Results Overview
Get a comprehensive overview of your completed plagiarism check results. This endpoint provides summary data, peer comparison scores, and visualization-ready data for building dashboards and reports.
Endpoint
📊 Overview Features
The overview endpoint gives you a bird's-eye view of your plagiarism check results, perfect for dashboards, reports, and quick analysis. It focuses on peer-to-peer comparisons between your uploaded submissions.
What You'll Get
- Summary Dashboard Data: Ready-to-use data for charts and visualizations
- Submission List: All uploaded files with their highest similarity scores
- Peer Comparisons: Detailed comparison matrix between submissions
- Chart Data: Pre-formatted data for bar charts and graphs
- Dashboard Link: Direct URL to view results in Codequiry dashboard
📤 Request Parameters
Simple request requiring only your completed check ID to retrieve the overview data.
| Parameter | Type | Required | Description |
|---|---|---|---|
check_id |
Integer | ✅ Yes | ID of completed check to get overview for |
Request Examples
JSON Response
curl -X POST \
'https://codequiry.com/api/v1/check/overview?check_id=2810' \
-H 'Accept: application/json' \
-H 'apikey: YOUR_API_KEY_HERE '
CSV Export
curl -X POST \
'https://codequiry.com/api/v1/check/overviewCSV?check_id=2810' \
-H 'Accept: text/csv' \
-H 'apikey: YOUR_API_KEY_HERE '
JSON Response
{
"overviewURL": "http://dashboard.codequiry.com/course/api/assignment/2810/overview",
"submissions": [
{
"id": 14587,
"filename": "student1_assignment",
"status_id": 4,
"created_at": "2024-01-15 14:35:22",
"updated_at": "2024-01-15 14:45:18",
"result1": "12.50",
"result2": "8.75",
"result3": "15.20",
"total_result": "85.45",
"submissionresults": [
{
"id": 463587,
"submission_id": 14587,
"submission_id_compared": 14588,
"score": "23.80",
"created_at": null,
"updated_at": null
},
{
"id": 463588,
"submission_id": 14587,
"submission_id_compared": 14589,
"score": "85.45",
"created_at": null,
"updated_at": null
}
]
},
{
"id": 14588,
"filename": "student2_assignment",
"status_id": 4,
"created_at": "2024-01-15 14:35:22",
"updated_at": "2024-01-15 14:45:18",
"result1": "5.25",
"result2": "3.80",
"result3": "7.10",
"total_result": "23.80",
"submissionresults": [
{
"id": 463589,
"submission_id": 14588,
"submission_id_compared": 14589,
"score": "12.30",
"created_at": null,
"updated_at": null
}
]
}
],
"bardata": [
{
"submission": "student1_assignment",
"score": "85.45"
},
{
"submission": "student2_assignment",
"score": "23.80"
}
]
}
📋 Response Data Structure
Main Response Fields
| Field | Type | Description |
|---|---|---|
overviewURL |
String | Direct link to view results in Codequiry dashboard |
submissions |
Array | List of all submissions with their scores and comparisons |
bardata |
Array | Simplified data for creating charts (filename + highest score) |
Submission Object Fields
| Field | Description |
|---|---|
id |
Unique submission identifier |
filename |
Original filename (without .zip extension) |
total_result |
Highest similarity score found for this submission |
submissionresults |
Array of peer comparisons showing which submissions were compared |
🎯 Understanding Similarity Scores
Acceptable similarity levels. Code appears original with minimal matching patterns.
✅ Likely original workModerate similarity detected. Requires manual review to determine cause.
⚠️ Review recommendedSignificant similarity indicating potential plagiarism or code sharing.
🚨 Investigation needed📈 Data Visualization Examples
Using the bardata for Charts
The bardata array is perfectly formatted for creating visualizations:
JavaScript Chart.js Example
// Extract labels and data from bardata
const labels = data.bardata.map(item => item.submission);
const scores = data.bardata.map(item => parseFloat(item.score));
// Create bar chart
new Chart(ctx, {
type: 'bar',
data: {
labels: labels,
datasets: [{
label: 'Similarity Score (%)',
data: scores,
backgroundColor: scores.map(score =>
score > 70 ? '#dc3545' :
score > 30 ? '#ffc107' : '#28a745'
)
}]
}
});
Python Visualization
import matplotlib.pyplot as plt
# Extract data from API response
submissions = [item['submission'] for item in bardata]
scores = [float(item['score']) for item in bardata]
# Create color-coded bar chart
colors = ['red' if score > 70 else 'orange' if score > 30 else 'green' for score in scores]
plt.figure(figsize=(10, 6))
plt.bar(submissions, scores, color=colors)
plt.ylabel('Similarity Score (%)')
plt.title('Plagiarism Detection Results')
plt.xticks(rotation=45)
plt.show()
📊 Data Analysis Examples
The JSON response provides rich data that can be processed for various analytical purposes:
bardata array for creating similarity charts and the submissionresults for detailed statistics.
JavaScript Analysis Example
// Analyze overview data for insights
function analyzeResults(overview) {
const submissions = overview.submissions;
// Calculate risk distribution
const riskDistribution = {
high: submissions.filter(s => parseFloat(s.total_result) > 70).length,
medium: submissions.filter(s => parseFloat(s.total_result) > 30 && parseFloat(s.total_result) <= 70).length,
low: submissions.filter(s => parseFloat(s.total_result) <= 30).length
};
// Find most similar pair
let maxSimilarity = 0;
let similarPair = null;
overview.bardata.forEach(comparison => {
if (comparison.similarity > maxSimilarity) {
maxSimilarity = comparison.similarity;
similarPair = comparison;
}
});
return { riskDistribution, similarPair, maxSimilarity };
}
⚠️ Error Responses & Special Cases
Check Not Completed (422 Unprocessable Entity)
{
"error": "The check has not been completed."
}
Special Score Values
Error parsing files
Possible causes: corrupted ZIP, no parseable files, encoding issuesNo similarity detected
Either completely original or no common patterns found💡 Best Practices
Dashboard Integration
- Use bardata for quick visualizations
- Sort submissions by total_result
- Color-code by similarity thresholds
- Link to overviewURL for details
Data Processing
- Cache results to avoid repeated calls
- Process JSON data in your preferred format
- Filter by score thresholds
- Check for -0.1 error scores
Investigation
- Focus on scores above 30%
- Check submissionresults for peer matches
- Use detailed results for deeper analysis
- Consider context and assignment type
🚀 Next Steps
With overview data in hand, dive deeper into specific plagiarism cases:
Detailed Analysis
Get line-by-line comparisons and source code highlighting for suspicious matches.
Detailed Results APIDownload Reports
Export comprehensive reports and source files for offline analysis.
Download Files API