Files
cve-dashboard/docs/api/atlasinfosec-api-spec.json

1316 lines
49 KiB
JSON

{
"openapi": "3.1.0",
"info": {
"title": "Atlas InfoSec API Webserver",
"description": "FastAPI webserver providing optimized access to Atlas Security data with Bearer token authentication",
"version": "1.0.0"
},
"paths": {
"/kenna-owners": {
"get": {
"summary": "Get Kenna Owners",
"operationId": "get_kenna_owners_kenna_owners_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/kenna-assets": {
"get": {
"summary": "Get Kenna Assets",
"operationId": "get_kenna_assets_kenna_assets_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
},
"post": {
"summary": "Get Kenna Assets By Owners Endpoint",
"operationId": "get_kenna_assets_by_owners_endpoint_kenna_assets_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/KennaOwnersList"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/kenna-assets/{page}": {
"get": {
"summary": "Get Kenna Assets Paginated",
"operationId": "get_kenna_assets_paginated_kenna_assets__page__get",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "page",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Page"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/kenna-vulnerabilities/{asset_id}/{cve_id}": {
"get": {
"summary": "Get Kenna Vulnerability By Asset Cve",
"description": "Get vulnerability details for specific asset and CVE combination",
"operationId": "get_kenna_vulnerability_by_asset_cve_kenna_vulnerabilities__asset_id___cve_id__get",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "asset_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Asset Id"
}
},
{
"name": "cve_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Cve Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/kenna-vulnerabilities": {
"post": {
"summary": "Get Bulk Kenna Vulnerabilities By Asset Cve",
"description": "Get vulnerability details for multiple asset+CVE combinations",
"operationId": "get_bulk_kenna_vulnerabilities_by_asset_cve_kenna_vulnerabilities_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/KennaAssetCvesBulk"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/cache/refresh-kenna": {
"post": {
"summary": "Refresh Kenna Data Cache",
"operationId": "refresh_kenna_data_cache_cache_refresh_kenna_post",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/ivanti-owners": {
"get": {
"summary": "Get Ivanti Owners",
"operationId": "get_ivanti_owners_ivanti_owners_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/ivanti-assets": {
"get": {
"summary": "Get Ivanti Assets",
"operationId": "get_ivanti_assets_ivanti_assets_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
},
"post": {
"summary": "Get Ivanti Assets By Owners Endpoint",
"operationId": "get_ivanti_assets_by_owners_endpoint_ivanti_assets_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IvantiOwnersList"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/ivanti-assets/{page}": {
"get": {
"summary": "Get Ivanti Assets Paginated",
"operationId": "get_ivanti_assets_paginated_ivanti_assets__page__get",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "page",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Page"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/ivanti-asset/{host_id}": {
"get": {
"summary": "Get Ivanti Asset By Host",
"description": "Get single active asset by host_id",
"operationId": "get_ivanti_asset_by_host_ivanti_asset__host_id__get",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "host_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Host Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/ivanti-vulnerabilities/{host_id}/{qualys_id}": {
"get": {
"summary": "Get Ivanti Vulnerability By Host Qualys",
"description": "Get vulnerability details for specific host and Qualys ID combination",
"operationId": "get_ivanti_vulnerability_by_host_qualys_ivanti_vulnerabilities__host_id___qualys_id__get",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "host_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Host Id"
}
},
{
"name": "qualys_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Qualys Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/ivanti-vulnerabilities": {
"post": {
"summary": "Get Bulk Ivanti Vulnerabilities By Host Qualys",
"description": "Get vulnerability details for multiple host+Qualys ID combinations",
"operationId": "get_bulk_ivanti_vulnerabilities_by_host_qualys_ivanti_vulnerabilities_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IvantiHostFindingsBulk"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/ivanti-vulnerabilities-by-host/{host_id}": {
"get": {
"summary": "Get Active Ivanti Vulnerabilities By Host",
"description": "Get all active vulnerability details for a specific host",
"operationId": "get_active_ivanti_vulnerabilities_by_host_ivanti_vulnerabilities_by_host__host_id__get",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "host_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Host Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/ivanti-vulnerabilities-by-host": {
"post": {
"summary": "Get Bulk Active Ivanti Vulnerabilities By Hosts",
"description": "Get all active vulnerability details for multiple hosts",
"operationId": "get_bulk_active_ivanti_vulnerabilities_by_hosts_ivanti_vulnerabilities_by_host_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IvantiHostsBulk"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/cache/refresh-ivanti": {
"post": {
"summary": "Refresh Ivanti Data Cache",
"operationId": "refresh_ivanti_data_cache_cache_refresh_ivanti_post",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/hosts/{host_id}/action-plans": {
"put": {
"summary": "Create Action Plan",
"description": "Create action plan for host and vulnerability",
"operationId": "create_action_plan_hosts__host_id__action_plans_put",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "host_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Host Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateActionPlanRequest"
},
"examples": {
"decommission": {
"summary": "Decommission Plan",
"description": "Plan to decommission entire host (no qualys_id needed)",
"value": {
"plan_type": "decommission",
"commit_date": "2026-07-01"
}
},
"remediation": {
"summary": "Remediation Plan",
"description": "Promise to remediate specific vulnerability",
"value": {
"plan_type": "remediation",
"qualys_id": "QID-12345",
"commit_date": "2026-07-01"
}
},
"false_positive": {
"summary": "False Positive Plan",
"description": "Mark vulnerability as false positive (jira_vnr optional)",
"value": {
"plan_type": "false_positive",
"qualys_id": "QID-12345",
"jira_vnr": "VNR-67890",
"commit_date": "2026-07-01"
}
},
"risk_acceptance": {
"summary": "Risk Acceptance Plan",
"description": "Accept risk with exemption (archer_exc optional)",
"value": {
"plan_type": "risk_acceptance",
"qualys_id": "QID-12345",
"archer_exc": "EXC-54321",
"commit_date": "2026-07-01"
}
},
"scan_exclusion": {
"summary": "Scan Exclusion Plan",
"description": "Exclude entire host from scanning (asset-level, no qualys_id needed, archer_exc optional)",
"value": {
"plan_type": "scan_exclusion",
"commit_date": "2026-07-01"
}
},
"remediation_by_findings_id": {
"summary": "Remediation by Host Findings ID",
"description": "Create plan using active_host_findings_id instead of qualys_id",
"value": {
"plan_type": "remediation",
"active_host_findings_id": 2647708909,
"commit_date": "2026-07-01"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"get": {
"summary": "Get Action Plans By Host",
"description": "Get full action plan history (active and inactive) for a specific host_id",
"operationId": "get_action_plans_by_host_hosts__host_id__action_plans_get",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "host_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Host Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"patch": {
"summary": "Update Action Plan",
"description": "Update existing action plan",
"operationId": "update_action_plan_hosts__host_id__action_plans_patch",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "host_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Host Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateActionPlanRequest"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/hosts/create-bulk-action-plans": {
"post": {
"summary": "Create Bulk Action Plans",
"description": "Create action plans for multiple hosts in a single request",
"operationId": "create_bulk_action_plans_hosts_create_bulk_action_plans_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateBulkActionPlansRequest"
},
"examples": {
"bulk_decommission": {
"summary": "Bulk Decommission",
"description": "Create decommission plans for multiple hosts",
"value": {
"host_ids": [
123,
456,
789
],
"plan_type": "decommission",
"commit_date": "2026-07-01"
}
},
"bulk_remediation": {
"summary": "Bulk Remediation",
"description": "Create remediation plans for a specific vulnerability across multiple hosts",
"value": {
"host_ids": [
123,
456,
789
],
"plan_type": "remediation",
"qualys_id": "QID-12345",
"commit_date": "2026-07-01"
}
},
"bulk_false_positive": {
"summary": "Bulk False Positive",
"description": "Mark a vulnerability as false positive across multiple hosts (jira_vnr optional)",
"value": {
"host_ids": [
123,
456,
789
],
"plan_type": "false_positive",
"qualys_id": "QID-12345",
"jira_vnr": "VNR-67890",
"commit_date": "2026-07-01"
}
},
"bulk_risk_acceptance": {
"summary": "Bulk Risk Acceptance",
"description": "Accept risk for a vulnerability across multiple hosts (archer_exc optional)",
"value": {
"host_ids": [
123,
456,
789
],
"plan_type": "risk_acceptance",
"qualys_id": "QID-12345",
"archer_exc": "EXC-54321",
"commit_date": "2026-07-01"
}
},
"bulk_scan_exclusion": {
"summary": "Bulk Scan Exclusion",
"description": "Exclude multiple hosts from scanning (asset-level, no qualys_id needed, archer_exc optional)",
"value": {
"host_ids": [
123,
456,
789
],
"plan_type": "scan_exclusion",
"commit_date": "2026-07-01"
}
},
"bulk_remediation_by_findings_id": {
"summary": "Bulk Remediation by Host Findings ID",
"description": "Create remediation plans using active_host_findings_id instead of qualys_id",
"value": {
"host_ids": [
123,
456,
789
],
"plan_type": "remediation",
"active_host_findings_id": 2647708909,
"commit_date": "2026-07-01"
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/health": {
"get": {
"summary": "Health Check",
"operationId": "health_check_health_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/is-alive": {
"get": {
"summary": "Is Alive",
"operationId": "is_alive_is_alive_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
}
},
"components": {
"schemas": {
"CreateActionPlanRequest": {
"properties": {
"plan_type": {
"type": "string",
"title": "Plan Type"
},
"commit_date": {
"type": "string",
"title": "Commit Date"
},
"qualys_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Qualys Id"
},
"active_host_findings_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Active Host Findings Id"
},
"jira_vnr": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Jira Vnr"
},
"archer_exc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Archer Exc"
}
},
"type": "object",
"required": [
"plan_type",
"commit_date"
],
"title": "CreateActionPlanRequest"
},
"CreateBulkActionPlansRequest": {
"properties": {
"host_ids": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Host Ids"
},
"plan_type": {
"type": "string",
"title": "Plan Type"
},
"commit_date": {
"type": "string",
"title": "Commit Date"
},
"qualys_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Qualys Id"
},
"active_host_findings_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Active Host Findings Id"
},
"jira_vnr": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Jira Vnr"
},
"archer_exc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Archer Exc"
}
},
"type": "object",
"required": [
"host_ids",
"plan_type",
"commit_date"
],
"title": "CreateBulkActionPlansRequest"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"IvantiHostFindings": {
"properties": {
"host_id": {
"type": "integer",
"title": "Host Id"
},
"qualys_ids": {
"items": {
"type": "string"
},
"type": "array",
"title": "Qualys Ids"
}
},
"type": "object",
"required": [
"host_id",
"qualys_ids"
],
"title": "IvantiHostFindings"
},
"IvantiHostFindingsBulk": {
"properties": {
"assets": {
"items": {
"$ref": "#/components/schemas/IvantiHostFindings"
},
"type": "array",
"title": "Assets"
}
},
"type": "object",
"required": [
"assets"
],
"title": "IvantiHostFindingsBulk"
},
"IvantiHostsBulk": {
"properties": {
"host_ids": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Host Ids"
}
},
"type": "object",
"required": [
"host_ids"
],
"title": "IvantiHostsBulk"
},
"IvantiOwnersList": {
"properties": {
"owners": {
"items": {
"type": "string"
},
"type": "array",
"title": "Owners"
}
},
"type": "object",
"required": [
"owners"
],
"title": "IvantiOwnersList"
},
"KennaAssetCves": {
"properties": {
"asset_id": {
"type": "integer",
"title": "Asset Id"
},
"cve_ids": {
"items": {
"type": "string"
},
"type": "array",
"title": "Cve Ids"
}
},
"type": "object",
"required": [
"asset_id",
"cve_ids"
],
"title": "KennaAssetCves"
},
"KennaAssetCvesBulk": {
"properties": {
"assets": {
"items": {
"$ref": "#/components/schemas/KennaAssetCves"
},
"type": "array",
"title": "Assets"
}
},
"type": "object",
"required": [
"assets"
],
"title": "KennaAssetCvesBulk"
},
"KennaOwnersList": {
"properties": {
"owners": {
"items": {
"type": "string"
},
"type": "array",
"title": "Owners"
}
},
"type": "object",
"required": [
"owners"
],
"title": "KennaOwnersList"
},
"UpdateActionPlanRequest": {
"properties": {
"action_plan_id": {
"type": "string",
"title": "Action Plan Id"
},
"updates": {
"additionalProperties": true,
"type": "object",
"title": "Updates"
}
},
"type": "object",
"required": [
"action_plan_id",
"updates"
],
"title": "UpdateActionPlanRequest"
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
}
},
"securitySchemes": {
"APIKeyHeader": {
"type": "apiKey",
"description": "Input Bearer Token (e.g., Bearer eyJhbGciOiJSUzI1NiIs...)",
"in": "header",
"name": "Authorization"
}
}
}
}