Aller au contenu

GET /v1/statistics/timeseries

Le volume de CVE publiées sur une période, découpé à la granularité de votre choix. Contrairement aux statistiques de projet, ces chiffres portent sur l’ensemble de la base CVE et ne dépendent ni de votre stack ni de vos alertes.

Les données proviennent de vues pré-agrégées : une fenêtre de vingt ans coûte autant qu’une fenêtre d’une semaine.

Scope requis : stats-global

GET /api/v1/statistics/timeseries
Authorization: Bearer twa_votre_cle_ici
Paramètre Type Défaut Description
granularity string month day, week, month, quarter, year
axis string published published = date de publication ; kev = date d’entrée au catalogue CISA KEV
period string — Raccourci de fenêtre : 2026, 2026-Q1, 2026-03, 2026-W12, 2026-03-15
from date 1999-01-01 Borne de début (YYYY-MM-DD), ignorée si period est fourni
to date demain Borne de fin, ignorée si period est fourni

axis=kev est un axe distinct de la publication : une CVE publiée en 2017 peut entrer au catalogue KEV en 2026. Elle compte alors en 2017 sur l’axe published, et en 2026 sur l’axe kev.

Les bornes renvoyées dans from et to sont celles effectivement appliquées : toute fenêtre est ramenée entre 1999-01-01 et un an dans le futur.

{
"axis": "published",
"granularity": "month",
"from": "2026-01-01",
"to": "2026-03-31",
"count": 3,
"points": [
{
"period": "2026-01-01",
"total": 4312,
"critical": 388,
"high": 1247,
"medium": 1980,
"low": 402,
"unscored": 295,
"kev": 14,
"poc": 611,
"avg_cvss": 6.84,
"avg_epss": 3.127,
"pct_critical_high": 37.9
}
]
}
Champ Type Description
period date Premier jour de la période
total integer CVE publiées sur la période
critical high medium low integer Ventilation par sévérité
unscored integer Sévérité NONE ou UNKNOWN
kev integer CVE de la période présentes au catalogue KEV
poc integer CVE avec au moins un PoC public connu
avg_cvss float|null Score CVSS moyen, null si aucune CVE scorée
avg_epss float|null Score EPSS moyen, en pourcentage (l’API interne le stocke en probabilité 0–1)
pct_critical_high float Part de CRITICAL + HIGH dans le total

Sur axis=kev, seuls total, critical, high et poc sont renvoyés.

Code Détail Cause
422 Granularité inconnue… Valeur hors de la liste autorisée
422 Période « … » non reconnue Format de period invalide
422 La borne de début est postérieure à la borne de fin. from > to

GET /api/v1/statistics/catalog renvoie les granularités, dimensions, métriques et formats de période disponibles. Utile pour construire une interface sans coder ces listes en dur.

Le volume hebdomadaire de 2026, et les trois semaines les plus chargées :

Fenêtre de terminal
curl -s \
-H "Authorization: Bearer twa_votre_cle_ici" \
"https://app.techwatchalert.com/api/v1/statistics/timeseries?granularity=week&period=2026" \
| jq '.points | sort_by(-.total) | .[0:3] | map({semaine: .period, total, critiques: .critical})'