API Scans
Créez, gérez et surveillez les analyses de vulnérabilités de manière programmatique.
Points de terminaison
| Méthode | Point de terminaison | Description |
|---|---|---|
| GET | /api/v1/scans | Lister toutes les analyses |
| POST | /api/v1/scans | Créer une nouvelle analyse |
| GET | /api/v1/scans/{id} | Obtenir les détails d'une analyse |
| DELETE | /api/v1/scans/{id} | Annuler/supprimer une analyse |
| GET | /api/v1/scans/{id}/findings | Obtenir les découvertes d'une analyse |
Lister les analyses
Récupérer toutes les analyses de votre organisation.
bash
GET /api/v1/scansParamètres de requête
| Paramètre | Type | Description |
|---|---|---|
page | integer | Numéro de page (par défaut : 1) |
per_page | integer | Éléments par page (par défaut : 20, max : 100) |
status | string | Filtrer par statut : pending, running, completed, failed |
target | string | Filtrer par domaine cible |
from_date | string | Filtrer les analyses après la date (ISO 8601) |
to_date | string | Filtrer les analyses avant la date (ISO 8601) |
Réponse
json
{
"items": [
{
"id": "scan_abc123",
"target": "example.com",
"scan_type": "full",
"status": "completed",
"progress": 100,
"phase": "complete",
"created_at": "2025-12-21T10:00:00Z",
"completed_at": "2025-12-21T10:45:00Z",
"vulnerabilities_found": 12,
"critical_count": 1,
"high_count": 3,
"medium_count": 5,
"low_count": 3
}
],
"total": 45,
"page": 1,
"per_page": 20,
"pages": 3
}Créer une analyse
Démarrer une nouvelle analyse de vulnérabilités.
bash
POST /api/v1/scans
Content-Type: application/jsonCorps de la requête
json
{
"target": "example.com",
"scan_type": "full",
"frameworks": ["soc2", "pci-dss"],
"ports": "1-1000",
"authorized": true
}Paramètres
| Champ | Type | Requis | Description |
|---|---|---|---|
target | string | Oui | Domaine, IP ou plage CIDR |
scan_type | string | Non | quick, full ou compliance (par défaut : full) |
frameworks | array | Non | Référentiels de conformité à vérifier |
ports | string | Non | Plage de ports (par défaut : ports communs) |
authorized | boolean | Oui | Attestation d'autorisation d'analyse |
Types d'analyse
| Type | Durée | Couverture |
|---|---|---|
quick | 5-10 min | Principales vulnérabilités, ports courants |
full | 30-60 min | Toutes les 11 phases, couverture complete |
compliance | 15-30 min | Vérifications spécifiques au référentiel |
Réponse
json
{
"id": "scan_xyz789",
"target": "example.com",
"scan_type": "full",
"status": "pending",
"created_at": "2025-12-21T14:00:00Z",
"estimated_duration": 2700
}Obtenir les détails d'une analyse
Récupérer les détails d'une analyse spécifique.
bash
GET /api/v1/scans/{scan_id}Réponse
json
{
"id": "scan_abc123",
"target": "example.com",
"scan_type": "full",
"status": "running",
"progress": 45,
"phase": "vulnerability_scanning",
"current_tool": "nuclei",
"created_at": "2025-12-21T10:00:00Z",
"started_at": "2025-12-21T10:01:00Z",
"phases_completed": [
"discovery",
"enumeration"
],
"phases_remaining": [
"vulnerability_scanning",
"web_analysis",
"cloud_analysis",
"threat_intelligence",
"correlation",
"ai_analysis",
"remediation_planning",
"reporting"
]
}Annuler une analyse
Arrêter une analyse en cours.
bash
DELETE /api/v1/scans/{scan_id}Réponse
json
{
"id": "scan_abc123",
"status": "cancelled",
"message": "Scan cancelled successfully"
}Obtenir les découvertes d'une analyse
Récupérer les vulnérabilités trouvées lors d'une analyse.
bash
GET /api/v1/scans/{scan_id}/findingsParamètres de requête
| Paramètre | Type | Description |
|---|---|---|
severity | string | Filtre : critical, high, medium, low, info |
status | string | Filtre : open, in_progress, resolved, false_positive |
Réponse
json
{
"items": [
{
"id": "finding_123",
"title": "SQL Injection in Login Form",
"severity": "critical",
"cvss_score": 9.8,
"status": "open",
"tool": "sqlmap",
"affected_component": "https://example.com/login",
"description": "...",
"remediation": "...",
"cve_ids": ["CVE-2024-1234"],
"detected_at": "2025-12-21T10:30:00Z"
}
],
"total": 12
}Quota d'analyses
Vérifier le quota d'analyses restant.
bash
GET /api/v1/scans/quotaRéponse
json
{
"plan": "professional",
"monthly_limit": 150,
"used_this_month": 45,
"remaining": 105,
"resets_at": "2026-01-01T00:00:00Z"
}Analyses programmées
Professionnel et Entreprise
Les analyses programmées sont disponibles sur les plans Professionnel et Entreprise.
Créer une programmation
bash
POST /api/v1/scans/schedules
Content-Type: application/json
{
"target": "example.com",
"scan_type": "full",
"frequency": "weekly",
"day_of_week": 1,
"hour": 2,
"timezone": "UTC"
}Lister les programmations
bash
GET /api/v1/scans/schedulesSupprimer une programmation
bash
DELETE /api/v1/scans/schedules/{schedule_id}Webhooks pour les analyses
S'inscrire aux notifications d'événements d'analyse :
bash
POST /api/v1/webhooks
Content-Type: application/json
{
"url": "https://your-server.com/webhook",
"events": [
"scan.started",
"scan.completed",
"scan.failed",
"vulnerability.critical"
]
}Limites de taux
| Plan | Analyses simultanées | Analyses/Mois |
|---|---|---|
| Startup | 1 | 25 |
| Professional | 3 | 150 |
| Enterprise | Illimité | Illimité |