List all vulnerabilities
GET /all
Paginated listing of every published vulnerability for the given
platform, ordered by descending id.
Supports two independent pagination strategies:
- Offset (
?page=&per_page=) — returns apaginationblock with totals. Easy to jump to a specific page; slower at depth and susceptible to row-shift when new vulnerabilities land while paging. - Cursor (
?cursor=) — returns acursorblock withnext_cursor,has_more,per_page. Stable under concurrent inserts and faster at any depth. Nototalcount.
cursor and page are mutually exclusive; passing both returns
422 Unprocessable Entity.
Incremental sync. Every /all response carries watermark, the
unix time its rows were read. Send it back as updated_since (cursor
mode only) to get just the entries changed since then, plus
removed_ids on the first page for entries withdrawn since then.
Entries deleted outright are not reported, so run a full listing now
and then (daily is plenty).
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Platform to query. Case-insensitive.
Offset-pagination page (1-indexed). Mutually exclusive with cursor.
Page size.
Opaque cursor. Presence of the param switches to cursor mode (send an
empty value to bootstrap). Mutually exclusive with page.
Example
1793018157/all only, with cursor. Unix time in seconds, usually the
watermark of your previous sync. Returns only entries changed at or
after it, and adds removed_ids. Without cursor it returns
422 Unprocessable Entity.
Pass details to include the full advisory body (advisory_details) per item.
Responses
Section titled “ Responses ”Paginated vulnerability listing.
object
Per-item shape shared across list endpoints when platform=npm.
object
Stable Patchstack vulnerability id.
Example
46500Human-readable title (prefixed with NPM: for npm advisories).
Example
NPM: OpenClaw: ...When the vulnerability was publicly disclosed.
When the row was inserted into the Patchstack DB. Drives /latest windowing.
Public Patchstack vulnerability page (token-tagged).
High-level vulnerability category.
Example
Other Vulnerability TypeFirst CVE identifier, or empty string when none is assigned.
Example
2026-41331Whether exploitation has been observed in the wild.
1 (low) to 3 (high).
Full advisory body (markdown). Only present when ?include=details was passed.
object
Kind of product, lower case, e.g. plugin, theme, wordpress (core) or npm.
object
object
object
External reference URLs (advisories, commits, tags).
GHSA identifier when the advisory came from the GitHub Advisory Database.
object
Affected version range (e.g. <= 2026.3.28).
Highest fixed version across every affected span (compatibility field — prefer matched_range.fixed_in on product lookups).
Structured list of patch ranges for advisories with multiple patch ranges.
object
Present on product/batch lookups when the installed version matched an affected span.
Prefer matched_range.fixed_in for user-facing upgrade advice; top-level fixed_in is the highest fix across all spans.
object
Lower bound of the matched span.
Upper bound of the matched span.
How to read to_version — exclusive, inclusive, last-affected, or null when unrecorded.
Fix for this span only. Null when the advisory never fixed this line.
Example
{ "id": 46500, "title": "NPM: OpenClaw: ...", "disclosed_at": "2026-04-03T03:15:56+00:00", "created_at": "2026-04-21T08:38:34+00:00", "url": "https://patchstack.com/database/npm/npm/openclaw/vulnerability/...", "vuln_type": "Other Vulnerability Type", "cve": "2026-41331", "is_exploited": false, "patch_priority": 2, "advisory_details": "## Summary\n...", "product": { "id": 23595, "name": "openclaw", "slug": "openclaw", "type": "npm" }, "cvss": { "score": 6.9, "vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N" }, "cwe": { "id": 770, "name": "Allocation of Resources Without Limits or Throttling" }, "capec": { "id": null, "name": null }, "references": [ "https://github.com/openclaw/openclaw/security/advisories/GHSA-m6fx-m8hc-572m", "https://github.com/openclaw/openclaw/releases/tag/v2026.3.31" ], "ghsa": "GHSA-m6fx-m8hc-572m", "version_info": { "affected": "<= 2026.3.28", "fixed": "2026.3.31", "patched_ranges": [] }}object
Example
1Example
25Example
6115Example
245Example
trueExample
2Example
1Example
25/all only. Unix time the rows were read; pass it as updated_since next time.
/all with updated_since only. Entries withdrawn since then; listed on the first page.
object
Per-item shape shared across list endpoints when platform=npm.
object
Stable Patchstack vulnerability id.
Example
46500Human-readable title (prefixed with NPM: for npm advisories).
Example
NPM: OpenClaw: ...When the vulnerability was publicly disclosed.
When the row was inserted into the Patchstack DB. Drives /latest windowing.
Public Patchstack vulnerability page (token-tagged).
High-level vulnerability category.
Example
Other Vulnerability TypeFirst CVE identifier, or empty string when none is assigned.
Example
2026-41331Whether exploitation has been observed in the wild.
1 (low) to 3 (high).
Full advisory body (markdown). Only present when ?include=details was passed.
object
Kind of product, lower case, e.g. plugin, theme, wordpress (core) or npm.
object
object
object
External reference URLs (advisories, commits, tags).
GHSA identifier when the advisory came from the GitHub Advisory Database.
object
Affected version range (e.g. <= 2026.3.28).
Highest fixed version across every affected span (compatibility field — prefer matched_range.fixed_in on product lookups).
Structured list of patch ranges for advisories with multiple patch ranges.
object
Present on product/batch lookups when the installed version matched an affected span.
Prefer matched_range.fixed_in for user-facing upgrade advice; top-level fixed_in is the highest fix across all spans.
object
Lower bound of the matched span.
Upper bound of the matched span.
How to read to_version — exclusive, inclusive, last-affected, or null when unrecorded.
Fix for this span only. Null when the advisory never fixed this line.
Example
{ "id": 46500, "title": "NPM: OpenClaw: ...", "disclosed_at": "2026-04-03T03:15:56+00:00", "created_at": "2026-04-21T08:38:34+00:00", "url": "https://patchstack.com/database/npm/npm/openclaw/vulnerability/...", "vuln_type": "Other Vulnerability Type", "cve": "2026-41331", "is_exploited": false, "patch_priority": 2, "advisory_details": "## Summary\n...", "product": { "id": 23595, "name": "openclaw", "slug": "openclaw", "type": "npm" }, "cvss": { "score": 6.9, "vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N" }, "cwe": { "id": 770, "name": "Allocation of Resources Without Limits or Throttling" }, "capec": { "id": null, "name": null }, "references": [ "https://github.com/openclaw/openclaw/security/advisories/GHSA-m6fx-m8hc-572m", "https://github.com/openclaw/openclaw/releases/tag/v2026.3.31" ], "ghsa": "GHSA-m6fx-m8hc-572m", "version_info": { "affected": "<= 2026.3.28", "fixed": "2026.3.31", "patched_ranges": [] }}object
Opaque cursor for the next page. null when there are no more pages.
Example
djE6NDYzMzkExample
trueExample
25/all only. Unix time the rows were read; pass it as updated_since next time.
/all with updated_since only. Entries withdrawn since then; listed on the first page.
Examples
Offset mode
{ "vulnerabilities": [], "pagination": { "current_page": 1, "per_page": 25, "total": 6115, "total_pages": 245, "has_next_page": true, "has_previous_page": false, "next_page": 2, "previous_page": null, "from": 1, "to": 25 }}Cursor mode
{ "vulnerabilities": [], "cursor": { "next_cursor": "djE6NDYzMzk", "has_more": true, "per_page": 25 }, "watermark": 1793018217}Incremental sync (`?cursor=&updated_since=1793018157`)
{ "vulnerabilities": [], "cursor": { "next_cursor": null, "has_more": false, "per_page": 100 }, "watermark": 1793018399, "removed_ids": [ 46412 ]}Missing or invalid PSKey header.
API key not authorised for the requested endpoint.
Invalid parameter combination (e.g. cursor + page), invalid platform, or per_page > 500.
Rate limit exceeded.