{"openapi":"3.1.0","info":{"title":"CyberSIXT Read API","version":"1.0.0"},"paths":{"/api/v1/cves":{"get":{"operationId":"cves","summary":"CyberSIXT cves","description":"Read-only stored facts.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":240}},{"name":"kev","in":"query","required":false,"schema":{"type":"string","maxLength":80,"pattern":"^(?:[tT][rR][uU][eE]|[fF][aA][lL][sS][eE])$"}},{"name":"vendor","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"severity","in":"query","required":false,"schema":{"type":"string","maxLength":80,"pattern":"^(?:[lL][oO][wW]|[mM][eE][dD][iI][uU][mM]|[hH][iI][gG][hH]|[cC][rR][iI][tT][iI][cC][aA][lL])$"}}],"responses":{"200":{"description":"Bounded facts. Empty data is valid. Filtered CVEs may have an empty window and a next_cursor.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{},"next_cursor":{"type":["string","null"]},"available":{"type":"boolean"}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"503":{"description":"Temporarily unavailable"}},"security":[{},{"apiKey":[]}]}},"/api/v1/cves/{id}":{"get":{"operationId":"cve","summary":"CyberSIXT cve","description":"Read-only stored facts.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Bounded facts. Empty data is valid. Filtered CVEs may have an empty window and a next_cursor.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{},"next_cursor":{"type":["string","null"]},"available":{"type":"boolean"}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"503":{"description":"Temporarily unavailable"}},"security":[{},{"apiKey":[]}]}},"/api/v1/vendors":{"get":{"operationId":"vendors","summary":"CyberSIXT vendors","description":"cves counts CVEs in coverage; kev_catalogue_total counts the full vendor CISA KEV catalogue, including CVEs outside coverage.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":240}}],"responses":{"200":{"description":"Bounded facts. Empty data is valid. Filtered CVEs may have an empty window and a next_cursor.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{},"next_cursor":{"type":["string","null"]},"available":{"type":"boolean"}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"503":{"description":"Temporarily unavailable"}},"security":[{},{"apiKey":[]}]}},"/api/v1/vendors/{slug}":{"get":{"operationId":"vendor","summary":"CyberSIXT vendor","description":"cves counts CVEs in coverage; kev_catalogue_total counts the full vendor CISA KEV catalogue, including CVEs outside coverage.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Bounded facts. Empty data is valid. Filtered CVEs may have an empty window and a next_cursor.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{},"next_cursor":{"type":["string","null"]},"available":{"type":"boolean"}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"503":{"description":"Temporarily unavailable"}},"security":[{},{"apiKey":[]}]}},"/api/v1/actors":{"get":{"operationId":"actors","summary":"CyberSIXT actors","description":"Read-only stored facts.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":240}}],"responses":{"200":{"description":"Bounded facts. Empty data is valid. Filtered CVEs may have an empty window and a next_cursor.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{},"next_cursor":{"type":["string","null"]},"available":{"type":"boolean"}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"503":{"description":"Temporarily unavailable"}},"security":[{},{"apiKey":[]}]}},"/api/v1/actors/{key}":{"get":{"operationId":"actor","summary":"CyberSIXT actor","description":"Read-only stored facts.","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Bounded facts. Empty data is valid. Filtered CVEs may have an empty window and a next_cursor.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{},"next_cursor":{"type":["string","null"]},"available":{"type":"boolean"}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"503":{"description":"Temporarily unavailable"}},"security":[{},{"apiKey":[]}]}},"/api/v1/articles":{"get":{"operationId":"articles","summary":"CyberSIXT articles","description":"published_at is milliseconds since epoch; published_at_source is feed, published_at or fetchedAt. Actor filters accept slugs, canonical keys, MITRE IDs and aliases.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":240}},{"name":"cve","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"vendor","in":"query","required":false,"schema":{"type":"string","maxLength":80}},{"name":"actor","in":"query","required":false,"schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Bounded facts. Empty data is valid. Filtered CVEs may have an empty window and a next_cursor.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{},"next_cursor":{"type":["string","null"]},"available":{"type":"boolean"}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"503":{"description":"Temporarily unavailable"}},"security":[{},{"apiKey":[]}]}},"/api/v1/briefing/latest":{"get":{"operationId":"briefing","summary":"CyberSIXT briefing","description":"Read-only stored facts.","parameters":[],"responses":{"200":{"description":"Bounded facts. Empty data is valid. Filtered CVEs may have an empty window and a next_cursor.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{},"next_cursor":{"type":["string","null"]},"available":{"type":"boolean"}}}}}},"400":{"description":"Invalid parameters"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"503":{"description":"Temporarily unavailable"}},"security":[{},{"apiKey":[]}]}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Optional cx_k_ key; higher limits only."}}}}