Skip to content

API Scans

Créez, gérez et surveillez les analyses de vulnérabilités de manière programmatique.

Points de terminaison

MéthodePoint de terminaisonDescription
GET/api/v1/scansLister toutes les analyses
POST/api/v1/scansCré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}/findingsObtenir les découvertes d'une analyse

Lister les analyses

Récupérer toutes les analyses de votre organisation.

bash
GET /api/v1/scans

Paramètres de requête

ParamètreTypeDescription
pageintegerNuméro de page (par défaut : 1)
per_pageintegerÉléments par page (par défaut : 20, max : 100)
statusstringFiltrer par statut : pending, running, completed, failed
targetstringFiltrer par domaine cible
from_datestringFiltrer les analyses après la date (ISO 8601)
to_datestringFiltrer 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/json

Corps de la requête

json
{
  "target": "example.com",
  "scan_type": "full",
  "frameworks": ["soc2", "pci-dss"],
  "ports": "1-1000",
  "authorized": true
}

Paramètres

ChampTypeRequisDescription
targetstringOuiDomaine, IP ou plage CIDR
scan_typestringNonquick, full ou compliance (par défaut : full)
frameworksarrayNonRéférentiels de conformité à vérifier
portsstringNonPlage de ports (par défaut : ports communs)
authorizedbooleanOuiAttestation d'autorisation d'analyse

Types d'analyse

TypeDuréeCouverture
quick5-10 minPrincipales vulnérabilités, ports courants
full30-60 minToutes les 11 phases, couverture complete
compliance15-30 minVé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}/findings

Paramètres de requête

ParamètreTypeDescription
severitystringFiltre : critical, high, medium, low, info
statusstringFiltre : 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/quota

Ré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/schedules

Supprimer 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

PlanAnalyses simultanéesAnalyses/Mois
Startup125
Professional3150
EnterpriseIllimitéIllimité

Updated at:

Agentic AI-Powered Security & Compliance