Skip to content

Get Issues

Retrieve a list of tracked CVE issues from the Nixpkgs Security Tracker.

Endpoint

GET /api/v1/issues

Query Parameters

ParameterTypeDefaultDescription
severitystringallFilter by severity: critical, high, medium, low
statusstringallFilter by status: open, closed
limitnumber100Maximum number of results (max: 500)
pagenumber1Page number for pagination

Response

json
{
  "success": true,
  "data": {
    "issues": [
      {
        "number": 12345,
        "title": "CVE-2024-XXXX: Package vulnerability description",
        "url": "https://github.com/NixOS/nixpkgs/issues/12345",
        "state": "open",
        "severity": "high",
        "created_at": "2024-01-15T10:00:00Z",
        "updated_at": "2024-01-15T12:00:00Z",
        "labels": [
          { "name": "1.severity: critical", "color": "d73a4a" }
        ],
        "cves": ["CVE-2024-XXXX"],
        "packages": ["openssl"],
        "hasFixAvailable": true,
        "assignees": []
      }
    ],
    "total": 150,
    "page": 1,
    "pageSize": 100
  },
  "timestamp": "2024-01-15T12:00:00.000Z"
}

Response Fields

Issue Object

FieldTypeDescription
numbernumberGitHub issue number
titlestringIssue title, typically includes CVE ID
urlstringDirect link to the GitHub issue
statestringopen or closed
severitystringExtracted severity level
created_atstringISO 8601 timestamp
updated_atstringISO 8601 timestamp
labelsarrayGitHub labels with name and color
cvesarrayList of CVE identifiers extracted from title
packagesarrayAffected package names
hasFixAvailablebooleanWhether a fix is available
assigneesarrayGitHub users assigned to the issue

Examples

Get All Open Issues

bash
curl "https://api.vulnpatch.dev/api/v1/issues"

Get Critical/High Severity Issues

bash
curl "https://api.vulnpatch.dev/api/v1/issues?severity=critical,high"

Pagination

bash
curl "https://api.vulnpatch.dev/api/v1/issues?page=2&limit=50"

Code Examples

javascript
async function getCriticalIssues() {
  const response = await fetch(
    'https://api.vulnpatch.dev/api/v1/issues?severity=critical'
  );
  const { data } = await response.json();

  for (const issue of data.issues) {
    console.log(`${issue.severity}: ${issue.title}`);
  }
}
python
import requests

response = requests.get(
    'https://api.vulnpatch.dev/api/v1/issues',
    params={'severity': 'critical,high'}
)
data = response.json()['data']

for issue in data['issues']:
    print(f"{issue['severity']}: {issue['title']}")

Caching

This endpoint is cached for 5 minutes. The X-Cache header indicates cache status.

Helping secure open source