GET /v1/projects/{id}/stack
The stack is the list of vendors and products monitored for a project. Each item also defines a minimum severity threshold above which a CVE alert is triggered.
Request
Section titled “Request”GET /api/v1/projects/{project_id}/stackAuthorization: Bearer twa_your_key_herePath Parameters
Section titled “Path Parameters”| Parameter | Type | Description |
|---|---|---|
project_id | UUID | Project identifier |
Response 200 OK
Section titled “Response 200 OK”Returns an array (a project can have multiple stacks, typically just one).
[ { "id": "018e5555-0000-7000-8000-000000000020", "name": "Stack", "project_id": "018e1234-abcd-7000-8000-000000000010", "items": [ { "id": "018e5555-0000-7000-8000-000000000021", "item_type": "vendor", "value": "apache", "min_severity": "HIGH" }, { "id": "018e5555-0000-7000-8000-000000000022", "item_type": "product", "value": "nginx", "min_severity": "CRITICAL" }, { "id": "018e5555-0000-7000-8000-000000000023", "item_type": "product", "value": "log4j", "min_severity": "MEDIUM" } ] }]Fields — Stack
Section titled “Fields — Stack”| Field | Type | Description |
|---|---|---|
id | string (UUID) | Stack identifier |
name | string | Stack name (usually "Stack") |
project_id | string (UUID) | null | Associated project |
items | array | Monitoring items |
Fields — Item
Section titled “Fields — Item”| Field | Type | Description |
|---|---|---|
id | string (UUID) | Item identifier |
item_type | "vendor" | "product" | Monitoring type |
value | string | Monitored value (vendor or product name, lowercase) |
min_severity | string | Minimum threshold: CRITICAL, HIGH, MEDIUM, LOW, NONE |
Item Types
Section titled “Item Types”item_type | Behaviour |
|---|---|
vendor | All CVEs affecting any product from this vendor |
product | CVEs affecting this specific product, regardless of vendor |
Errors
Section titled “Errors”| Code | Detail | Cause |
|---|---|---|
404 | Projet introuvable | project_id does not exist |
403 | Accès refusé à ce projet | Project exists but not accessible |
Examples
Section titled “Examples”List all monitored products for a project
curl -s \ -H "Authorization: Bearer twa_your_key_here" \ "https://app.techwatchalert.com/api/v1/projects/018e1234-abcd-7000-8000-000000000010/stack" \ | jq '.[0].items[] | select(.item_type == "product") | .value'Check if a product is being monitored
import httpx
BASE_URL = "https://app.techwatchalert.com/api/v1"headers = {"Authorization": "Bearer twa_your_key_here"}project_id = "018e1234-abcd-7000-8000-000000000010"
stacks = httpx.get(f"{BASE_URL}/projects/{project_id}/stack", headers=headers).json()
watched = { item["value"] for stack in stacks for item in stack["items"]}
print("nginx monitored:", "nginx" in watched)