{
  "tool": {
    "name": "api-audit",
    "version": "0.1.0"
  },
  "timestamp": "2026-07-18T17:33:04.096Z",
  "baseUrl": "https://api.lughonline.com",
  "evidence": [
    {
      "endpoint": "GET /healthz",
      "method": "GET",
      "path": "/healthz",
      "samples": [
        101.17001400000004,
        101.684706,
        101.91621399999985,
        103.93346199999996,
        101.06102099999998,
        100.63045199999988,
        101.14974100000018,
        101.91654800000015,
        101.24972500000013,
        101.41875600000003,
        101.57435200000009,
        101.16580000000022,
        101.15225899999996,
        102.35196300000007,
        100.26473700000042,
        103.00689499999999,
        100.68582699999979,
        102.48678000000018,
        101.24723700000004,
        101.87494199999992,
        101.7245069999999,
        101.7162629999998,
        102.17529300000024,
        102.11361400000033,
        101.08496999999988,
        102.14163100000042,
        101.30375399999957,
        102.14230599999973,
        102.01052600000003,
        102.91935000000012
      ],
      "ttfb": [
        100.80626199999983,
        101.36223199999995,
        101.71327399999996,
        103.27441700000008,
        100.82836399999997,
        100.46544600000016,
        100.95873800000027,
        101.74416800000017,
        101.01221899999973,
        101.22259299999996,
        101.41572700000006,
        100.96625200000017,
        100.9983930000003,
        102.19372900000008,
        100.11673000000019,
        102.77198499999986,
        100.54528299999993,
        102.3387029999999,
        101.09416099999999,
        101.72592299999997,
        101.59175800000003,
        101.54970000000003,
        102.02946999999995,
        101.96875299999965,
        100.93947799999933,
        101.99193000000014,
        101.10683599999993,
        101.97989200000029,
        101.83644000000004,
        102.7460860000001
      ],
      "status": 200,
      "bytes": 15
    }
  ],
  "audits": [
    {
      "endpoint": "GET /healthz",
      "id": "latency-p95",
      "category": "performance",
      "score": 0.9872998326399892,
      "weight": 3
    },
    {
      "endpoint": "GET /healthz",
      "id": "ttfb-p95",
      "category": "performance",
      "score": 0.7100992173628529,
      "weight": 1,
      "advice": "GET /healthz: reduce p95 time to first byte (103ms) toward 50ms."
    },
    {
      "endpoint": "GET /healthz",
      "id": "burst-error-rate",
      "category": "reliability",
      "score": null,
      "weight": 3
    },
    {
      "endpoint": "GET /healthz",
      "id": "burst-degradation",
      "category": "reliability",
      "score": null,
      "weight": 1
    },
    {
      "endpoint": "GET /healthz",
      "id": "rate-limit-grace",
      "category": "reliability",
      "score": null,
      "weight": 1
    },
    {
      "endpoint": "GET /healthz",
      "id": "compression",
      "category": "efficiency",
      "score": null,
      "weight": 1
    },
    {
      "endpoint": "GET /healthz",
      "id": "cache-headers",
      "category": "efficiency",
      "score": 1,
      "weight": 1
    },
    {
      "endpoint": "GET /healthz",
      "id": "payload-size",
      "category": "efficiency",
      "score": 1,
      "weight": 1
    },
    {
      "endpoint": "GET /healthz",
      "id": "openapi-valid",
      "category": "contract",
      "score": null,
      "weight": 3
    },
    {
      "endpoint": "GET /healthz",
      "id": "no-stack-traces",
      "category": "contract",
      "score": 1,
      "weight": 2
    },
    {
      "endpoint": "GET /healthz",
      "id": "error-envelope",
      "category": "contract",
      "score": null,
      "weight": 1
    },
    {
      "endpoint": "GET /healthz",
      "id": "https",
      "category": "security",
      "score": 1,
      "weight": 1
    },
    {
      "endpoint": "GET /healthz",
      "id": "auth-required",
      "category": "security",
      "score": null,
      "weight": 2
    },
    {
      "endpoint": "GET /healthz",
      "id": "security-headers",
      "category": "security",
      "score": 0.5,
      "weight": 1,
      "advice": "GET /healthz: add X-Content-Type-Options: nosniff and Strict-Transport-Security."
    },
    {
      "endpoint": "GET /healthz",
      "id": "no-powered-by",
      "category": "security",
      "score": 1,
      "weight": 0.5
    }
  ],
  "scores": {
    "overall": 93.17498795577644,
    "categories": {
      "performance": 91.79996788207052,
      "reliability": null,
      "efficiency": 100,
      "contract": 100,
      "security": 80
    },
    "endpoints": [
      {
        "endpoint": "GET /healthz",
        "p50": 101.7004844999999,
        "p95": 102.96749975000004,
        "p99": 103.66475756999996,
        "errorRate": 0,
        "bytes": 15,
        "score": 92.11427347888402
      }
    ]
  }
}
