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/timeseriesAuthorization: Bearer twa_votre_cle_iciParamètres de requête
Section intitulée « Paramètres de requête »| 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.
Réponse 200 OK
Section intitulée « Réponse 200 OK »{ "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 } ]}Champs d’un point
Section intitulée « Champs d’un point »| 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 |
Découvrir les valeurs acceptées
Section intitulée « Découvrir les valeurs acceptées »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 :
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})'