API DOCUMENTATION
> Complete reference for integrating with the SCANCIS platform
GETTING STARTED
Authentication
All API requests require authentication using an API key
> Include your API key in the Authorization header:
bash
curl -X GET https://api.scancis.io/v1/scans \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"CORE ENDPOINTS
POST /v1/scans/security
Initiate a security scan on a target URL or repository
Request Body:
json
{
"target": "https://example.com",
"scanType": "full",
"options": {
"depth": "deep",
"includeSubdomains": true
}
}Response:
json
{
"scanId": "scan_abc123",
"status": "initiated",
"estimatedTime": "5-10 minutes",
"webhookUrl": "https://yourapp.com/webhook"
}POST /v1/tests/load
Execute load testing on your application
Request Body:
json
{
"target": "https://api.example.com",
"duration": 60,
"virtualUsers": 100,
"rampUp": 10
}Response:
json
{
"testId": "test_xyz789",
"status": "running",
"metrics": {
"requestsPerSecond": 0,
"activeUsers": 0
}
}GET /v1/scans/:scanId/results
Retrieve results from a completed scan
Response:
json
{
"scanId": "scan_abc123",
"status": "completed",
"findings": [
{
"severity": "high",
"type": "SQL Injection",
"location": "/api/users",
"description": "Potential SQL injection vulnerability"
}
],
"summary": {
"critical": 0,
"high": 1,
"medium": 3,
"low": 5
}
}RATE LIMITS
FREE TIER
100
requests/hour
PRO TIER
1,000
requests/hour
ENTERPRISE
∞
unlimited
SDK EXAMPLES
JavaScript / TypeScript
javascript
import { ScancisClient } from '@scancis/sdk';
const client = new ScancisClient({
apiKey: process.env.SCANCIS_API_KEY
});
// Run security scan
const scan = await client.security.scan({
target: 'https://example.com',
scanType: 'full'
});
console.log('Scan ID:', scan.scanId);Python
python
from scancis import ScancisClient
client = ScancisClient(api_key=os.environ['SCANCIS_API_KEY'])
# Run security scan
scan = client.security.scan(
target='https://example.com',
scan_type='full'
)
print(f'Scan ID: {scan.scan_id}')