Skip to content

GET /v1/organizations/{org_id}/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.

GET /api/v1/organizations/{org_id}/projects/{project_id}/stack
Authorization: Bearer twa_your_key_here
Parameter Type Description
org_id UUID Organization identifier
project_id UUID Project identifier

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",
"tags": []
},
{
"id": "018e5555-0000-7000-8000-000000000022",
"item_type": "product",
"value": "nginx",
"min_severity": "CRITICAL",
"tags": [
{ "id": "018ec0de-0000-7000-8000-0000000000a1", "name": "production", "color": "#ef4444" }
]
},
{
"id": "018e5555-0000-7000-8000-000000000023",
"item_type": "product",
"value": "log4j",
"min_severity": "MEDIUM",
"tags": []
}
]
}
]
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
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 | null CRITICAL, HIGH, MEDIUM, LOW or NONE (any CVE). null: the entry inherits the project’s prioritisation policy
tags array<Tag> Tags assigned to this stack item. Each tag: { id, name, color } (color #rrggbb). Empty array if none.
item_type Behaviour
vendor All CVEs affecting any product from this vendor
product CVEs affecting this specific product, regardless of vendor
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 stack scope is missing from the key

List all monitored products for a project

Fenêtre de terminal
curl -s \
-H "Authorization: Bearer twa_your_key_here" \
"https://app.techwatchalert.com/api/v1/organizations/018e5678-abcd-7000-8000-000000000001/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"}
org_id = "018e5678-abcd-7000-8000-000000000001"
project_id = "018e1234-abcd-7000-8000-000000000010"
stacks = httpx.get(f"{BASE_URL}/organizations/{org_id}/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)