Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Cve Security Com Panels API
version: 1.9.1
contact:
url: https://cve-security.com/api
license:
name: 'Scoreboard data: CC BY 4.0. Underlying sources retain their own licenses (see /sources).'
identifier: CC-BY-4.0
description: 'Operations tagged Panels across 2 of this provider''s published API definitions: cve-security-com-openapi.json, cve-security-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://cve-security.com
tags:
- name: Panels
paths:
/api/panels/index.json:
get:
operationId: listPanels
summary: Catalog of the dashboard's precomputed panels
description: Every panel slug the dashboard can serve, its form and title, whether it is currently published and its build stamp. Keyed.
security:
- bearer: []
- apiKey: []
responses:
'200':
description: '{ panels: [{slug, form, title, url, published, generated, attribution[]}], license }'
'401':
description: Missing or invalid key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Panels
servers:
- url: https://cve-security.com
/api/panels/{slug}.json:
get:
operationId: getPanel
summary: One dashboard panel with its method and caveat
description: The JSON payload behind one chart on /metrics (KEV listings per month, per year, the vendor matrix, catalog overlap, attention, cohort coverage, and so on), together with the method and caveat sentences that qualify it, the build stamp and the corpus size it was computed against. Dates are CISA KEV listing dates. Panels carrying VulnCheck data include the attribution string that must accompany them. Keyed; private-cacheable for 900s.
security:
- bearer: []
- apiKey: []
parameters:
- name: slug
in: path
required: true
schema:
type: string
pattern: ^[a-z_]+$
example: kev_monthly
responses:
'200':
description: '{ slug, form, title, generated, corpus_total, method, caveat, attribution[], drilldown, source, data }'
'404':
description: Unknown slug; the body lists `available` slugs
'503':
description: Not computed yet (builds nightly); Retry-After is set
tags:
- Panels
servers:
- url: https://cve-security.com
components:
schemas:
Error:
type: object
properties:
error:
type: string
detail:
type: string
required:
- error
securitySchemes:
bearer:
type: http
scheme: bearer
description: 'Authorization: Bearer cvs_live_…'
apiKey:
type: apiKey
in: header
name: X-API-Key
description: Alternative to the Authorization header. Keys are never accepted in query strings.
x-refined-from:
- cve-security-com-openapi.json
- cve-security-com-openapi.yml