GET /v1/organizations/{org_id}/projects/{id}/stats
A numeric snapshot of the project: alert breakdown by severity, KEV/PoC alerts, and volume (stack, monitored URLs, EOL subscriptions). Alert counts reflect the project’s alerts, shared by the team.
Request
Section titled “Request”GET /api/v1/organizations/{org_id}/projects/{project_id}/statsAuthorization: Bearer twa_your_key_herePath Parameters
Section titled “Path Parameters”| Parameter | Type | Description |
|---|---|---|
org_id |
UUID |
Organization identifier |
project_id |
UUID |
Project identifier |
Response 200 OK
Section titled “Response 200 OK”{ "total_alerts": 128, "unread_alerts": 12, "alerts_by_severity": { "CRITICAL": 8, "HIGH": 34, "MEDIUM": 70, "LOW": 16 }, "kev_alerts": 5, "poc_alerts": 21, "stack_items": 14, "monitored_urls": 3, "eol_subscriptions": 7}Fields
Section titled “Fields”| Field | Type | Description |
|---|---|---|
total_alerts |
integer |
Total CVE alerts on the project |
unread_alerts |
integer |
Alerts nobody on the team has read yet |
alerts_by_severity |
object |
Alert count per severity |
kev_alerts |
integer |
Alerts on KEV-listed CVEs |
poc_alerts |
integer |
Alerts on CVEs with a public PoC |
stack_items |
integer |
Monitored stack items |
monitored_urls |
integer |
Monitored URLs |
eol_subscriptions |
integer |
End-of-Life subscriptions |
Errors
Section titled “Errors”| Code | Detail | Cause |
|---|---|---|
404 |
Projet introuvable |
Project does not exist, belongs to another organization, or is outside the key’s project restriction |
403 |
Cette clé API n'a pas le droit d'accéder à cette ressource. |
The stats scope is missing from the key |
Example
Section titled “Example”ORG_ID="018e5678-abcd-7000-8000-000000000001"PROJECT_ID="018e1234-abcd-7000-8000-000000000010"
curl -s \ -H "Authorization: Bearer twa_your_key_here" \ "https://app.techwatchalert.com/api/v1/organizations/${ORG_ID}/projects/${PROJECT_ID}/stats" \ | jq '{critical: .alerts_by_severity.CRITICAL, kev: .kev_alerts, unread: .unread_alerts}'