Codequiry Developer Documentation
Complete guide to integrating and using Codequiry's AI-powered code plagiarism detection API. Build secure, scalable applications with our comprehensive developer tools.

Overview
Codequiry provides a powerful REST API for integrating AI-powered code plagiarism detection into your applications. Our API is designed for developers who need to maintain academic integrity, code quality, and originality in their platforms.
Secure & Reliable
Bank-level encryption and 99.9% uptime guarantee
Fast & Scalable
Process thousands of submissions with real-time results
AI-Powered
Advanced machine learning for accurate detection
Quick Start
1. Get Your API Key
Sign up for a free account and generate your API key from the dashboard.
Get API Key2. Choose Your SDK
Select from our official SDKs for popular programming languages.
3. Your First API Call
curl -X POST https://api.codequiry.com/v1/checks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My First Check",
"language": "python",
"files": ["@file1.zip", "@file2.zip"]
}'
Authentication
All API requests require authentication using your API key. Include it in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Security Best Practices
- Keep your API key secure
- Use environment variables
- Rotate keys regularly
- Monitor usage patterns
Rate Limits
- 100 requests per minute
- 1000 requests per hour
- 10,000 requests per day
- Higher limits available
API Reference
Endpoint | Method | Description | Rate Limit |
---|---|---|---|
/v1/checks |
POST | Create a new plagiarism check | 10/min |
/v1/checks/{id} |
GET | Get check status and results | 100/min |
/v1/checks/{id}/upload |
POST | Upload files to a check | 20/min |
/v1/checks/{id}/start |
POST | Start the analysis process | 10/min |
/v1/checks/{id}/results |
GET | Get detailed results | 100/min |
SDKs & Libraries
Python SDK
Official Python client with async support and comprehensive error handling.
pip install codequiry-python
Node.js SDK
Modern JavaScript/TypeScript client with Promise-based API.
npm install @codequiry/node
PHP SDK
PHP client with Laravel integration and Composer support.
composer require codequiry/php
Java SDK
Java client with Spring Boot integration and Maven support.
<dependency>codequiry-java</dependency>
Webhooks
Receive real-time notifications when your checks complete or status changes.
Webhook Events
check.completed
- Analysis finishedcheck.failed
- Analysis failedcheck.progress
- Progress updatefile.uploaded
- File uploaded
Security
- HMAC signature verification
- HTTPS only
- Webhook secret key
- Automatic retries
{
"event": "check.completed",
"data": {
"check_id": "chk_123456789",
"status": "completed",
"similarity_score": 85.5,
"created_at": "2024-01-15T10:30:00Z"
},
"signature": "sha256=..."
}
Best Practices
Performance
- Use async/await for non-blocking calls
- Implement proper error handling
- Cache results when possible
- Use webhooks for real-time updates
Security
- Store API keys securely
- Use HTTPS for all requests
- Rotate keys regularly
- Monitor usage patterns
Examples
Python Example
import codequiry
client = codequiry.Client('your-api-key')
# Create a check
check = client.checks.create(
name="Python Assignment",
language="python"
)
# Upload files
check.upload_files(['student1.zip', 'student2.zip'])
# Start analysis
check.start()
# Get results
results = check.get_results()
print(f"Similarity: {results.similarity_score}%")
Node.js Example
const Codequiry = require('@codequiry/node');
const client = new Codequiry('your-api-key');
async function runCheck() {
// Create a check
const check = await client.checks.create({
name: 'JavaScript Assignment',
language: 'javascript'
});
// Upload files
await check.uploadFiles(['student1.zip', 'student2.zip']);
// Start analysis
await check.start();
// Get results
const results = await check.getResults();
console.log(`Similarity: ${results.similarityScore}%`);
}
Troubleshooting
Error: 401 Unauthorized
Solution: Verify your API key is correct and properly formatted in the Authorization header.
Authorization: Bearer YOUR_API_KEY
Error: 429 Too Many Requests
Solution: Implement exponential backoff and respect rate limits. Consider upgrading your plan for higher limits.
Error: 400 Bad Request
Solution: Ensure files are ZIP format, under 10MB, and contain valid source code files.
Ready to Get Started?
Join thousands of developers who trust Codequiry for their code plagiarism detection needs.