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

Referencia de la API

Propiedades

Una propiedad agrupa los sitios y repositorios de un producto. Estos endpoints devuelven su puntuación combinada, la de cada herramienta, los hallazgos de todas las herramientas en una lista y qué hacer después.

Las propiedades se crean en la app, en Propiedades. La API las lee: sirve cualquier clave, también las de solo lectura. Una clave de equipo ve las propiedades del equipo.

Listar propiedades

GET/api/v1/properties

Todas las propiedades del equipo (o del dueño) de la clave, con puntuaciones por herramienta.

Respuesta

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

Obtener una propiedad

GET/api/v1/properties/{id}

Una propiedad con su evolución de 30 días, sus problemas unificados y sus próximos pasos.

Parámetros de ruta

idstringObligatorioEl id de la propiedad de la lista.

Respuesta

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 }
      ]
    }
  ]
}

Campos

scorenumber | nullOpcionalLa salud combinada: la media de cada herramienta en los objetivos de la propiedad y luego las herramientas con el mismo peso. null si aún no se ha escaneado nada.
tools[]object[]OpcionalUna entrada por herramienta que escaneó la propiedad: puntuación, cambio desde el escaneo anterior, cuántos objetivos escaneó (scanned de of) y cuándo.
issues[]object[]OpcionalLos hallazgos de los últimos escaneos de todas las herramientas, unificados: el mismo problema de dos herramientas es una entrada, con ambas en tools y cuántas veces apareció en places.
issues[].taskobject | nullOpcionalLa tarea de remediación abierta para el problema, si se asignó a alguien.
nextSteps[]object[]OpcionalQué escanear o corregir después, lo más urgente primero (tipos abajo). url abre la página adecuada con el objetivo ya puesto.
packs[]object[]OpcionalPaquetes de políticas instalados en la propiedad (del marketplace), cada uno comprobado con sus últimos análisis: pass, cuántas reglas aprueban (passed de total) y cada regla con su umbral (expected) y su valor actual (actual). Los nombres de los paquetes oficiales están en inglés.
trend[]object[]OpcionalLa puntuación combinada por día de los últimos 30 días.

Tipos de próximo paso

nextSteps cruza todas las herramientas, así que un hallazgo de una apunta al escaneo o la corrección que otra hace posible.

  • secretsLive

    El repo filtra un secreto: comprueba qué expone el sitio en vivo.

  • regression

    La puntuación de una herramienta bajó 10 puntos o más desde su escaneo anterior.

  • run360

    La mayoría de herramientas aún no ha revisado un sitio.

  • headersInCode

    Al sitio en vivo le faltan cabeceras de seguridad y su repo está en la propiedad.

  • neverScanned

    Una herramienta nunca se ejecutó en un objetivo.

  • stale

    El último escaneo de un objetivo tiene más de 30 días.

  • linkRepo

    La propiedad tiene sitios pero ningún repositorio.

  • addSite

    La propiedad tiene repositorios pero ningún sitio.

Ejemplos

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