Skip to content
SEO Optimizer is live, Audit on page SEO and AI-search readiness. Try it free

API-Referenz

Properties

Eine Property fasst die Websites und Repositorys eines Produkts zusammen. Diese Endpunkte liefern ihren Gesamt-Score, den Score jedes Tools, die Befunde aller Tools in einer Liste und die nächsten Schritte.

Properties werden in der App unter Properties angelegt. Die API liest sie: Jeder Schlüssel funktioniert, auch schreibgeschützte. Ein Team-Schlüssel sieht die Properties des Teams.

Properties auflisten

GET/api/v1/properties

Alle Properties des Teams (oder Besitzers) des Schlüssels mit Scores pro Tool.

Antwort

json
{
  "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" }
      ]
    }
  ]
}

Eine Property abrufen

GET/api/v1/properties/{id}

Eine Property mit 30-Tage-Verlauf, zusammengeführten Problemen und nächsten Schritten.

Pfad-Parameter

idstringPflichtDie ID der Property aus der Liste.

Antwort

json
{
  "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 }
      ]
    }
  ]
}

Felder

scorenumber | nullOptionalDie Gesamt-Health: der Durchschnitt jedes Tools über die Ziele der Property, dann die Tools gleich gewichtet. null, solange nichts gescannt wurde.
tools[]object[]OptionalEin Eintrag pro Tool, das die Property gescannt hat: Score, Änderung seit dem vorherigen Scan, wie viele Ziele es gescannt hat (scanned von of) und wann.
issues[]object[]OptionalDie Befunde der neuesten Scans aller Tools, zusammengeführt: Dasselbe Problem aus zwei Tools ist ein Eintrag, mit beiden in tools und der Häufigkeit in places.
issues[].taskobject | nullOptionalDie offene Remediation-Aufgabe zum Problem, falls es jemandem zugewiesen wurde.
nextSteps[]object[]OptionalWas als Nächstes gescannt oder behoben werden sollte, das Dringendste zuerst (Arten unten). url öffnet die passende Seite mit vorausgefülltem Ziel.
packs[]object[]OptionalAuf der Property installierte Richtlinienpakete (aus dem Marktplatz), jeweils gegen die neuesten Scans geprüft: pass, wie viele Regeln bestehen (passed von total) und jede Regel mit Schwelle (expected) und aktuellem Wert (actual). Namen offizieller Pakete sind auf Englisch.
trend[]object[]OptionalDer Gesamt-Score pro Tag der letzten 30 Tage.

Arten nächster Schritte

nextSteps lesen über alle Tools hinweg, sodass ein Befund in einem Tool auf den Scan oder Fix verweist, den ein anderes Tool ermöglicht.

  • secretsLive

    Das Repo enthält ein Secret: Prüfen Sie, was die Live-Website preisgibt.

  • regression

    Der Score eines Tools ist seit dem vorherigen Scan um 10 Punkte oder mehr gefallen.

  • run360

    Die meisten Tools haben eine Website noch nicht geprüft.

  • headersInCode

    Der Live-Website fehlen Sicherheits-Header und ihr Repo gehört zur Property.

  • neverScanned

    Ein Tool lief nie auf einem Ziel.

  • stale

    Der letzte Scan eines Ziels ist älter als 30 Tage.

  • linkRepo

    Die Property hat Websites, aber kein Repository.

  • addSite

    Die Property hat Repositorys, aber keine Website.

Beispiele

curl https://www.scanverra.com/api/v1/properties \
  -H "X-API-Key: $SCANVERRA_API_KEY"