Skip to content

Documentation

How TechWatchAlert works, screen by screen — and the API to plug it into your tools (SIEM, CI/CD, scripts).

The TechWatchAlert API lets you programmatically access your monitoring data: alerted CVEs, watched stacks and End-of-Life tracking, all organized by project.

API Keys

Generate keys from Organization settings → API (PRO plan required, admin role). Each key belongs to the organization and is prefixed with twa_.

Base URL

All endpoints are prefixed with https://app.techwatchalert.com/api/v1

Reads, and two writes

The public API is for reading. Two writes are ticked separately on the key: uploading a scanner report (POST …/scans, scope scans) and creating or editing a workflow (POST …/workflows, scope workflows-write). TechWatchAlert does not run a scan.

Format

All responses are JSON. Dates are ISO 8601 format with UTC timezone.

Method Endpoint Description
GET /v1/me The organization the key belongs to and its plan
GET /v1/organizations The organization the key belongs to
GET /v1/organizations/{id}/projects Projects of an organization
GET /v1/organizations/{org_id}/projects/{id} Project details
GET /v1/organizations/{org_id}/projects/{id}/stack CVE monitoring stack for a project
GET /v1/organizations/{org_id}/projects/{id}/alerts CVE alerts triggered on a project
GET /v1/organizations/{org_id}/projects/{id}/alerts/{alert_id} CVE alert details
GET /v1/organizations/{org_id}/projects/{id}/eol End-of-Life subscriptions for a project
GET /v1/organizations/{org_id}/projects/{id}/urls Monitored URLs (certificates, detected tech)
GET /v1/organizations/{org_id}/projects/{id}/urls/{url_id} Monitored URL details
GET /v1/organizations/{org_id}/projects/{id}/cases CVE handling cases (triage)
GET /v1/organizations/{org_id}/projects/{id}/cases/{cve_id} Case details + history
GET /v1/organizations/{org_id}/projects/{id}/workflows A project’s workflows (no graph; there is no single-item GET)
POST /v1/organizations/{org_id}/projects/{id}/workflows Create a workflow (scope workflows-write, Idempotency-Key, 201)
PATCH /v1/organizations/{org_id}/projects/{id}/workflows/{workflow_id} Update a workflow (version required)
PATCH /v1/organizations/{org_id}/projects/{id}/workflows/{workflow_id}/enabled Enable or disable a workflow
DELETE /v1/organizations/{org_id}/projects/{id}/workflows/{workflow_id} Delete a workflow (204)
GET /v1/organizations/{org_id}/projects/{id}/workflows/{workflow_id}/runs Workflow run history
GET /v1/organizations/{org_id}/projects/{id}/stats Project statistics (alerts, KEV, PoC…)
POST /v1/organizations/{org_id}/projects/{id}/scans Upload a scanner report (scope scans, 201)
GET /v1/cves Search the CVE database
GET /v1/cves/{cve_id} Full CVE details
GET /v1/articles Security watch article feed
GET /v1/eol/products Full EOL product catalog
GET /v1/eol/products/{product_id}/cycles Life cycles for a product
GET /v1/statistics/timeseries CVE volume by day, week, month, year
GET /v1/statistics/top Top CWEs, vendors, products, CNAs over a period
GET /v1/statistics/top-trend How a ranking moves over time
GET /v1/statistics/delays Publication→KEV, reservation→publication, →PoC delays
GET /v1/statistics/catalog Available dimensions, granularities and metrics
GET /v1/statistics/distribution CVSS histogram, EPSS bands, attack vector, PoC coverage
GET /v1/statistics/totals Global counters, including rejected and reserved CVEs
Code Meaning
200 Success
201 Scanner report uploaded, or workflow created
401 API key missing, invalid, revoked or expired
403 Plan without API access, missing scope, or missing write scope (scans, workflows-write)
404 Resource not found, or project outside the key (Projet introuvable)
413 Scan report too large (20 MB)
422 Invalid parameters or report
429 API call limit exceeded