---
title: "Anonymous vendor scorecard"
method: GET
path: "/api/vendors/{id}/scorecard"
tags: ["Public"]
---

# Anonymous vendor scorecard

`GET /api/vendors/{id}/scorecard`

## Request

- Base URL: `https://www.venumark.com`
- URL: `https://www.venumark.com/api/vendors/{id}/scorecard`
- Auth: none required

Anonymous. The full public scorecard for one vendor: letter grade, numeric risk score, 12-month rollups, license status flags, itemized violations and inspections, and enriched detail plus analysis narrative when available. No parameters beyond the id are needed for anonymous access. Errors return {"error":"..."}. Rate limited to 40 requests per minute per IP.

## Path parameters

- `id` string, required

## Response `200`

Vendor scorecard.

- PublicScorecard: Full public scorecard. enrichedViolations and analysis are present only when enrichment has run for the vendor.
  - `grade` string: Letter grade tier, or N/A.
  - `riskScore` number: 0-100 composite VMScore.
  - `totalViolations` integer: Violations in the last 12 months.
  - `highPriorityViolations` number
  - `lastInspectionDate` string
  - `status` string
  - `trend` string, nullable
  - `inspections12m` integer
  - `failedInspections12m` integer
  - `scoredAt` string, nullable
  - `recommendation` string, nullable
  - `scoreBreakdown` object, nullable
  - `repeat_code_count` number
  - `licenseInactive` boolean
  - `licenseExpiry` string, nullable
  - `notCurrentlyLicensed` boolean
  - `isEnriched` boolean
  - `violations` object[]
    - `id` unknown
    - `date` string, nullable
    - `code` string, nullable
    - `description` string, nullable
    - `severity` 'High' | 'Intermediate' | 'Basic'
    - `resolved` boolean
  - `inspections` object[]
    - `id` unknown
    - `date` string, nullable
    - `outcome` string, nullable
    - `category` string, nullable
    - `type` string, nullable
    - `inspection_number` unknown
    - `visit_number` unknown
    - `num_high_priority` integer
    - `num_intermediate` integer
    - `num_basic` integer
    - `num_total` integer
  - `enrichedViolations` object[]: Itemized enriched violation detail; best-effort and may under-report vs the inspection counts.
  - `analysis` object, nullable: Narrative analysis when available: {narrative, factors, generatedAt}.

## Other responses

- `400`: Invalid path parameter.
- `404`: Vendor not found.
- `429`: Per-IP rate limit exceeded.

---

[API](https://skmtc.dev/venumark/apis/venumark-read-api.md) · [All operations](https://skmtc.dev/venumark/apis/venumark-read-api/llms.txt) · [OpenAPI document](https://skmtc.dev/venumark/apis/venumark-read-api/revisions/3bd019092f9c?raw)
