{
  "openapi": "3.1.0",
  "info": {
    "title": "Argus SBOM Guard",
    "version": "1.0.1"
  },
  "paths": {
    "/api/v1/projects": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "List Projects",
        "operationId": "list_projects_api_v1_projects_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 200,
              "minimum": 1,
              "default": 25,
              "title": "Per Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageResponse_ProjectResponse_"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "projects"
        ],
        "summary": "Create Project",
        "operationId": "create_project_api_v1_projects_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "409": {
            "description": "Resource already exists"
          },
          "400": {
            "description": "Malformed request body"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/projects/{project_id}": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get Project",
        "operationId": "get_project_api_v1_projects__project_id__get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Project Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "projects"
        ],
        "summary": "Delete Project",
        "operationId": "delete_project_api_v1_projects__project_id__delete",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Project Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "projects"
        ],
        "summary": "Update Project",
        "operationId": "update_project_api_v1_projects__project_id__patch",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Project Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "409": {
            "description": "Resource already exists"
          },
          "400": {
            "description": "Malformed request body"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/projects/{project_id}/history": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Project History",
        "operationId": "project_history_api_v1_projects__project_id__history_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Project Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 200,
              "minimum": 1,
              "default": 3,
              "title": "Per Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageResponse_ProjectSBOMHistoryItem_"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sboms/upload": {
      "post": {
        "tags": [
          "sboms"
        ],
        "summary": "Upload Sbom",
        "operationId": "upload_sbom_api_v1_sboms_upload_post",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Body_upload_sbom_api_v1_sboms_upload_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SBOMUploadResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "400": {
            "description": "Malformed request body"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ]
      }
    },
    "/api/v1/sboms/{sbom_id}/download": {
      "get": {
        "tags": [
          "sboms"
        ],
        "summary": "Download Sbom",
        "operationId": "download_sbom_api_v1_sboms__sbom_id__download_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "sbom_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sbom Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sboms/{sbom_id}": {
      "get": {
        "tags": [
          "sboms"
        ],
        "summary": "Get Sbom",
        "operationId": "get_sbom_api_v1_sboms__sbom_id__get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "sbom_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sbom Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SBOMDetailResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "sboms"
        ],
        "summary": "Delete Sbom",
        "operationId": "delete_sbom_api_v1_sboms__sbom_id__delete",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "sbom_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sbom Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sboms/{sbom_id}/diff/{other_id}": {
      "get": {
        "tags": [
          "sboms"
        ],
        "summary": "Diff Sboms",
        "operationId": "diff_sboms_api_v1_sboms__sbom_id__diff__other_id__get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "sbom_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Sbom Id"
            }
          },
          {
            "name": "other_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Other Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SBOMDiffResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/services": {
      "get": {
        "tags": [
          "services"
        ],
        "summary": "List Services",
        "operationId": "list_services_api_v1_services_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "project_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Project Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceResponse"
                  },
                  "title": "Response List Services Api V1 Services Get"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/services/{service_id}": {
      "delete": {
        "tags": [
          "services"
        ],
        "summary": "Delete Service",
        "operationId": "delete_service_api_v1_services__service_id__delete",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Service Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "409": {
            "description": "Resource already exists"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/vulnerabilities/active": {
      "get": {
        "tags": [
          "vulnerabilities"
        ],
        "summary": "Active Vulnerabilities",
        "operationId": "active_vulnerabilities_api_v1_vulnerabilities_active_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 200,
              "minimum": 1,
              "default": 50,
              "title": "Per Page"
            }
          },
          {
            "name": "severity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Severity"
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Project Id"
            }
          },
          {
            "name": "service_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Service Id"
            }
          },
          {
            "name": "cve_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Cve Id"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "cvss_score",
              "title": "Sort"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "desc",
              "title": "Order"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageResponse_VulnerabilityResponse_"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/vulnerabilities/summary": {
      "get": {
        "tags": [
          "vulnerabilities"
        ],
        "summary": "Vulnerability Summary",
        "operationId": "vulnerability_summary_api_v1_vulnerabilities_summary_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VulnerabilitySummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ]
      }
    },
    "/api/v1/vulnerabilities/acceptances": {
      "get": {
        "tags": [
          "vulnerabilities"
        ],
        "summary": "List Risk Acceptances",
        "operationId": "list_risk_acceptances_api_v1_vulnerabilities_acceptances_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Project Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 200,
              "minimum": 1,
              "default": 50,
              "title": "Per Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageResponse_RiskAcceptanceResponse_"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "vulnerabilities"
        ],
        "summary": "Create Risk Acceptance",
        "operationId": "create_risk_acceptance_api_v1_vulnerabilities_acceptances_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RiskAcceptanceCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskAcceptanceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "400": {
            "description": "Malformed request body"
          },
          "409": {
            "description": "Resource already exists"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/vulnerabilities/acceptances/{acceptance_id}": {
      "delete": {
        "tags": [
          "vulnerabilities"
        ],
        "summary": "Delete Risk Acceptance",
        "operationId": "delete_risk_acceptance_api_v1_vulnerabilities_acceptances__acceptance_id__delete",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "acceptance_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Acceptance Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/alert-rules": {
      "get": {
        "tags": [
          "alert-rules"
        ],
        "summary": "List Alerts",
        "operationId": "list_alerts_api_v1_alert_rules_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 200,
              "minimum": 1,
              "default": 25,
              "title": "Per Page"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageResponse_AlertRuleResponse_"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "alert-rules"
        ],
        "summary": "Create Alert",
        "operationId": "create_alert_api_v1_alert_rules_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AlertRuleCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertRuleResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "400": {
            "description": "Malformed request body"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/alert-rules/{alert_id}": {
      "delete": {
        "tags": [
          "alert-rules"
        ],
        "summary": "Delete Alert",
        "operationId": "delete_alert_api_v1_alert_rules__alert_id__delete",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "alert_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Alert Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "alert-rules"
        ],
        "summary": "Update Alert",
        "operationId": "update_alert_api_v1_alert_rules__alert_id__patch",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "alert_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Alert Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AlertRuleUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "404": {
            "description": "Resource not found"
          },
          "400": {
            "description": "Malformed request body"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/healthz": {
      "get": {
        "summary": "Healthz",
        "operationId": "healthz_healthz_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/version": {
      "get": {
        "summary": "Version",
        "operationId": "version_version_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/readyz": {
      "get": {
        "summary": "Readyz",
        "operationId": "readyz_readyz_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ActionResponse": {
        "properties": {
          "status": {
            "type": "string",
            "title": "Status"
          }
        },
        "type": "object",
        "required": [
          "status"
        ],
        "title": "ActionResponse"
      },
      "AlertRuleCreate": {
        "properties": {
          "project_id": {
            "type": "string",
            "format": "uuid",
            "title": "Project Id"
          },
          "severity_threshold": {
            "$ref": "#/components/schemas/SeverityThreshold",
            "default": "high"
          },
          "notification_type": {
            "$ref": "#/components/schemas/NotificationChannel",
            "default": "email"
          },
          "config": {
            "additionalProperties": true,
            "type": "object",
            "title": "Config",
            "default": {}
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": true
          }
        },
        "type": "object",
        "required": [
          "project_id"
        ],
        "title": "AlertRuleCreate"
      },
      "AlertRuleResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "project_id": {
            "type": "string",
            "format": "uuid",
            "title": "Project Id"
          },
          "severity_threshold": {
            "$ref": "#/components/schemas/SeverityThreshold"
          },
          "notification_type": {
            "$ref": "#/components/schemas/NotificationChannel"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "project_id",
          "severity_threshold",
          "notification_type",
          "enabled",
          "created_at"
        ],
        "title": "AlertRuleResponse"
      },
      "AlertRuleUpdate": {
        "properties": {
          "project_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Project Id"
          },
          "severity_threshold": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SeverityThreshold"
              },
              {
                "type": "null"
              }
            ]
          },
          "notification_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/NotificationChannel"
              },
              {
                "type": "null"
              }
            ]
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          }
        },
        "type": "object",
        "title": "AlertRuleUpdate"
      },
      "Body_upload_sbom_api_v1_sboms_upload_post": {
        "properties": {
          "project_id": {
            "type": "string",
            "title": "Project Id"
          },
          "project_slug": {
            "type": "string",
            "title": "Project Slug"
          },
          "version": {
            "type": "string",
            "title": "Version"
          },
          "service_name": {
            "type": "string",
            "title": "Service Name"
          },
          "file": {
            "type": "string",
            "contentMediaType": "application/octet-stream",
            "title": "File"
          }
        },
        "type": "object",
        "required": [
          "file"
        ],
        "title": "Body_upload_sbom_api_v1_sboms_upload_post"
      },
      "DependencyResponse": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "version": {
            "type": "string",
            "title": "Version"
          },
          "purl": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Purl"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          },
          "license": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "License"
          },
          "is_direct": {
            "type": "boolean",
            "title": "Is Direct"
          }
        },
        "type": "object",
        "required": [
          "name",
          "version",
          "purl",
          "type",
          "license",
          "is_direct"
        ],
        "title": "DependencyResponse"
      },
      "DiffItemResponse": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "version": {
            "type": "string",
            "title": "Version"
          }
        },
        "type": "object",
        "required": [
          "name",
          "version"
        ],
        "title": "DiffItemResponse"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "NotificationChannel": {
        "type": "string",
        "enum": [
          "email",
          "slack",
          "discord"
        ],
        "title": "NotificationChannel"
      },
      "PageResponse_AlertRuleResponse_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/AlertRuleResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "per_page": {
            "type": "integer",
            "title": "Per Page"
          },
          "total_pages": {
            "type": "integer",
            "title": "Total Pages"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "per_page",
          "total_pages",
          "has_more"
        ],
        "title": "PageResponse[AlertRuleResponse]"
      },
      "PageResponse_ProjectResponse_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ProjectResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "per_page": {
            "type": "integer",
            "title": "Per Page"
          },
          "total_pages": {
            "type": "integer",
            "title": "Total Pages"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "per_page",
          "total_pages",
          "has_more"
        ],
        "title": "PageResponse[ProjectResponse]"
      },
      "PageResponse_ProjectSBOMHistoryItem_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ProjectSBOMHistoryItem"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "per_page": {
            "type": "integer",
            "title": "Per Page"
          },
          "total_pages": {
            "type": "integer",
            "title": "Total Pages"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "per_page",
          "total_pages",
          "has_more"
        ],
        "title": "PageResponse[ProjectSBOMHistoryItem]"
      },
      "PageResponse_RiskAcceptanceResponse_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/RiskAcceptanceResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "per_page": {
            "type": "integer",
            "title": "Per Page"
          },
          "total_pages": {
            "type": "integer",
            "title": "Total Pages"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "per_page",
          "total_pages",
          "has_more"
        ],
        "title": "PageResponse[RiskAcceptanceResponse]"
      },
      "PageResponse_VulnerabilityResponse_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/VulnerabilityResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "per_page": {
            "type": "integer",
            "title": "Per Page"
          },
          "total_pages": {
            "type": "integer",
            "title": "Total Pages"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "per_page",
          "total_pages",
          "has_more"
        ],
        "title": "PageResponse[VulnerabilityResponse]"
      },
      "ProjectCreate": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 255,
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "repo_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1024
              },
              {
                "type": "null"
              }
            ],
            "title": "Repo Url"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform"
          }
        },
        "type": "object",
        "required": [
          "name"
        ],
        "title": "ProjectCreate"
      },
      "ProjectResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "slug": {
            "type": "string",
            "title": "Slug"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "repo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Repo Url"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "slug",
          "name",
          "description",
          "repo_url",
          "platform",
          "created_at",
          "updated_at"
        ],
        "title": "ProjectResponse"
      },
      "ProjectSBOMHistoryItem": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          },
          "format": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Format"
          },
          "dependency_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dependency Count"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "version",
          "format",
          "dependency_count",
          "created_at"
        ],
        "title": "ProjectSBOMHistoryItem"
      },
      "ProjectUpdate": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "repo_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1024
              },
              {
                "type": "null"
              }
            ],
            "title": "Repo Url"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform"
          }
        },
        "type": "object",
        "title": "ProjectUpdate"
      },
      "RiskAcceptanceCreate": {
        "properties": {
          "project_id": {
            "type": "string",
            "format": "uuid",
            "title": "Project Id"
          },
          "vulnerability_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vulnerability Id"
          },
          "service_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Id"
          },
          "reason": {
            "type": "string",
            "maxLength": 2000,
            "minLength": 1,
            "title": "Reason"
          }
        },
        "type": "object",
        "required": [
          "project_id",
          "vulnerability_id",
          "reason"
        ],
        "title": "RiskAcceptanceCreate"
      },
      "RiskAcceptanceResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "project_id": {
            "type": "string",
            "format": "uuid",
            "title": "Project Id"
          },
          "service_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Id"
          },
          "vulnerability_id": {
            "type": "string",
            "format": "uuid",
            "title": "Vulnerability Id"
          },
          "reason": {
            "type": "string",
            "title": "Reason"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "project_id",
          "service_id",
          "vulnerability_id",
          "reason",
          "created_at",
          "updated_at"
        ],
        "title": "RiskAcceptanceResponse"
      },
      "SBOMDetailResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "project_id": {
            "type": "string",
            "format": "uuid",
            "title": "Project Id"
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          },
          "format": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Format"
          },
          "sha256": {
            "type": "string",
            "title": "Sha256"
          },
          "dependency_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dependency Count"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "dependencies": {
            "items": {
              "$ref": "#/components/schemas/DependencyResponse"
            },
            "type": "array",
            "title": "Dependencies"
          },
          "vulnerabilities": {
            "items": {
              "$ref": "#/components/schemas/VulnerabilityBriefResponse"
            },
            "type": "array",
            "title": "Vulnerabilities"
          }
        },
        "type": "object",
        "required": [
          "id",
          "project_id",
          "version",
          "format",
          "sha256",
          "dependency_count",
          "created_at",
          "dependencies",
          "vulnerabilities"
        ],
        "title": "SBOMDetailResponse"
      },
      "SBOMDiffResponse": {
        "properties": {
          "added": {
            "items": {
              "$ref": "#/components/schemas/DiffItemResponse"
            },
            "type": "array",
            "title": "Added"
          },
          "removed": {
            "items": {
              "$ref": "#/components/schemas/DiffItemResponse"
            },
            "type": "array",
            "title": "Removed"
          },
          "changed": {
            "items": {
              "$ref": "#/components/schemas/VersionChangeResponse"
            },
            "type": "array",
            "title": "Changed"
          }
        },
        "type": "object",
        "required": [
          "added",
          "removed",
          "changed"
        ],
        "title": "SBOMDiffResponse"
      },
      "SBOMUploadResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "format": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Format"
          },
          "dependency_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dependency Count"
          },
          "sha256": {
            "type": "string",
            "title": "Sha256"
          }
        },
        "type": "object",
        "required": [
          "id",
          "format",
          "dependency_count",
          "sha256"
        ],
        "title": "SBOMUploadResponse"
      },
      "ServiceResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "project_id": {
            "type": "string",
            "format": "uuid",
            "title": "Project Id"
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "project_id"
        ],
        "title": "ServiceResponse"
      },
      "SeverityThreshold": {
        "type": "string",
        "enum": [
          "critical",
          "high",
          "medium",
          "low"
        ],
        "title": "SeverityThreshold"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "VersionChangeResponse": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "from_version": {
            "type": "string",
            "title": "From Version"
          },
          "to_version": {
            "type": "string",
            "title": "To Version"
          }
        },
        "type": "object",
        "required": [
          "name",
          "from_version",
          "to_version"
        ],
        "title": "VersionChangeResponse"
      },
      "VulnerabilityBriefResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "cve_id": {
            "type": "string",
            "title": "Cve Id"
          },
          "severity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Severity"
          },
          "summary": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Summary"
          }
        },
        "type": "object",
        "required": [
          "id",
          "cve_id",
          "severity",
          "summary"
        ],
        "title": "VulnerabilityBriefResponse"
      },
      "VulnerabilityResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "cve_id": {
            "type": "string",
            "title": "Cve Id"
          },
          "severity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Severity"
          },
          "cvss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Score"
          },
          "epss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Score"
          },
          "epss_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Percentile"
          },
          "summary": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Summary"
          },
          "source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source"
          },
          "published_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Published At"
          },
          "projects": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Projects"
          },
          "services": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Services"
          }
        },
        "type": "object",
        "required": [
          "id",
          "cve_id",
          "severity",
          "cvss_score",
          "epss_score",
          "epss_percentile",
          "summary",
          "source",
          "published_at",
          "projects",
          "services"
        ],
        "title": "VulnerabilityResponse"
      },
      "VulnerabilitySummaryResponse": {
        "properties": {
          "counts": {
            "additionalProperties": {
              "type": "integer"
            },
            "type": "object",
            "title": "Counts"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "affected_projects": {
            "type": "integer",
            "title": "Affected Projects"
          }
        },
        "type": "object",
        "required": [
          "counts",
          "total",
          "affected_projects"
        ],
        "title": "VulnerabilitySummaryResponse"
      }
    },
    "securitySchemes": {
      "HTTPBearer": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}
