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.

Codequiry Logo

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 Key
2. 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
View Documentation
Node.js SDK

Modern JavaScript/TypeScript client with Promise-based API.

npm install @codequiry/node
View Documentation
PHP SDK

PHP client with Laravel integration and Composer support.

composer require codequiry/php
View Documentation
Java SDK

Java client with Spring Boot integration and Maven support.

<dependency>codequiry-java</dependency>
View Documentation

Webhooks

Receive real-time notifications when your checks complete or status changes.

Webhook Events
  • check.completed - Analysis finished
  • check.failed - Analysis failed
  • check.progress - Progress update
  • file.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.