{"components":{"headers":{"Link":{"description":"Pagination link","example":"<\/api\/v1\/feed\/cve?limit=50&page=1>; rel=\"prev\", <\/api\/v1\/feed\/cve?page=1>; rel=\"first\", <\/api\/v1\/feed\/cve?limit=50&page=5114>; rel=\"last\", <\/api\/v1\/feed\/cve?limit=50&page=3>; rel=\"next\"","schema":{"type":"string"}},"Next-Page":{"description":"The next page number","example":3,"schema":{"format":"int32","type":"integer"}},"Page":{"description":"Current page","example":2,"schema":{"format":"int32","type":"integer"}},"Per-Page":{"description":"The number of items in page","example":100,"schema":{"format":"int32","type":"integer"}},"Prev-Page":{"description":"TThe previous page number","example":1,"schema":{"format":"int32","type":"integer"}},"RateLimit":{"description":"RateLimit","example":"\"default\";r=98;t=5","schema":{"type":"string"}},"RateLimit-Limit":{"description":"The number of allowed requests in the current period","example":1000,"schema":{"format":"int32","type":"integer"}},"RateLimit-Policy":{"description":"RateLimit policy used","example":"\"default\";q=100;w=60","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"The number of remaining requests in the current period","example":999,"schema":{"format":"int32","type":"integer"}},"RateLimit-Reset":{"description":"The number of seconds left in the current period","example":3600,"schema":{"format":"int32","type":"integer"}},"RateLimit-Used":{"description":"The number of requests in the current period","example":1,"schema":{"format":"int32","type":"integer"}},"Total":{"description":"The number of total items","example":1000,"schema":{"format":"int32","type":"integer"}},"Total-Pages":{"description":"The number of total pages","example":10,"schema":{"format":"int32","type":"integer"}}},"parameters":{"auditExportFormat":{"description":"Output format for the audit result.\n- `json` (default): SecDB's native AuditReport format\n- `cyclonedx-vdr`: full CycloneDX Vulnerability Disclosure Report (all\n  known vulnerabilities, `metadata.lifecycles[].phase` set to\n  `vulnerability-assertion`)\n- `defectdojo`: DefectDojo Generic Findings Import format\n","in":"query","name":"format","required":false,"schema":{"default":"json","enum":["json","cyclonedx-vdr","defectdojo"],"type":"string"}},"cveId":{"description":"CVE identifier (CVE-YYYY-NNNN format)","example":"CVE-2021-44228","in":"path","name":"id","required":true,"schema":{"pattern":"^CVE-\\d{4}-\\d{4,}$","type":"string"}},"expand":{"description":"Add additional fields in output\n\n`?expand=field1,field2,field3`\n\nAvailable fields for `cve` feed:\n- advisories\n- affected_products\n- alias\n- capec\n- cisa_kev\n- cna\n- description\n- epss\n- exploitdb\n- exploits\n- exploit_maturity\n- history\n- id\n- metasploit\n- metrics\n- modified\n- nasl\n- nuclei\n- nvd_status\n- oval\n- owasp_top10\n- poc\n- published\n- references\n- related_cves\n- score\n- security_advisories\n- severity\n- sightings\n- source\n- status\n- title\n- vulnerability_artifacts\n- weaknesses\n","in":"query","name":"expand","required":false,"schema":{"type":"string"}},"feedId":{"description":"ID","in":"query","name":"_id","required":false,"schema":{"type":"string"}},"feedName":{"description":"Feed name\n\n- `capec` : Common Attack Pattern Enumeration and Classification \n- `cisa_kev` : CISA KEV (Known Exploited Vulnerabilities) catalog\n- `cpe` : Common Plaftorm Enumeration\n- `cve` : Common Vulnerabilities and Exposures\n- `cwe` : Common Weakness Enumeration\n- `epss` : EPSS data\n- `eu_kev`: EU KEV\n- `exploitdb` : Exploit DB\n- `kev`: KEV\n- `metasploit` : Metasploit modules\n- `nasl` : NASL & NVT Scripts\n- `nuclei` : Nuclei templates\n- `oval` : Open Vulnerability and Assessment Language\n- `poc` : PoC\n- `security_advisory` : Advisories (PSIRT, Ecosystems, CERTs and more)\n- `sighting` : The real-world activity\n","in":"path","name":"feed","required":true,"schema":{"enum":["capec","cisa_kev","cpe","cve","cwe","epss","eu_kev","exploitdb","kev","metasploit","nasl","nuclei","oval","poc","security_advisory","sighting"],"type":"string"}},"feedQuery":{"deprecated":true,"description":"**Legacy.** JSON-encoded filter object, e.g. `{\"severity\":\"high\"}`.\n\nStill supported for backward compatibility, but new integrations\nshould use `filter[field]=value` \/ `filter[field][operator]=value`\nbracket notation instead. See the `filter` parameter for details.\n\nAvailable filters for `cve` feed:\n- `alias=<string>`, CVE alias (eg. `log4shell`)\n- `cisa=<bool>`, CVE in CISA KEV Catalog\n- `cpe=<string>`, CPE 2.3 (eg. `cpe:2.3:a:apache:http_server`) or 2.2 (eg. `cpe:\/a:apache:http_server`) string\n- `cpe_part=<string>`, \n- `cpe_product=<string>`, \n- `cpe_update=<string>`, \n- `cpe_vendor=<string>`, \n- `cpe_version=<string>`, \n- `cvss2_score=<float[,float]>`, CVSS v2.0 Base Score (`0.0` - `10.0`) \n- `cvss2_severity=<string>`, CVSS v2.0 Base Severity (`low`, `medium`, `high`) \n- `cvss3_score=<float[,float]>`, CVSS v3.x Base Score (`0.0` - `10.0`) \n- `cvss3_severity=<string>`, CVSS v3.x Base Severity (`low`, `medium`, `high`, `critical`) \n- `cvss4_score=<string>`, CVSS v4.0 Base Score (`0.0` - `10.0`) \n- `cvss4_severity=<string>`, CVSS v4.0 Base Severity (`low`, `medium`, `high`, `critical`) \n- `cvss_attack_vector=<string>`,  CVSS (v2.0, v3.x, v4.0) Attack Vector (`network`, `adjacent`, `local`, `physical`)\n- `cvss_score=<float[,float]>`,  CVSS (v2.0, v3.x, v4.0) Base Score (`0.0` - `10.0`)\n- `cvss_severity=<string>`, CVSS (v2.0, v3.x, v4.0) Base Severity (`low`, `medium`, `high`, `critical`)\n- `cwe=<string>`, CWE ID\n- `description=<string>`, \n- `epss_score=<float[,float]>`, EPSS score\n- `id=<string>`, CVE ID\n- `modified=<date[,date]>`, CVE last modified date\n- `nasl_plugin_id=<string>`, NASL Plugin ID \n- `oval=<string>`, OVAL Definition ID\n- `published=<date[,date]>`, CVE published date\n- `security_advisory=<string>`, Advisory ID\n- `source=<string>`, CNA\n- `status=<string>`, CVE status (`PUBLISHED`, `RESERVED`, `REJECTED`, `DISPUTED`)\n","in":"query","name":"q","required":false,"schema":{"type":"string"}},"fields":{"description":"Include only the specified fields in output\n\nAvailable fields for `cve` feed:\n- advisories\n- affected_products\n- alias\n- capec\n- cisa_kev\n- cna\n- description\n- epss\n- exploitdb\n- exploits\n- exploit_maturity\n- history\n- id\n- metasploit\n- metrics\n- modified\n- nasl\n- nuclei\n- nvd_status\n- oval\n- owasp_top10\n- poc\n- published\n- references\n- related_cves\n- score\n- security_advisories\n- severity\n- sightings\n- source\n- status\n- title\n- vulnerability_artifacts\n- weaknesses\n","in":"query","name":"fields","required":false,"schema":{"type":"string"}},"filter":{"description":"Filter using JSON:API syntax\n\n`?filter[name][op]=value&filter[name-1][op]=value`\n\nAvailable filters for `cve` feed:\n- `alias=<string>`, CVE alias (eg. `log4shell`)\n- `cisa=<bool>`, CVE in CISA KEV Catalog\n- `cpe=<string>`, CPE 2.3 (eg. `cpe:2.3:a:apache:http_server`) or 2.2 (eg. `cpe:\/a:apache:http_server`) string\n- `cpe_part=<string>`, \n- `cpe_product=<string>`, \n- `cpe_update=<string>`, \n- `cpe_vendor=<string>`, \n- `cpe_version=<string>`, \n- `cvss2_score=<float[,float]>`, CVSS v2.0 Base Score (`0.0` - `10.0`) \n- `cvss2_severity=<string>`, CVSS v2.0 Base Severity (`low`, `medium`, `high`) \n- `cvss3_score=<float[,float]>`, CVSS v3.x Base Score (`0.0` - `10.0`) \n- `cvss3_severity=<string>`, CVSS v3.x Base Severity (`low`, `medium`, `high`, `critical`) \n- `cvss4_score=<string>`, CVSS v4.0 Base Score (`0.0` - `10.0`) \n- `cvss4_severity=<string>`, CVSS v4.0 Base Severity (`low`, `medium`, `high`, `critical`) \n- `cvss_attack_vector=<string>`,  CVSS (v2.0, v3.x, v4.0) Attack Vector (`network`, `adjacent`, `local`, `physical`)\n- `cvss_score=<float[,float]>`,  CVSS (v2.0, v3.x, v4.0) Base Score (`0.0` - `10.0`)\n- `cvss_severity=<string>`, CVSS (v2.0, v3.x, v4.0) Base Severity (`low`, `medium`, `high`, `critical`)\n- `cwe=<string>`, CWE ID\n- `description=<string>`, \n- `epss_score=<float[,float]>`, EPSS score\n- `id=<string>`, CVE ID\n- `modified=<date[,date]>`, CVE last modified date\n- `nasl_plugin_id=<string>`, NASL Plugin ID \n- `oval=<string>`, OVAL Definition ID\n- `published=<date[,date]>`, CVE published date\n- `security_advisory=<string>`, Advisory ID\n- `source=<string>`, CNA\n- `status=<string>`, CVE status (`PUBLISHED`, `RESERVED`, `REJECTED`, `DISPUTED`)\n","in":"query","name":"filter","required":false,"schema":{"type":"string"}},"keyword":{"description":"Keyword terms","in":"query","name":"keyword","required":false,"schema":{"type":"string"}},"limit":{"description":"Results limit","in":"query","name":"limit","required":false,"schema":{"type":"integer"}},"offset":{"description":"Results offset","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},"options":{"description":"Additional options using JSON:API syntax\n\n`?opt[name-1]=value-1&opt[name-2]=value-2`\n","in":"query","name":"opt","required":false,"schema":{"type":"string"}},"page":{"description":"Results page","in":"query","name":"page","required":false,"schema":{"type":"integer"}},"perPage":{"description":"Results limit","in":"query","name":"per_page","required":false,"schema":{"type":"integer"}},"query":{"description":"Full-text search query across CVE, CWE, advisories, and ExploitDB.\nSupports free-text terms as well as quoted phrases for exact matching.\n","examples":{"exactPhrase":{"summary":"Exact phrase match","value":"\"remote code execution\""},"freeText":{"summary":"Free-text search","value":"Log4Shell"}},"in":"query","name":"q","required":false,"schema":{"type":"string"}},"reportFormat":{"description":"Report format","in":"query","name":"format","required":false,"schema":{"type":"string"}},"reportName":{"description":"Report name","in":"path","name":"report","required":true,"schema":{"type":"string"}},"reportQuery":{"deprecated":true,"description":"Filter query encoded in JSON.\n\nDEPRECATED: Use bracked `opt` syntax (`opt[name]=value`)\n","in":"query","name":"q","required":false,"schema":{"type":"string"}},"since":{"description":"Filter by last-modified date, expressed as an ISO 8601 duration relative to now (e.g. `P7D` = last 7 days, `P2W` = 2 weeks, `P3M` = 3 months, `P1Y` = 1 year) or as an ISO 8601 date, included (e.g. `2026-05-01`).\n","examples":{"date":{"summary":"Since a date","value":"2026-05-01"},"oneDay":{"summary":"Last 24 hours","value":"P1D"},"oneWeekShorthand":{"summary":"Last week","value":"P1W"},"oneYear":{"summary":"Last year","value":"P1Y"},"sixMonths":{"summary":"Last 6 months","value":"P6M"},"threeWeeks":{"summary":"Last 3 weeks","value":"P3W"}},"in":"query","name":"since","required":false,"schema":{"pattern":"^(P\\d+[DWMY]|\\d{4}-\\d{2}-\\d{2})$","type":"string"}},"sort":{"description":"Sort","in":"query","name":"sort","required":false,"schema":{"type":"string"}},"ssvcVector":{"description":"SSVC vector string to decode (CISA Coordinator format only).","example":"SSVCv2\/E:A\/A:Y\/T:T\/P:M\/B:M\/M:L\/D:A\/2026-07-31T13:37:00","in":"query","name":"vector","required":true,"schema":{"type":"string"}},"type":{"description":"Filter results by one or more types (comma-separated).\n\nAllowed values: `cve`, `cwe`, `advisory`, `nasl`, `exploitdb`\n","examples":{"multiple":{"summary":"Filter CVEs and advisories","value":"cve,advisory"},"single":{"summary":"Filter only CVEs","value":"cve"}},"explode":false,"in":"query","name":"type","required":false,"schema":{"pattern":"^(cve|cwe|advisory|nasl|exploitdb)(,(cve|cwe|advisory|nasl|exploitdb))*$","type":"string"},"style":"form"}},"responses":{"400BadRequest":{"content":{"application\/json":{"example":{"errors":[{"message":"Invalid value for parameter 'sort'","path":"sort"}]},"schema":{"$ref":"#\/components\/schemas\/Error"}}},"description":"Invalid request - a parameter value is outside its enum, a filter is\nmalformed, a sort field doesn't exist, or the request body doesn't match\nthe expected schema.\n"},"401Unauthorized":{"content":{"application\/json":{"example":{"errors":[{"message":"Missing or invalid authentication credentials"}]},"schema":{"$ref":"#\/components\/schemas\/Error"}}},"description":"Missing or invalid authentication - Bearer token absent, expired, or\nmalformed, or an invalid session cookie.\n"},"404NotFound":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"description":"Not Found"},"422UnprocessableEntity":{"content":{"application\/json":{"example":{"errors":[{"message":"No vulnrichment data for this CVE. Supply exploitation, automatable, and technical_impact via 'overrides'."}]},"schema":{"$ref":"#\/components\/schemas\/Error"}}},"description":"Vulnrichment data is not available for this CVE, and `overrides` did not\nsupply the missing fields (`exploitation`, `automatable`,\n`technical_impact`). Retry with those fields set in `overrides`.\n"},"429TooManyRequests":{"content":{"application\/json":{"example":{"errors":[{"message":"Rate limit exceeded, retry after 30 seconds"}]},"schema":{"$ref":"#\/components\/schemas\/Error"}}},"description":"Rate limit quota exceeded. See the `RateLimit` \/ `RateLimit-Policy` headers\nfor the current quota details.\n","headers":{"RateLimit":{"$ref":"#\/components\/headers\/RateLimit"},"RateLimit-Policy":{"$ref":"#\/components\/headers\/RateLimit-Policy"},"Retry-After":{"description":"Seconds to wait before retrying (delta-seconds, RFC 9110)","schema":{"type":"integer"}}}}},"schemas":{"ArrayOfSecurityAdvisory":{"description":"Array of Security Advisory","items":{"$ref":"#\/components\/schemas\/SecurityAdvisory"},"type":"array"},"AuditLinux":{"properties":{"os":{"type":"string"},"packages":{"items":{"type":"string"},"type":"array"},"version":{"description":"One of the values returned by GET \/audit\/linux for this OS. Any other value is rejected with a 400 error.","type":"string"}},"type":"object"},"AuditPURL":{"properties":{"purls":{"items":{"type":"string"},"type":"array"}},"type":"object"},"AuditReport":{"items":{"properties":{"advisories":{"$ref":"#\/components\/schemas\/ArrayOfSecurityAdvisory"},"audited":{"description":"False when the audit doesn't support the ecosystem of this package: it was not checked, so it has no advisories but it is not known to be safe.","type":"boolean"},"cves":{"description":"List of CVEs","items":{"type":"string"},"type":"array"},"package":{"$ref":"#\/components\/schemas\/Package"},"purl":{"type":"string"}},"type":"object"},"type":"array"},"CycloneDXBom":{"description":"CycloneDX BOM (ECMA-424) - See the CycloneDX specification for\nthe full schema; only the top-level envelope is pinned down here.\n","properties":{"bomFormat":{"enum":["CycloneDX"],"type":"string"},"components":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"metadata":{"additionalProperties":true,"type":"object"},"specVersion":{"example":"1.7","type":"string"},"vulnerabilities":{"items":{"additionalProperties":true,"type":"object"},"type":"array"}},"required":["bomFormat","specVersion","components"],"type":"object"},"DefaultResponse":{"properties":{"errors":{"items":{"properties":{"message":{"type":"string"},"path":{"type":"string"}},"required":["message"],"type":"object"},"type":"array"}},"required":["errors"],"type":"object"},"DefectDojoFindings":{"description":"DefectDojo Generic Findings Import format. See DefectDojo's own\ndocumentation for the full field reference - this schema only pins down\nthe top-level shape and the fields ZEN SecDB actually populates.\n","properties":{"findings":{"items":{"properties":{"cwe":{"type":"integer"},"date":{"format":"date","type":"string"},"description":{"type":"string"},"epss_score":{"type":"number"},"kev_date":{"format":"date","nullable":true,"type":"string"},"mitigation":{"type":"string"},"references":{"type":"string"},"severity":{"enum":["Info","Low","Medium","High","Critical"],"type":"string"},"static_finding":{"type":"boolean"},"tags":{"items":{"type":"string"},"type":"array"},"title":{"type":"string"},"vuln_id_from_tool":{"type":"string"},"vulnerability_ids":{"items":{"type":"string"},"type":"array"}},"required":["title","severity"],"type":"object"},"type":"array"},"name":{"description":"Dynamic test type name shown in DefectDojo.","type":"string"}},"required":["findings"],"type":"object"},"Error":{"properties":{"errors":{"items":{"properties":{"message":{"type":"string"},"path":{"type":"string"}},"required":["message"],"type":"object"},"type":"array"}},"required":["errors"],"type":"object"},"Package":{"type":"string"},"SSVCBulkRequest":{"properties":{"cves":{"example":["CVE-2025-55182","CVE-2024-35195"],"items":{"pattern":"^CVE-\\d{4}-\\d{4,}$","type":"string"},"maxItems":200,"minItems":1,"type":"array"},"mission_prevalence":{"description":"Organizational context, same for every CVE in the batch.","enum":["minimal","support","essential"],"type":"string"},"public_well_being_impact":{"description":"Organizational context, same for every CVE in the batch.","enum":["minimal","material","irreversible"],"type":"string"}},"required":["mission_prevalence","public_well_being_impact","cves"],"type":"object"},"SSVCBulkResultItem":{"properties":{"cve":{"properties":{"id":{"example":"CVE-2025-55182","type":"string"},"title":{"description":"Human-readable title, when available in the CVE record. Some CVEs\ndon't have one distinct from the ID — clients should fall back to\n`id` for display when this is null.\n","nullable":true,"type":"string"}},"required":["id"],"type":"object"},"message":{"description":"Present when status is not \"ok\".","type":"string"},"ssvc":{"description":"Present when status is \"ok\".","properties":{"automatable":{"description":"From vulnrichment.","enum":["no","yes"],"type":"string"},"decision":{"enum":["track","track*","attend","act"],"type":"string"},"exploitation":{"description":"From vulnrichment.","enum":["none","poc","active"],"type":"string"},"mission_prevalence":{"description":"From the request (organizational input).","enum":["minimal","support","essential"],"type":"string"},"mission_well_being_impact":{"description":"Combined value derived from mission_prevalence + public_well_being_impact.","enum":["low","medium","high"],"type":"string"},"public_well_being_impact":{"description":"From the request (organizational input).","enum":["minimal","material","irreversible"],"type":"string"},"technical_impact":{"description":"From vulnrichment.","enum":["partial","total"],"type":"string"}},"type":"object"},"status":{"enum":["ok","missing_vulnrichment","cve_not_found"],"type":"string"},"vector_string":{"description":"Present when status is \"ok\". Format matches SSVC::CISA's stringification.","example":"SSVCv2\/E:A\/A:Y\/T:T\/P:M\/B:M\/M:L\/D:A\/2026-07-31T00:00:00","type":"string"}},"required":["cve","status"],"type":"object"},"SSVCCalculateRequest":{"properties":{"mission_prevalence":{"enum":["minimal","support","essential"],"type":"string"},"overrides":{"description":"Force specific vulnrichment-derived values instead of what SecDB has\non file - or supply them when vulnrichment is missing for this CVE\n(see the 422 response). Any field omitted here falls back to\nvulnrichment.\n","properties":{"automatable":{"enum":["no","yes"],"type":"string"},"exploitation":{"enum":["none","poc","active"],"type":"string"},"technical_impact":{"enum":["partial","total"],"type":"string"}},"type":"object"},"public_well_being_impact":{"enum":["minimal","material","irreversible"],"type":"string"}},"required":["mission_prevalence","public_well_being_impact"],"type":"object"},"SSVCCalculateResponse":{"properties":{"ssvc":{"$ref":"#\/components\/schemas\/SSVCResult"},"vector_string":{"example":"SSVCv2\/E:A\/A:Y\/T:T\/P:M\/B:M\/M:L\/D:A\/2026-08-06T01:42:55","type":"string"}},"required":["ssvc","vector_string"],"type":"object"},"SSVCResult":{"properties":{"automatable":{"description":"From vulnrichment, or from `overrides` if supplied.","enum":["no","yes"],"type":"string"},"decision":{"enum":["track","track*","attend","act"],"type":"string"},"exploitation":{"description":"From vulnrichment, or from `overrides` if supplied.","enum":["none","poc","active"],"type":"string"},"mission_prevalence":{"description":"From the request (organizational input).","enum":["minimal","support","essential"],"type":"string"},"mission_well_being_impact":{"description":"Combined value derived from mission_prevalence + public_well_being_impact.","enum":["low","medium","high"],"type":"string"},"public_well_being_impact":{"description":"From the request (organizational input).","enum":["minimal","material","irreversible"],"type":"string"},"technical_impact":{"description":"From vulnrichment, or from `overrides` if supplied.","enum":["partial","total"],"type":"string"}},"type":"object"},"STIXBundle":{"description":"STIX 2.1 Bundle envelope (OASIS standard)","properties":{"id":{"pattern":"^bundle--[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","type":"string"},"objects":{"description":"STIX Domain Objects (SDOs) forming the vulnerability graph: a\n`vulnerability` object plus related `relationship` objects and any\nlinked SDOs (e.g. `indicator`) used to render the graph in the UI\n(via stixview). The exact set of linked SDOs may grow over time.\n","items":{"additionalProperties":true,"description":"STIX SDO — shape varies by `type` (vulnerability, indicator, relationship, ...), per the STIX 2.1 spec","type":"object"},"type":"array"},"type":{"enum":["bundle"],"type":"string"}},"required":["type","id","objects"],"type":"object"},"SearchResults":{"properties":{"facets":{"additionalProperties":true,"type":"object"},"hits":{"items":{"properties":{"_score":{"type":"number"},"alias":{"type":"string"},"api_url":{"type":"string"},"attack_vector":{"type":"string"},"cve":{"items":{"type":"string"},"type":"array"},"cvss_score":{"type":"number"},"cwe":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"id":{"type":"string"},"kev":{"type":"boolean"},"modified":{"format":"date-time","type":"string"},"published":{"format":"date-time","type":"string"},"severity":{"type":"string"},"source":{"type":"string"},"status":{"type":"string"},"summary":{"type":"string"},"tag":{"items":{"type":"string"},"type":"array"},"title":{"type":"string"},"type":{"type":"string"},"web_url":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"SecurityAdvisory":{"additionalProperties":true,"description":"Security Advisory","type":"object"}},"securitySchemes":{"ApiKeyAuth":{"in":"header","name":"X-API-KEY","type":"apiKey"},"BearerAuth":{"scheme":"bearer","type":"http"},"CookieAuth":{"in":"cookie","name":"yavs","type":"apiKey"}}},"externalDocs":{"description":"API Changelog","url":"https:\/\/secdb.nttzen.cloud\/docs\/api\/changelog"},"info":{"contact":{"name":"giterlizzi","url":"https:\/\/github.com\/giterlizzi"},"description":"This document describes the API for ZEN SecDB \/ YaVS (YaVS Ain't Vulnerability Scanner).\n\n# Pagination\n\nSometimes, the returned result spans many pages. When listing resources, you can pass the following parameters:\n\n| Parameter | Description |\n|:----------|:------------|\n| `page`               | Page number (default: `1`).                                     |\n| `limit` \/ `per_page` | Number of items to list per page (default: `100`, max: `1000`). |\n\nIn the following example, we list 50 CVE per page:\n\n    curl --request GET \"https:\/\/secdb.nttzen.cloud\/api\/v1\/feed\/cve?limit=50\"\n\n\n## Pagination Link header\n\n[`Link` headers](https:\/\/www.w3.org\/wiki\/LinkHeader) are returned with each response. They have `rel` set to `prev`, `next`, `first`, or `last` and contain the relevant URL. Be sure to use these links instead of generating your own URLs.\n\nIn the following cURL example, we limit the output to 50 items per page (`limit=50`) and we request the second page (`page=2`):\n\n    curl --head \"https:\/\/secdb.nttzen.cloud\/api\/v1\/feed\/cve?limit=50&page=2\"\n\nThe response is:\n\n    HTTP\/1.1 200 OK\n    [...]\n    Link: <\/api\/v1\/feed\/cve?limit=50&page=1>; rel=\"prev\", <\/api\/v1\/feed\/cve?page=1>; rel=\"first\", <\/api\/v1\/feed\/cve?limit=50&page=5114>; rel=\"last\", <\/api\/v1\/feed\/cve?limit=50&page=3>; rel=\"next\"\n    X-Next-Page: 3\n    X-Page: 2\n    X-Per-Page: 50\n    X-Prev-Page: 1\n    X-Total: 255709\n    X-Total-Pages: 5114\n\n## Other pagination headers\n\nSecDB also returns the following additional pagination headers:\n\n| Header          | Description                                    |\n|:----------------|:-----------------------------------------------|\n| `x-next-page`   | The index of the next page.                    |\n| `x-page`        | The index of the current page (starting at 1). |\n| `x-per-page`    | The number of items per page.                  |\n| `x-prev-page`   | The index of the previous page.                |\n| `x-total`       | The total number of items.                     |\n| `x-total-pages` | The total number of pages.                     |\n\n\n# Data validation and error reporting\n\nWhen working with the API you may encounter validation errors, in which case the API returns an HTTP `400` error.\n\nSuch errors appear in the following cases:\n\n- A required attribute of the API request is missing\n- An attribute did not pass the validation\n\nWhen an attribute is missing, you receive something like:\n\n    HTTP\/1.1 400 Bad Request\n    Content-Type: application\/json\n    {\n      \"errors\": [\n        {\n          \"message\": \"Missing required value\",\n          \"path\": \"\/\"\n        }\n      ],\n      \"status\": 400\n    }\n\n\nWhen a validation error occurs, error messages are different. They hold all details of validation errors:\n\n    HTTP\/1.1 400 Bad Request\n    Content-Type: application\/json\n    {\n      \"errors\": [\n        {\n          \"message\": \"Invalid value\",\n          \"path\": \"\/\"\n        }\n      ],\n      \"status\": 400\n    }\n\nThis makes error messages more machine-readable. The format can be described as follows:\n\n    {\n      \"errors\": [\n        {\n          \"message\": \"<error-message>\",\n          \"path\": \"<error-path>\"\n        },\n        { ... }\n      ],\n      \"status\": <status-code>\n    }\n\n# Rate Limits\n\n[`RateLimit` headers](https:\/\/www.ietf.org\/archive\/id\/draft-ietf-httpapi-ratelimit-headers-07.html) are returned with each response.\n\n| Header | Description |\n|:-------|:------------|\n| `x-ratelimit-limit` \/ `RateLimit-Limit`         | The number of allowed requests in the current period.   |\n| `x-ratelimit-remaining` \/ `RateLimit-Remaining` | The number of remaining requests in the current period. |\n| `x-ratelimit-reset` \/ `RateLimit-Reset`         | The number of seconds left in the current period.       |\n| `x-ratelimit-used` \/ `RateLimit-Used`           | The number of requests in the current period.           |\n| `RateLimit-Policy`                              | The policy used                                         |\n| `RateLimit`                                     | The policy used + reset                                 |\n\nWhen the user exceeded the application rate limits, SecDB return `429 Too Many Requests` response.\n","license":{"name":"Artistic License version 2.0","url":"http:\/\/opensource.org\/licenses\/Artistic-2.0"},"termsOfService":"https:\/\/secdb.nttzen.cloud\/docs\/api\/terms","title":"ZEN SecDB \/ YaVS API specification","version":"26.10.0","x-logo":{"url":"https:\/\/secdb.nttzen.cloud\/images\/logo.png"}},"openapi":"3.0.4","paths":{"\/audit\/linux":{"get":{"operationId":"auditLinuxOS","responses":{"200":{"content":{"application\/json":{"examples":{"os":{"summary":"OS list","value":[{"os":"centos","versions":["centos-4","centos-5","centos-6","centos-7"]},{"os":"debian","versions":["bookworm","bullseye","buster","jessie","stretch","wheezy"]}]}},"schema":{"items":{"properties":{"os":{"type":"string"},"versions":{"items":{"type":"string"},"type":"array"}},"type":"object"},"type":"array"}}},"description":"Successful operation","headers":{"RateLimit":{"$ref":"#\/components\/headers\/RateLimit"},"RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"RateLimit-Policy":{"$ref":"#\/components\/headers\/RateLimit-Policy"},"RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"X-RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"}}},"400":{"$ref":"#\/components\/responses\/400BadRequest"},"401":{"$ref":"#\/components\/responses\/401Unauthorized"},"404":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"List supported Linux OS","tags":["Audit"],"x-mojo-to":"API::Audit#list_linux_os"},"post":{"operationId":"auditLinuxPackages","requestBody":{"content":{"application\/json":{"examples":{"apk":{"summary":"Alpine Linux audit","value":{"os":"alpine","packages":["curl-8.11.0-r1 armhf {curl} (curl) [installed]","python3-3.12.7-r1 armhf {python3} (PSF-2.0) [installed]"],"version":"alpine-3.20"}},"deb":{"summary":"Deb-based audit","value":{"os":"ubuntu","packages":["openssh-server 1:8.9p1-3ubuntu0.10 amd64"],"version":"jammy"}},"rpm":{"summary":"RPM-based audit","value":{"os":"almalinux","packages":["firefox-115.8.0-1.el9_3.alma.x86_64"],"version":"almalinux-9.3"}}},"schema":{"$ref":"#\/components\/schemas\/AuditLinux"}}},"required":true},"responses":{"200":{"content":{"application\/json":{"examples":{"apk":{"summary":"Alpine Linux audit output","value":[{"advisories":[{"id":"ALPINE:CVE-2024-11053"}]},{"cves":["CVE-2024-11053"]},{"package":"curl-8.11.0-r1"}]}},"schema":{"$ref":"#\/components\/schemas\/AuditReport"}}},"description":"Successful operation","headers":{"RateLimit":{"$ref":"#\/components\/headers\/RateLimit"},"RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"RateLimit-Policy":{"$ref":"#\/components\/headers\/RateLimit-Policy"},"RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"X-RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"}}},"400":{"$ref":"#\/components\/responses\/400BadRequest"},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Audit Linux packages","tags":["Audit"],"x-mojo-to":"API::Audit#linux_packages"}},"\/audit\/purl":{"post":{"operationId":"auditEcosystem","parameters":[{"description":"Output format for the audit result.\n- `json` (default): SecDB's native AuditReport format\n- `cyclonedx-vdr`: full CycloneDX Vulnerability Disclosure Report (all\n  known vulnerabilities, `metadata.lifecycles[].phase` set to\n  `vulnerability-assertion`)\n- `defectdojo`: DefectDojo Generic Findings Import format\n","in":"query","name":"format","required":false,"schema":{"default":"json","enum":["json","cyclonedx-vdr","defectdojo"],"type":"string"}}],"requestBody":{"content":{"application\/json":{"examples":{"npm":{"summary":"NPM audit","value":{"purls":["pkg:npm\/select2@4.0.5"]}}},"schema":{"$ref":"#\/components\/schemas\/AuditPURL"}}},"required":true},"responses":{"200":{"content":{"application\/json":{"examples":{"defectdojo":{"summary":"format=defectdojo","value":{"findings":[{"severity":"Medium","title":"...","vuln_id_from_tool":"NPM:GHSA-RF66-HMQF-Q3FC","vulnerability_ids":["CVE-2016-10744"]}],"name":"SecDB PURL Audit"}},"json":{"summary":"format=json (default)","value":[{"advisories":[{"id":"NPM:GHSA-RF66-HMQF-Q3FC"}],"cves":["CVE-2016-10744"],"package":"pkg:npm\/select2@4.0.5"}]}},"schema":{"oneOf":[{"$ref":"#\/components\/schemas\/AuditReport"},{"$ref":"#\/components\/schemas\/DefectDojoFindings"}]}},"application\/vnd.cyclonedx+json":{"examples":{"cyclonedx-vdr":{"summary":"format=cyclonedx-vdr","value":{"bomFormat":"CycloneDX","components":[],"metadata":{"lifecycles":[{"phase":"vulnerability-assertion"}]},"specVersion":"1.7","vulnerabilities":[]}}},"schema":{"$ref":"#\/components\/schemas\/CycloneDXBom"}}},"description":"Successful operation","headers":{"RateLimit":{"$ref":"#\/components\/headers\/RateLimit"},"RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"RateLimit-Policy":{"$ref":"#\/components\/headers\/RateLimit-Policy"},"RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"X-RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"}}},"400":{"$ref":"#\/components\/responses\/400BadRequest"},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Audit PURL","tags":["Audit"],"x-mojo-to":"API::Audit#purl_packages"}},"\/feed":{"get":{"operationId":"feedList","responses":{"200":{"content":{"application\/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"description":"Successful operation","headers":{"RateLimit":{"$ref":"#\/components\/headers\/RateLimit"},"RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"RateLimit-Policy":{"$ref":"#\/components\/headers\/RateLimit-Policy"},"RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"X-RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"}}},"400":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"List a valid feeds","tags":["Feed"],"x-mojo-to":"API::Feed#list"}},"\/feed\/cve\/{id}\/ssvc":{"post":{"description":"Calculates the SSVC (CISA Coordinator) decision for this CVE, combining\n`mission_prevalence` and `public_well_being_impact` from the request\nwith `exploitation` \/ `automatable` \/ `technical_impact` read from\nvulnrichment - or from `overrides` when supplied.\n\nIf vulnrichment is missing for this CVE and `overrides` doesn't cover\nthe gap, the request fails with 422.\n","operationId":"calculateCveSsvc","parameters":[{"description":"CVE identifier (CVE-YYYY-NNNN format)","example":"CVE-2021-44228","in":"path","name":"id","required":true,"schema":{"pattern":"^CVE-\\d{4}-\\d{4,}$","type":"string"}}],"requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SSVCCalculateRequest"}}},"required":true},"responses":{"200":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SSVCCalculateResponse"}}},"description":"SSVC decision for this CVE"},"400":{"$ref":"#\/components\/responses\/400BadRequest"},"401":{"$ref":"#\/components\/responses\/401Unauthorized"},"404":{"$ref":"#\/components\/responses\/404NotFound"},"422":{"$ref":"#\/components\/responses\/422UnprocessableEntity"},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Calculate SSVC decision for a single CVE","tags":["CVE","SSVC"],"x-mojo-to":"API::Feed#cve_ssvc"}},"\/feed\/cve\/{id}\/stix":{"get":{"description":"Returns the CVE record represented as a STIX 2.1 Bundle: a `vulnerability`\nSDO plus related objects (affected `software`, `relationship`s, `sighting`s,\n`attack-pattern`, TLP `marking-definition`, and the assigning CNA as an\n`identity`) forming the same graph used by the SecDB UI to render the\nvulnerability with stixview.\n\nObject IDs are deterministic (UUIDv5), so repeated requests for the same\nCVE return stable STIX object IDs, enabling correlation across STIX\/TAXII\nconsumers.\n","operationId":"getCveStix","parameters":[{"description":"CVE identifier (CVE-YYYY-NNNN format)","example":"CVE-2021-44228","in":"path","name":"id","required":true,"schema":{"pattern":"^CVE-\\d{4}-\\d{4,}$","type":"string"}}],"responses":{"200":{"content":{"application\/stix+json;version=2.1":{"schema":{"$ref":"#\/components\/schemas\/STIXBundle"}}},"description":"STIX 2.1 bundle for the requested CVE"},"400":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"$ref":"#\/components\/responses\/404NotFound"},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Get CVE as STIX 2.1 bundle","tags":["CVE"],"x-mojo-to":"API::Feed#cve_stix"}},"\/feed\/report":{"get":{"operationId":"feedReportList","responses":{"200":{"content":{"application\/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"description":"Successful operation","headers":{"RateLimit":{"$ref":"#\/components\/headers\/RateLimit"},"RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"RateLimit-Policy":{"$ref":"#\/components\/headers\/RateLimit-Policy"},"RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"X-RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"}}},"400":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Get the list of preformatted reports","tags":["Feed"],"x-mojo-to":"API::Feed#report_list"}},"\/feed\/report\/{report}":{"get":{"operationId":"feedReport","parameters":[{"description":"Report format","in":"query","name":"format","required":false,"schema":{"type":"string"}},{"description":"Report name","in":"path","name":"report","required":true,"schema":{"type":"string"}},{"deprecated":true,"description":"Filter query encoded in JSON.\n\nDEPRECATED: Use bracked `opt` syntax (`opt[name]=value`)\n","in":"query","name":"q","required":false,"schema":{"type":"string"}},{"description":"Additional options using JSON:API syntax\n\n`?opt[name-1]=value-1&opt[name-2]=value-2`\n","in":"query","name":"opt","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application\/json":{}},"description":"Successful operation","headers":{"RateLimit":{"$ref":"#\/components\/headers\/RateLimit"},"RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"RateLimit-Policy":{"$ref":"#\/components\/headers\/RateLimit-Policy"},"RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"X-RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"}}},"400":{"$ref":"#\/components\/responses\/400BadRequest"},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"$ref":"#\/components\/responses\/404NotFound"},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Get the specified report","tags":["Feed"],"x-mojo-to":"API::Feed#report"}},"\/feed\/{feed}":{"get":{"description":"**Generic Feed Search API**\n\nAvailable feeds:\n- cisa_kev\n- cpe\n- cve\n- cwe\n- epss\n- exploitdb\n- metasploit\n- nasl\n- oval\n- poc\n- security_advisory\n- sighting\n","operationId":"feedSearch","parameters":[{"description":"Add additional fields in output\n\n`?expand=field1,field2,field3`\n\nAvailable fields for `cve` feed:\n- advisories\n- affected_products\n- alias\n- capec\n- cisa_kev\n- cna\n- description\n- epss\n- exploitdb\n- exploits\n- exploit_maturity\n- history\n- id\n- metasploit\n- metrics\n- modified\n- nasl\n- nuclei\n- nvd_status\n- oval\n- owasp_top10\n- poc\n- published\n- references\n- related_cves\n- score\n- security_advisories\n- severity\n- sightings\n- source\n- status\n- title\n- vulnerability_artifacts\n- weaknesses\n","in":"query","name":"expand","required":false,"schema":{"type":"string"}},{"description":"ID","in":"query","name":"_id","required":false,"schema":{"type":"string"}},{"description":"Feed name\n\n- `capec` : Common Attack Pattern Enumeration and Classification \n- `cisa_kev` : CISA KEV (Known Exploited Vulnerabilities) catalog\n- `cpe` : Common Plaftorm Enumeration\n- `cve` : Common Vulnerabilities and Exposures\n- `cwe` : Common Weakness Enumeration\n- `epss` : EPSS data\n- `eu_kev`: EU KEV\n- `exploitdb` : Exploit DB\n- `kev`: KEV\n- `metasploit` : Metasploit modules\n- `nasl` : NASL & NVT Scripts\n- `nuclei` : Nuclei templates\n- `oval` : Open Vulnerability and Assessment Language\n- `poc` : PoC\n- `security_advisory` : Advisories (PSIRT, Ecosystems, CERTs and more)\n- `sighting` : The real-world activity\n","in":"path","name":"feed","required":true,"schema":{"enum":["capec","cisa_kev","cpe","cve","cwe","epss","eu_kev","exploitdb","kev","metasploit","nasl","nuclei","oval","poc","security_advisory","sighting"],"type":"string"}},{"deprecated":true,"description":"**Legacy.** JSON-encoded filter object, e.g. `{\"severity\":\"high\"}`.\n\nStill supported for backward compatibility, but new integrations\nshould use `filter[field]=value` \/ `filter[field][operator]=value`\nbracket notation instead. See the `filter` parameter for details.\n\nAvailable filters for `cve` feed:\n- `alias=<string>`, CVE alias (eg. `log4shell`)\n- `cisa=<bool>`, CVE in CISA KEV Catalog\n- `cpe=<string>`, CPE 2.3 (eg. `cpe:2.3:a:apache:http_server`) or 2.2 (eg. `cpe:\/a:apache:http_server`) string\n- `cpe_part=<string>`, \n- `cpe_product=<string>`, \n- `cpe_update=<string>`, \n- `cpe_vendor=<string>`, \n- `cpe_version=<string>`, \n- `cvss2_score=<float[,float]>`, CVSS v2.0 Base Score (`0.0` - `10.0`) \n- `cvss2_severity=<string>`, CVSS v2.0 Base Severity (`low`, `medium`, `high`) \n- `cvss3_score=<float[,float]>`, CVSS v3.x Base Score (`0.0` - `10.0`) \n- `cvss3_severity=<string>`, CVSS v3.x Base Severity (`low`, `medium`, `high`, `critical`) \n- `cvss4_score=<string>`, CVSS v4.0 Base Score (`0.0` - `10.0`) \n- `cvss4_severity=<string>`, CVSS v4.0 Base Severity (`low`, `medium`, `high`, `critical`) \n- `cvss_attack_vector=<string>`,  CVSS (v2.0, v3.x, v4.0) Attack Vector (`network`, `adjacent`, `local`, `physical`)\n- `cvss_score=<float[,float]>`,  CVSS (v2.0, v3.x, v4.0) Base Score (`0.0` - `10.0`)\n- `cvss_severity=<string>`, CVSS (v2.0, v3.x, v4.0) Base Severity (`low`, `medium`, `high`, `critical`)\n- `cwe=<string>`, CWE ID\n- `description=<string>`, \n- `epss_score=<float[,float]>`, EPSS score\n- `id=<string>`, CVE ID\n- `modified=<date[,date]>`, CVE last modified date\n- `nasl_plugin_id=<string>`, NASL Plugin ID \n- `oval=<string>`, OVAL Definition ID\n- `published=<date[,date]>`, CVE published date\n- `security_advisory=<string>`, Advisory ID\n- `source=<string>`, CNA\n- `status=<string>`, CVE status (`PUBLISHED`, `RESERVED`, `REJECTED`, `DISPUTED`)\n","in":"query","name":"q","required":false,"schema":{"type":"string"}},{"description":"Include only the specified fields in output\n\nAvailable fields for `cve` feed:\n- advisories\n- affected_products\n- alias\n- capec\n- cisa_kev\n- cna\n- description\n- epss\n- exploitdb\n- exploits\n- exploit_maturity\n- history\n- id\n- metasploit\n- metrics\n- modified\n- nasl\n- nuclei\n- nvd_status\n- oval\n- owasp_top10\n- poc\n- published\n- references\n- related_cves\n- score\n- security_advisories\n- severity\n- sightings\n- source\n- status\n- title\n- vulnerability_artifacts\n- weaknesses\n","in":"query","name":"fields","required":false,"schema":{"type":"string"}},{"description":"Filter using JSON:API syntax\n\n`?filter[name][op]=value&filter[name-1][op]=value`\n\nAvailable filters for `cve` feed:\n- `alias=<string>`, CVE alias (eg. `log4shell`)\n- `cisa=<bool>`, CVE in CISA KEV Catalog\n- `cpe=<string>`, CPE 2.3 (eg. `cpe:2.3:a:apache:http_server`) or 2.2 (eg. `cpe:\/a:apache:http_server`) string\n- `cpe_part=<string>`, \n- `cpe_product=<string>`, \n- `cpe_update=<string>`, \n- `cpe_vendor=<string>`, \n- `cpe_version=<string>`, \n- `cvss2_score=<float[,float]>`, CVSS v2.0 Base Score (`0.0` - `10.0`) \n- `cvss2_severity=<string>`, CVSS v2.0 Base Severity (`low`, `medium`, `high`) \n- `cvss3_score=<float[,float]>`, CVSS v3.x Base Score (`0.0` - `10.0`) \n- `cvss3_severity=<string>`, CVSS v3.x Base Severity (`low`, `medium`, `high`, `critical`) \n- `cvss4_score=<string>`, CVSS v4.0 Base Score (`0.0` - `10.0`) \n- `cvss4_severity=<string>`, CVSS v4.0 Base Severity (`low`, `medium`, `high`, `critical`) \n- `cvss_attack_vector=<string>`,  CVSS (v2.0, v3.x, v4.0) Attack Vector (`network`, `adjacent`, `local`, `physical`)\n- `cvss_score=<float[,float]>`,  CVSS (v2.0, v3.x, v4.0) Base Score (`0.0` - `10.0`)\n- `cvss_severity=<string>`, CVSS (v2.0, v3.x, v4.0) Base Severity (`low`, `medium`, `high`, `critical`)\n- `cwe=<string>`, CWE ID\n- `description=<string>`, \n- `epss_score=<float[,float]>`, EPSS score\n- `id=<string>`, CVE ID\n- `modified=<date[,date]>`, CVE last modified date\n- `nasl_plugin_id=<string>`, NASL Plugin ID \n- `oval=<string>`, OVAL Definition ID\n- `published=<date[,date]>`, CVE published date\n- `security_advisory=<string>`, Advisory ID\n- `source=<string>`, CNA\n- `status=<string>`, CVE status (`PUBLISHED`, `RESERVED`, `REJECTED`, `DISPUTED`)\n","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Keyword terms","in":"query","name":"keyword","required":false,"schema":{"type":"string"}},{"description":"Results limit","in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"description":"Results offset","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Additional options using JSON:API syntax\n\n`?opt[name-1]=value-1&opt[name-2]=value-2`\n","in":"query","name":"opt","required":false,"schema":{"type":"string"}},{"description":"Results page","in":"query","name":"page","required":false,"schema":{"type":"integer"}},{"description":"Results limit","in":"query","name":"per_page","required":false,"schema":{"type":"integer"}},{"description":"Sort","in":"query","name":"sort","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application\/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array"}}},"description":"Successful operation","headers":{"Link":{"$ref":"#\/components\/headers\/Link"},"RateLimit":{"$ref":"#\/components\/headers\/RateLimit"},"RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"RateLimit-Policy":{"$ref":"#\/components\/headers\/RateLimit-Policy"},"RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-Next-Page":{"$ref":"#\/components\/headers\/Next-Page"},"X-Page":{"$ref":"#\/components\/headers\/Page"},"X-Per-Page":{"$ref":"#\/components\/headers\/Per-Page"},"X-Prev-Page":{"$ref":"#\/components\/headers\/Prev-Page"},"X-RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"X-RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-Total":{"$ref":"#\/components\/headers\/Total"},"X-Total-Pages":{"$ref":"#\/components\/headers\/Total-Pages"}}},"400":{"$ref":"#\/components\/responses\/400BadRequest"},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Search feed items","tags":["Feed"],"x-mojo-to":"API::Feed#search"}},"\/feed\/{feed}\/{id}":{"get":{"operationId":"feedItem","parameters":[{"description":"Feed name\n\n- `capec` : Common Attack Pattern Enumeration and Classification \n- `cisa_kev` : CISA KEV (Known Exploited Vulnerabilities) catalog\n- `cpe` : Common Plaftorm Enumeration\n- `cve` : Common Vulnerabilities and Exposures\n- `cwe` : Common Weakness Enumeration\n- `epss` : EPSS data\n- `eu_kev`: EU KEV\n- `exploitdb` : Exploit DB\n- `kev`: KEV\n- `metasploit` : Metasploit modules\n- `nasl` : NASL & NVT Scripts\n- `nuclei` : Nuclei templates\n- `oval` : Open Vulnerability and Assessment Language\n- `poc` : PoC\n- `security_advisory` : Advisories (PSIRT, Ecosystems, CERTs and more)\n- `sighting` : The real-world activity\n","in":"path","name":"feed","required":true,"schema":{"enum":["capec","cisa_kev","cpe","cve","cwe","epss","eu_kev","exploitdb","kev","metasploit","nasl","nuclei","oval","poc","security_advisory","sighting"],"type":"string"}},{"description":"Item identification","in":"path","name":"id","required":true,"schema":{"type":"string"},"x-mojo-placeholder":"#"}],"responses":{"200":{"content":{"application\/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful operation","headers":{"RateLimit":{"$ref":"#\/components\/headers\/RateLimit"},"RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"RateLimit-Policy":{"$ref":"#\/components\/headers\/RateLimit-Policy"},"RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"X-RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"}}},"400":{"$ref":"#\/components\/responses\/400BadRequest"},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"$ref":"#\/components\/responses\/404NotFound"},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Get single feed item","tags":["Feed"],"x-mojo-to":"API::Feed#item"}},"\/search":{"get":{"operationId":"search","parameters":[{"description":"Full-text search query across CVE, CWE, advisories, and ExploitDB.\nSupports free-text terms as well as quoted phrases for exact matching.\n","examples":{"exactPhrase":{"summary":"Exact phrase match","value":"\"remote code execution\""},"freeText":{"summary":"Free-text search","value":"Log4Shell"}},"in":"query","name":"q","required":false,"schema":{"type":"string"}},{"description":"Results limit","in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"description":"Results offset","in":"query","name":"offset","required":false,"schema":{"type":"integer"}},{"description":"Results page","in":"query","name":"page","required":false,"schema":{"type":"integer"}},{"description":"Results limit","in":"query","name":"per_page","required":false,"schema":{"type":"integer"}},{"description":"Filter results by one or more types (comma-separated).\n\nAllowed values: `cve`, `cwe`, `advisory`, `nasl`, `exploitdb`\n","examples":{"multiple":{"summary":"Filter CVEs and advisories","value":"cve,advisory"},"single":{"summary":"Filter only CVEs","value":"cve"}},"explode":false,"in":"query","name":"type","required":false,"schema":{"pattern":"^(cve|cwe|advisory|nasl|exploitdb)(,(cve|cwe|advisory|nasl|exploitdb))*$","type":"string"},"style":"form"},{"description":"Filter by last-modified date, expressed as an ISO 8601 duration relative to now (e.g. `P7D` = last 7 days, `P2W` = 2 weeks, `P3M` = 3 months, `P1Y` = 1 year) or as an ISO 8601 date, included (e.g. `2026-05-01`).\n","examples":{"date":{"summary":"Since a date","value":"2026-05-01"},"oneDay":{"summary":"Last 24 hours","value":"P1D"},"oneWeekShorthand":{"summary":"Last week","value":"P1W"},"oneYear":{"summary":"Last year","value":"P1Y"},"sixMonths":{"summary":"Last 6 months","value":"P6M"},"threeWeeks":{"summary":"Last 3 weeks","value":"P3W"}},"in":"query","name":"since","required":false,"schema":{"pattern":"^(P\\d+[DWMY]|\\d{4}-\\d{2}-\\d{2})$","type":"string"}},{"description":"Sort","in":"query","name":"sort","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SearchResults"}}},"description":"Successful operation","headers":{"Link":{"$ref":"#\/components\/headers\/Link"},"RateLimit":{"$ref":"#\/components\/headers\/RateLimit"},"RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"RateLimit-Policy":{"$ref":"#\/components\/headers\/RateLimit-Policy"},"RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-Next-Page":{"$ref":"#\/components\/headers\/Next-Page"},"X-Page":{"$ref":"#\/components\/headers\/Page"},"X-Per-Page":{"$ref":"#\/components\/headers\/Per-Page"},"X-Prev-Page":{"$ref":"#\/components\/headers\/Prev-Page"},"X-RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"X-RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-Total":{"$ref":"#\/components\/headers\/Total"},"X-Total-Pages":{"$ref":"#\/components\/headers\/Total-Pages"}}},"400":{"$ref":"#\/components\/responses\/400BadRequest"},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Search","tags":["Search"],"x-mojo-to":"API#search"}},"\/ssvc\/bulk":{"post":{"description":"Calculates the SSVC (CISA Coordinator) decision for each CVE in the list,\ncombining the organization-supplied `mission_prevalence` and\n`public_well_being_impact` (same for the whole batch) with each CVE's\n`exploitation` \/ `automatable` \/ `technical_impact` read from vulnrichment.\n\nEntries for CVEs without vulnrichment data are returned with\n`status: missing_vulnrichment` rather than failing the whole request;\nuse `POST \/feed\/cve\/{id}\/ssvc` with `overrides` to calculate those manually.\n","operationId":"calculateCveSsvcBulk","requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SSVCBulkRequest"}}},"required":true},"responses":{"200":{"content":{"application\/json":{"schema":{"items":{"$ref":"#\/components\/schemas\/SSVCBulkResultItem"},"type":"array"}}},"description":"Per-CVE SSVC results (individual failures do not fail the request)"},"400":{"$ref":"#\/components\/responses\/400BadRequest"},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Calculate SSVC decision for multiple CVEs","tags":["CVE","SSVC"],"x-mojo-to":"API#ssvc_bulk"}},"\/ssvc\/parse":{"get":{"description":"Parses an existing SSVC vector string (CISA Coordinator format) back\ninto its individual decision points, without recalculating anything.\nUseful for a vector string obtained elsewhere (e.g. the CISA SSVC\nCalculator) that needs a human-readable breakdown.\n","operationId":"parseSsvcVector","parameters":[{"description":"SSVC vector string to decode (CISA Coordinator format only).","example":"SSVCv2\/E:A\/A:Y\/T:T\/P:M\/B:M\/M:L\/D:A\/2026-07-31T13:37:00","in":"query","name":"vector","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SSVCCalculateResponse"}}},"description":"Decoded SSVC decision points"},"400":{"$ref":"#\/components\/responses\/400BadRequest"},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Decode an SSVC vector string","tags":["SSVC"],"x-mojo-to":"API#ssvc_parse"}},"\/version":{"get":{"operationId":"version","responses":{"200":{"content":{"application\/json":{"schema":{"properties":{"revision":{"type":"string"},"version":{"type":"string"}},"type":"object"}}},"description":"Successful operation","headers":{"RateLimit":{"$ref":"#\/components\/headers\/RateLimit"},"RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"RateLimit-Policy":{"$ref":"#\/components\/headers\/RateLimit-Policy"},"RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"},"X-RateLimit-Limit":{"$ref":"#\/components\/headers\/RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#\/components\/headers\/RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#\/components\/headers\/RateLimit-Reset"},"X-RateLimit-Used":{"$ref":"#\/components\/headers\/RateLimit-Used"}}},"400":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"401":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"404":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"429":{"$ref":"#\/components\/responses\/429TooManyRequests"},"500":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."},"501":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/DefaultResponse"}}},"description":"Default response."}},"security":[],"summary":"Get YaVS\/SecDB version","tags":["Utils"],"x-mojo-to":"API#version"}}},"security":[{"BearerAuth":[]},{"CookieAuth":[]}],"servers":[{"url":"https:\/\/secdb.nttzen.cloud\/api\/v1"},{"url":"\/t\/{tenant}\/api\/v1","variables":{"tenant":{"default":"default","description":"Your tenant id"}}}],"tags":[{"description":"Security feeds and reports","name":"Feed"},{"description":"Search","name":"Search"},{"description":"Utility","name":"Utils"},{"description":"Audit","name":"Audit"},{"description":"CVE","name":"CVE"},{"description":"SSVC","name":"SSVC"}]}