Scanverra
Repo Scanner

Référence de l'API

Analyseur de dépôts

Analyse statique pour les dépôts GitHub, Bitbucket et Azure DevOps - SAST, détection de secrets, analyse des CVE de dépendances, vérifications IaC et signaux de qualité du code.

POST/api/repo/scanasync

Lancer une analyse - qualité du code, problèmes de sécurité, corrections IA

Les analyses de dépôts s'exécutent de manière asynchrone et renvoient immédiatement uniquement un scanId. Interrogez GET /api/repo/result ci-dessous, ou consultez les résultats à l'adresse https://www.scanverra.com/repo?scan={scanId}. Votre compte GitHub, Bitbucket ou Azure DevOps doit d'abord être connecté dans les paramètres Scanverra — l'analyse s'exécute avec le jeton qui y est stocké, et non avec un jeton transmis à chaque requête.

Corps de la requête

{
  "owner": "your-org",
  "repo": "your-repo",
  "branch": "main"
}

Réponse (immédiate)

{
  "scanId": "clxyz..."
}

Exemple

curl -X POST https://www.scanverra.com/api/repo/scan \
  -H "X-API-Key: sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"owner":"acme","repo":"website","branch":"main"}'
GET/api/repo/resultsynchronous

Interroger une analyse par id jusqu'à ce qu'elle soit terminée

Paramètres de requête

?id={scanId}

Réponse

{
  "id": "clxyz...",
  "status": "completed",
  "score": 82,
  "qualityGate": "passed",
  "issues": [...],
  "fixes": [...],
  "riskFindings": [...],
  "dependencyVulns": [...],
  "aiSummary": "..."
}

status vaut soit running, completed, soit failed. Interrogez jusqu'à ce que la valeur ne soit plus running.

Exemple

curl "https://www.scanverra.com/api/repo/result?id=clxyz..." \
  -H "X-API-Key: sk_live_..."

Le seul endpoint avec un gate intégré

qualityGate est calculé automatiquement : "failed" si un résultat a severity: "critical", ou si score < 60. score démarre à 100 et est réduit par des déductions pondérées selon la gravité, plafonnées par catégorie (Security ≤50, Dependency ≤30, Quality ≤15, IaC ≤15). C'est le seul outil où un seul champ constitue un signal réussite/échec prêt à l'emploi pour la CI — voir Intégration CI/CD.