Référence de l'API
Propriétés
Une propriété regroupe les sites et dépôts d'un produit. Ces endpoints renvoient son score global, le score de chaque outil, les constats de tous les outils dans une seule liste et la suite à donner.
Lister les propriétés
/api/v1/propertiesToutes les propriétés de l'équipe (ou du titulaire) de la clé, avec les scores par outil.
Réponse
{
"properties": [
{
"id": "cm9prop...",
"name": "Acme Store",
"category": "ecommerce",
"client": null,
"score": 76,
"lastScannedAt": "2026-11-12T09:30:00.000Z",
"openTasks": 4,
"targets": [
{ "target": "shop.acme.com", "kind": "site" },
{ "target": "acme/storefront", "kind": "repo" }
],
"tools": [
{ "tool": "audit", "score": 86, "change": 3, "scanned": 1, "of": 1, "at": "2026-11-12T09:30:00.000Z" },
{ "tool": "security", "score": 54, "change": -12, "scanned": 1, "of": 1, "at": "2026-11-10T08:00:00.000Z" }
]
}
]
}Lire une propriété
/api/v1/properties/{id}Une propriété avec son évolution sur 30 jours, ses problèmes fusionnés et ses prochaines étapes.
Paramètres de chemin
| Champ | Description |
|---|---|
idstringObligatoire | L'id de la propriété, issu de la liste. |
Réponse
{
"id": "cm9prop...",
"name": "Acme Store",
"score": 76,
"trend": [{ "day": "2026-11-12", "score": 76 }],
"issues": [
{
"title": "Missing Content-Security-Policy",
"severity": "high",
"tools": ["security", "audit"],
"targets": ["shop.acme.com"],
"places": 1,
"task": { "id": "cm9task...", "status": "open", "assignee": "Sam Lee" },
"url": "https://www.scanverra.com/security-scan/cm9scan...?finding=..."
}
],
"nextSteps": [
{ "kind": "secretsLive", "tool": "security", "target": "shop.acme.com", "url": "https://www.scanverra.com/security-scan?url=..." }
],
"packs": [
{
"ref": "checkout-security",
"name": "Checkout security",
"official": true,
"pass": false,
"passed": 5,
"total": 7,
"rules": [
{ "kind": "minScore", "tool": "security", "expected": 85, "actual": 50, "pass": false }
]
}
]
}Champs
| Champ | Description |
|---|---|
scorenumber | nullFacultatif | La santé globale : la moyenne de chaque outil sur les cibles de la propriété, puis les outils à poids égal. null tant que rien n'a été analysé. |
tools[]object[]Facultatif | Une entrée par outil ayant analysé la propriété : score, évolution depuis l'analyse précédente, nombre de cibles analysées (scanned sur of) et date. |
issues[]object[]Facultatif | Les constats des dernières analyses de tous les outils, fusionnés : un même problème signalé par deux outils est une entrée, avec les deux dans tools et le nombre d'occurrences dans places. |
issues[].taskobject | nullFacultatif | La tâche de remédiation ouverte pour ce problème, si quelqu'un en est chargé. |
nextSteps[]object[]Facultatif | Quoi analyser ou corriger ensuite, le plus urgent d'abord (types ci-dessous). url ouvre la bonne page avec la cible préremplie. |
packs[]object[]Facultatif | Packs de règles installés sur la propriété (depuis la marketplace), chacun vérifié avec ses dernières analyses : pass, combien de règles réussissent (passed sur total) et chaque règle avec son seuil (expected) et sa valeur actuelle (actual). Les noms des packs officiels sont en anglais. |
trend[]object[]Facultatif | Le score global par jour sur les 30 derniers jours. |
Types de prochaine étape
nextSteps croise les outils : un constat dans un outil renvoie vers l'analyse ou le correctif qu'un autre outil permet.
secretsLiveLe dépôt divulgue un secret : vérifiez ce que le site en ligne expose.
regressionLe score d'un outil a baissé de 10 points ou plus depuis l'analyse précédente.
run360La plupart des outils n'ont pas encore vérifié un site.
headersInCodeLe site en ligne n'a pas certains en-têtes de sécurité et son dépôt fait partie de la propriété.
neverScannedUn outil n'a jamais tourné sur une cible.
staleLa dernière analyse d'une cible date de plus de 30 jours.
linkRepoLa propriété a des sites mais aucun dépôt.
addSiteLa propriété a des dépôts mais aucun site.
Exemples
curl https://www.scanverra.com/api/v1/properties \ -H "X-API-Key: $SCANVERRA_API_KEY"