Passa al contenuto principale
Versione: Next 🚧

Scan API Overview

The Cert-IX Scan API provides programmatic access to 10 enterprise-grade security scanning engines through a single, unified REST API. Submit scans, receive real-time results, and integrate vulnerability assessments directly into your workflows, CI/CD pipelines, and security automation.

Why Use the Scan API?​

  • Unified Interface — One API for 10 industry-leading scanning engines
  • Asynchronous Architecture — Submit scans and get notified via webhooks when complete
  • Enterprise Scale — Built for high-throughput environments with Kafka-backed processing
  • Granular Access Control — Scoped API keys with IP allowlisting and per-key rate limits
  • Real-Time Notifications — Webhooks with HMAC-SHA256 signature verification
  • Reusable Templates — Save scan configurations and launch with a single API call
  • Full Observability — Usage analytics, quota tracking, and detailed API call logs

Base URL​

All API endpoints are available at:

https://api.cert-ix.com/scan-api/api/v1

All requests must use HTTPS. Plain HTTP connections are rejected.

Available Scan Engines​

The Scan API supports 10 professional security engines, each purpose-built for a specific domain:

EngineTypeUse Case
NmapnmapNetwork discovery, port scanning, service detection, OS fingerprinting
OWASP ZAPzapDynamic application security testing (DAST), OWASP Top 10
TrivytrivyContainer image vulnerability scanning, IaC misconfigurations, secrets
NucleinucleiTemplate-based vulnerability detection across thousands of CVEs
NiktoniktoWeb server scanning for dangerous files, outdated software, misconfigs
SQLMapsqlmapAutomated SQL injection detection and exploitation testing
WapitiwapitiBlack-box web application vulnerability scanning
theHarvesterharvesterOSINT — email harvesting, subdomain enumeration, metadata collection
Sublist3rsublist3rSubdomain enumeration using search engines and DNS services
SentinelsentinelCert-IX proprietary multi-engine orchestrated scanning with correlation

API at a Glance​

ResourceEndpointDescription
ScansPOST /scansSubmit a new scan
GET /scans/:idCheck scan status
GET /scans/:id/resultsRetrieve scan results
POST /scans/:id/cancelCancel a running scan
GET /scansList all scans
TemplatesPOST /scan-templatesCreate a reusable scan template
POST /scan-templates/:id/launchLaunch a scan from a template
GET /scan-templatesList templates
WebhooksPOST /webhooksRegister a webhook endpoint
POST /webhooks/:id/testSend a test event
GET /webhooks/:id/deliveriesView delivery logs
UsageGET /usage/summaryAggregated usage statistics
GET /usage/historyTime-series usage data
GET /usage/by-scan-typeUsage breakdown by engine
API KeysPOST /api-keysCreate an API key
POST /api-keys/:id/rotateRotate a key with grace period
DELETE /api-keys/:idRevoke a key

Authentication​

All API requests require an API key passed via the X-API-Key header:

curl -X GET https://api.cert-ix.com/scan-api/api/v1/scans \
-H "X-API-Key: cix_sk_your_api_key_here"

API keys support:

  • Granular scopes — Control exactly what each key can do
  • Scan type restrictions — Limit which engines a key can invoke
  • IP allowlisting — Restrict usage to specific source IPs
  • Automatic expiration — Set time-to-live on keys
  • Zero-downtime rotation — Grace periods for seamless key replacement

Learn more about authentication →

Security & Compliance​

The Scan API is built with enterprise security requirements in mind:

  • TLS 1.3 — All connections encrypted with modern TLS
  • Post-Quantum Cryptography (PQC) — CRYSTALS-Kyber key exchange, CRYSTALS-Dilithium signatures
  • HMAC-SHA256 — Webhook signature verification
  • SHA-256 Key Hashing — API keys hashed before storage
  • Tenant Isolation — Complete data separation between organizations
  • Audit Logging — Every API call logged via Kafka for compliance (ANSSI, NIS2, DORA)
  • Rate Limiting — Per-key, per-minute/hour/day configurable limits

Standard Response Format​

All responses follow a consistent JSON envelope:

Success:

{
"success": true,
"data": { ... }
}

Error:

{
"success": false,
"error": "Human-readable error message",
"code": "MACHINE_READABLE_CODE"
}

Rate Limits​

WindowDefaultConfigurable Range
Per minute601 – 1,000
Per hour1,0001 – 50,000
Per day10,0001 – 500,000

Rate limit headers are included in every response:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1709654460

Getting Help​

  • Documentation — Browse the guides in this section
  • Bobby AI — Ask Bobby for help with scan configurations
  • Support — Contact [email protected]
  • Status Page — Check platform status at status.cert-ix.com

Next Steps: