{
  "components": {
    "schemas": {
      "AIConfigRequest": {
        "description": "Request schema for updating AI configuration.",
        "properties": {
          "company_context": {
            "anyOf": [
              {
                "maxLength": 4000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Company Context"
          }
        },
        "title": "AIConfigRequest",
        "type": "object"
      },
      "AIConfigResponse": {
        "description": "AI configuration for the current tenant.",
        "properties": {
          "company_context": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Company Context"
          }
        },
        "title": "AIConfigResponse",
        "type": "object"
      },
      "APIKeyResult": {
        "description": "API key result.",
        "properties": {
          "application": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Application"
          },
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "last_used_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Used At"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "owner": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AccountResult"
              },
              {
                "$ref": "#/components/schemas/UserResult"
              },
              {
                "type": "null"
              }
            ],
            "title": "Owner"
          },
          "permissions": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Permissions"
          },
          "repository_selection": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Repository Selection"
          },
          "updated_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "required": [
          "id",
          "name",
          "created_at",
          "updated_at",
          "expires_at",
          "last_used_at",
          "application",
          "owner"
        ],
        "title": "APIKeyResult",
        "type": "object"
      },
      "AWSTag": {
        "description": "AWS tag key-value pair.",
        "properties": {
          "key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Key"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          }
        },
        "title": "AWSTag",
        "type": "object"
      },
      "AcceptVulnerabilityRequest": {
        "description": "Request to accept (acknowledge risk) a CVE.",
        "properties": {
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "until": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Until"
          }
        },
        "title": "AcceptVulnerabilityRequest",
        "type": "object"
      },
      "AccountResult": {
        "description": "Account result.",
        "properties": {
          "account_id": {
            "title": "Account Id",
            "type": "string"
          },
          "active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Active"
          },
          "application": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Application"
          },
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "email": {
            "title": "Email",
            "type": "string"
          },
          "has_mfa": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Mfa"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "lastactivity": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lastactivity"
          },
          "linked": {
            "default": false,
            "title": "Linked",
            "type": "boolean"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "user": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserResult"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "account_id",
          "name",
          "email",
          "has_mfa",
          "active",
          "lastactivity",
          "application"
        ],
        "title": "AccountResult",
        "type": "object"
      },
      "ActionItem": {
        "description": "Full detail of a prescriptive remediation action.",
        "properties": {
          "action_text": {
            "title": "Action Text",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "is_base_image": {
            "title": "Is Base Image",
            "type": "boolean"
          },
          "metadata": {
            "$ref": "#/components/schemas/ActionItemMetadata"
          },
          "parent_action_item": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ActionItemSummary"
              },
              {
                "type": "null"
              }
            ]
          },
          "prompt": {
            "default": "",
            "title": "Prompt",
            "type": "string"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/RemediationStep"
            },
            "title": "Steps",
            "type": "array"
          }
        },
        "required": [
          "id",
          "is_base_image",
          "action_text",
          "steps",
          "metadata"
        ],
        "title": "ActionItem",
        "type": "object"
      },
      "ActionItemMetadata": {
        "description": "Structured metadata for an action item.",
        "properties": {
          "cves": {
            "items": {
              "$ref": "#/components/schemas/CVEInfo"
            },
            "title": "Cves",
            "type": "array"
          },
          "dockerfile_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dockerfile Url"
          },
          "image_name": {
            "title": "Image Name",
            "type": "string"
          },
          "image_uri": {
            "title": "Image Uri",
            "type": "string"
          },
          "impacted_images": {
            "items": {
              "$ref": "#/components/schemas/ImpactedImage"
            },
            "title": "Impacted Images",
            "type": "array"
          },
          "packages": {
            "items": {
              "$ref": "#/components/schemas/ActionItemPackage"
            },
            "title": "Packages",
            "type": "array"
          },
          "repo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Repo Url"
          },
          "service_image": {
            "title": "Service Image",
            "type": "string"
          }
        },
        "required": [
          "image_uri",
          "image_name",
          "service_image",
          "cves",
          "packages",
          "impacted_images"
        ],
        "title": "ActionItemMetadata",
        "type": "object"
      },
      "ActionItemPackage": {
        "description": "A package referenced by an action item.",
        "properties": {
          "current_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Current Version"
          },
          "fix_version": {
            "title": "Fix Version",
            "type": "string"
          },
          "package_name": {
            "title": "Package Name",
            "type": "string"
          },
          "package_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Package Type"
          }
        },
        "required": [
          "package_name",
          "fix_version"
        ],
        "title": "ActionItemPackage",
        "type": "object"
      },
      "ActionItemSummary": {
        "description": "Lightweight summary of a remediation action for list views.",
        "properties": {
          "action_text": {
            "title": "Action Text",
            "type": "string"
          },
          "cve_count": {
            "title": "Cve Count",
            "type": "integer"
          },
          "dockerfile_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dockerfile Url"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "image_count": {
            "title": "Image Count",
            "type": "integer"
          },
          "image_name": {
            "title": "Image Name",
            "type": "string"
          },
          "image_uri": {
            "title": "Image Uri",
            "type": "string"
          },
          "is_base_image": {
            "title": "Is Base Image",
            "type": "boolean"
          },
          "package_count": {
            "title": "Package Count",
            "type": "integer"
          },
          "repo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Repo Url"
          },
          "service_image": {
            "title": "Service Image",
            "type": "string"
          },
          "severity_breakdown": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Severity Breakdown",
            "type": "object"
          }
        },
        "required": [
          "id",
          "service_image",
          "is_base_image",
          "image_uri",
          "image_name",
          "action_text",
          "severity_breakdown",
          "cve_count",
          "package_count",
          "image_count"
        ],
        "title": "ActionItemSummary",
        "type": "object"
      },
      "ActionItemsSummaryResponse": {
        "description": "Summary data for action items tab - fetched once on initial load.",
        "properties": {
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "total_count"
        ],
        "title": "ActionItemsSummaryResponse",
        "type": "object"
      },
      "ActionType": {
        "description": "Types of remediation actions.",
        "enum": [
          "update",
          "rebuild",
          "deploy"
        ],
        "title": "ActionType",
        "type": "string"
      },
      "AffectedPackage": {
        "description": "Package affected by a CVE.",
        "properties": {
          "fix_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fix Version"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "type": {
            "title": "Type",
            "type": "string"
          },
          "version": {
            "title": "Version",
            "type": "string"
          }
        },
        "required": [
          "name",
          "version",
          "type"
        ],
        "title": "AffectedPackage",
        "type": "object"
      },
      "AnalystAgentActionsConfig-Input": {
        "properties": {
          "assign_owner": {
            "$ref": "#/components/schemas/AnalystAgentAssignOwnerConfig"
          },
          "remediate": {
            "$ref": "#/components/schemas/AnalystAgentRemediateConfig"
          },
          "reprioritize": {
            "$ref": "#/components/schemas/AnalystAgentReprioritizeConfig"
          },
          "snooze": {
            "$ref": "#/components/schemas/AnalystAgentSnoozeConfig"
          }
        },
        "title": "AnalystAgentActionsConfig",
        "type": "object"
      },
      "AnalystAgentActionsConfig-Output": {
        "properties": {
          "assign_owner": {
            "$ref": "#/components/schemas/AnalystAgentAssignOwnerConfig"
          },
          "remediate": {
            "$ref": "#/components/schemas/AnalystAgentRemediateConfig"
          },
          "reprioritize": {
            "$ref": "#/components/schemas/AnalystAgentReprioritizeConfig"
          },
          "snooze": {
            "$ref": "#/components/schemas/AnalystAgentSnoozeConfig"
          }
        },
        "title": "AnalystAgentActionsConfig",
        "type": "object"
      },
      "AnalystAgentAssignOwnerConfig": {
        "properties": {
          "enabled": {
            "default": false,
            "title": "Enabled",
            "type": "boolean"
          },
          "policy": {
            "default": "",
            "maxLength": 4000,
            "title": "Policy",
            "type": "string"
          }
        },
        "title": "AnalystAgentAssignOwnerConfig",
        "type": "object"
      },
      "AnalystAgentConfig-Input": {
        "properties": {
          "actions": {
            "$ref": "#/components/schemas/AnalystAgentActionsConfig-Input"
          },
          "enabled": {
            "default": false,
            "title": "Enabled",
            "type": "boolean"
          }
        },
        "title": "AnalystAgentConfig",
        "type": "object"
      },
      "AnalystAgentConfig-Output": {
        "properties": {
          "actions": {
            "$ref": "#/components/schemas/AnalystAgentActionsConfig-Output"
          },
          "enabled": {
            "default": false,
            "title": "Enabled",
            "type": "boolean"
          }
        },
        "title": "AnalystAgentConfig",
        "type": "object"
      },
      "AnalystAgentRemediateConfig": {
        "properties": {
          "enabled": {
            "default": false,
            "title": "Enabled",
            "type": "boolean"
          },
          "min_confidence": {
            "$ref": "#/components/schemas/RemediationConfidence",
            "default": "high"
          }
        },
        "title": "AnalystAgentRemediateConfig",
        "type": "object"
      },
      "AnalystAgentReprioritizeConfig": {
        "properties": {
          "enabled": {
            "default": false,
            "title": "Enabled",
            "type": "boolean"
          }
        },
        "title": "AnalystAgentReprioritizeConfig",
        "type": "object"
      },
      "AnalystAgentSnoozeConfig": {
        "properties": {
          "duration_days": {
            "default": 14,
            "maximum": 365.0,
            "minimum": 1.0,
            "title": "Duration Days",
            "type": "integer"
          },
          "enabled": {
            "default": false,
            "title": "Enabled",
            "type": "boolean"
          },
          "max_score": {
            "default": 40,
            "maximum": 100.0,
            "minimum": 0.0,
            "title": "Max Score",
            "type": "integer"
          }
        },
        "title": "AnalystAgentSnoozeConfig",
        "type": "object"
      },
      "AnalystReviewedEvent": {
        "description": "The analyst agent reviewed the Issue and rewrote the description it serves.",
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/AnalystReviewedMetadata"
          },
          "type": {
            "const": "analyst_reviewed",
            "default": "analyst_reviewed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author"
        ],
        "title": "AnalystReviewedEvent",
        "type": "object"
      },
      "AnalystReviewedMetadata": {
        "properties": {
          "rationale": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rationale"
          }
        },
        "title": "AnalystReviewedMetadata",
        "type": "object"
      },
      "AnchorCandidate": {
        "description": "A label and the returned column holding the id of a node bound to it.",
        "properties": {
          "id_field": {
            "title": "Id Field",
            "type": "string"
          },
          "label": {
            "title": "Label",
            "type": "string"
          }
        },
        "required": [
          "label",
          "id_field"
        ],
        "title": "AnchorCandidate",
        "type": "object"
      },
      "AttackPathContextResponse": {
        "description": "API response schema for attack path context.",
        "properties": {
          "context_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Context Id"
          },
          "type": {
            "enum": [
              "default",
              "scenario",
              "rule"
            ],
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "title": "AttackPathContextResponse",
        "type": "object"
      },
      "AttackPathDetailsResponse": {
        "description": "API response schema for detailed attack path information.",
        "properties": {
          "ai_summary": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ai Summary"
          },
          "archived": {
            "default": false,
            "title": "Archived",
            "type": "boolean"
          },
          "confidence_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confidence Score"
          },
          "context": {
            "$ref": "#/components/schemas/AttackPathContextResponse"
          },
          "criticality_score": {
            "title": "Criticality Score",
            "type": "number"
          },
          "cypher_query": {
            "title": "Cypher Query",
            "type": "string"
          },
          "factors": {
            "items": {
              "$ref": "#/components/schemas/FactorResponse"
            },
            "title": "Factors",
            "type": "array"
          },
          "first_seen": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Seen"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "impact_score": {
            "title": "Impact Score",
            "type": "number"
          },
          "last_seen": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Seen"
          },
          "likelihood_score": {
            "title": "Likelihood Score",
            "type": "number"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/AttackPathStepResponse"
            },
            "title": "Steps",
            "type": "array"
          },
          "total_resources": {
            "title": "Total Resources",
            "type": "integer"
          },
          "total_steps": {
            "title": "Total Steps",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "total_steps",
          "total_resources",
          "factors",
          "cypher_query",
          "steps",
          "impact_score",
          "likelihood_score",
          "criticality_score",
          "confidence_score",
          "context"
        ],
        "title": "AttackPathDetailsResponse",
        "type": "object"
      },
      "AttackPathFromAssetResponse": {
        "description": "API response schema for attack paths from asset.",
        "properties": {
          "attack_paths": {
            "items": {
              "$ref": "#/components/schemas/AttackPathSummaryResponse"
            },
            "title": "Attack Paths",
            "type": "array"
          },
          "filters": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Filters",
            "type": "object"
          },
          "node_label": {
            "title": "Node Label",
            "type": "string"
          }
        },
        "required": [
          "node_label",
          "filters",
          "attack_paths"
        ],
        "title": "AttackPathFromAssetResponse",
        "type": "object"
      },
      "AttackPathNodeInfoResponse": {
        "description": "API response schema for node information in an attack path.",
        "properties": {
          "down_ids": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Down Ids",
            "type": "array"
          },
          "fields": {
            "additionalProperties": true,
            "title": "Fields",
            "type": "object"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "is_critical_asset": {
            "title": "Is Critical Asset",
            "type": "boolean"
          },
          "labels": {
            "items": {
              "type": "string"
            },
            "title": "Labels",
            "type": "array"
          },
          "node_ref": {
            "title": "Node Ref",
            "type": "string"
          },
          "up_ids": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Up Ids",
            "type": "array"
          }
        },
        "required": [
          "id",
          "labels",
          "is_critical_asset",
          "fields",
          "node_ref"
        ],
        "title": "AttackPathNodeInfoResponse",
        "type": "object"
      },
      "AttackPathSignalMetadata": {
        "properties": {
          "confidence_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confidence Score"
          },
          "context": {
            "$ref": "#/components/schemas/AttackPathContextResponse"
          },
          "criticality_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Criticality Score"
          },
          "kind": {
            "const": "attack_path",
            "default": "attack_path",
            "title": "Kind",
            "type": "string"
          },
          "total_steps": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Steps"
          }
        },
        "required": [
          "context"
        ],
        "title": "AttackPathSignalMetadata",
        "type": "object"
      },
      "AttackPathStepResponse": {
        "description": "API response schema for a single step in an attack path.",
        "properties": {
          "capability": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Capability"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "impacted_nodes": {
            "items": {
              "$ref": "#/components/schemas/AttackPathNodeInfoResponse"
            },
            "title": "Impacted Nodes",
            "type": "array"
          },
          "impacted_nodes_total_count": {
            "minimum": 0.0,
            "title": "Impacted Nodes Total Count",
            "type": "integer"
          },
          "reason_nodes": {
            "items": {
              "$ref": "#/components/schemas/AttackPathNodeInfoResponse"
            },
            "title": "Reason Nodes",
            "type": "array"
          },
          "reason_nodes_total_count": {
            "minimum": 0.0,
            "title": "Reason Nodes Total Count",
            "type": "integer"
          },
          "templated_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Templated Description"
          },
          "type": {
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "description",
          "impacted_nodes",
          "impacted_nodes_total_count",
          "reason_nodes",
          "reason_nodes_total_count"
        ],
        "title": "AttackPathStepResponse",
        "type": "object"
      },
      "AttackPathSummaryResponse": {
        "description": "API response schema for attack path summary.",
        "properties": {
          "archived": {
            "default": false,
            "title": "Archived",
            "type": "boolean"
          },
          "confidence_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confidence Score"
          },
          "context": {
            "$ref": "#/components/schemas/AttackPathContextResponse"
          },
          "criticality_score": {
            "title": "Criticality Score",
            "type": "number"
          },
          "cypher_query": {
            "title": "Cypher Query",
            "type": "string"
          },
          "factors": {
            "items": {
              "$ref": "#/components/schemas/FactorResponse"
            },
            "title": "Factors",
            "type": "array"
          },
          "first_seen": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Seen"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "impact_score": {
            "title": "Impact Score",
            "type": "number"
          },
          "last_seen": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Seen"
          },
          "likelihood_score": {
            "title": "Likelihood Score",
            "type": "number"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "total_resources": {
            "title": "Total Resources",
            "type": "integer"
          },
          "total_steps": {
            "title": "Total Steps",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "total_steps",
          "total_resources",
          "factors",
          "cypher_query",
          "impact_score",
          "likelihood_score",
          "criticality_score",
          "confidence_score",
          "context"
        ],
        "title": "AttackPathSummaryResponse",
        "type": "object"
      },
      "AttackPathsResponse": {
        "description": "API response containing active attack-path summaries.\n\n``items`` holds the page, sorted by criticality; compare its length with\n``total_count`` to tell a complete answer from a truncated one.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/AttackPathSummaryResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "AttackPathsResponse",
        "type": "object"
      },
      "AuditActionResponse": {
        "description": "What was attempted.",
        "properties": {
          "type": {
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "title": "AuditActionResponse",
        "type": "object"
      },
      "AuditActorResponse": {
        "description": "Who performed the action.",
        "properties": {
          "application_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Application Name"
          },
          "auth_mechanism": {
            "$ref": "#/components/schemas/AuditAuthMechanism"
          },
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Role"
          },
          "subject_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subject Id"
          },
          "subject_type": {
            "$ref": "#/components/schemas/AuditSubjectType"
          },
          "user": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserRef"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "subject_id",
          "subject_type",
          "auth_mechanism",
          "role"
        ],
        "title": "AuditActorResponse",
        "type": "object"
      },
      "AuditAuthMechanism": {
        "enum": [
          "sso_cookie",
          "bearer_token",
          "machine_token",
          "delegated",
          "neo4j_login",
          "neo4j_api_key",
          "none"
        ],
        "title": "AuditAuthMechanism",
        "type": "string"
      },
      "AuditChangeResponse": {
        "description": "What the action changed, when the action recorded it.",
        "properties": {
          "fields": {
            "items": {
              "$ref": "#/components/schemas/AuditFieldChangeResponse"
            },
            "title": "Fields",
            "type": "array"
          },
          "truncated": {
            "title": "Truncated",
            "type": "boolean"
          }
        },
        "required": [
          "fields",
          "truncated"
        ],
        "title": "AuditChangeResponse",
        "type": "object"
      },
      "AuditDataAccessResponse": {
        "description": "What the action read, for arbitrary-query and agent tool paths.",
        "properties": {
          "query_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query Text"
          },
          "query_truncated": {
            "title": "Query Truncated",
            "type": "boolean"
          },
          "row_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Row Count"
          },
          "tool_arguments": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tool Arguments"
          },
          "tool_arguments_truncated": {
            "title": "Tool Arguments Truncated",
            "type": "boolean"
          }
        },
        "required": [
          "query_text",
          "query_truncated",
          "row_count",
          "tool_arguments",
          "tool_arguments_truncated"
        ],
        "title": "AuditDataAccessResponse",
        "type": "object"
      },
      "AuditEventResponse": {
        "description": "One recorded action.",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/AuditActionResponse"
          },
          "actor": {
            "$ref": "#/components/schemas/AuditActorResponse"
          },
          "change": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditChangeResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "data_access": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditDataAccessResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "event_id": {
            "title": "Event Id",
            "type": "string"
          },
          "http": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AuditHttpResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Metadata",
            "type": "object"
          },
          "outcome": {
            "$ref": "#/components/schemas/AuditOutcome"
          },
          "resource": {
            "$ref": "#/components/schemas/AuditResourceResponse"
          },
          "service": {
            "$ref": "#/components/schemas/AuditServiceResponse"
          },
          "timestamp": {
            "format": "date-time",
            "title": "Timestamp",
            "type": "string"
          }
        },
        "required": [
          "event_id",
          "timestamp",
          "actor",
          "action",
          "resource",
          "http",
          "outcome",
          "change",
          "data_access",
          "service",
          "metadata"
        ],
        "title": "AuditEventResponse",
        "type": "object"
      },
      "AuditEventsPageResponse": {
        "description": "One page of audit events, newest first.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/AuditEventResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "required": [
          "items",
          "limit",
          "next_cursor"
        ],
        "title": "AuditEventsPageResponse",
        "type": "object"
      },
      "AuditFieldChangeResponse": {
        "description": "One field the action changed.",
        "properties": {
          "after": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "After"
          },
          "before": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Before"
          },
          "field": {
            "title": "Field",
            "type": "string"
          }
        },
        "required": [
          "field",
          "before",
          "after"
        ],
        "title": "AuditFieldChangeResponse",
        "type": "object"
      },
      "AuditHttpResponse": {
        "description": "Request context for the action.",
        "properties": {
          "forwarded_for": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Forwarded For"
          },
          "method": {
            "title": "Method",
            "type": "string"
          },
          "route_template": {
            "title": "Route Template",
            "type": "string"
          },
          "source_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Ip"
          },
          "status_code": {
            "title": "Status Code",
            "type": "integer"
          },
          "user_agent": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Agent"
          }
        },
        "required": [
          "method",
          "route_template",
          "status_code",
          "source_ip",
          "forwarded_for",
          "user_agent"
        ],
        "title": "AuditHttpResponse",
        "type": "object"
      },
      "AuditOutcome": {
        "enum": [
          "SUCCESS",
          "FAILURE",
          "DENIED"
        ],
        "title": "AuditOutcome",
        "type": "string"
      },
      "AuditResourceResponse": {
        "description": "What the action was performed on, when the route names one.",
        "properties": {
          "identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Identifier"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          }
        },
        "required": [
          "type",
          "identifier"
        ],
        "title": "AuditResourceResponse",
        "type": "object"
      },
      "AuditServiceResponse": {
        "description": "Which build recorded the event.",
        "properties": {
          "environment": {
            "title": "Environment",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "version": {
            "title": "Version",
            "type": "string"
          }
        },
        "required": [
          "name",
          "environment",
          "version"
        ],
        "title": "AuditServiceResponse",
        "type": "object"
      },
      "AuditSubjectType": {
        "enum": [
          "user",
          "machine",
          "unauthenticated"
        ],
        "title": "AuditSubjectType",
        "type": "string"
      },
      "CVEDetailResponse": {
        "description": "Full details for a single CVE.\n\nBounded fields only: affected image groups, containers, and running-on\nfan-out are served by the paginated /vulnerabilities/{cve_id}/image-groups,\n.../containers, and .../running-on sub-endpoints.",
        "properties": {
          "affected_packages": {
            "items": {
              "$ref": "#/components/schemas/AffectedPackage"
            },
            "title": "Affected Packages",
            "type": "array"
          },
          "affected_services_total_count": {
            "default": 0,
            "title": "Affected Services Total Count",
            "type": "integer"
          },
          "cisa_known_exploit": {
            "default": false,
            "title": "Cisa Known Exploit",
            "type": "boolean"
          },
          "cve_id": {
            "title": "Cve Id",
            "type": "string"
          },
          "cvss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Score"
          },
          "cvss_vector": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Vector"
          },
          "cvss_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Version"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "epss_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Percentile"
          },
          "epss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Score"
          },
          "exploit_maturity": {
            "$ref": "#/components/schemas/ExploitMaturity",
            "default": "none"
          },
          "exploit_refs": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/ExploitRef"
            },
            "title": "Exploit Refs",
            "type": "array"
          },
          "firstseen": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Firstseen"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "kev_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kev Date"
          },
          "last_modified_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Modified Date"
          },
          "lastupdated": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lastupdated"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "primary_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Primary Url"
          },
          "public_exploit": {
            "default": false,
            "title": "Public Exploit",
            "type": "boolean"
          },
          "published_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Published Date"
          },
          "running_on_total_count": {
            "default": 0,
            "title": "Running On Total Count",
            "type": "integer"
          },
          "severity": {
            "title": "Severity",
            "type": "string"
          },
          "severity_source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Severity Source"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          }
        },
        "required": [
          "severity",
          "cve_id",
          "id",
          "description",
          "affected_packages"
        ],
        "title": "CVEDetailResponse",
        "type": "object"
      },
      "CVEInfo": {
        "description": "Minimal CVE info with just ID and severity for list views.",
        "properties": {
          "cisa_known_exploit": {
            "default": false,
            "title": "Cisa Known Exploit",
            "type": "boolean"
          },
          "cve_id": {
            "title": "Cve Id",
            "type": "string"
          },
          "cvss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Score"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "epss_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Percentile"
          },
          "epss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Score"
          },
          "kev_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kev Date"
          },
          "published_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Published Date"
          },
          "severity": {
            "title": "Severity",
            "type": "string"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          }
        },
        "required": [
          "severity",
          "cve_id"
        ],
        "title": "CVEInfo",
        "type": "object"
      },
      "CVEListItem": {
        "description": "Lightweight CVE representation for list views.\n\nThe list endpoint currently returns one row per unique CVE after aggregating\nservice-level tracking/cache entries. Service-level lifecycle state is still\nmaintained internally for SLA workflows, but the list view intentionally\ncollapses those occurrences into one row.\n\nFull details are fetched via the detail endpoint when user clicks a row.",
        "properties": {
          "affected_account_ids": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Affected Account Ids",
            "type": "array"
          },
          "affected_clusters": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Affected Clusters",
            "type": "array"
          },
          "affected_image_names": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Affected Image Names",
            "type": "array"
          },
          "affected_namespaces": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Affected Namespaces",
            "type": "array"
          },
          "affected_package_names": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Affected Package Names",
            "type": "array"
          },
          "affected_platforms": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Affected Platforms",
            "type": "array"
          },
          "cisa_known_exploit": {
            "default": false,
            "title": "Cisa Known Exploit",
            "type": "boolean"
          },
          "cve_id": {
            "title": "Cve Id",
            "type": "string"
          },
          "cvss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Score"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "epss_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Percentile"
          },
          "epss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Score"
          },
          "exploit_maturity": {
            "$ref": "#/components/schemas/ExploitMaturity",
            "default": "none"
          },
          "kev_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kev Date"
          },
          "public_exploit": {
            "default": false,
            "title": "Public Exploit",
            "type": "boolean"
          },
          "published_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Published Date"
          },
          "severity": {
            "title": "Severity",
            "type": "string"
          },
          "sources": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Sources",
            "type": "array"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          }
        },
        "required": [
          "severity",
          "cve_id"
        ],
        "title": "CVEListItem",
        "type": "object"
      },
      "CVEVulnerability": {
        "description": "Full CVE vulnerability details.",
        "properties": {
          "cisa_known_exploit": {
            "default": false,
            "title": "Cisa Known Exploit",
            "type": "boolean"
          },
          "cve_id": {
            "title": "Cve Id",
            "type": "string"
          },
          "cvss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Score"
          },
          "cvss_vector": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Vector"
          },
          "cvss_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Version"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "epss_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Percentile"
          },
          "epss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Score"
          },
          "exploit_maturity": {
            "$ref": "#/components/schemas/ExploitMaturity",
            "default": "none"
          },
          "exploit_refs": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/ExploitRef"
            },
            "title": "Exploit Refs",
            "type": "array"
          },
          "firstseen": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Firstseen"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "kev_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kev Date"
          },
          "last_modified_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Modified Date"
          },
          "lastupdated": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lastupdated"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "primary_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Primary Url"
          },
          "public_exploit": {
            "default": false,
            "title": "Public Exploit",
            "type": "boolean"
          },
          "published_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Published Date"
          },
          "severity": {
            "title": "Severity",
            "type": "string"
          },
          "severity_source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Severity Source"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          }
        },
        "required": [
          "severity",
          "cve_id",
          "id",
          "description"
        ],
        "title": "CVEVulnerability",
        "type": "object"
      },
      "CertificateResult": {
        "description": "Certificate result.",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "expiry": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiry"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          }
        },
        "required": [
          "id",
          "domain",
          "expiry",
          "provider"
        ],
        "title": "CertificateResult",
        "type": "object"
      },
      "CloudTrailEvent": {
        "description": "CloudTrail event information.",
        "properties": {
          "aws_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Region"
          },
          "event_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Event Name"
          },
          "event_time": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Event Time"
          },
          "owner": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Owner"
          }
        },
        "title": "CloudTrailEvent",
        "type": "object"
      },
      "CodeRepositoryResult": {
        "description": "Code repository result (GitHub, GitLab, etc.).",
        "properties": {
          "archived": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Archived"
          },
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "default_branch": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Branch"
          },
          "fullname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fullname"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "public": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Public"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "id",
          "name",
          "fullname",
          "url",
          "public",
          "archived",
          "default_branch",
          "provider"
        ],
        "title": "CodeRepositoryResult",
        "type": "object"
      },
      "ComputeClusterResult": {
        "description": "Compute cluster result (EKS, GKE, AKS, etc.).",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "endpoint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Endpoint"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          }
        },
        "required": [
          "id",
          "name",
          "endpoint",
          "region",
          "status",
          "version",
          "provider"
        ],
        "title": "ComputeClusterResult",
        "type": "object"
      },
      "ComputeInstanceResult": {
        "description": "Compute instance result.",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "private_ip_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Private Ip Address"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "public_ip_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Public Ip Address"
          },
          "region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          }
        },
        "required": [
          "id",
          "name",
          "region",
          "public_ip_address",
          "private_ip_address",
          "state",
          "type",
          "created_at",
          "provider"
        ],
        "title": "ComputeInstanceResult",
        "type": "object"
      },
      "ContainerInfo": {
        "description": "Container information for CVE and fix details.",
        "properties": {
          "account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Id"
          },
          "account_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Name"
          },
          "cluster": {
            "default": "",
            "title": "Cluster",
            "type": "string"
          },
          "container_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Container Count"
          },
          "container_name": {
            "default": "",
            "title": "Container Name",
            "type": "string"
          },
          "exposed_internet": {
            "default": false,
            "title": "Exposed Internet",
            "type": "boolean"
          },
          "exposed_internet_type": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Exposed Internet Type",
            "type": "array"
          },
          "health_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Health Status"
          },
          "image": {
            "default": "",
            "title": "Image",
            "type": "string"
          },
          "image_digest": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Digest"
          },
          "is_inherited": {
            "default": false,
            "title": "Is Inherited",
            "type": "boolean"
          },
          "namespace": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Namespace"
          },
          "node": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Node"
          },
          "parent_image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parent Image"
          },
          "platform_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform Label"
          },
          "pod_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pod Count"
          },
          "pod_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pod Name"
          },
          "region": {
            "default": "",
            "title": "Region",
            "type": "string"
          },
          "resource_type": {
            "default": "unknown",
            "title": "Resource Type",
            "type": "string"
          },
          "service_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Name"
          },
          "status": {
            "default": "",
            "title": "Status",
            "type": "string"
          },
          "task_arn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Task Arn"
          },
          "workload_chain": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/WorkloadChainNode"
            },
            "title": "Workload Chain",
            "type": "array"
          }
        },
        "title": "ContainerInfo",
        "type": "object"
      },
      "ContainerRegistryResult": {
        "description": "Container registry result (ECR, GCR, ACR, etc.).",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Location"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "size_bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Size Bytes"
          },
          "uri": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Uri"
          }
        },
        "required": [
          "id",
          "name",
          "created_at",
          "location",
          "size_bytes",
          "uri",
          "provider"
        ],
        "title": "ContainerRegistryResult",
        "type": "object"
      },
      "ContainerResult": {
        "description": "Container result.",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "cpu": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cpu"
          },
          "health_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Health Status"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image"
          },
          "image_digest": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Digest"
          },
          "memory": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "namespace": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Namespace"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          }
        },
        "required": [
          "id",
          "name",
          "image",
          "image_digest",
          "state",
          "cpu",
          "memory",
          "region",
          "namespace",
          "health_status",
          "provider"
        ],
        "title": "ContainerResult",
        "type": "object"
      },
      "CreateNeo4jUserRequest": {
        "description": "Schema for creating a new Neo4j user.",
        "properties": {
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username"
          }
        },
        "title": "CreateNeo4jUserRequest",
        "type": "object"
      },
      "CreateScenarioRequest": {
        "description": "API request schema for creating a what-if attack path scenario.",
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "filters": {
            "additionalProperties": true,
            "maxProperties": 20,
            "minProperties": 1,
            "title": "Filters",
            "type": "object"
          },
          "node_label": {
            "minLength": 1,
            "title": "Node Label",
            "type": "string"
          },
          "preview_only": {
            "default": false,
            "title": "Preview Only",
            "type": "boolean"
          },
          "transition_type": {
            "minLength": 1,
            "title": "Transition Type",
            "type": "string"
          }
        },
        "required": [
          "transition_type",
          "node_label",
          "filters"
        ],
        "title": "CreateScenarioRequest",
        "type": "object"
      },
      "CreateScenarioResponse": {
        "description": "API response schema for created scenario.",
        "properties": {
          "attack_path": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AttackPathDetailsResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "filters": {
            "additionalProperties": true,
            "title": "Filters",
            "type": "object"
          },
          "matched_nodes_count": {
            "title": "Matched Nodes Count",
            "type": "integer"
          },
          "node_label": {
            "title": "Node Label",
            "type": "string"
          },
          "scenario_id": {
            "title": "Scenario Id",
            "type": "string"
          },
          "transition_type": {
            "title": "Transition Type",
            "type": "string"
          }
        },
        "required": [
          "scenario_id",
          "transition_type",
          "node_label",
          "filters",
          "matched_nodes_count",
          "description",
          "created_at",
          "attack_path"
        ],
        "title": "CreateScenarioResponse",
        "type": "object"
      },
      "CreateWorkOSApplicationRequest": {
        "description": "Schema for creating a new WorkOS application.",
        "properties": {
          "description": {
            "minLength": 1,
            "title": "Description",
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "role": {
            "minLength": 1,
            "title": "Role",
            "type": "string"
          }
        },
        "required": [
          "role",
          "name",
          "description"
        ],
        "title": "CreateWorkOSApplicationRequest",
        "type": "object"
      },
      "CustomFactRequest": {
        "description": "Schema for creating/editing a fact in a custom rule.",
        "properties": {
          "asset_id_field": {
            "minLength": 1,
            "title": "Asset Id Field",
            "type": "string"
          },
          "asset_label": {
            "minLength": 1,
            "title": "Asset Label",
            "type": "string"
          },
          "cypher_query": {
            "minLength": 1,
            "title": "Cypher Query",
            "type": "string"
          },
          "cypher_visual_query": {
            "minLength": 1,
            "title": "Cypher Visual Query",
            "type": "string"
          },
          "description": {
            "minLength": 1,
            "title": "Description",
            "type": "string"
          },
          "display_field": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Field"
          },
          "id": {
            "minLength": 1,
            "title": "Id",
            "type": "string"
          },
          "identity_fields": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Identity Fields"
          },
          "name": {
            "minLength": 1,
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "cypher_query",
          "cypher_visual_query",
          "asset_label",
          "asset_id_field"
        ],
        "title": "CustomFactRequest",
        "type": "object"
      },
      "CustomFactResponse": {
        "description": "Schema representing a fact in API responses.",
        "properties": {
          "asset_id_field": {
            "title": "Asset Id Field",
            "type": "string"
          },
          "asset_label": {
            "title": "Asset Label",
            "type": "string"
          },
          "cypher_query": {
            "title": "Cypher Query",
            "type": "string"
          },
          "cypher_visual_query": {
            "title": "Cypher Visual Query",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "display_field": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Field"
          },
          "effective_identity_fields": {
            "items": {
              "type": "string"
            },
            "title": "Effective Identity Fields",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "identity_fields": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Identity Fields"
          },
          "module": {
            "$ref": "#/components/schemas/Module"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "module",
          "cypher_query",
          "cypher_visual_query",
          "asset_label",
          "asset_id_field",
          "effective_identity_fields"
        ],
        "title": "CustomFactResponse",
        "type": "object"
      },
      "CustomReferenceRequest": {
        "description": "Schema for creating a reference in a custom rule.",
        "properties": {
          "title": {
            "minLength": 1,
            "title": "Title",
            "type": "string"
          },
          "url": {
            "minLength": 1,
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "title": "CustomReferenceRequest",
        "type": "object"
      },
      "CustomReferenceResponse": {
        "description": "Schema representing a reference in API responses.",
        "properties": {
          "title": {
            "title": "Title",
            "type": "string"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "title": "CustomReferenceResponse",
        "type": "object"
      },
      "CustomRuleFactTestResult": {
        "description": "How one fact of a tested custom rule ran against the current graph.",
        "properties": {
          "blocks_save": {
            "title": "Blocks Save",
            "type": "boolean"
          },
          "collision": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CustomRuleTestCollision"
              },
              {
                "type": "null"
              }
            ]
          },
          "duration_ms": {
            "title": "Duration Ms",
            "type": "integer"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "error_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RuleErrorCode"
              },
              {
                "type": "null"
              }
            ]
          },
          "error_hint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Hint"
          },
          "fact_id": {
            "title": "Fact Id",
            "type": "string"
          },
          "findings_count": {
            "title": "Findings Count",
            "type": "integer"
          },
          "ok": {
            "title": "Ok",
            "type": "boolean"
          },
          "sample": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CustomRuleTestFinding"
            },
            "title": "Sample",
            "type": "array"
          }
        },
        "required": [
          "fact_id",
          "ok",
          "blocks_save",
          "findings_count",
          "duration_ms"
        ],
        "title": "CustomRuleFactTestResult",
        "type": "object"
      },
      "CustomRuleRequest": {
        "description": "Schema for creating/editing a custom rule.",
        "properties": {
          "allow_community_contribution": {
            "default": false,
            "title": "Allow Community Contribution",
            "type": "boolean"
          },
          "description": {
            "minLength": 1,
            "title": "Description",
            "type": "string"
          },
          "facts": {
            "items": {
              "$ref": "#/components/schemas/CustomFactRequest"
            },
            "minItems": 1,
            "title": "Facts",
            "type": "array"
          },
          "id": {
            "minLength": 1,
            "title": "Id",
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "output_fields": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Fields"
          },
          "references": {
            "items": {
              "$ref": "#/components/schemas/CustomReferenceRequest"
            },
            "title": "References",
            "type": "array"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "title": "Tags",
            "type": "array"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "facts"
        ],
        "title": "CustomRuleRequest",
        "type": "object"
      },
      "CustomRuleResponse": {
        "description": "Schema representing a custom rule in API responses.",
        "properties": {
          "allow_community_contribution": {
            "title": "Allow Community Contribution",
            "type": "boolean"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "created_by": {
            "$ref": "#/components/schemas/UserRef"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "facts": {
            "items": {
              "$ref": "#/components/schemas/CustomFactResponse"
            },
            "title": "Facts",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "references": {
            "items": {
              "$ref": "#/components/schemas/CustomReferenceResponse"
            },
            "title": "References",
            "type": "array"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "title": "Tags",
            "type": "array"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "tags",
          "version",
          "facts",
          "references",
          "allow_community_contribution",
          "created_at",
          "updated_at",
          "created_by"
        ],
        "title": "CustomRuleResponse",
        "type": "object"
      },
      "CustomRuleTestCollision": {
        "description": "Two rows that share identity values but differ elsewhere.",
        "properties": {
          "differing_fields": {
            "items": {
              "type": "string"
            },
            "title": "Differing Fields",
            "type": "array"
          },
          "rows": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Rows",
            "type": "array"
          }
        },
        "required": [
          "rows",
          "differing_fields"
        ],
        "title": "CustomRuleTestCollision",
        "type": "object"
      },
      "CustomRuleTestFinding": {
        "description": "One finding the tested rule would produce.",
        "properties": {
          "asset_id": {
            "title": "Asset Id",
            "type": "string"
          },
          "asset_label": {
            "title": "Asset Label",
            "type": "string"
          },
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "fields": {
            "additionalProperties": true,
            "title": "Fields",
            "type": "object"
          }
        },
        "required": [
          "display_name",
          "asset_label",
          "asset_id",
          "fields"
        ],
        "title": "CustomRuleTestFinding",
        "type": "object"
      },
      "CustomRuleTestResponse": {
        "description": "Result of running a custom rule through the findings sync's detection, read-only.",
        "properties": {
          "can_save": {
            "title": "Can Save",
            "type": "boolean"
          },
          "facts": {
            "items": {
              "$ref": "#/components/schemas/CustomRuleFactTestResult"
            },
            "title": "Facts",
            "type": "array"
          },
          "ok": {
            "title": "Ok",
            "type": "boolean"
          }
        },
        "required": [
          "ok",
          "can_save",
          "facts"
        ],
        "title": "CustomRuleTestResponse",
        "type": "object"
      },
      "DNSZoneResult": {
        "description": "DNS zone result.",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "public": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Public"
          }
        },
        "required": [
          "id",
          "name",
          "public",
          "provider"
        ],
        "title": "DNSZoneResult",
        "type": "object"
      },
      "DatabaseResult": {
        "description": "Database result.",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "encrypted": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Encrypted"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Location"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Port"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "version",
          "port",
          "encrypted",
          "location",
          "provider"
        ],
        "title": "DatabaseResult",
        "type": "object"
      },
      "DecisionOutcome": {
        "enum": [
          "applied",
          "observed",
          "pinned",
          "at_limit",
          "no_effect",
          "no_lever",
          "no_action",
          "undiagnosed"
        ],
        "title": "DecisionOutcome",
        "type": "string"
      },
      "DeleteCustomRuleResponse": {
        "description": "Schema representing the response when deleting a custom rule.",
        "properties": {
          "findings_deleted": {
            "title": "Findings Deleted",
            "type": "integer"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "status": {
            "const": "deleted",
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "id",
          "status",
          "findings_deleted"
        ],
        "title": "DeleteCustomRuleResponse",
        "type": "object"
      },
      "DeleteScenarioResponse": {
        "description": "API response schema for deleting a scenario.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string"
          },
          "status": {
            "const": "deleted",
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "id",
          "status"
        ],
        "title": "DeleteScenarioResponse",
        "type": "object"
      },
      "DeviceResult": {
        "description": "Device result.",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "hostname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hostname"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "instance_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instance Id"
          },
          "manufacturer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manufacturer"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "os": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Os"
          },
          "os_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Os Version"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform"
          },
          "providers": {
            "items": {
              "type": "string"
            },
            "title": "Providers",
            "type": "array"
          },
          "serial_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Serial Number"
          }
        },
        "required": [
          "id",
          "hostname",
          "instance_id",
          "manufacturer",
          "model",
          "os",
          "os_version",
          "platform",
          "serial_number",
          "providers"
        ],
        "title": "DeviceResult",
        "type": "object"
      },
      "EC2InstanceResult": {
        "description": "EC2 instance with tags and events.",
        "properties": {
          "events": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/CloudTrailEvent"
            },
            "title": "Events",
            "type": "array"
          },
          "instance_id": {
            "title": "Instance Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "tags": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AWSTag"
            },
            "title": "Tags",
            "type": "array"
          }
        },
        "required": [
          "instance_id"
        ],
        "title": "EC2InstanceResult",
        "type": "object"
      },
      "EC2InventoryResponse": {
        "description": "EC2 inventory response with metadata and instances.",
        "properties": {
          "instances": {
            "items": {
              "$ref": "#/components/schemas/EC2InstanceResult"
            },
            "title": "Instances",
            "type": "array"
          },
          "metadata": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Metadata",
            "type": "object"
          }
        },
        "required": [
          "metadata",
          "instances"
        ],
        "title": "EC2InventoryResponse",
        "type": "object"
      },
      "ErrorResponse": {
        "description": "Uniform error envelope returned for every non-2xx REST response.",
        "properties": {
          "details": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Details"
          },
          "error": {
            "title": "Error",
            "type": "string"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "success": {
            "const": false,
            "default": false,
            "title": "Success",
            "type": "boolean"
          }
        },
        "required": [
          "error",
          "message"
        ],
        "title": "ErrorResponse",
        "type": "object"
      },
      "EvidenceChangeMetadata": {
        "properties": {
          "signals": {
            "items": {
              "$ref": "#/components/schemas/LifecycleSignalRef"
            },
            "minItems": 1,
            "title": "Signals",
            "type": "array"
          }
        },
        "required": [
          "signals"
        ],
        "title": "EvidenceChangeMetadata",
        "type": "object"
      },
      "ExploitMaturity": {
        "description": "Valid exploit maturity levels for public exploit evidence.",
        "enum": [
          "none",
          "poc",
          "weaponized"
        ],
        "title": "ExploitMaturity",
        "type": "string"
      },
      "ExploitRef": {
        "description": "A public-exploit reference for a CVE (source repo/entry, not the PoC code).",
        "properties": {
          "source": {
            "title": "Source",
            "type": "string"
          },
          "stars": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stars"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "source",
          "url"
        ],
        "title": "ExploitRef",
        "type": "object"
      },
      "ExternalRef": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "display_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Id"
          },
          "external_id": {
            "title": "External Id",
            "type": "string"
          },
          "provider": {
            "enum": [
              "linear",
              "jira",
              "slack",
              "github"
            ],
            "title": "Provider",
            "type": "string"
          },
          "provider_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Status"
          },
          "route_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Route Id"
          },
          "status": {
            "default": "unknown",
            "enum": [
              "unknown",
              "open",
              "in_progress",
              "merged",
              "done",
              "rejected",
              "gone"
            ],
            "title": "Status",
            "type": "string"
          },
          "status_changed_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status Changed At"
          },
          "status_checked_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status Checked At"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          }
        },
        "required": [
          "provider",
          "external_id",
          "created_at"
        ],
        "title": "ExternalRef",
        "type": "object"
      },
      "ExternalRefStatusChangedMetadata": {
        "properties": {
          "external_ref": {
            "$ref": "#/components/schemas/LifecycleExternalRef"
          },
          "new_status": {
            "enum": [
              "unknown",
              "open",
              "in_progress",
              "merged",
              "done",
              "rejected",
              "gone"
            ],
            "title": "New Status",
            "type": "string"
          },
          "old_status": {
            "enum": [
              "unknown",
              "open",
              "in_progress",
              "merged",
              "done",
              "rejected",
              "gone"
            ],
            "title": "Old Status",
            "type": "string"
          },
          "provider": {
            "enum": [
              "linear",
              "jira",
              "slack",
              "github"
            ],
            "title": "Provider",
            "type": "string"
          },
          "provider_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Status"
          }
        },
        "required": [
          "provider",
          "external_ref",
          "old_status",
          "new_status"
        ],
        "title": "ExternalRefStatusChangedMetadata",
        "type": "object"
      },
      "ExternalReferenceClosedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/RouteMetadata"
          },
          "type": {
            "const": "external_reference_closed",
            "default": "external_reference_closed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "ExternalReferenceClosedEvent",
        "type": "object"
      },
      "ExternalReferenceStatusChangedEvent": {
        "description": "Someone moved the linked ticket or PR outside SubImage.\n\nDistinct from ``external_reference_closed``, which records SubImage closing\nthe artifact itself.",
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/ExternalRefStatusChangedMetadata"
          },
          "type": {
            "const": "external_reference_status_changed",
            "default": "external_reference_status_changed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "ExternalReferenceStatusChangedEvent",
        "type": "object"
      },
      "ExternalReferenceUpdatedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/RouteMetadata"
          },
          "type": {
            "const": "external_reference_updated",
            "default": "external_reference_updated",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "ExternalReferenceUpdatedEvent",
        "type": "object"
      },
      "FactorResponse": {
        "description": "API response schema for an attack path factor (transition type).",
        "properties": {
          "code": {
            "title": "Code",
            "type": "string"
          },
          "criticality": {
            "title": "Criticality",
            "type": "string"
          },
          "icon": {
            "title": "Icon",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "order": {
            "title": "Order",
            "type": "integer"
          }
        },
        "required": [
          "name",
          "code",
          "criticality",
          "icon",
          "order"
        ],
        "title": "FactorResponse",
        "type": "object"
      },
      "FindingAcceptanceResultItem": {
        "description": "Schema representing the result for a single finding in a batch acceptance response.",
        "properties": {
          "accepted": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted"
          },
          "accepted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted At"
          },
          "accepted_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "accepted_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted Reason"
          },
          "accepted_until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted Until"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "success": {
            "title": "Success",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "success"
        ],
        "title": "FindingAcceptanceResultItem",
        "type": "object"
      },
      "FindingSignalMetadata": {
        "properties": {
          "fact_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fact Id"
          },
          "kind": {
            "const": "finding",
            "default": "finding",
            "title": "Kind",
            "type": "string"
          },
          "rule_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rule Id"
          },
          "rule_title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rule Title"
          }
        },
        "title": "FindingSignalMetadata",
        "type": "object"
      },
      "FixAffectedImage": {
        "description": "Image affected by a package fix, grouped by image name.",
        "properties": {
          "digests": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "default": {},
            "title": "Digests",
            "type": "object"
          },
          "dockerfile_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dockerfile Path"
          },
          "image_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Name"
          },
          "repo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Repo Url"
          },
          "vcs_provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vcs Provider"
          }
        },
        "title": "FixAffectedImage",
        "type": "object"
      },
      "FixAffectedImageGroup": {
        "description": "Affected images grouped under the logical service image that runs them.",
        "properties": {
          "accepted": {
            "default": false,
            "title": "Accepted",
            "type": "boolean"
          },
          "account_ids": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Account Ids",
            "type": "array"
          },
          "cve_ids": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Cve Ids",
            "type": "array"
          },
          "first_seen": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Seen"
          },
          "images": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FixAffectedImage"
            },
            "title": "Images",
            "type": "array"
          },
          "last_seen": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Seen"
          },
          "platforms": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Platforms",
            "type": "array"
          },
          "running_on_count": {
            "default": 0,
            "title": "Running On Count",
            "type": "integer"
          },
          "service_image": {
            "title": "Service Image",
            "type": "string"
          }
        },
        "required": [
          "service_image"
        ],
        "title": "FixAffectedImageGroup",
        "type": "object"
      },
      "FrameworkComplianceDataPointDetailResponse": {
        "description": "Schema representing a daily compliance snapshot with per-rule detail.",
        "properties": {
          "covered_facts": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Covered Facts"
          },
          "date": {
            "title": "Date",
            "type": "string"
          },
          "failing_assets": {
            "title": "Failing Assets",
            "type": "integer"
          },
          "global_failing_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Global Failing Assets"
          },
          "global_passing_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Global Passing Assets"
          },
          "global_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Global Score"
          },
          "global_total_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Global Total Assets"
          },
          "passing_assets": {
            "title": "Passing Assets",
            "type": "integer"
          },
          "per_rule": {
            "default": [],
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Per Rule",
            "type": "array"
          },
          "score": {
            "title": "Score",
            "type": "number"
          },
          "total_assets": {
            "title": "Total Assets",
            "type": "integer"
          },
          "total_facts": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Facts"
          }
        },
        "required": [
          "date",
          "total_assets",
          "passing_assets",
          "failing_assets",
          "score"
        ],
        "title": "FrameworkComplianceDataPointDetailResponse",
        "type": "object"
      },
      "FrameworkComplianceDataPointResponse": {
        "description": "Schema representing a daily compliance snapshot in API responses (summary, no per-rule).",
        "properties": {
          "covered_facts": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Covered Facts"
          },
          "date": {
            "title": "Date",
            "type": "string"
          },
          "failing_assets": {
            "title": "Failing Assets",
            "type": "integer"
          },
          "global_failing_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Global Failing Assets"
          },
          "global_passing_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Global Passing Assets"
          },
          "global_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Global Score"
          },
          "global_total_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Global Total Assets"
          },
          "passing_assets": {
            "title": "Passing Assets",
            "type": "integer"
          },
          "score": {
            "title": "Score",
            "type": "number"
          },
          "total_assets": {
            "title": "Total Assets",
            "type": "integer"
          },
          "total_facts": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Facts"
          }
        },
        "required": [
          "date",
          "total_assets",
          "passing_assets",
          "failing_assets",
          "score"
        ],
        "title": "FrameworkComplianceDataPointResponse",
        "type": "object"
      },
      "FrameworkHistoriesResponse": {
        "description": "Schema representing compliance history for multiple frameworks.",
        "properties": {
          "histories": {
            "additionalProperties": {
              "items": {
                "$ref": "#/components/schemas/FrameworkComplianceDataPointResponse"
              },
              "type": "array"
            },
            "title": "Histories",
            "type": "object"
          }
        },
        "title": "FrameworkHistoriesResponse",
        "type": "object"
      },
      "FrameworkHistoryDetailResponse": {
        "description": "Schema representing framework details with a single compliance datapoint including per-rule detail.",
        "properties": {
          "datapoint": {
            "$ref": "#/components/schemas/FrameworkComplianceDataPointDetailResponse"
          },
          "framework": {
            "$ref": "#/components/schemas/FrameworkResponse"
          }
        },
        "required": [
          "framework",
          "datapoint"
        ],
        "title": "FrameworkHistoryDetailResponse",
        "type": "object"
      },
      "FrameworkHistoryResponse": {
        "description": "Schema representing framework details with compliance history (summary timeline).",
        "properties": {
          "framework": {
            "$ref": "#/components/schemas/FrameworkResponse"
          },
          "history": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FrameworkComplianceDataPointResponse"
            },
            "title": "History",
            "type": "array"
          }
        },
        "required": [
          "framework"
        ],
        "title": "FrameworkHistoryResponse",
        "type": "object"
      },
      "FrameworkResponse": {
        "description": "Schema representing a compliance framework in API responses.",
        "properties": {
          "disabled_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled At"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "enabled_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled At"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "revision": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Revision"
          },
          "rule_count": {
            "default": 0,
            "title": "Rule Count",
            "type": "integer"
          },
          "scope": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope"
          },
          "short_name": {
            "title": "Short Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "short_name",
          "enabled"
        ],
        "title": "FrameworkResponse",
        "type": "object"
      },
      "FunctionResult": {
        "description": "Serverless function result (Lambda, Cloud Functions, etc.).",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "deployment_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deployment Type"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "memory": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Memory"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "runtime": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Runtime"
          },
          "timeout": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Timeout"
          }
        },
        "required": [
          "id",
          "name",
          "runtime",
          "memory",
          "timeout",
          "deployment_type",
          "provider"
        ],
        "title": "FunctionResult",
        "type": "object"
      },
      "GraphNode": {
        "description": "Graph node payload.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string"
          },
          "labels": {
            "items": {
              "type": "string"
            },
            "title": "Labels",
            "type": "array"
          },
          "node_id": {
            "title": "Node Id",
            "type": "integer"
          },
          "ontology_label": {
            "title": "Ontology Label",
            "type": "string"
          },
          "properties": {
            "additionalProperties": true,
            "title": "Properties",
            "type": "object"
          }
        },
        "required": [
          "node_id",
          "id",
          "ontology_label",
          "labels",
          "properties"
        ],
        "title": "GraphNode",
        "type": "object"
      },
      "GraphQueryRequest": {
        "description": "Request to execute a graph-oriented Cypher query.",
        "properties": {
          "parameters": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameters"
          },
          "query": {
            "maxLength": 10000,
            "title": "Query",
            "type": "string"
          },
          "return_mode": {
            "$ref": "#/components/schemas/GraphReturnMode",
            "default": "min"
          }
        },
        "required": [
          "query"
        ],
        "title": "GraphQueryRequest",
        "type": "object"
      },
      "GraphQueryResponse": {
        "description": "Response from executing a Cypher query via the graph endpoint.",
        "properties": {
          "columns": {
            "items": {
              "type": "string"
            },
            "title": "Columns",
            "type": "array"
          },
          "executed_at": {
            "format": "date-time",
            "title": "Executed At",
            "type": "string"
          },
          "executed_query": {
            "title": "Executed Query",
            "type": "string"
          },
          "nodes": {
            "items": {
              "$ref": "#/components/schemas/GraphNode"
            },
            "title": "Nodes",
            "type": "array"
          },
          "query": {
            "title": "Query",
            "type": "string"
          },
          "relationships": {
            "items": {
              "$ref": "#/components/schemas/GraphRelationship"
            },
            "title": "Relationships",
            "type": "array"
          },
          "return_mode": {
            "$ref": "#/components/schemas/GraphReturnMode"
          },
          "rows": {
            "items": {
              "items": {},
              "type": "array"
            },
            "title": "Rows",
            "type": "array"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "query",
          "executed_query",
          "return_mode",
          "nodes",
          "relationships",
          "columns",
          "rows",
          "total_count",
          "executed_at"
        ],
        "title": "GraphQueryResponse",
        "type": "object"
      },
      "GraphRelationship": {
        "description": "Graph relationship payload.",
        "properties": {
          "end": {
            "title": "End",
            "type": "integer"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "properties": {
            "additionalProperties": true,
            "title": "Properties",
            "type": "object"
          },
          "start": {
            "title": "Start",
            "type": "integer"
          },
          "type": {
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "id",
          "start",
          "end",
          "type",
          "properties"
        ],
        "title": "GraphRelationship",
        "type": "object"
      },
      "GraphReturnMode": {
        "description": "Graph response shaping mode.",
        "enum": [
          "min",
          "all",
          "ontology"
        ],
        "title": "GraphReturnMode",
        "type": "string"
      },
      "GroupResult": {
        "description": "User group result.",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "email",
          "provider"
        ],
        "title": "GroupResult",
        "type": "object"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "title": "HTTPValidationError",
        "type": "object"
      },
      "ImpactedImage": {
        "description": "An image affected by the action, with digest and tag.",
        "properties": {
          "digest": {
            "title": "Digest",
            "type": "string"
          },
          "tag": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tag"
          },
          "uri": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Uri"
          }
        },
        "required": [
          "digest"
        ],
        "title": "ImpactedImage",
        "type": "object"
      },
      "InventoryPage": {
        "description": "Paginated inventory results.",
        "properties": {
          "items": {
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/APIKeyResult"
                },
                {
                  "$ref": "#/components/schemas/AccountResult"
                },
                {
                  "$ref": "#/components/schemas/UserResult"
                },
                {
                  "$ref": "#/components/schemas/ContainerResult"
                },
                {
                  "$ref": "#/components/schemas/ComputeInstanceResult"
                },
                {
                  "$ref": "#/components/schemas/DatabaseResult"
                },
                {
                  "$ref": "#/components/schemas/TenantResult"
                },
                {
                  "$ref": "#/components/schemas/ThirdPartyAppResult"
                },
                {
                  "$ref": "#/components/schemas/FunctionResult"
                },
                {
                  "$ref": "#/components/schemas/LoadBalancerResult"
                },
                {
                  "$ref": "#/components/schemas/PublicIPResult"
                },
                {
                  "$ref": "#/components/schemas/SecretResult"
                },
                {
                  "$ref": "#/components/schemas/ObjectStorageResult"
                },
                {
                  "$ref": "#/components/schemas/CertificateResult"
                },
                {
                  "$ref": "#/components/schemas/ComputeClusterResult"
                },
                {
                  "$ref": "#/components/schemas/ContainerRegistryResult"
                },
                {
                  "$ref": "#/components/schemas/DeviceResult"
                },
                {
                  "$ref": "#/components/schemas/GroupResult"
                },
                {
                  "$ref": "#/components/schemas/ServiceAccountResult"
                },
                {
                  "$ref": "#/components/schemas/DNSZoneResult"
                },
                {
                  "$ref": "#/components/schemas/PermissionRoleResult"
                },
                {
                  "$ref": "#/components/schemas/NetworkAccessControlResult"
                },
                {
                  "$ref": "#/components/schemas/CodeRepositoryResult"
                }
              ]
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "InventoryPage",
        "type": "object"
      },
      "InventorySummaryResponse": {
        "description": "Inventory summary response with counts for each inventory type.",
        "properties": {
          "apikeys": {
            "title": "Apikeys",
            "type": "integer"
          },
          "certificates": {
            "title": "Certificates",
            "type": "integer"
          },
          "coderepositories": {
            "title": "Coderepositories",
            "type": "integer"
          },
          "compute_instances": {
            "title": "Compute Instances",
            "type": "integer"
          },
          "computeclusters": {
            "title": "Computeclusters",
            "type": "integer"
          },
          "containerregistries": {
            "title": "Containerregistries",
            "type": "integer"
          },
          "containers": {
            "title": "Containers",
            "type": "integer"
          },
          "databases": {
            "title": "Databases",
            "type": "integer"
          },
          "devices": {
            "title": "Devices",
            "type": "integer"
          },
          "dnszones": {
            "title": "Dnszones",
            "type": "integer"
          },
          "functions": {
            "title": "Functions",
            "type": "integer"
          },
          "groups": {
            "title": "Groups",
            "type": "integer"
          },
          "loadbalancers": {
            "title": "Loadbalancers",
            "type": "integer"
          },
          "networkaccesscontrols": {
            "title": "Networkaccesscontrols",
            "type": "integer"
          },
          "objectstorage": {
            "title": "Objectstorage",
            "type": "integer"
          },
          "permissionroles": {
            "title": "Permissionroles",
            "type": "integer"
          },
          "publicips": {
            "title": "Publicips",
            "type": "integer"
          },
          "secrets": {
            "title": "Secrets",
            "type": "integer"
          },
          "serviceaccounts": {
            "title": "Serviceaccounts",
            "type": "integer"
          },
          "tenants": {
            "title": "Tenants",
            "type": "integer"
          },
          "thirdpartyapps": {
            "title": "Thirdpartyapps",
            "type": "integer"
          },
          "useraccounts": {
            "title": "Useraccounts",
            "type": "integer"
          },
          "users": {
            "title": "Users",
            "type": "integer"
          }
        },
        "required": [
          "users",
          "useraccounts",
          "apikeys",
          "containers",
          "compute_instances",
          "databases",
          "tenants",
          "thirdpartyapps",
          "functions",
          "loadbalancers",
          "publicips",
          "secrets",
          "objectstorage",
          "certificates",
          "computeclusters",
          "containerregistries",
          "devices",
          "groups",
          "serviceaccounts",
          "dnszones",
          "permissionroles",
          "networkaccesscontrols",
          "coderepositories"
        ],
        "title": "InventorySummaryResponse",
        "type": "object"
      },
      "IssueActionItem": {
        "properties": {
          "id": {
            "title": "Id",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "type": {
            "enum": [
              "vulnerability",
              "finding",
              "attack_path"
            ],
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "id",
          "title"
        ],
        "title": "IssueActionItem",
        "type": "object"
      },
      "IssueClosedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/IssueClosedMetadata"
          },
          "type": {
            "const": "closed",
            "default": "closed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author"
        ],
        "title": "IssueClosedEvent",
        "type": "object"
      },
      "IssueClosedMetadata": {
        "properties": {
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          }
        },
        "title": "IssueClosedMetadata",
        "type": "object"
      },
      "IssueCountResponse": {
        "properties": {
          "closed_count": {
            "title": "Closed Count",
            "type": "integer"
          },
          "open_count": {
            "title": "Open Count",
            "type": "integer"
          },
          "snoozed_count": {
            "title": "Snoozed Count",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "open_count",
          "closed_count",
          "snoozed_count",
          "total_count"
        ],
        "title": "IssueCountResponse",
        "type": "object"
      },
      "IssueCreatedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/IssueCreatedMetadata"
          },
          "type": {
            "const": "created",
            "default": "created",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "IssueCreatedEvent",
        "type": "object"
      },
      "IssueCreatedMetadata": {
        "properties": {
          "signal_count": {
            "minimum": 1.0,
            "title": "Signal Count",
            "type": "integer"
          },
          "signal_type": {
            "enum": [
              "vulnerability",
              "finding",
              "attack_path"
            ],
            "title": "Signal Type",
            "type": "string"
          }
        },
        "required": [
          "signal_count",
          "signal_type"
        ],
        "title": "IssueCreatedMetadata",
        "type": "object"
      },
      "IssueDetailResponse": {
        "properties": {
          "action_items": {
            "items": {
              "$ref": "#/components/schemas/IssueActionItem"
            },
            "title": "Action Items",
            "type": "array"
          },
          "issue": {
            "$ref": "#/components/schemas/IssueResponse"
          }
        },
        "required": [
          "issue"
        ],
        "title": "IssueDetailResponse",
        "type": "object"
      },
      "IssueDispatchRequest": {
        "description": "Manually dispatch an Issue to one of its configured routes.",
        "properties": {
          "action": {
            "default": "upsert",
            "description": "Whether to create/update the external object or close it",
            "enum": [
              "upsert",
              "close"
            ],
            "title": "Action",
            "type": "string"
          },
          "route_id": {
            "description": "Destination route to dispatch through",
            "title": "Route Id",
            "type": "string"
          }
        },
        "required": [
          "route_id"
        ],
        "title": "IssueDispatchRequest",
        "type": "object"
      },
      "IssueDispatchResponse": {
        "description": "Result of a manual Issue dispatch.",
        "properties": {
          "action": {
            "enum": [
              "upsert",
              "close"
            ],
            "title": "Action",
            "type": "string"
          },
          "destination": {
            "enum": [
              "email",
              "webhook",
              "slack",
              "linear",
              "jira"
            ],
            "title": "Destination",
            "type": "string"
          },
          "external_ref": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "success": {
            "title": "Success",
            "type": "boolean"
          }
        },
        "required": [
          "success",
          "destination",
          "action"
        ],
        "title": "IssueDispatchResponse",
        "type": "object"
      },
      "IssueLink": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "issue_id": {
            "title": "Issue Id",
            "type": "string"
          },
          "signal": {
            "$ref": "#/components/schemas/IssueSignal"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "issue_id",
          "title",
          "signal",
          "created_at"
        ],
        "title": "IssueLink",
        "type": "object"
      },
      "IssueListMetadata": {
        "description": "Per-state Issue counts accompanying a page of Issues.",
        "properties": {
          "closed_count": {
            "default": 0,
            "title": "Closed Count",
            "type": "integer"
          },
          "filtered_count": {
            "default": 0,
            "title": "Filtered Count",
            "type": "integer"
          },
          "open_count": {
            "default": 0,
            "title": "Open Count",
            "type": "integer"
          },
          "snoozed_count": {
            "default": 0,
            "title": "Snoozed Count",
            "type": "integer"
          }
        },
        "title": "IssueListMetadata",
        "type": "object"
      },
      "IssueListResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/IssueSummaryResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "metadata": {
            "$ref": "#/components/schemas/IssueListMetadata",
            "default": {
              "closed_count": 0,
              "filtered_count": 0,
              "open_count": 0,
              "snoozed_count": 0
            }
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "IssueListResponse",
        "type": "object"
      },
      "IssueMetadataResponse": {
        "description": "The client-visible half of ``IssueMetadata``.\n\n``vuln_evidence_digests`` is re-triage bookkeeping, so it stays out of the\npublished shape rather than becoming a field clients can read.",
        "properties": {
          "affected_resource_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Affected Resource Count"
          },
          "fix_available": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fix Available"
          },
          "has_action_items": {
            "default": false,
            "title": "Has Action Items",
            "type": "boolean"
          },
          "has_attack_path": {
            "default": false,
            "title": "Has Attack Path",
            "type": "boolean"
          },
          "internet_exposed": {
            "default": false,
            "title": "Internet Exposed",
            "type": "boolean"
          },
          "kev": {
            "default": false,
            "title": "Kev",
            "type": "boolean"
          },
          "max_epss": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Epss"
          },
          "max_severity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Severity"
          },
          "public_exploit": {
            "default": false,
            "title": "Public Exploit",
            "type": "boolean"
          },
          "remediation_state": {
            "default": "none",
            "enum": [
              "none",
              "linked",
              "in_progress",
              "fix_landed",
              "rejected"
            ],
            "title": "Remediation State",
            "type": "string"
          }
        },
        "title": "IssueMetadataResponse",
        "type": "object"
      },
      "IssueOwnersUpdateRequest": {
        "description": "Request body for replacing all owners on an Issue.",
        "properties": {
          "emails": {
            "items": {
              "type": "string"
            },
            "title": "Emails",
            "type": "array"
          }
        },
        "title": "IssueOwnersUpdateRequest",
        "type": "object"
      },
      "IssueReopenedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/IssueReopenedMetadata"
          },
          "type": {
            "const": "reopened",
            "default": "reopened",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author"
        ],
        "title": "IssueReopenedEvent",
        "type": "object"
      },
      "IssueReopenedMetadata": {
        "properties": {
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          }
        },
        "title": "IssueReopenedMetadata",
        "type": "object"
      },
      "IssueResponse": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "external_refs": {
            "items": {
              "$ref": "#/components/schemas/ExternalRef"
            },
            "title": "External Refs",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "issue_links": {
            "items": {
              "$ref": "#/components/schemas/IssueLink"
            },
            "title": "Issue Links",
            "type": "array"
          },
          "lifecycle_events": {
            "items": {
              "discriminator": {
                "mapping": {
                  "analyst_reviewed": "#/components/schemas/AnalystReviewedEvent",
                  "closed": "#/components/schemas/IssueClosedEvent",
                  "created": "#/components/schemas/IssueCreatedEvent",
                  "external_reference_closed": "#/components/schemas/ExternalReferenceClosedEvent",
                  "external_reference_status_changed": "#/components/schemas/ExternalReferenceStatusChangedEvent",
                  "external_reference_updated": "#/components/schemas/ExternalReferenceUpdatedEvent",
                  "owner_added": "#/components/schemas/OwnerAddedEvent",
                  "owner_removed": "#/components/schemas/OwnerRemovedEvent",
                  "primary_evidence_added": "#/components/schemas/PrimaryEvidenceAddedEvent",
                  "primary_evidence_removed": "#/components/schemas/PrimaryEvidenceRemovedEvent",
                  "priority_changed": "#/components/schemas/PriorityChangedEvent",
                  "remediation_pr_opened": "#/components/schemas/RemediationPROpenedEvent",
                  "reopened": "#/components/schemas/IssueReopenedEvent",
                  "route_config_error": "#/components/schemas/RouteConfigErrorEvent",
                  "route_failed": "#/components/schemas/RouteFailedEvent",
                  "route_rate_limited": "#/components/schemas/RouteRateLimitedEvent",
                  "routed": "#/components/schemas/RoutedEvent",
                  "severity_changed": "#/components/schemas/SeverityChangedEvent",
                  "snoozed": "#/components/schemas/IssueSnoozedEvent",
                  "supporting_evidence_added": "#/components/schemas/SupportingEvidenceAddedEvent",
                  "supporting_evidence_removed": "#/components/schemas/SupportingEvidenceRemovedEvent",
                  "triage_vector_overridden": "#/components/schemas/TriageVectorOverriddenEvent",
                  "unsnoozed": "#/components/schemas/IssueUnsnoozedEvent"
                },
                "propertyName": "type"
              },
              "oneOf": [
                {
                  "$ref": "#/components/schemas/IssueCreatedEvent"
                },
                {
                  "$ref": "#/components/schemas/IssueClosedEvent"
                },
                {
                  "$ref": "#/components/schemas/IssueReopenedEvent"
                },
                {
                  "$ref": "#/components/schemas/IssueSnoozedEvent"
                },
                {
                  "$ref": "#/components/schemas/IssueUnsnoozedEvent"
                },
                {
                  "$ref": "#/components/schemas/PriorityChangedEvent"
                },
                {
                  "$ref": "#/components/schemas/SeverityChangedEvent"
                },
                {
                  "$ref": "#/components/schemas/TriageVectorOverriddenEvent"
                },
                {
                  "$ref": "#/components/schemas/PrimaryEvidenceAddedEvent"
                },
                {
                  "$ref": "#/components/schemas/SupportingEvidenceAddedEvent"
                },
                {
                  "$ref": "#/components/schemas/PrimaryEvidenceRemovedEvent"
                },
                {
                  "$ref": "#/components/schemas/SupportingEvidenceRemovedEvent"
                },
                {
                  "$ref": "#/components/schemas/RoutedEvent"
                },
                {
                  "$ref": "#/components/schemas/ExternalReferenceUpdatedEvent"
                },
                {
                  "$ref": "#/components/schemas/ExternalReferenceClosedEvent"
                },
                {
                  "$ref": "#/components/schemas/ExternalReferenceStatusChangedEvent"
                },
                {
                  "$ref": "#/components/schemas/RemediationPROpenedEvent"
                },
                {
                  "$ref": "#/components/schemas/RouteFailedEvent"
                },
                {
                  "$ref": "#/components/schemas/RouteConfigErrorEvent"
                },
                {
                  "$ref": "#/components/schemas/RouteRateLimitedEvent"
                },
                {
                  "$ref": "#/components/schemas/OwnerAddedEvent"
                },
                {
                  "$ref": "#/components/schemas/OwnerRemovedEvent"
                },
                {
                  "$ref": "#/components/schemas/AnalystReviewedEvent"
                }
              ]
            },
            "title": "Lifecycle Events",
            "type": "array"
          },
          "metadata": {
            "$ref": "#/components/schemas/IssueMetadataResponse"
          },
          "owners": {
            "items": {
              "$ref": "#/components/schemas/IssueUser"
            },
            "title": "Owners",
            "type": "array"
          },
          "primary_signals": {
            "items": {
              "$ref": "#/components/schemas/IssueSignal"
            },
            "title": "Primary Signals",
            "type": "array"
          },
          "priority_score": {
            "title": "Priority Score",
            "type": "integer"
          },
          "rationale": {
            "title": "Rationale",
            "type": "string"
          },
          "snooze": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/IssueSnooze"
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "enum": [
              "open",
              "closed",
              "snoozed"
            ],
            "title": "State",
            "type": "string"
          },
          "suggested_owners": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SuggestedOwnership"
              },
              {
                "type": "null"
              }
            ]
          },
          "supporting_signals": {
            "items": {
              "$ref": "#/components/schemas/IssueSignal"
            },
            "title": "Supporting Signals",
            "type": "array"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "triage_vector": {
            "$ref": "#/components/schemas/TriageVector"
          },
          "triage_vector_overridden": {
            "default": false,
            "title": "Triage Vector Overridden",
            "type": "boolean"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "state",
          "priority_score",
          "title",
          "description",
          "triage_vector",
          "metadata",
          "primary_signals",
          "rationale",
          "created_at",
          "updated_at"
        ],
        "title": "IssueResponse",
        "type": "object"
      },
      "IssueSearchHit": {
        "description": "An Issue match for the unified search palette.",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string"
          },
          "priority_score": {
            "title": "Priority Score",
            "type": "integer"
          },
          "signal_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signal Type"
          },
          "state": {
            "enum": [
              "open",
              "closed",
              "snoozed"
            ],
            "title": "State",
            "type": "string"
          },
          "subtitle": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subtitle"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "type": {
            "const": "issue",
            "default": "issue",
            "title": "Type",
            "type": "string"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "url",
          "state",
          "priority_score"
        ],
        "title": "IssueSearchHit",
        "type": "object"
      },
      "IssueSignal": {
        "properties": {
          "href": {
            "title": "Href",
            "type": "string"
          },
          "signal_id": {
            "title": "Signal Id",
            "type": "string"
          },
          "signal_metadata": {
            "anyOf": [
              {
                "discriminator": {
                  "mapping": {
                    "attack_path": "#/components/schemas/AttackPathSignalMetadata",
                    "finding": "#/components/schemas/FindingSignalMetadata",
                    "vulnerability": "#/components/schemas/VulnerabilitySignalMetadata"
                  },
                  "propertyName": "kind"
                },
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/VulnerabilitySignalMetadata"
                  },
                  {
                    "$ref": "#/components/schemas/FindingSignalMetadata"
                  },
                  {
                    "$ref": "#/components/schemas/AttackPathSignalMetadata"
                  }
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Signal Metadata"
          },
          "signal_type": {
            "enum": [
              "vulnerability",
              "finding",
              "attack_path"
            ],
            "title": "Signal Type",
            "type": "string"
          },
          "status": {
            "default": "open",
            "enum": [
              "open",
              "closed"
            ],
            "title": "Status",
            "type": "string"
          },
          "summary": {
            "title": "Summary",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "signal_type",
          "signal_id",
          "title",
          "summary",
          "href"
        ],
        "title": "IssueSignal",
        "type": "object"
      },
      "IssueSnooze": {
        "properties": {
          "at": {
            "format": "date-time",
            "title": "At",
            "type": "string"
          },
          "by": {
            "$ref": "#/components/schemas/IssueUser"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Until"
          }
        },
        "required": [
          "by",
          "at"
        ],
        "title": "IssueSnooze",
        "type": "object"
      },
      "IssueSnoozeRequest": {
        "description": "Snooze an Issue; both fields are optional.",
        "properties": {
          "reason": {
            "anyOf": [
              {
                "maxLength": 2000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Until"
          }
        },
        "title": "IssueSnoozeRequest",
        "type": "object"
      },
      "IssueSnoozedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/IssueSnoozedMetadata"
          },
          "type": {
            "const": "snoozed",
            "default": "snoozed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author"
        ],
        "title": "IssueSnoozedEvent",
        "type": "object"
      },
      "IssueSnoozedMetadata": {
        "properties": {
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Until"
          }
        },
        "title": "IssueSnoozedMetadata",
        "type": "object"
      },
      "IssueSortBy": {
        "enum": [
          "priority_score",
          "created_at",
          "updated_at"
        ],
        "title": "IssueSortBy",
        "type": "string"
      },
      "IssueSummaryResponse": {
        "description": "Issue as returned in list views; omits the detail-only lifecycle timeline.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "external_refs": {
            "items": {
              "$ref": "#/components/schemas/ExternalRef"
            },
            "title": "External Refs",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "issue_links": {
            "items": {
              "$ref": "#/components/schemas/IssueLink"
            },
            "title": "Issue Links",
            "type": "array"
          },
          "metadata": {
            "$ref": "#/components/schemas/IssueMetadataResponse"
          },
          "owners": {
            "items": {
              "$ref": "#/components/schemas/IssueUser"
            },
            "title": "Owners",
            "type": "array"
          },
          "primary_signals": {
            "items": {
              "$ref": "#/components/schemas/IssueSignal"
            },
            "title": "Primary Signals",
            "type": "array"
          },
          "priority_score": {
            "title": "Priority Score",
            "type": "integer"
          },
          "rationale": {
            "title": "Rationale",
            "type": "string"
          },
          "snooze": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/IssueSnooze"
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "enum": [
              "open",
              "closed",
              "snoozed"
            ],
            "title": "State",
            "type": "string"
          },
          "suggested_owners": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SuggestedOwnership"
              },
              {
                "type": "null"
              }
            ]
          },
          "supporting_signals": {
            "items": {
              "$ref": "#/components/schemas/IssueSignal"
            },
            "title": "Supporting Signals",
            "type": "array"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "triage_vector": {
            "$ref": "#/components/schemas/TriageVector"
          },
          "triage_vector_overridden": {
            "default": false,
            "title": "Triage Vector Overridden",
            "type": "boolean"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "state",
          "priority_score",
          "title",
          "description",
          "triage_vector",
          "metadata",
          "primary_signals",
          "rationale",
          "created_at",
          "updated_at"
        ],
        "title": "IssueSummaryResponse",
        "type": "object"
      },
      "IssueUnsnoozedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/IssueUnsnoozedMetadata"
          },
          "type": {
            "const": "unsnoozed",
            "default": "unsnoozed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author"
        ],
        "title": "IssueUnsnoozedEvent",
        "type": "object"
      },
      "IssueUnsnoozedMetadata": {
        "properties": {
          "expired": {
            "default": false,
            "title": "Expired",
            "type": "boolean"
          }
        },
        "title": "IssueUnsnoozedMetadata",
        "type": "object"
      },
      "IssueUser": {
        "properties": {
          "avatar_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avatar Url"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "IssueUser",
        "type": "object"
      },
      "JsonValue": {},
      "LifecycleEventAuthor": {
        "properties": {
          "is_agent": {
            "default": false,
            "title": "Is Agent",
            "type": "boolean"
          },
          "user": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/IssueUser"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "title": "LifecycleEventAuthor",
        "type": "object"
      },
      "LifecycleExternalRef": {
        "properties": {
          "display_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Id"
          },
          "external_id": {
            "title": "External Id",
            "type": "string"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "external_id"
        ],
        "title": "LifecycleExternalRef",
        "type": "object"
      },
      "LifecycleSignalRef": {
        "properties": {
          "signal_id": {
            "title": "Signal Id",
            "type": "string"
          },
          "signal_type": {
            "enum": [
              "vulnerability",
              "finding",
              "attack_path"
            ],
            "title": "Signal Type",
            "type": "string"
          },
          "title": {
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "signal_type",
          "signal_id",
          "title"
        ],
        "title": "LifecycleSignalRef",
        "type": "object"
      },
      "LoadBalancerResult": {
        "description": "Load balancer result (ALB, NLB, etc.).",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "dns_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dns Name"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "lb_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lb Type"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region"
          },
          "scheme": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme"
          }
        },
        "required": [
          "id",
          "name",
          "lb_type",
          "scheme",
          "dns_name",
          "region",
          "provider"
        ],
        "title": "LoadBalancerResult",
        "type": "object"
      },
      "MessageResponse": {
        "description": "Uniform envelope for a successful action that returns no resource.",
        "properties": {
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "success": {
            "const": true,
            "default": true,
            "title": "Success",
            "type": "boolean"
          }
        },
        "required": [
          "message"
        ],
        "title": "MessageResponse",
        "type": "object"
      },
      "ModelQueryItem": {
        "description": "A model query exposed over the API.",
        "properties": {
          "builtin": {
            "title": "Builtin",
            "type": "boolean"
          },
          "cypher_query": {
            "title": "Cypher Query",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "labels": {
            "items": {
              "type": "string"
            },
            "title": "Labels",
            "type": "array"
          }
        },
        "required": [
          "id",
          "description",
          "cypher_query",
          "labels",
          "builtin"
        ],
        "title": "ModelQueryItem",
        "type": "object"
      },
      "Module": {
        "description": "Services that can be monitored",
        "enum": [
          "AIBOM",
          "Airbyte",
          "Anthropic",
          "AWS",
          "Azure",
          "BigFix",
          "Cloudflare",
          "CrowdStrike",
          "Databricks",
          "DigitalOcean",
          "Duo",
          "microsoft",
          "GCP",
          "GitHub",
          "GitLab",
          "googleworkspace",
          "Jamf",
          "JumpCloud",
          "Kandji",
          "Keycloak",
          "Kubernetes",
          "LastPass",
          "OCI",
          "Okta",
          "OpenAI",
          "PagerDuty",
          "Railway",
          "Scaleway",
          "Supabase",
          "Semgrep",
          "SentinelOne",
          "snipeit",
          "SpaceLift",
          "TailScale",
          "Trivy",
          "SubImage",
          "Zoom",
          "Cross-Cloud"
        ],
        "title": "Module",
        "type": "string"
      },
      "ModuleConfigRequest": {
        "additionalProperties": false,
        "description": "Provider-specific configuration submitted for one sync module.",
        "properties": {
          "config": {
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonValue"
            },
            "description": "Dynamic configuration values accepted by the selected module.",
            "title": "Config",
            "type": "object"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          }
        },
        "required": [
          "config",
          "enabled"
        ],
        "title": "ModuleConfigRequest",
        "type": "object"
      },
      "ModuleConfigResponse": {
        "description": "Configuration and runtime state for one sync module.",
        "properties": {
          "can_manual_sync": {
            "title": "Can Manual Sync",
            "type": "boolean"
          },
          "config": {
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonValue"
            },
            "description": "Provider-specific configuration values with secrets represented by references.",
            "title": "Config",
            "type": "object"
          },
          "configuration_status": {
            "enum": [
              "configured",
              "incomplete",
              "unconfigured"
            ],
            "title": "Configuration Status",
            "type": "string"
          },
          "depends_on": {
            "items": {
              "type": "string"
            },
            "title": "Depends On",
            "type": "array"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "has_saved_config": {
            "title": "Has Saved Config",
            "type": "boolean"
          },
          "is_configured": {
            "title": "Is Configured",
            "type": "boolean"
          }
        },
        "required": [
          "config",
          "is_configured",
          "has_saved_config",
          "configuration_status",
          "depends_on",
          "enabled",
          "can_manual_sync"
        ],
        "title": "ModuleConfigResponse",
        "type": "object"
      },
      "ModuleConfigSaveResponse": {
        "description": "Response from saving a module config.",
        "properties": {
          "config": {
            "additionalProperties": {
              "$ref": "#/components/schemas/JsonValue"
            },
            "title": "Config",
            "type": "object"
          },
          "success": {
            "title": "Success",
            "type": "boolean"
          }
        },
        "required": [
          "success",
          "config"
        ],
        "title": "ModuleConfigSaveResponse",
        "type": "object"
      },
      "ModuleConfigsResponse": {
        "description": "Configurations and runtime state for all registered sync modules.",
        "properties": {
          "modules": {
            "additionalProperties": {
              "$ref": "#/components/schemas/ModuleConfigResponse"
            },
            "description": "Module names mapped to their configuration and runtime state.",
            "title": "Modules",
            "type": "object"
          }
        },
        "required": [
          "modules"
        ],
        "title": "ModuleConfigsResponse",
        "type": "object"
      },
      "Neo4jApiKeyResponse": {
        "description": "A Neo4j reader credential and its recorded provenance.",
        "properties": {
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created By"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username"
        ],
        "title": "Neo4jApiKeyResponse",
        "type": "object"
      },
      "Neo4jUserList": {
        "description": "Schema representing a list of Neo4j users.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Neo4jApiKeyResponse"
            },
            "title": "Items",
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "title": "Neo4jUserList",
        "type": "object"
      },
      "Neo4jUserResponse": {
        "description": "Schema representing a Neo4j user in API responses.",
        "properties": {
          "password": {
            "title": "Password",
            "type": "string"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username",
          "password"
        ],
        "title": "Neo4jUserResponse",
        "type": "object"
      },
      "NetworkAccessControlResult": {
        "description": "Network access control result (security groups, firewalls, NSGs, etc.).",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "direction": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Direction"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          }
        },
        "required": [
          "id",
          "name",
          "direction",
          "provider"
        ],
        "title": "NetworkAccessControlResult",
        "type": "object"
      },
      "ObjectStorageResult": {
        "description": "Object storage result (S3, GCS, Azure Blob Storage, etc.).",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "encrypted": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Encrypted"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Location"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "public": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Public"
          },
          "versioning": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Versioning"
          }
        },
        "required": [
          "id",
          "name",
          "location",
          "encrypted",
          "versioning",
          "public",
          "provider"
        ],
        "title": "ObjectStorageResult",
        "type": "object"
      },
      "Outpost": {
        "description": "A Tailscale outpost device and its live status.",
        "properties": {
          "addresses": {
            "items": {
              "type": "string"
            },
            "title": "Addresses",
            "type": "array"
          },
          "client_version": {
            "title": "Client Version",
            "type": "string"
          },
          "hostname": {
            "title": "Hostname",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "last_seen": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Seen"
          },
          "logs_available": {
            "default": false,
            "title": "Logs Available",
            "type": "boolean"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "online": {
            "title": "Online",
            "type": "boolean"
          },
          "os": {
            "title": "Os",
            "type": "string"
          },
          "outpost_outdated": {
            "default": true,
            "title": "Outpost Outdated",
            "type": "boolean"
          },
          "outpost_responding": {
            "default": true,
            "description": "False when the outpost service did not answer the version probe (5xx, timeout, or connection error). Its version is then unknown and outpost_outdated stays false.",
            "title": "Outpost Responding",
            "type": "boolean"
          },
          "outpost_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Outpost Version"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "title": "Tags",
            "type": "array"
          },
          "update_available": {
            "title": "Update Available",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "hostname",
          "name",
          "os",
          "client_version",
          "last_seen",
          "online",
          "addresses",
          "tags",
          "update_available"
        ],
        "title": "Outpost",
        "type": "object"
      },
      "OutpostLogsResponse": {
        "description": "A window of an outpost's container logs.",
        "properties": {
          "count": {
            "title": "Count",
            "type": "integer"
          },
          "lines": {
            "items": {
              "type": "string"
            },
            "title": "Lines",
            "type": "array"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          }
        },
        "required": [
          "total",
          "offset",
          "count",
          "lines"
        ],
        "title": "OutpostLogsResponse",
        "type": "object"
      },
      "OutpostOAuthKeyResponse": {
        "description": "The Tailscale OAuth key used to register a new outpost.",
        "properties": {
          "oauth_key": {
            "title": "Oauth Key",
            "type": "string"
          }
        },
        "required": [
          "oauth_key"
        ],
        "title": "OutpostOAuthKeyResponse",
        "type": "object"
      },
      "OutpostsResponse": {
        "description": "The deployment's outpost devices.",
        "properties": {
          "outposts": {
            "items": {
              "$ref": "#/components/schemas/Outpost"
            },
            "title": "Outposts",
            "type": "array"
          }
        },
        "required": [
          "outposts"
        ],
        "title": "OutpostsResponse",
        "type": "object"
      },
      "OwnerAddedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/OwnerChangedMetadata"
          },
          "type": {
            "const": "owner_added",
            "default": "owner_added",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "OwnerAddedEvent",
        "type": "object"
      },
      "OwnerChangedMetadata": {
        "properties": {
          "owner": {
            "$ref": "#/components/schemas/IssueUser"
          }
        },
        "required": [
          "owner"
        ],
        "title": "OwnerChangedMetadata",
        "type": "object"
      },
      "OwnerRemovedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/OwnerChangedMetadata"
          },
          "type": {
            "const": "owner_removed",
            "default": "owner_removed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "OwnerRemovedEvent",
        "type": "object"
      },
      "PackageAffectedImageGroup": {
        "description": "One package-affected service and its bounded image set.",
        "properties": {
          "accepted": {
            "default": false,
            "title": "Accepted",
            "type": "boolean"
          },
          "account_ids": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Account Ids",
            "type": "array"
          },
          "cve_count": {
            "default": 0,
            "title": "Cve Count",
            "type": "integer"
          },
          "first_seen": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Seen"
          },
          "images": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FixAffectedImage"
            },
            "title": "Images",
            "type": "array"
          },
          "last_seen": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Seen"
          },
          "platforms": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Platforms",
            "type": "array"
          },
          "running_on_count": {
            "default": 0,
            "title": "Running On Count",
            "type": "integer"
          },
          "service_image": {
            "title": "Service Image",
            "type": "string"
          }
        },
        "required": [
          "service_image"
        ],
        "title": "PackageAffectedImageGroup",
        "type": "object"
      },
      "PackageDetailResponse": {
        "description": "Bounded header for a single package.\n\nCVEs, affected image groups, containers, and running-on workloads are served\nby paginated sub-endpoints.",
        "properties": {
          "current_versions": {
            "items": {
              "type": "string"
            },
            "title": "Current Versions",
            "type": "array"
          },
          "cve_count": {
            "title": "Cve Count",
            "type": "integer"
          },
          "fix_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fix Version"
          },
          "has_fix": {
            "default": false,
            "title": "Has Fix",
            "type": "boolean"
          },
          "package_name": {
            "title": "Package Name",
            "type": "string"
          },
          "package_type": {
            "title": "Package Type",
            "type": "string"
          },
          "severity_breakdown": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Severity Breakdown",
            "type": "object"
          }
        },
        "required": [
          "package_name",
          "package_type",
          "current_versions",
          "cve_count",
          "severity_breakdown"
        ],
        "title": "PackageDetailResponse",
        "type": "object"
      },
      "PackageFixability": {
        "description": "Valid fixability filters for the packages list endpoint.",
        "enum": [
          "all",
          "fixable",
          "not_fixable"
        ],
        "title": "PackageFixability",
        "type": "string"
      },
      "PackageListItem": {
        "description": "Lightweight package representation for list views.\n\nContains only the fields needed for the packages table.\nFull details (containers, images) are fetched via the detail endpoint.",
        "properties": {
          "current_versions": {
            "items": {
              "type": "string"
            },
            "title": "Current Versions",
            "type": "array"
          },
          "cve_count": {
            "title": "Cve Count",
            "type": "integer"
          },
          "exposed_internet": {
            "default": false,
            "title": "Exposed Internet",
            "type": "boolean"
          },
          "fix_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fix Version"
          },
          "has_fix": {
            "default": false,
            "title": "Has Fix",
            "type": "boolean"
          },
          "inherited_count": {
            "default": 0,
            "title": "Inherited Count",
            "type": "integer"
          },
          "package_name": {
            "title": "Package Name",
            "type": "string"
          },
          "package_type": {
            "title": "Package Type",
            "type": "string"
          },
          "severity_breakdown": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Severity Breakdown",
            "type": "object"
          }
        },
        "required": [
          "package_name",
          "package_type",
          "current_versions",
          "cve_count",
          "severity_breakdown"
        ],
        "title": "PackageListItem",
        "type": "object"
      },
      "PackageSortBy": {
        "description": "Valid sort fields for the packages list endpoint.",
        "enum": [
          "package_name",
          "cve_count",
          "severity_breakdown"
        ],
        "title": "PackageSortBy",
        "type": "string"
      },
      "PackageSummaryResponse": {
        "description": "Summary data for packages tab - fetched once on initial load.",
        "properties": {
          "total_fixable_cves": {
            "title": "Total Fixable Cves",
            "type": "integer"
          },
          "total_fixable_packages": {
            "default": 0,
            "title": "Total Fixable Packages",
            "type": "integer"
          },
          "total_non_fixable_packages": {
            "default": 0,
            "title": "Total Non Fixable Packages",
            "type": "integer"
          },
          "total_packages": {
            "title": "Total Packages",
            "type": "integer"
          }
        },
        "required": [
          "total_packages",
          "total_fixable_cves"
        ],
        "title": "PackageSummaryResponse",
        "type": "object"
      },
      "Page_ActionItemSummary_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ActionItemSummary"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "Page[ActionItemSummary]",
        "type": "object"
      },
      "Page_CVEListItem_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/CVEListItem"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "Page[CVEListItem]",
        "type": "object"
      },
      "Page_CVEVulnerability_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/CVEVulnerability"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "Page[CVEVulnerability]",
        "type": "object"
      },
      "Page_ContainerInfo_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ContainerInfo"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "Page[ContainerInfo]",
        "type": "object"
      },
      "Page_FixAffectedImageGroup_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/FixAffectedImageGroup"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "Page[FixAffectedImageGroup]",
        "type": "object"
      },
      "Page_FrameworkResponse_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/FrameworkResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "Page[FrameworkResponse]",
        "type": "object"
      },
      "Page_ModelQueryItem_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ModelQueryItem"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "Page[ModelQueryItem]",
        "type": "object"
      },
      "Page_PackageAffectedImageGroup_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PackageAffectedImageGroup"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "Page[PackageAffectedImageGroup]",
        "type": "object"
      },
      "Page_PackageListItem_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PackageListItem"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "Page[PackageListItem]",
        "type": "object"
      },
      "Page_RunningWorkloadRow_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/RunningWorkloadRow"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "Page[RunningWorkloadRow]",
        "type": "object"
      },
      "Page_SyncAutoscaleDecisionResponse_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SyncAutoscaleDecisionResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "Page[SyncAutoscaleDecisionResponse]",
        "type": "object"
      },
      "PermissionRoleResult": {
        "description": "Permission role result (IAM roles, RBAC roles, etc.).",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "scope": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "scope",
          "provider"
        ],
        "title": "PermissionRoleResult",
        "type": "object"
      },
      "PrimaryEvidenceAddedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/EvidenceChangeMetadata"
          },
          "type": {
            "const": "primary_evidence_added",
            "default": "primary_evidence_added",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "PrimaryEvidenceAddedEvent",
        "type": "object"
      },
      "PrimaryEvidenceRemovedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/EvidenceChangeMetadata"
          },
          "type": {
            "const": "primary_evidence_removed",
            "default": "primary_evidence_removed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "PrimaryEvidenceRemovedEvent",
        "type": "object"
      },
      "PriorityChangedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/PriorityChangedMetadata"
          },
          "type": {
            "const": "priority_changed",
            "default": "priority_changed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "PriorityChangedEvent",
        "type": "object"
      },
      "PriorityChangedMetadata": {
        "properties": {
          "new_score": {
            "title": "New Score",
            "type": "integer"
          },
          "old_score": {
            "title": "Old Score",
            "type": "integer"
          }
        },
        "required": [
          "old_score",
          "new_score"
        ],
        "title": "PriorityChangedMetadata",
        "type": "object"
      },
      "PublicIPResult": {
        "description": "Public IP address result.",
        "properties": {
          "attached_to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Attached To"
          },
          "attached_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Attached Type"
          },
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "ip_address": {
            "title": "Ip Address",
            "type": "string"
          },
          "ip_version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ip Version"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          }
        },
        "required": [
          "id",
          "ip_address",
          "ip_version",
          "provider",
          "attached_to",
          "attached_type"
        ],
        "title": "PublicIPResult",
        "type": "object"
      },
      "RemediationConfidence": {
        "description": "Confidence level for a remediation action.",
        "enum": [
          "low",
          "medium",
          "high"
        ],
        "title": "RemediationConfidence",
        "type": "string"
      },
      "RemediationPROpenedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/RemediationPROpenedMetadata"
          },
          "type": {
            "const": "remediation_pr_opened",
            "default": "remediation_pr_opened",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "RemediationPROpenedEvent",
        "type": "object"
      },
      "RemediationPROpenedMetadata": {
        "properties": {
          "external_ref": {
            "$ref": "#/components/schemas/LifecycleExternalRef"
          }
        },
        "required": [
          "external_ref"
        ],
        "title": "RemediationPROpenedMetadata",
        "type": "object"
      },
      "RemediationPackageRef": {
        "description": "A package a remediation step claims to fix.",
        "properties": {
          "name": {
            "title": "Name",
            "type": "string"
          },
          "package_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Package Type"
          }
        },
        "required": [
          "name"
        ],
        "title": "RemediationPackageRef",
        "type": "object"
      },
      "RemediationStep": {
        "description": "A remediation step with the CVE impact resolved for the API surface.",
        "properties": {
          "action": {
            "title": "Action",
            "type": "string"
          },
          "action_type": {
            "$ref": "#/components/schemas/ActionType",
            "default": "update"
          },
          "confidence": {
            "$ref": "#/components/schemas/RemediationConfidence",
            "default": "low"
          },
          "current_value": {
            "default": "",
            "title": "Current Value",
            "type": "string"
          },
          "cve_ids": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Cve Ids",
            "type": "array"
          },
          "cve_severity_breakdown": {
            "additionalProperties": {
              "type": "integer"
            },
            "default": {},
            "title": "Cve Severity Breakdown",
            "type": "object"
          },
          "linked_image_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Linked Image Name"
          },
          "linked_service_image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Linked Service Image"
          },
          "new_value": {
            "default": "",
            "title": "New Value",
            "type": "string"
          },
          "packages": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RemediationPackageRef"
            },
            "title": "Packages",
            "type": "array"
          },
          "rationale": {
            "default": "",
            "title": "Rationale",
            "type": "string"
          },
          "target_file": {
            "default": "",
            "title": "Target File",
            "type": "string"
          }
        },
        "required": [
          "action"
        ],
        "title": "RemediationStep",
        "type": "object"
      },
      "ResourceSignal": {
        "description": "What a finished run says about the resources it was given.",
        "enum": [
          "out_of_memory",
          "too_slow",
          "contention",
          "none"
        ],
        "title": "ResourceSignal",
        "type": "string"
      },
      "RouteConfigErrorEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/RouteConfigErrorMetadata"
          },
          "type": {
            "const": "route_config_error",
            "default": "route_config_error",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "RouteConfigErrorEvent",
        "type": "object"
      },
      "RouteConfigErrorMetadata": {
        "properties": {
          "action": {
            "title": "Action",
            "type": "string"
          },
          "error": {
            "title": "Error",
            "type": "string"
          },
          "provider": {
            "title": "Provider",
            "type": "string"
          },
          "route_id": {
            "title": "Route Id",
            "type": "string"
          },
          "route_name": {
            "title": "Route Name",
            "type": "string"
          }
        },
        "required": [
          "provider",
          "route_name",
          "route_id",
          "action",
          "error"
        ],
        "title": "RouteConfigErrorMetadata",
        "type": "object"
      },
      "RouteCreate": {
        "description": "A destination route to create.",
        "properties": {
          "destination": {
            "enum": [
              "email",
              "webhook",
              "slack",
              "linear",
              "jira",
              "datadog",
              "s3"
            ],
            "title": "Destination",
            "type": "string"
          },
          "enabled": {
            "default": false,
            "title": "Enabled",
            "type": "boolean"
          },
          "filter": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter"
          },
          "name": {
            "maxLength": 256,
            "title": "Name",
            "type": "string"
          },
          "settings": {
            "additionalProperties": true,
            "title": "Settings",
            "type": "object"
          }
        },
        "required": [
          "name",
          "destination"
        ],
        "title": "RouteCreate",
        "type": "object"
      },
      "RouteFailedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/RouteFailedMetadata"
          },
          "type": {
            "const": "route_failed",
            "default": "route_failed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "RouteFailedEvent",
        "type": "object"
      },
      "RouteFailedMetadata": {
        "properties": {
          "action": {
            "title": "Action",
            "type": "string"
          },
          "attempts": {
            "title": "Attempts",
            "type": "integer"
          },
          "error": {
            "title": "Error",
            "type": "string"
          },
          "provider": {
            "title": "Provider",
            "type": "string"
          },
          "route_id": {
            "title": "Route Id",
            "type": "string"
          },
          "route_name": {
            "title": "Route Name",
            "type": "string"
          }
        },
        "required": [
          "provider",
          "route_name",
          "route_id",
          "action",
          "attempts",
          "error"
        ],
        "title": "RouteFailedMetadata",
        "type": "object"
      },
      "RouteMetadata": {
        "properties": {
          "action": {
            "title": "Action",
            "type": "string"
          },
          "external_ref": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LifecycleExternalRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "provider": {
            "title": "Provider",
            "type": "string"
          },
          "route_id": {
            "title": "Route Id",
            "type": "string"
          },
          "route_name": {
            "title": "Route Name",
            "type": "string"
          }
        },
        "required": [
          "provider",
          "route_name",
          "route_id",
          "action"
        ],
        "title": "RouteMetadata",
        "type": "object"
      },
      "RouteRateLimitedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/RouteRateLimitedMetadata"
          },
          "type": {
            "const": "route_rate_limited",
            "default": "route_rate_limited",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "RouteRateLimitedEvent",
        "type": "object"
      },
      "RouteRateLimitedMetadata": {
        "properties": {
          "action": {
            "title": "Action",
            "type": "string"
          },
          "cap": {
            "title": "Cap",
            "type": "integer"
          },
          "provider": {
            "title": "Provider",
            "type": "string"
          },
          "route_id": {
            "title": "Route Id",
            "type": "string"
          },
          "route_name": {
            "title": "Route Name",
            "type": "string"
          }
        },
        "required": [
          "provider",
          "route_name",
          "route_id",
          "action",
          "cap"
        ],
        "title": "RouteRateLimitedMetadata",
        "type": "object"
      },
      "RouteResponse": {
        "description": "One configured destination route.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "destination": {
            "enum": [
              "email",
              "webhook",
              "slack",
              "linear",
              "jira",
              "datadog",
              "s3"
            ],
            "title": "Destination",
            "type": "string"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "event_kind": {
            "enum": [
              "ticket",
              "notification",
              "export"
            ],
            "title": "Event Kind",
            "type": "string"
          },
          "filter": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter"
          },
          "last_delivered_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Delivered At"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "route_id": {
            "title": "Route Id",
            "type": "string"
          },
          "settings": {
            "additionalProperties": true,
            "title": "Settings",
            "type": "object"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "route_id",
          "name",
          "destination",
          "event_kind",
          "settings",
          "filter",
          "enabled",
          "created_at",
          "updated_at",
          "last_delivered_at"
        ],
        "title": "RouteResponse",
        "type": "object"
      },
      "RouteUpdate": {
        "description": "Fields to change on a destination route. Omitted fields are left alone.",
        "properties": {
          "destination": {
            "anyOf": [
              {
                "enum": [
                  "email",
                  "webhook",
                  "slack",
                  "linear",
                  "jira",
                  "datadog",
                  "s3"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Destination"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "filter": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter"
          },
          "name": {
            "anyOf": [
              {
                "maxLength": 256,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "settings": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Settings"
          }
        },
        "title": "RouteUpdate",
        "type": "object"
      },
      "RoutedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/RouteMetadata"
          },
          "type": {
            "const": "routed",
            "default": "routed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "RoutedEvent",
        "type": "object"
      },
      "RoutesResponse": {
        "description": "Destination routes configured for the current tenant.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/RouteResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "RoutesResponse",
        "type": "object"
      },
      "RuleErrorCode": {
        "description": "Why a rule's last run failed, as a stable code clients can branch on.",
        "enum": [
          "affected_asset_not_found",
          "affected_asset_source_missing",
          "invalid_rule_output",
          "unexpected_parsed_result_count",
          "invalid_signal",
          "display_name_unresolvable",
          "invalid_history_snapshot",
          "duplicate_signal_id",
          "invalid_fact",
          "cypher_error",
          "query_timeout",
          "memory_limit_exceeded",
          "internal_error"
        ],
        "title": "RuleErrorCode",
        "type": "string"
      },
      "RuleExecStatus": {
        "description": "Status of a rule's execution.",
        "enum": [
          "NEVER",
          "OK",
          "ERROR"
        ],
        "title": "RuleExecStatus",
        "type": "string"
      },
      "RuleHistoryPageResponse": {
        "description": "One page of a rule's archived findings.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SubImageArchivedFindingResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "limit",
          "offset"
        ],
        "title": "RuleHistoryPageResponse",
        "type": "object"
      },
      "RuleResultsPageResponse": {
        "description": "One page of a rule's active findings.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SubImageFindingResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "limit",
          "offset"
        ],
        "title": "RuleResultsPageResponse",
        "type": "object"
      },
      "RunningWorkloadRow": {
        "description": "Standardized running workload row for vulnerability detail tables.",
        "properties": {
          "account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Id"
          },
          "account_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Name"
          },
          "container_count": {
            "default": 1,
            "title": "Container Count",
            "type": "integer"
          },
          "exposed_internet": {
            "default": false,
            "title": "Exposed Internet",
            "type": "boolean"
          },
          "exposed_internet_type": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Exposed Internet Type",
            "type": "array"
          },
          "image": {
            "default": "",
            "title": "Image",
            "type": "string"
          },
          "image_digest": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Digest"
          },
          "platform": {
            "title": "Platform",
            "type": "string"
          },
          "platform_label": {
            "title": "Platform Label",
            "type": "string"
          },
          "region": {
            "default": "",
            "title": "Region",
            "type": "string"
          },
          "workload": {
            "default": "",
            "title": "Workload",
            "type": "string"
          },
          "workload_steps": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/RunningWorkloadStep"
            },
            "title": "Workload Steps",
            "type": "array"
          }
        },
        "required": [
          "platform",
          "platform_label"
        ],
        "title": "RunningWorkloadRow",
        "type": "object"
      },
      "RunningWorkloadStep": {
        "description": "One displayable step in a running workload hierarchy.",
        "properties": {
          "kind": {
            "title": "Kind",
            "type": "string"
          },
          "value": {
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "value"
        ],
        "title": "RunningWorkloadStep",
        "type": "object"
      },
      "ScenarioCapabilitiesResponse": {
        "description": "API response schema for scenario capabilities.",
        "properties": {
          "capabilities": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Capabilities",
            "type": "object"
          },
          "node_label": {
            "title": "Node Label",
            "type": "string"
          }
        },
        "required": [
          "node_label",
          "capabilities"
        ],
        "title": "ScenarioCapabilitiesResponse",
        "type": "object"
      },
      "ScenarioNodeLabelsResponse": {
        "description": "API response schema for scenario node labels.",
        "properties": {
          "node_labels": {
            "items": {
              "type": "string"
            },
            "title": "Node Labels",
            "type": "array"
          }
        },
        "required": [
          "node_labels"
        ],
        "title": "ScenarioNodeLabelsResponse",
        "type": "object"
      },
      "ScenarioSummaryResponse": {
        "description": "API response schema for scenario in list.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "filters": {
            "additionalProperties": true,
            "title": "Filters",
            "type": "object"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "node_label": {
            "title": "Node Label",
            "type": "string"
          },
          "transition_type": {
            "title": "Transition Type",
            "type": "string"
          }
        },
        "required": [
          "id",
          "transition_type",
          "node_label",
          "filters",
          "description",
          "created_at"
        ],
        "title": "ScenarioSummaryResponse",
        "type": "object"
      },
      "ScenariosResponse": {
        "description": "API response containing saved attack-path scenarios.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ScenarioSummaryResponse"
            },
            "title": "Items",
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "title": "ScenariosResponse",
        "type": "object"
      },
      "ScopeCondition": {
        "additionalProperties": false,
        "properties": {
          "field": {
            "enum": [
              "tenant",
              "cluster",
              "namespace"
            ],
            "title": "Field",
            "type": "string"
          },
          "value": {
            "items": {
              "maxLength": 512,
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 1,
            "title": "Value",
            "type": "array"
          }
        },
        "required": [
          "field",
          "value"
        ],
        "title": "ScopeCondition",
        "type": "object"
      },
      "ScopeCreateRequest": {
        "description": "Create a scope.",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/ScopeFilter"
          },
          "name": {
            "maxLength": 120,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "name",
          "filter"
        ],
        "title": "ScopeCreateRequest",
        "type": "object"
      },
      "ScopeFilter": {
        "additionalProperties": false,
        "properties": {
          "conditions": {
            "items": {
              "$ref": "#/components/schemas/ScopeCondition"
            },
            "maxItems": 3,
            "minItems": 1,
            "title": "Conditions",
            "type": "array"
          },
          "mode": {
            "default": "match_all",
            "enum": [
              "match_any",
              "match_all"
            ],
            "title": "Mode",
            "type": "string"
          }
        },
        "required": [
          "conditions"
        ],
        "title": "ScopeFilter",
        "type": "object"
      },
      "ScopeResponse": {
        "description": "Scope returned by the API.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "filter": {
            "$ref": "#/components/schemas/ScopeFilter"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "scope_id": {
            "title": "Scope Id",
            "type": "string"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "scope_id",
          "slug",
          "name",
          "filter",
          "created_at",
          "updated_at"
        ],
        "title": "ScopeResponse",
        "type": "object"
      },
      "ScopeUpdateRequest": {
        "description": "Update a scope.",
        "properties": {
          "filter": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScopeFilter"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "anyOf": [
              {
                "maxLength": 120,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          }
        },
        "title": "ScopeUpdateRequest",
        "type": "object"
      },
      "ScopesResponse": {
        "description": "Scopes configured for the current tenant.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ScopeResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "ScopesResponse",
        "type": "object"
      },
      "SearchResponse": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/IssueSearchHit"
            },
            "title": "Results",
            "type": "array"
          }
        },
        "title": "SearchResponse",
        "type": "object"
      },
      "SecretResult": {
        "description": "Secret result (AWS Secrets Manager, GCP Secret Manager, etc.).",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "rotation_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rotation Enabled"
          },
          "updated_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "required": [
          "id",
          "name",
          "created_at",
          "updated_at",
          "rotation_enabled",
          "provider"
        ],
        "title": "SecretResult",
        "type": "object"
      },
      "SecretValidationRequest": {
        "description": "Request schema for validating access to an AWS secret.",
        "properties": {
          "secret_arn": {
            "title": "Secret Arn",
            "type": "string"
          }
        },
        "required": [
          "secret_arn"
        ],
        "title": "SecretValidationRequest",
        "type": "object"
      },
      "SecretValidationResponse": {
        "description": "Response schema for secret validation.",
        "properties": {
          "can_access": {
            "title": "Can Access",
            "type": "boolean"
          },
          "error_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Message"
          }
        },
        "required": [
          "can_access"
        ],
        "title": "SecretValidationResponse",
        "type": "object"
      },
      "SecretsAccountRequest": {
        "description": "Request schema for setting the secrets account ID.",
        "properties": {
          "account_id": {
            "maxLength": 12,
            "minLength": 12,
            "pattern": "^[0-9]{12}$",
            "title": "Account Id",
            "type": "string"
          }
        },
        "required": [
          "account_id"
        ],
        "title": "SecretsAccountRequest",
        "type": "object"
      },
      "SecretsAccountResponse": {
        "description": "Secrets account response.",
        "properties": {
          "account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Id"
          },
          "external_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Id"
          }
        },
        "required": [
          "account_id",
          "external_id"
        ],
        "title": "SecretsAccountResponse",
        "type": "object"
      },
      "SecurityScoreDataPointResponse": {
        "description": "API response schema for a single security score history datapoint.",
        "properties": {
          "date": {
            "title": "Date",
            "type": "string"
          },
          "mean_impact": {
            "title": "Mean Impact",
            "type": "number"
          },
          "mean_likelihood": {
            "title": "Mean Likelihood",
            "type": "number"
          },
          "score": {
            "title": "Score",
            "type": "integer"
          },
          "total_paths": {
            "title": "Total Paths",
            "type": "integer"
          }
        },
        "required": [
          "date",
          "score",
          "total_paths",
          "mean_impact",
          "mean_likelihood"
        ],
        "title": "SecurityScoreDataPointResponse",
        "type": "object"
      },
      "SecurityScoreResponse": {
        "description": "API response schema for the tenant's security score with history.",
        "properties": {
          "history": {
            "items": {
              "$ref": "#/components/schemas/SecurityScoreDataPointResponse"
            },
            "title": "History",
            "type": "array"
          },
          "score": {
            "title": "Score",
            "type": "integer"
          },
          "total_paths": {
            "title": "Total Paths",
            "type": "integer"
          }
        },
        "required": [
          "score",
          "total_paths",
          "history"
        ],
        "title": "SecurityScoreResponse",
        "type": "object"
      },
      "ServiceAccountResult": {
        "description": "Service account result.",
        "properties": {
          "active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Active"
          },
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          }
        },
        "required": [
          "id",
          "name",
          "email",
          "active",
          "provider"
        ],
        "title": "ServiceAccountResult",
        "type": "object"
      },
      "SeverityChangedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/SeverityChangedMetadata"
          },
          "type": {
            "const": "severity_changed",
            "default": "severity_changed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "SeverityChangedEvent",
        "type": "object"
      },
      "SeverityChangedMetadata": {
        "properties": {
          "new_severity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "New Severity"
          },
          "old_severity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Old Severity"
          }
        },
        "title": "SeverityChangedMetadata",
        "type": "object"
      },
      "SignalSource": {
        "enum": [
          "rule",
          "ai"
        ],
        "title": "SignalSource",
        "type": "string"
      },
      "SortOrder": {
        "description": "Sort order accepted by paginated list endpoints.",
        "enum": [
          "asc",
          "desc"
        ],
        "title": "SortOrder",
        "type": "string"
      },
      "SubImageArchivedFindingResponse": {
        "description": "Schema representing an archived finding in the API response.",
        "properties": {
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "fact_id": {
            "title": "Fact Id",
            "type": "string"
          },
          "fields": {
            "additionalProperties": true,
            "default": {},
            "title": "Fields",
            "type": "object"
          },
          "first_seen": {
            "format": "date-time",
            "title": "First Seen",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "remediated_at": {
            "format": "date-time",
            "title": "Remediated At",
            "type": "string"
          },
          "rule_id": {
            "title": "Rule Id",
            "type": "string"
          }
        },
        "required": [
          "id",
          "rule_id",
          "fact_id",
          "display_name",
          "first_seen",
          "remediated_at"
        ],
        "title": "SubImageArchivedFindingResponse",
        "type": "object"
      },
      "SubImageFindingResponse": {
        "description": "Schema representing a finding result in the API response.",
        "properties": {
          "accepted": {
            "default": false,
            "title": "Accepted",
            "type": "boolean"
          },
          "accepted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted At"
          },
          "accepted_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "accepted_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted Reason"
          },
          "accepted_until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted Until"
          },
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "extra": {
            "additionalProperties": true,
            "default": {},
            "title": "Extra",
            "type": "object"
          },
          "fact_id": {
            "title": "Fact Id",
            "type": "string"
          },
          "fields": {
            "additionalProperties": true,
            "default": {},
            "title": "Fields",
            "type": "object"
          },
          "first_seen": {
            "format": "date-time",
            "title": "First Seen",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "rule_id": {
            "title": "Rule Id",
            "type": "string"
          },
          "source": {
            "title": "Source",
            "type": "string"
          }
        },
        "required": [
          "id",
          "rule_id",
          "fact_id",
          "first_seen",
          "display_name",
          "source"
        ],
        "title": "SubImageFindingResponse",
        "type": "object"
      },
      "SubImageFrameworkReferenceResponse": {
        "description": "Schema representing a compliance framework reference for a rule.",
        "properties": {
          "control_title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Control Title"
          },
          "enabled": {
            "default": false,
            "title": "Enabled",
            "type": "boolean"
          },
          "id": {
            "default": "",
            "title": "Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "requirement": {
            "title": "Requirement",
            "type": "string"
          },
          "revision": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Revision"
          },
          "scope": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope"
          },
          "short_name": {
            "title": "Short Name",
            "type": "string"
          }
        },
        "required": [
          "name",
          "short_name",
          "requirement"
        ],
        "title": "SubImageFrameworkReferenceResponse",
        "type": "object"
      },
      "SubImageRuleDetailResponse": {
        "description": "Rule detail response. Same shape as the summary plus the rule's cypher\nqueries; ``results`` and ``history`` are served by paginated sibling\nendpoints so the detail page does not have to ship every finding on a\nrule with thousands of them.",
        "properties": {
          "accepted_count": {
            "default": 0,
            "title": "Accepted Count",
            "type": "integer"
          },
          "attack_path_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Attack Path Id"
          },
          "custom_rule": {
            "default": false,
            "title": "Custom Rule",
            "type": "boolean"
          },
          "dedup_keys": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "default": {},
            "title": "Dedup Keys",
            "type": "object"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "disabled": {
            "title": "Disabled",
            "type": "boolean"
          },
          "disabled_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled At"
          },
          "disabled_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "disabled_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled Reason"
          },
          "disabled_until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled Until"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "error_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RuleErrorCode"
              },
              {
                "type": "null"
              }
            ]
          },
          "error_hint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Hint"
          },
          "exec_status": {
            "$ref": "#/components/schemas/RuleExecStatus",
            "default": "NEVER"
          },
          "factors": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FactorResponse"
            },
            "title": "Factors",
            "type": "array"
          },
          "failing_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Failing Assets"
          },
          "findings_count": {
            "default": 0,
            "title": "Findings Count",
            "type": "integer"
          },
          "frameworks": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/SubImageFrameworkReferenceResponse"
            },
            "title": "Frameworks",
            "type": "array"
          },
          "history_count": {
            "default": 0,
            "title": "History Count",
            "type": "integer"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "last_duration_ms": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Duration Ms"
          },
          "last_finding_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Finding Date"
          },
          "last_ok_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Ok At"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "passing_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Passing Assets"
          },
          "queries": {
            "additionalProperties": {
              "type": "string"
            },
            "default": {},
            "title": "Queries",
            "type": "object"
          },
          "references": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/SubImageRuleReference"
            },
            "title": "References",
            "type": "array"
          },
          "rules_page_visible": {
            "default": true,
            "title": "Rules Page Visible",
            "type": "boolean"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "title": "Tags",
            "type": "array"
          },
          "total_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Assets"
          }
        },
        "required": [
          "id",
          "name",
          "tags",
          "description",
          "disabled",
          "disabled_reason",
          "disabled_at",
          "disabled_by",
          "disabled_until"
        ],
        "title": "SubImageRuleDetailResponse",
        "type": "object"
      },
      "SubImageRuleReference": {
        "description": "Schema representing a reference associated with a rule.",
        "properties": {
          "text": {
            "title": "Text",
            "type": "string"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "url",
          "text"
        ],
        "title": "SubImageRuleReference",
        "type": "object"
      },
      "SubImageRuleSummaryResponse": {
        "description": "Lightweight rule summary for the list endpoint (excludes results, history, queries).",
        "properties": {
          "accepted_count": {
            "default": 0,
            "title": "Accepted Count",
            "type": "integer"
          },
          "attack_path_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Attack Path Id"
          },
          "custom_rule": {
            "default": false,
            "title": "Custom Rule",
            "type": "boolean"
          },
          "dedup_keys": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "default": {},
            "title": "Dedup Keys",
            "type": "object"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "disabled": {
            "title": "Disabled",
            "type": "boolean"
          },
          "disabled_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled At"
          },
          "disabled_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "disabled_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled Reason"
          },
          "disabled_until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled Until"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "error_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RuleErrorCode"
              },
              {
                "type": "null"
              }
            ]
          },
          "error_hint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Hint"
          },
          "exec_status": {
            "$ref": "#/components/schemas/RuleExecStatus",
            "default": "NEVER"
          },
          "factors": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FactorResponse"
            },
            "title": "Factors",
            "type": "array"
          },
          "failing_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Failing Assets"
          },
          "findings_count": {
            "default": 0,
            "title": "Findings Count",
            "type": "integer"
          },
          "frameworks": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/SubImageFrameworkReferenceResponse"
            },
            "title": "Frameworks",
            "type": "array"
          },
          "history_count": {
            "default": 0,
            "title": "History Count",
            "type": "integer"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "last_duration_ms": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Duration Ms"
          },
          "last_finding_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Finding Date"
          },
          "last_ok_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Ok At"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "passing_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Passing Assets"
          },
          "references": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/SubImageRuleReference"
            },
            "title": "References",
            "type": "array"
          },
          "rules_page_visible": {
            "default": true,
            "title": "Rules Page Visible",
            "type": "boolean"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "title": "Tags",
            "type": "array"
          },
          "total_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Assets"
          }
        },
        "required": [
          "id",
          "name",
          "tags",
          "description",
          "disabled",
          "disabled_reason",
          "disabled_at",
          "disabled_by",
          "disabled_until"
        ],
        "title": "SubImageRuleSummaryResponse",
        "type": "object"
      },
      "SubImageRulesResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SubImageSingleRuleResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "metadata": {
            "additionalProperties": {
              "type": "integer"
            },
            "default": {},
            "title": "Metadata",
            "type": "object"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "SubImageRulesResponse",
        "type": "object"
      },
      "SubImageRulesSummaryResponse": {
        "description": "Summary response for the findings list endpoint.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SubImageRuleSummaryResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "metadata": {
            "additionalProperties": {
              "type": "integer"
            },
            "default": {},
            "title": "Metadata",
            "type": "object"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "SubImageRulesSummaryResponse",
        "type": "object"
      },
      "SubImageSingleRuleResponse": {
        "description": "Schema representing a single rule in the API response.",
        "properties": {
          "attack_path_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Attack Path Id"
          },
          "custom_rule": {
            "default": false,
            "title": "Custom Rule",
            "type": "boolean"
          },
          "dedup_keys": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "default": {},
            "title": "Dedup Keys",
            "type": "object"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "disabled": {
            "title": "Disabled",
            "type": "boolean"
          },
          "disabled_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled At"
          },
          "disabled_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "disabled_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled Reason"
          },
          "disabled_until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled Until"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "error_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RuleErrorCode"
              },
              {
                "type": "null"
              }
            ]
          },
          "error_hint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Hint"
          },
          "exec_status": {
            "$ref": "#/components/schemas/RuleExecStatus",
            "default": "NEVER"
          },
          "factors": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/FactorResponse"
            },
            "title": "Factors",
            "type": "array"
          },
          "failing_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Failing Assets"
          },
          "frameworks": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/SubImageFrameworkReferenceResponse"
            },
            "title": "Frameworks",
            "type": "array"
          },
          "history": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/SubImageArchivedFindingResponse"
            },
            "title": "History",
            "type": "array"
          },
          "history_count": {
            "default": 0,
            "title": "History Count",
            "type": "integer"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "last_duration_ms": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Duration Ms"
          },
          "last_ok_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Ok At"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "passing_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Passing Assets"
          },
          "queries": {
            "additionalProperties": {
              "type": "string"
            },
            "default": {},
            "title": "Queries",
            "type": "object"
          },
          "references": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/SubImageRuleReference"
            },
            "title": "References",
            "type": "array"
          },
          "results": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/SubImageFindingResponse"
            },
            "title": "Results",
            "type": "array"
          },
          "rules_page_visible": {
            "default": true,
            "title": "Rules Page Visible",
            "type": "boolean"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "title": "Tags",
            "type": "array"
          },
          "total_assets": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Assets"
          }
        },
        "required": [
          "id",
          "name",
          "tags",
          "description",
          "disabled",
          "disabled_reason",
          "disabled_at",
          "disabled_by",
          "disabled_until"
        ],
        "title": "SubImageSingleRuleResponse",
        "type": "object"
      },
      "SuggestedOwner": {
        "description": "One rule-engine-derived owner candidate for an Issue.\n\nDistinct from ``IssueUser`` (operator-assigned owners) because a suggestion\ncarries the ownership provenance: whether it is a person or a team, which\nownership rule produced it, its confidence, and whether it came from the\nresource itself or an owning ancestor (cluster, account) via the climb.",
        "properties": {
          "avatar_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avatar Url"
          },
          "confidence": {
            "default": "MEDIUM",
            "enum": [
              "LOW",
              "MEDIUM",
              "HIGH",
              "CERTAIN"
            ],
            "title": "Confidence",
            "type": "string"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "kind": {
            "default": "user",
            "enum": [
              "user",
              "team"
            ],
            "title": "Kind",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "primary_rule": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Primary Rule"
          },
          "via_ancestor_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Via Ancestor Label"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "SuggestedOwner",
        "type": "object"
      },
      "SuggestedOwnership": {
        "description": "Auto-derived ownership for an Issue, written once at creation by the\nassignee agent. Kept alongside operator ``owners`` (never overwrites them).",
        "properties": {
          "candidates": {
            "items": {
              "$ref": "#/components/schemas/SuggestedOwner"
            },
            "title": "Candidates",
            "type": "array"
          },
          "picked_primary": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SuggestedOwner"
              },
              {
                "type": "null"
              }
            ]
          },
          "tie_break_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tie Break Reason"
          }
        },
        "title": "SuggestedOwnership",
        "type": "object"
      },
      "SupportingEvidenceAddedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/EvidenceChangeMetadata"
          },
          "type": {
            "const": "supporting_evidence_added",
            "default": "supporting_evidence_added",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "SupportingEvidenceAddedEvent",
        "type": "object"
      },
      "SupportingEvidenceRemovedEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/EvidenceChangeMetadata"
          },
          "type": {
            "const": "supporting_evidence_removed",
            "default": "supporting_evidence_removed",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "SupportingEvidenceRemovedEvent",
        "type": "object"
      },
      "SyncAutoscaleDecisionResponse": {
        "description": "The autoscaler's verdict on one finished sync run.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "module_name": {
            "title": "Module Name",
            "type": "string"
          },
          "outcome": {
            "$ref": "#/components/schemas/DecisionOutcome"
          },
          "rationale": {
            "title": "Rationale",
            "type": "string"
          },
          "run_seconds": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Run Seconds"
          },
          "signal": {
            "$ref": "#/components/schemas/ResourceSignal"
          },
          "sizing_after": {
            "$ref": "#/components/schemas/SyncSizingResponse"
          },
          "sizing_before": {
            "$ref": "#/components/schemas/SyncSizingResponse"
          },
          "source": {
            "$ref": "#/components/schemas/SignalSource"
          },
          "sync_id": {
            "title": "Sync Id",
            "type": "string"
          }
        },
        "required": [
          "sync_id",
          "module_name",
          "signal",
          "source",
          "outcome",
          "rationale",
          "sizing_before",
          "sizing_after",
          "created_at"
        ],
        "title": "SyncAutoscaleDecisionResponse",
        "type": "object"
      },
      "SyncHistoryItemResponse": {
        "description": "One sync run in the tenant's recent history.",
        "properties": {
          "completed_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed At"
          },
          "config_error_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Config Error Type"
          },
          "error_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Message"
          },
          "last_run_at": {
            "format": "date-time",
            "title": "Last Run At",
            "type": "string"
          },
          "log_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Log Key"
          },
          "module_name": {
            "title": "Module Name",
            "type": "string"
          },
          "provider_execution_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Execution Id"
          },
          "sizing": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SyncSizingResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "started_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Started At"
          },
          "status": {
            "enum": [
              "submitted",
              "running",
              "success",
              "degraded",
              "failed",
              "config_error",
              "skipped",
              "unknown"
            ],
            "title": "Status",
            "type": "string"
          },
          "sync_id": {
            "title": "Sync Id",
            "type": "string"
          },
          "sync_type": {
            "enum": [
              "manual",
              "scheduled",
              "dependent"
            ],
            "title": "Sync Type",
            "type": "string"
          }
        },
        "required": [
          "module_name",
          "last_run_at",
          "status",
          "sync_id",
          "sync_type"
        ],
        "title": "SyncHistoryItemResponse",
        "type": "object"
      },
      "SyncHistoryResponse": {
        "description": "Recent sync runs across the tenant's configured modules.",
        "properties": {
          "history": {
            "items": {
              "$ref": "#/components/schemas/SyncHistoryItemResponse"
            },
            "title": "History",
            "type": "array"
          }
        },
        "required": [
          "history"
        ],
        "title": "SyncHistoryResponse",
        "type": "object"
      },
      "SyncRequest": {
        "description": "Request to start a sync.",
        "properties": {
          "module_name": {
            "title": "Module Name",
            "type": "string"
          }
        },
        "required": [
          "module_name"
        ],
        "title": "SyncRequest",
        "type": "object"
      },
      "SyncResponse": {
        "description": "Response from starting a sync",
        "properties": {
          "completed_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed At"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "started_at": {
            "format": "date-time",
            "title": "Started At",
            "type": "string"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "task_id": {
            "title": "Task Id",
            "type": "string"
          }
        },
        "required": [
          "status",
          "message",
          "started_at",
          "task_id"
        ],
        "title": "SyncResponse",
        "type": "object"
      },
      "SyncSizingResponse": {
        "description": "Resources a module's sync runs with.",
        "properties": {
          "memory_gb": {
            "title": "Memory Gb",
            "type": "integer"
          },
          "vcpus": {
            "title": "Vcpus",
            "type": "integer"
          },
          "workers": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workers"
          }
        },
        "required": [
          "vcpus",
          "memory_gb"
        ],
        "title": "SyncSizingResponse",
        "type": "object"
      },
      "SyncStatusResponse": {
        "description": "Current health and active-run count for the sync system.",
        "properties": {
          "running_syncs": {
            "title": "Running Syncs",
            "type": "integer"
          },
          "status": {
            "const": "healthy",
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "status",
          "running_syncs"
        ],
        "title": "SyncStatusResponse",
        "type": "object"
      },
      "TenantResult": {
        "description": "Tenant result (AWS accounts, projects, org roots, etc.).",
        "properties": {
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "tenant_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tenant Type"
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "domain",
          "provider",
          "tenant_type"
        ],
        "title": "TenantResult",
        "type": "object"
      },
      "ThirdPartyAppResult": {
        "description": "Third-party application result.",
        "properties": {
          "client_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Id"
          },
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "native_app": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Native App"
          },
          "protocol": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Protocol"
          },
          "source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source"
          },
          "users": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Users"
          }
        },
        "required": [
          "id",
          "client_id",
          "name",
          "enabled",
          "native_app",
          "protocol",
          "source"
        ],
        "title": "ThirdPartyAppResult",
        "type": "object"
      },
      "TriageVector": {
        "properties": {
          "applicability": {
            "$ref": "#/components/schemas/VectorDimension_Literal__applicable____partially_applicable____not_applicable____unknown___",
            "default": {
              "rationale": "Applicability was not assessed.",
              "value": "unknown"
            }
          },
          "blast_radius": {
            "$ref": "#/components/schemas/VectorDimension_Literal__single_resource____service____platform____org___"
          },
          "business_criticality": {
            "$ref": "#/components/schemas/VectorDimension_Literal__unknown____low____medium____high___"
          },
          "environment": {
            "$ref": "#/components/schemas/VectorDimension_Literal__unknown____non_prod____production___",
            "default": {
              "rationale": "Environment was not inferred.",
              "value": "unknown"
            }
          },
          "evidence_strength": {
            "$ref": "#/components/schemas/VectorDimension_Literal__weak____medium____strong___"
          },
          "exploitability": {
            "$ref": "#/components/schemas/VectorDimension_Literal__none____theoretical____known____active___"
          },
          "exposure": {
            "$ref": "#/components/schemas/VectorDimension_Literal__unknown____internal____reachable____internet_exposed___"
          },
          "fixability": {
            "$ref": "#/components/schemas/VectorDimension_Literal__unknown____hard____moderate____easy___"
          }
        },
        "required": [
          "exploitability",
          "exposure",
          "blast_radius",
          "business_criticality",
          "fixability",
          "evidence_strength"
        ],
        "title": "TriageVector",
        "type": "object"
      },
      "TriageVectorDimensionChange": {
        "properties": {
          "dimension": {
            "title": "Dimension",
            "type": "string"
          },
          "new_value": {
            "title": "New Value",
            "type": "string"
          },
          "old_value": {
            "title": "Old Value",
            "type": "string"
          }
        },
        "required": [
          "dimension",
          "old_value",
          "new_value"
        ],
        "title": "TriageVectorDimensionChange",
        "type": "object"
      },
      "TriageVectorOverriddenEvent": {
        "properties": {
          "author": {
            "$ref": "#/components/schemas/LifecycleEventAuthor"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/TriageVectorOverriddenMetadata"
          },
          "type": {
            "const": "triage_vector_overridden",
            "default": "triage_vector_overridden",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "author",
          "metadata"
        ],
        "title": "TriageVectorOverriddenEvent",
        "type": "object"
      },
      "TriageVectorOverriddenMetadata": {
        "properties": {
          "changes": {
            "items": {
              "$ref": "#/components/schemas/TriageVectorDimensionChange"
            },
            "title": "Changes",
            "type": "array"
          },
          "new_score": {
            "title": "New Score",
            "type": "integer"
          },
          "old_score": {
            "title": "Old Score",
            "type": "integer"
          }
        },
        "required": [
          "old_score",
          "new_score"
        ],
        "title": "TriageVectorOverriddenMetadata",
        "type": "object"
      },
      "TriageVectorOverrideRequest": {
        "description": "Operator-supplied triage vector; priority_score is recomputed from it server-side.",
        "properties": {
          "applicability": {
            "$ref": "#/components/schemas/VectorDimension_Literal__applicable____partially_applicable____not_applicable____unknown___"
          },
          "blast_radius": {
            "$ref": "#/components/schemas/VectorDimension_Literal__single_resource____service____platform____org___"
          },
          "business_criticality": {
            "$ref": "#/components/schemas/VectorDimension_Literal__unknown____low____medium____high___"
          },
          "environment": {
            "$ref": "#/components/schemas/VectorDimension_Literal__unknown____non_prod____production___"
          },
          "evidence_strength": {
            "$ref": "#/components/schemas/VectorDimension_Literal__weak____medium____strong___"
          },
          "exploitability": {
            "$ref": "#/components/schemas/VectorDimension_Literal__none____theoretical____known____active___"
          },
          "exposure": {
            "$ref": "#/components/schemas/VectorDimension_Literal__unknown____internal____reachable____internet_exposed___"
          },
          "fixability": {
            "$ref": "#/components/schemas/VectorDimension_Literal__unknown____hard____moderate____easy___"
          }
        },
        "required": [
          "exploitability",
          "exposure",
          "blast_radius",
          "business_criticality",
          "fixability",
          "evidence_strength",
          "environment",
          "applicability"
        ],
        "title": "TriageVectorOverrideRequest",
        "type": "object"
      },
      "UpdateFindingAcceptanceRequest": {
        "description": "Schema for updating the acceptance status of one or more findings within a rule.",
        "properties": {
          "accepted": {
            "title": "Accepted",
            "type": "boolean"
          },
          "accepted_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted Reason"
          },
          "accepted_until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted Until"
          },
          "finding_ids": {
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "title": "Finding Ids",
            "type": "array"
          }
        },
        "required": [
          "finding_ids",
          "accepted"
        ],
        "title": "UpdateFindingAcceptanceRequest",
        "type": "object"
      },
      "UpdateFindingAcceptanceResponse": {
        "description": "Schema representing the response when updating findings acceptance status.",
        "properties": {
          "failed": {
            "title": "Failed",
            "type": "integer"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/FindingAcceptanceResultItem"
            },
            "title": "Results",
            "type": "array"
          },
          "succeeded": {
            "title": "Succeeded",
            "type": "integer"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          }
        },
        "required": [
          "total",
          "succeeded",
          "failed",
          "results"
        ],
        "title": "UpdateFindingAcceptanceResponse",
        "type": "object"
      },
      "UpdateFrameworkStatusRequest": {
        "description": "Schema for enabling or disabling a framework.",
        "properties": {
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ],
        "title": "UpdateFrameworkStatusRequest",
        "type": "object"
      },
      "UpdateRuleStatusRequest": {
        "description": "Schema for updating the status of a rule.",
        "properties": {
          "disabled": {
            "title": "Disabled",
            "type": "boolean"
          },
          "disabled_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled Reason"
          },
          "disabled_until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled Until"
          }
        },
        "required": [
          "disabled"
        ],
        "title": "UpdateRuleStatusRequest",
        "type": "object"
      },
      "UpdateRuleStatusResponse": {
        "properties": {
          "disabled": {
            "title": "Disabled",
            "type": "boolean"
          },
          "disabled_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled At"
          },
          "disabled_by": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "disabled_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled Reason"
          },
          "disabled_until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disabled Until"
          },
          "id": {
            "title": "Id",
            "type": "string"
          }
        },
        "required": [
          "id",
          "disabled",
          "disabled_reason",
          "disabled_at",
          "disabled_by",
          "disabled_until"
        ],
        "title": "UpdateRuleStatusResponse",
        "type": "object"
      },
      "UpdateWorkOSApplicationRequest": {
        "description": "Schema for updating a WorkOS application.",
        "properties": {
          "description": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "name": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "role": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Role"
          }
        },
        "title": "UpdateWorkOSApplicationRequest",
        "type": "object"
      },
      "UserRef": {
        "description": "Canonical reference to a SubImage platform user across API responses.",
        "properties": {
          "avatar_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avatar Url"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          }
        },
        "required": [
          "id"
        ],
        "title": "UserRef",
        "type": "object"
      },
      "UserResult": {
        "description": "User result.",
        "properties": {
          "accounts": {
            "items": {
              "$ref": "#/components/schemas/AccountResult"
            },
            "title": "Accounts",
            "type": "array"
          },
          "active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Active"
          },
          "applications": {
            "items": {
              "type": "string"
            },
            "title": "Applications",
            "type": "array"
          },
          "console_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Console Url"
          },
          "email": {
            "title": "Email",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "user_id": {
            "title": "User Id",
            "type": "string"
          }
        },
        "required": [
          "id",
          "user_id",
          "name",
          "email",
          "active",
          "applications",
          "accounts"
        ],
        "title": "UserResult",
        "type": "object"
      },
      "ValidateCustomRuleQueryRequest": {
        "description": "Schema for validating a custom rule query before saving.",
        "properties": {
          "query": {
            "minLength": 1,
            "title": "Query",
            "type": "string"
          },
          "query_type": {
            "default": "query",
            "enum": [
              "query",
              "visual query"
            ],
            "title": "Query Type",
            "type": "string"
          },
          "require_aliases": {
            "default": false,
            "title": "Require Aliases",
            "type": "boolean"
          }
        },
        "required": [
          "query"
        ],
        "title": "ValidateCustomRuleQueryRequest",
        "type": "object"
      },
      "ValidateCustomRuleQueryResponse": {
        "description": "Validation response for custom rule query checks.",
        "properties": {
          "aliases": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Aliases",
            "type": "array"
          },
          "anchor_candidates": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AnchorCandidate"
            },
            "title": "Anchor Candidates",
            "type": "array"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "valid": {
            "default": true,
            "title": "Valid",
            "type": "boolean"
          }
        },
        "title": "ValidateCustomRuleQueryResponse",
        "type": "object"
      },
      "ValidateSchemaRequest": {
        "description": "Schema for validating a declarative schema configuration.",
        "properties": {
          "aws_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "12-digit AWS account ID that owns the bucket. SubImage will assume SubImageDeclarativeSchemaRole in this account. Required for S3.",
            "examples": [
              "123456789012"
            ],
            "title": "Aws Account Id"
          },
          "schema_path": {
            "description": "Path to the YAML schema file (e.g., s3://my-bucket/schema.yaml or gs://my-bucket/schema.yaml)",
            "examples": [
              "s3://my-company-data/hr-schema.yaml",
              "gs://my-company-data/hr-schema.yaml"
            ],
            "title": "Schema Path",
            "type": "string"
          }
        },
        "required": [
          "schema_path"
        ],
        "title": "ValidateSchemaRequest",
        "type": "object"
      },
      "ValidateSchemaResponse": {
        "description": "Schema for declarative schema validation API response.",
        "properties": {
          "errors": {
            "items": {
              "$ref": "#/components/schemas/ValidationErrorResponse"
            },
            "title": "Errors",
            "type": "array"
          },
          "node_count": {
            "title": "Node Count",
            "type": "integer"
          },
          "node_labels": {
            "items": {
              "type": "string"
            },
            "title": "Node Labels",
            "type": "array"
          },
          "valid": {
            "title": "Valid",
            "type": "boolean"
          },
          "warnings": {
            "items": {
              "$ref": "#/components/schemas/ValidationWarningResponse"
            },
            "title": "Warnings",
            "type": "array"
          }
        },
        "required": [
          "valid",
          "node_count"
        ],
        "title": "ValidateSchemaResponse",
        "type": "object"
      },
      "ValidationError": {
        "properties": {
          "ctx": {
            "title": "Context",
            "type": "object"
          },
          "input": {
            "anyOf": [
              {
                "type": "object"
              },
              {
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Input"
          },
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "title": "Location",
            "type": "array"
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError",
        "type": "object"
      },
      "ValidationErrorResponse": {
        "description": "Schema representing a validation error in the API response.",
        "properties": {
          "field": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Field"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "node_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Node Label"
          }
        },
        "required": [
          "message"
        ],
        "title": "ValidationErrorResponse",
        "type": "object"
      },
      "ValidationWarningResponse": {
        "description": "Schema representing a validation warning in the API response.",
        "properties": {
          "field": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Field"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "node_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Node Label"
          }
        },
        "required": [
          "message"
        ],
        "title": "ValidationWarningResponse",
        "type": "object"
      },
      "VectorDimension_Literal__applicable____partially_applicable____not_applicable____unknown___": {
        "properties": {
          "rationale": {
            "title": "Rationale",
            "type": "string"
          },
          "value": {
            "enum": [
              "applicable",
              "partially_applicable",
              "not_applicable",
              "unknown"
            ],
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "rationale"
        ],
        "title": "VectorDimension[Literal['applicable', 'partially_applicable', 'not_applicable', 'unknown']]",
        "type": "object"
      },
      "VectorDimension_Literal__none____theoretical____known____active___": {
        "properties": {
          "rationale": {
            "title": "Rationale",
            "type": "string"
          },
          "value": {
            "enum": [
              "none",
              "theoretical",
              "known",
              "active"
            ],
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "rationale"
        ],
        "title": "VectorDimension[Literal['none', 'theoretical', 'known', 'active']]",
        "type": "object"
      },
      "VectorDimension_Literal__single_resource____service____platform____org___": {
        "properties": {
          "rationale": {
            "title": "Rationale",
            "type": "string"
          },
          "value": {
            "enum": [
              "single_resource",
              "service",
              "platform",
              "org"
            ],
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "rationale"
        ],
        "title": "VectorDimension[Literal['single_resource', 'service', 'platform', 'org']]",
        "type": "object"
      },
      "VectorDimension_Literal__unknown____hard____moderate____easy___": {
        "properties": {
          "rationale": {
            "title": "Rationale",
            "type": "string"
          },
          "value": {
            "enum": [
              "unknown",
              "hard",
              "moderate",
              "easy"
            ],
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "rationale"
        ],
        "title": "VectorDimension[Literal['unknown', 'hard', 'moderate', 'easy']]",
        "type": "object"
      },
      "VectorDimension_Literal__unknown____internal____reachable____internet_exposed___": {
        "properties": {
          "rationale": {
            "title": "Rationale",
            "type": "string"
          },
          "value": {
            "enum": [
              "unknown",
              "internal",
              "reachable",
              "internet_exposed"
            ],
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "rationale"
        ],
        "title": "VectorDimension[Literal['unknown', 'internal', 'reachable', 'internet_exposed']]",
        "type": "object"
      },
      "VectorDimension_Literal__unknown____low____medium____high___": {
        "properties": {
          "rationale": {
            "title": "Rationale",
            "type": "string"
          },
          "value": {
            "enum": [
              "unknown",
              "low",
              "medium",
              "high"
            ],
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "rationale"
        ],
        "title": "VectorDimension[Literal['unknown', 'low', 'medium', 'high']]",
        "type": "object"
      },
      "VectorDimension_Literal__unknown____non_prod____production___": {
        "properties": {
          "rationale": {
            "title": "Rationale",
            "type": "string"
          },
          "value": {
            "enum": [
              "unknown",
              "non_prod",
              "production"
            ],
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "rationale"
        ],
        "title": "VectorDimension[Literal['unknown', 'non_prod', 'production']]",
        "type": "object"
      },
      "VectorDimension_Literal__weak____medium____strong___": {
        "properties": {
          "rationale": {
            "title": "Rationale",
            "type": "string"
          },
          "value": {
            "enum": [
              "weak",
              "medium",
              "strong"
            ],
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "rationale"
        ],
        "title": "VectorDimension[Literal['weak', 'medium', 'strong']]",
        "type": "object"
      },
      "VulnerabilitiesSummaryResponse": {
        "description": "Summary data for vulnerabilities page - fetched once on initial load.\n\nNote: Filter options (image, account, package) are loaded lazily\nvia the /filter-options/{type} endpoint.",
        "properties": {
          "severity_counts": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Severity Counts",
            "type": "object"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "total_count",
          "severity_counts"
        ],
        "title": "VulnerabilitiesSummaryResponse",
        "type": "object"
      },
      "VulnerabilitySignalMetadata": {
        "properties": {
          "affected_image_count": {
            "default": 0,
            "title": "Affected Image Count",
            "type": "integer"
          },
          "affected_package_count": {
            "default": 0,
            "title": "Affected Package Count",
            "type": "integer"
          },
          "cvss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Score"
          },
          "epss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Score"
          },
          "kev": {
            "default": false,
            "title": "Kev",
            "type": "boolean"
          },
          "kind": {
            "const": "vulnerability",
            "default": "vulnerability",
            "title": "Kind",
            "type": "string"
          },
          "published_date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Published Date"
          },
          "severity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Severity"
          }
        },
        "title": "VulnerabilitySignalMetadata",
        "type": "object"
      },
      "VulnerabilitySortBy": {
        "description": "Valid sort fields for the vulnerabilities list endpoint.\n\nShared by the REST router and the MCP tool so both surfaces accept\nexactly the same set of values.",
        "enum": [
          "cve_id",
          "title",
          "severity",
          "cvss_score",
          "published_date",
          "cisa_known_exploit",
          "epss_score",
          "exploit_maturity"
        ],
        "title": "VulnerabilitySortBy",
        "type": "string"
      },
      "WorkOSApplicationResponse": {
        "description": "Schema representing a WorkOS application in API responses.",
        "properties": {
          "app_id": {
            "title": "App Id",
            "type": "string"
          },
          "client_id": {
            "title": "Client Id",
            "type": "string"
          },
          "client_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Secret"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created By"
          },
          "description": {
            "title": "Description",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "role": {
            "title": "Role",
            "type": "string"
          }
        },
        "required": [
          "app_id",
          "client_id",
          "role",
          "name",
          "description"
        ],
        "title": "WorkOSApplicationResponse",
        "type": "object"
      },
      "WorkOSApplicationsResponse": {
        "description": "WorkOS applications configured for the current tenant.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/WorkOSApplicationResponse"
            },
            "title": "Items",
            "type": "array"
          },
          "limit": {
            "title": "Limit",
            "type": "integer"
          },
          "offset": {
            "title": "Offset",
            "type": "integer"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total_count",
          "limit",
          "offset"
        ],
        "title": "WorkOSApplicationsResponse",
        "type": "object"
      },
      "WorkloadChainNode": {
        "description": "One node in a container's workload lineage (leaf -> top).",
        "properties": {
          "id": {
            "title": "Id",
            "type": "string"
          },
          "labels": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Labels",
            "type": "array"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "node": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Node"
          },
          "region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          }
        },
        "required": [
          "id"
        ],
        "title": "WorkloadChainNode",
        "type": "object"
      }
    },
    "securitySchemes": {
      "cookie_session": {
        "description": "WorkOS AuthKit sealed session cookie used by the SubImage UI. Alternative to oauth2_m2m. Authorization after authenticate is by role capability (verb:domain), not OAuth scopes.",
        "in": "cookie",
        "name": "wos_session",
        "type": "apiKey"
      },
      "oauth2_m2m": {
        "description": "Machine-to-machine access token. Alternative to cookie_session. Authorization after authenticate is by role capability (verb:domain), not OAuth scopes on this token.",
        "flows": {
          "clientCredentials": {
            "scopes": {},
            "tokenUrl": "https://auth.subimage.io/oauth2/token"
          }
        },
        "type": "oauth2"
      }
    }
  },
  "externalDocs": {
    "description": "SubImage guides",
    "url": "https://docs.subimage.io/docs"
  },
  "info": {
    "description": "Query issues, vulnerabilities, attack paths, findings, inventory, and the tenant graph. Authenticate with either a WorkOS session cookie (`cookie_session`) or a machine-to-machine access token (`oauth2_m2m`). See the [M2M authentication guide](https://docs.subimage.io/docs/m2m_auth) for tokens.",
    "summary": "Programmatic access to SubImage security data",
    "title": "SubImage REST API",
    "version": "latest"
  },
  "openapi": "3.1.0",
  "paths": {
    "/api/api-keys/neo4j": {
      "get": {
        "description": "List all API keys for graph database access.\nView read-only credentials you've created to query your security graph.\n\nRequired role: member",
        "operationId": "api_keys_list_neo4j_users",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Neo4jUserList"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Neo4J Users",
        "tags": [
          "api_keys"
        ]
      },
      "post": {
        "description": "Create a new API key for graph database access.\nGenerate read-only credentials to programmatically query your security graph.\nThe password is only shown once and cannot be recovered later.\n\nRequired role: member",
        "operationId": "api_keys_create_neo4j_user",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNeo4jUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Neo4jUserResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Create Neo4J User",
        "tags": [
          "api_keys"
        ]
      }
    },
    "/api/api-keys/neo4j/{username}": {
      "delete": {
        "description": "Delete an API key for graph database access.\nPermanently revoke credentials to prevent future access to your security graph.\n\nRequired role: member",
        "operationId": "api_keys_delete_neo4j_user",
        "parameters": [
          {
            "description": "Neo4j username whose API key should be deleted.",
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "description": "Neo4j username whose API key should be deleted.",
              "title": "Username",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Delete Neo4J User",
        "tags": [
          "api_keys"
        ]
      }
    },
    "/api/api-keys/subimage": {
      "get": {
        "description": "List all WorkOS applications for this tenant.\nView all configured WorkOS applications and their associated roles.\n\nRequired role: admin",
        "operationId": "api_keys_list_workos_applications",
        "parameters": [
          {
            "description": "Maximum number of WorkOS applications to return.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of WorkOS applications to return.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of WorkOS applications to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of WorkOS applications to skip.",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkOSApplicationsResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Workos Applications",
        "tags": [
          "api_keys"
        ]
      },
      "post": {
        "description": "Create a new WorkOS application configuration.\nGenerates app_id, client_id, and client_secret automatically via WorkOS API.\nThe client_secret is only shown once and is not stored.\n\nRequired role: admin",
        "operationId": "api_keys_create_workos_application",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWorkOSApplicationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkOSApplicationResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Create Workos Application",
        "tags": [
          "api_keys"
        ]
      }
    },
    "/api/api-keys/subimage/{app_id}": {
      "delete": {
        "description": "Delete a WorkOS application configuration.\nRemove a WorkOS application from WorkOS and the tenant's configuration.\n\nRequired role: admin",
        "operationId": "api_keys_delete_workos_application",
        "parameters": [
          {
            "description": "WorkOS application id.",
            "in": "path",
            "name": "app_id",
            "required": true,
            "schema": {
              "description": "WorkOS application id.",
              "title": "App Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Delete Workos Application",
        "tags": [
          "api_keys"
        ]
      },
      "put": {
        "description": "Update an existing WorkOS application configuration.\nModify the role, name, or description of a registered WorkOS application.\n\nRequired role: admin",
        "operationId": "api_keys_update_workos_application",
        "parameters": [
          {
            "description": "WorkOS application id.",
            "in": "path",
            "name": "app_id",
            "required": true,
            "schema": {
              "description": "WorkOS application id.",
              "title": "App Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWorkOSApplicationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkOSApplicationResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Update Workos Application",
        "tags": [
          "api_keys"
        ]
      }
    },
    "/api/api-keys/subimage/{app_id}/rotate": {
      "post": {
        "description": "Rotate credentials for a WorkOS application.\nGenerates a new client_secret via WorkOS API for the specified application.\nThe new client_secret is only shown once and is not stored.\n\nRequired role: admin",
        "operationId": "api_keys_rotate_workos_application_credentials",
        "parameters": [
          {
            "description": "WorkOS application id.",
            "in": "path",
            "name": "app_id",
            "required": true,
            "schema": {
              "description": "WorkOS application id.",
              "title": "App Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkOSApplicationResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Rotate Workos Application Credentials",
        "tags": [
          "api_keys"
        ]
      }
    },
    "/api/attack-path": {
      "get": {
        "description": "List current graph-backed Attack Path Signals. Required role: member",
        "operationId": "attack_path_get_attack_paths",
        "parameters": [
          {
            "description": "Maximum number of attack paths to return.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 1000,
              "description": "Maximum number of attack paths to return.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of attack paths to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of attack paths to skip.",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttackPathsResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Attack Paths",
        "tags": [
          "attack_path"
        ]
      }
    },
    "/api/attack-path/from-asset/{node_label}": {
      "get": {
        "description": "Find attack paths whose steps reach assets matching the given criteria.\n\nEvery query parameter is treated as an asset property filter, so at least\none is required, e.g. `?instanceid=i-123` or `?cve_id=CVE-2024-1234`.\n\nRequired role: member",
        "operationId": "attack_path_get_attack_paths_from_asset_endpoint",
        "parameters": [
          {
            "description": "Graph node label of the asset, e.g. EC2Instance.",
            "in": "path",
            "name": "node_label",
            "required": true,
            "schema": {
              "description": "Graph node label of the asset, e.g. EC2Instance.",
              "title": "Node Label",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttackPathFromAssetResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Attack Paths From Asset Endpoint",
        "tags": [
          "attack_path"
        ]
      }
    },
    "/api/attack-path/scenario": {
      "post": {
        "description": "Create or preview an attack-path scenario. Required role: member",
        "operationId": "attack_path_create_scenario_endpoint",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScenarioRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateScenarioResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Create Scenario Endpoint",
        "tags": [
          "attack_path"
        ]
      }
    },
    "/api/attack-path/scenario/capabilities/{node_label}": {
      "get": {
        "description": "Get capabilities supported by a graph node label. Required role: member",
        "operationId": "attack_path_get_scenario_capabilities_endpoint",
        "parameters": [
          {
            "description": "Graph node label, for example EC2Instance.",
            "in": "path",
            "name": "node_label",
            "required": true,
            "schema": {
              "description": "Graph node label, for example EC2Instance.",
              "title": "Node Label",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScenarioCapabilitiesResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Scenario Capabilities Endpoint",
        "tags": [
          "attack_path"
        ]
      }
    },
    "/api/attack-path/scenario/node-labels": {
      "get": {
        "description": "List node labels supported by scenarios. Required role: member",
        "operationId": "attack_path_list_scenario_node_labels",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScenarioNodeLabelsResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Scenario Node Labels",
        "tags": [
          "attack_path"
        ]
      }
    },
    "/api/attack-path/scenario/{scenario_id}": {
      "delete": {
        "description": "Delete a persistent attack-path scenario. Required role: member",
        "operationId": "attack_path_delete_scenario",
        "parameters": [
          {
            "description": "Persistent attack-path scenario identifier.",
            "in": "path",
            "name": "scenario_id",
            "required": true,
            "schema": {
              "description": "Persistent attack-path scenario identifier.",
              "title": "Scenario Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteScenarioResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Delete Scenario",
        "tags": [
          "attack_path"
        ]
      }
    },
    "/api/attack-path/scenarios": {
      "get": {
        "description": "List persistent attack-path scenarios. Required role: member",
        "operationId": "attack_path_list_scenarios",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScenariosResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Scenarios",
        "tags": [
          "attack_path"
        ]
      }
    },
    "/api/attack-path/security-score": {
      "get": {
        "description": "Get the tenant's aggregate security score with history.\n\nRequired role: member",
        "operationId": "attack_path_get_security_score",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecurityScoreResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Security Score",
        "tags": [
          "attack_path"
        ]
      }
    },
    "/api/attack-path/{attack_path_id}": {
      "get": {
        "description": "Get one current graph-backed attack path.\n\nA path outside the active scope reads as absent. Required role: member",
        "operationId": "attack_path_get_attack_path_details",
        "parameters": [
          {
            "description": "Canonical AttackPath Signal ID.",
            "in": "path",
            "name": "attack_path_id",
            "required": true,
            "schema": {
              "description": "Canonical AttackPath Signal ID.",
              "title": "Attack Path Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttackPathDetailsResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Attack Path Details",
        "tags": [
          "attack_path"
        ]
      }
    },
    "/api/audit/events": {
      "get": {
        "description": "List audit events for the current tenant, newest first.\n\nRecords every mutation, every denial or failure, and declared sensitive\nreads. Ordinary successful reads are not recorded. Retention is 90 days.\n\nRequired role: admin or auditor",
        "operationId": "audit_list_events",
        "parameters": [
          {
            "description": "Maximum number of events to return.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of events to return.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Position to resume from: the next_cursor of the previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Position to resume from: the next_cursor of the previous page.",
              "title": "Cursor"
            }
          },
          {
            "description": "Oldest event to return, ISO-8601. Defaults to the oldest retained event.",
            "in": "query",
            "name": "start_time",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Oldest event to return, ISO-8601. Defaults to the oldest retained event.",
              "title": "Start Time"
            }
          },
          {
            "description": "Newest event to return, ISO-8601. Defaults to now.",
            "in": "query",
            "name": "end_time",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Newest event to return, ISO-8601. Defaults to now.",
              "title": "End Time"
            }
          },
          {
            "description": "Filter to one actor by user or machine-client id, exact match.",
            "in": "query",
            "name": "actor_subject_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to one actor by user or machine-client id, exact match.",
              "title": "Actor Subject Id"
            }
          },
          {
            "description": "Filter to one actor by email, exact match.",
            "in": "query",
            "name": "actor_email",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to one actor by email, exact match.",
              "title": "Actor Email"
            }
          },
          {
            "description": "Filter to one action, exact match, as `<domain>.<operation>` (for example `api_keys.rotate`).",
            "in": "query",
            "name": "action_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to one action, exact match, as `<domain>.<operation>` (for example `api_keys.rotate`).",
              "title": "Action Type"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditEventsPageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Events",
        "tags": [
          "audit"
        ]
      }
    },
    "/api/declarative-schema/validate": {
      "post": {
        "description": "Validate a declarative schema configuration before saving.\n\nThis endpoint fetches the schema from S3 or GCS (using the provided credentials)\nand validates its structure without saving the configuration to DynamoDB.\n\nUse this to preview validation errors and warnings before committing the config.\n\nRequired role: admin",
        "operationId": "declarative_schema_validate_declarative_schema",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateSchemaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateSchemaResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Validate Declarative Schema",
        "tags": [
          "declarative-schema"
        ]
      }
    },
    "/api/destinations/routes": {
      "get": {
        "description": "List destination routes for the current tenant.\n\nRequired role: operator",
        "operationId": "destinations_list_destination_routes",
        "parameters": [
          {
            "description": "Include only routes carrying these kinds. Repeat the parameter for several. Omitted, every kind is returned.",
            "in": "query",
            "name": "event_kind",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "enum": [
                      "ticket",
                      "notification",
                      "export"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Include only routes carrying these kinds. Repeat the parameter for several. Omitted, every kind is returned.",
              "title": "Event Kind"
            }
          },
          {
            "description": "When provided, include only routes whose enabled state matches this value.",
            "in": "query",
            "name": "enabled",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "When provided, include only routes whose enabled state matches this value.",
              "title": "Enabled"
            }
          },
          {
            "description": "Maximum number of routes to return.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of routes to return.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of routes to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of routes to skip.",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoutesResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Destination Routes",
        "tags": [
          "destinations"
        ]
      },
      "post": {
        "description": "Create a destination route for the current tenant.\n\nRequired role: operator",
        "operationId": "destinations_create_destination_route",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RouteCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RouteResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Create Destination Route",
        "tags": [
          "destinations"
        ]
      }
    },
    "/api/destinations/routes/{route_id}": {
      "delete": {
        "description": "Delete a destination route for the current tenant.\n\nRequired role: operator",
        "operationId": "destinations_delete_destination_route",
        "parameters": [
          {
            "description": "Identifier of the destination route.",
            "in": "path",
            "name": "route_id",
            "required": true,
            "schema": {
              "description": "Identifier of the destination route.",
              "title": "Route Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Delete Destination Route",
        "tags": [
          "destinations"
        ]
      },
      "patch": {
        "description": "Update a destination route for the current tenant.\n\nRequired role: operator",
        "operationId": "destinations_update_destination_route",
        "parameters": [
          {
            "description": "Identifier of the destination route.",
            "in": "path",
            "name": "route_id",
            "required": true,
            "schema": {
              "description": "Identifier of the destination route.",
              "title": "Route Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RouteUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RouteResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Update Destination Route",
        "tags": [
          "destinations"
        ]
      }
    },
    "/api/findings": {
      "get": {
        "description": "List graph-backed Rules without loading Rule details.\n\nCounts are computed inside the active scope when one is selected. Each rule\ncarries its last run's health: status, error code, a fix hint, when it last\nsucceeded, and how long it took.\n\nRequired role: viewer",
        "operationId": "findings_get_cartography_rules",
        "parameters": [
          {
            "description": "Only rules whose last findings sync ended in this status: OK, ERROR, or NEVER. Omit for every rule.",
            "in": "query",
            "name": "exec_status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/RuleExecStatus"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Only rules whose last findings sync ended in this status: OK, ERROR, or NEVER. Omit for every rule.",
              "title": "Exec Status"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubImageRulesSummaryResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Cartography Rules",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/custom-rule": {
      "post": {
        "description": "Create a custom Rule definition.\n\nRequired role: operator",
        "operationId": "findings_create_custom_rule",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomRuleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomRuleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Create Custom Rule",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/custom-rule/test": {
      "post": {
        "description": "Run a draft custom Rule against the current graph without saving it.\n\nEach fact runs read-only through the same detection the findings sync uses,\nand reports how many findings it produced, a sample, how long it took, and\nany problem that would fail the rule in the sync, with a fix hint. Create\nand update run this too and refuse a rule that fails for any reason other\nthan the interactive query timeout, which the sync does not apply.\n\nRequired role: operator",
        "operationId": "findings_test_custom_rule",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomRuleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomRuleTestResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Test Custom Rule",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/custom-rule/validate-query": {
      "post": {
        "description": "Validate a custom Rule query.\n\nRequired role: operator",
        "operationId": "findings_handle_validate_custom_rule_query",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateCustomRuleQueryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateCustomRuleQueryResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Handle Validate Custom Rule Query",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/custom-rule/{rule_id}": {
      "delete": {
        "description": "Delete a custom Rule definition.\n\nGraph cleanup and lifecycle logging occur on the next Findings sync.\n\nRequired role: operator",
        "operationId": "findings_delete_custom_rule",
        "parameters": [
          {
            "description": "Identifier of the custom Rule.",
            "in": "path",
            "name": "rule_id",
            "required": true,
            "schema": {
              "description": "Identifier of the custom Rule.",
              "title": "Rule Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteCustomRuleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Delete Custom Rule",
        "tags": [
          "findings"
        ]
      },
      "get": {
        "description": "Retrieve a custom Rule definition.\n\nRequired role: viewer",
        "operationId": "findings_get_custom_rule",
        "parameters": [
          {
            "description": "Identifier of the custom Rule.",
            "in": "path",
            "name": "rule_id",
            "required": true,
            "schema": {
              "description": "Identifier of the custom Rule.",
              "title": "Rule Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomRuleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Custom Rule",
        "tags": [
          "findings"
        ]
      },
      "put": {
        "description": "Update a custom Rule definition.\n\nRequired role: operator",
        "operationId": "findings_update_custom_rule",
        "parameters": [
          {
            "description": "Identifier of the custom Rule.",
            "in": "path",
            "name": "rule_id",
            "required": true,
            "schema": {
              "description": "Identifier of the custom Rule.",
              "title": "Rule Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomRuleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomRuleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Update Custom Rule",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/details/{rule_id}": {
      "get": {
        "description": "Retrieve graph-backed Rule metadata and visualization queries.\n\nRequired role: viewer",
        "operationId": "findings_get_rule_details",
        "parameters": [
          {
            "description": "Identifier of the finding Rule.",
            "in": "path",
            "name": "rule_id",
            "required": true,
            "schema": {
              "description": "Identifier of the finding Rule.",
              "title": "Rule Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubImageRuleDetailResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Rule Details",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/details/{rule_id}/history": {
      "get": {
        "description": "List remediated graph-backed Finding occurrences for one Rule.\n\nRequired role: viewer",
        "operationId": "findings_get_rule_history",
        "parameters": [
          {
            "description": "Identifier of the finding Rule.",
            "in": "path",
            "name": "rule_id",
            "required": true,
            "schema": {
              "description": "Identifier of the finding Rule.",
              "title": "Rule Id",
              "type": "string"
            }
          },
          {
            "description": "Maximum number of history entries to return.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "description": "Maximum number of history entries to return.",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of history entries to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of history entries to skip.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RuleHistoryPageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Rule History",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/details/{rule_id}/results": {
      "get": {
        "description": "Paginated graph-backed Findings for a Rule.\n\nSet ``accepted=true`` to page only risk-accepted findings,\n``accepted=false`` for active ones, or omit the param to page both.\n\nRequired role: viewer",
        "operationId": "findings_get_rule_results",
        "parameters": [
          {
            "description": "Identifier of the finding Rule.",
            "in": "path",
            "name": "rule_id",
            "required": true,
            "schema": {
              "description": "Identifier of the finding Rule.",
              "title": "Rule Id",
              "type": "string"
            }
          },
          {
            "description": "Maximum number of results to return.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "description": "Maximum number of results to return.",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of results to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of results to skip.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          },
          {
            "description": "Filter results by acceptance status.",
            "in": "query",
            "name": "accepted",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter results by acceptance status.",
              "title": "Accepted"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RuleResultsPageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Rule Results",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/export": {
      "get": {
        "description": "Export graph-backed Rules, Findings, and history.\n\nThe export follows the active scope, so it holds what the scoped UI shows\nrather than the whole tenant.\n\nRequired role: viewer",
        "operationId": "findings_export_findings",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubImageRulesResponse"
                }
              }
            },
            "description": "Streamed graph-backed findings export."
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Export Findings",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/frameworks": {
      "get": {
        "description": "List current graph-backed Frameworks with configured metadata.\n\nRequired role: viewer",
        "operationId": "findings_list_frameworks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_FrameworkResponse_"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Frameworks",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/frameworks/history": {
      "get": {
        "description": "List configured compliance histories for current Frameworks.\n\nRequired role: viewer",
        "operationId": "findings_get_framework_histories",
        "parameters": [
          {
            "description": "Framework identifiers to return; omit for all.",
            "in": "query",
            "name": "framework_ids",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Framework identifiers to return; omit for all.",
              "title": "Framework Ids"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FrameworkHistoriesResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Framework Histories",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/frameworks/{framework_id}": {
      "get": {
        "description": "Read one current Framework.\n\nRequired role: viewer",
        "operationId": "findings_get_framework",
        "parameters": [
          {
            "description": "Identifier of the compliance Framework.",
            "in": "path",
            "name": "framework_id",
            "required": true,
            "schema": {
              "description": "Identifier of the compliance Framework.",
              "title": "Framework Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FrameworkResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Framework",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/frameworks/{framework_id}/history": {
      "get": {
        "description": "Read one current Framework and its configured compliance history.\n\nRequired role: viewer",
        "operationId": "findings_get_framework_history",
        "parameters": [
          {
            "description": "Identifier of the compliance Framework.",
            "in": "path",
            "name": "framework_id",
            "required": true,
            "schema": {
              "description": "Identifier of the compliance Framework.",
              "title": "Framework Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FrameworkHistoryResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Framework History",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/frameworks/{framework_id}/history/{date}": {
      "get": {
        "description": "Read one dated compliance snapshot with per-Rule detail.\n\nRequired role: viewer",
        "operationId": "findings_get_framework_history_detail",
        "parameters": [
          {
            "description": "Identifier of the compliance Framework.",
            "in": "path",
            "name": "framework_id",
            "required": true,
            "schema": {
              "description": "Identifier of the compliance Framework.",
              "title": "Framework Id",
              "type": "string"
            }
          },
          {
            "description": "History snapshot date in ISO format (YYYY-MM-DD).",
            "in": "path",
            "name": "date",
            "required": true,
            "schema": {
              "description": "History snapshot date in ISO format (YYYY-MM-DD).",
              "title": "Date",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FrameworkHistoryDetailResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Framework History Detail",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/frameworks/{framework_id}/status": {
      "patch": {
        "description": "Enable or disable a current graph-backed Framework.\n\nRequired role: operator",
        "operationId": "findings_update_framework_status",
        "parameters": [
          {
            "description": "Identifier of the compliance Framework.",
            "in": "path",
            "name": "framework_id",
            "required": true,
            "schema": {
              "description": "Identifier of the compliance Framework.",
              "title": "Framework Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFrameworkStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FrameworkResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Update Framework Status",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/rules/{rule_id}/status": {
      "patch": {
        "description": "Enable or disable a graph-backed Rule.\n\nRequired role: operator",
        "operationId": "findings_update_rule_status",
        "parameters": [
          {
            "description": "Identifier of the finding Rule.",
            "in": "path",
            "name": "rule_id",
            "required": true,
            "schema": {
              "description": "Identifier of the finding Rule.",
              "title": "Rule Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRuleStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateRuleStatusResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Update Rule Status",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/findings/{rule_id}/acceptance": {
      "patch": {
        "description": "Accept or end acceptance for graph-backed Findings.\n\nRequired role: operator",
        "operationId": "findings_update_finding_acceptance",
        "parameters": [
          {
            "description": "Identifier of the finding Rule.",
            "in": "path",
            "name": "rule_id",
            "required": true,
            "schema": {
              "description": "Identifier of the finding Rule.",
              "title": "Rule Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFindingAcceptanceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateFindingAcceptanceResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Update Finding Acceptance",
        "tags": [
          "findings"
        ]
      }
    },
    "/api/inventory": {
      "get": {
        "description": "Get a summary of all inventory types with counts.\n\nReturns the total count for each inventory type:\n- Users (with linked accounts)\n- User accounts\n- API keys\n- Containers\n- Compute instances\n- Databases\n- Third-party applications\n- Serverless functions\n- Load balancers\n- Public IP addresses\n- Secrets\n- Object storage\n\nRequired role: viewer",
        "operationId": "inventory_get_inventory_summary",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventorySummaryResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Inventory Summary",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/apikeys": {
      "get": {
        "description": "Get the API keys inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_apikeys_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Apikeys Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/certificates": {
      "get": {
        "description": "Get the certificates inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_certificates_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Certificates Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/coderepositories": {
      "get": {
        "description": "Get the code repositories inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_coderepositories_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Coderepositories Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/computeclusters": {
      "get": {
        "description": "Get the compute clusters inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_computeclusters_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Computeclusters Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/computeinstances": {
      "get": {
        "description": "Get the compute instances inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_compute_instances_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Compute Instances Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/containerregistries": {
      "get": {
        "description": "Get the container registries inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_containerregistries_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Containerregistries Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/containers": {
      "get": {
        "description": "Get the containers inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_containers_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Containers Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/databases": {
      "get": {
        "description": "Get the databases inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_databases_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Databases Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/devices": {
      "get": {
        "description": "Get the devices inventory from the graph.\n\nDevices are ontology nodes observed by multiple providers via OBSERVED_AS.\n\nRequired role: viewer",
        "operationId": "inventory_get_devices_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Devices Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/dnszones": {
      "get": {
        "description": "Get the DNS zones inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_dnszones_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Dnszones Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/ec2": {
      "get": {
        "description": "Get all EC2 instances with their activity history.\nView running EC2 instances across your AWS accounts with recent CloudTrail events.\n\nRequired role: member",
        "operationId": "ec2_inventory_get_ec2_inventory",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EC2InventoryResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Ec2 Inventory",
        "tags": [
          "ec2_inventory"
        ]
      }
    },
    "/api/inventory/functions": {
      "get": {
        "description": "Get the serverless functions inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_functions_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Functions Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/groups": {
      "get": {
        "description": "Get the user groups inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_groups_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Groups Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/loadbalancers": {
      "get": {
        "description": "Get the load balancers inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_loadbalancers_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Loadbalancers Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/networkaccesscontrols": {
      "get": {
        "description": "Get the network access controls inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_networkaccesscontrols_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Networkaccesscontrols Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/objectstorage": {
      "get": {
        "description": "Get the object storage inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_objectstorage_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Objectstorage Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/permissionroles": {
      "get": {
        "description": "Get the permission roles inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_permissionroles_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Permissionroles Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/publicips": {
      "get": {
        "description": "Get the public IP addresses inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_publicips_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Publicips Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/secrets": {
      "get": {
        "description": "Get the secrets inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_secrets_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Secrets Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/serviceaccounts": {
      "get": {
        "description": "Get the service accounts inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_serviceaccounts_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Serviceaccounts Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/tenants": {
      "get": {
        "description": "Get the tenant inventory from the graph.\n\nThis includes ontology `Tenant` roots such as AWS accounts, GCP projects\nand organizations, SaaS organizations, and similar top-level containers.\n\nRequired role: viewer",
        "operationId": "inventory_get_tenants_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Tenants Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/thirdpartyapps": {
      "get": {
        "description": "Get the third-party applications inventory from the graph.\n\nRequired role: viewer",
        "operationId": "inventory_get_thirdpartyapps_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Thirdpartyapps Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/useraccounts": {
      "get": {
        "description": "Get the user account inventory from the graph.\n\nThis includes every user account, with the linked user (when any) and a\n`linked` flag indicating whether the account is tied to a User.\n\nRequired role: viewer",
        "operationId": "inventory_get_useraccounts_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Useraccounts Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/inventory/users": {
      "get": {
        "description": "Get the user inventory from the graph.\n\nThis includes users and their linked accounts.\n\nRequired role: viewer",
        "operationId": "inventory_get_users_inventory",
        "parameters": [
          {
            "description": "Field to sort by",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Field to sort by",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort order (asc or desc)",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SortOrder"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort order (asc or desc)",
              "title": "Sort Order"
            }
          },
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryPage"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Users Inventory",
        "tags": [
          "inventory"
        ]
      }
    },
    "/api/issues": {
      "get": {
        "description": "List Issues for the current tenant.\n\nUnder an active scope, an Issue is kept as soon as one of its primary\nsignals falls inside it.\n\nRequired role: viewer",
        "operationId": "issues_list_issues_endpoint",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of items to return",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of items to skip",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of items to skip",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          },
          {
            "description": "Filter by state: open, closed, snoozed, or all",
            "in": "query",
            "name": "state",
            "required": false,
            "schema": {
              "default": "open",
              "description": "Filter by state: open, closed, snoozed, or all",
              "title": "State",
              "type": "string"
            }
          },
          {
            "description": "Filter by title (partial match)",
            "in": "query",
            "name": "title",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by title (partial match)",
              "title": "Title"
            }
          },
          {
            "description": "Filter by owner email (exact match)",
            "in": "query",
            "name": "owner_email",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by owner email (exact match)",
              "title": "Owner Email"
            }
          },
          {
            "description": "Filter by primary signal type: vulnerability, finding, or attack_path",
            "in": "query",
            "name": "signal_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by primary signal type: vulnerability, finding, or attack_path",
              "title": "Signal Type"
            }
          },
          {
            "description": "Sort field",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/IssueSortBy",
              "default": "priority_score",
              "description": "Sort field"
            }
          },
          {
            "description": "Sort direction",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SortOrder",
              "default": "desc",
              "description": "Sort direction"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssueListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Issues Endpoint",
        "tags": [
          "issues"
        ]
      }
    },
    "/api/issues/count": {
      "get": {
        "description": "Return Issue counts by state for the current tenant.\n\nRequired role: viewer",
        "operationId": "issues_count_issues_endpoint",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssueCountResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Count Issues Endpoint",
        "tags": [
          "issues"
        ]
      }
    },
    "/api/issues/{issue_id}": {
      "get": {
        "description": "Return one Issue.\n\nRequired role: viewer",
        "operationId": "issues_get_issue_endpoint",
        "parameters": [
          {
            "description": "Issue id, e.g. ISSUE-42.",
            "in": "path",
            "name": "issue_id",
            "required": true,
            "schema": {
              "description": "Issue id, e.g. ISSUE-42.",
              "title": "Issue Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssueDetailResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Issue Endpoint",
        "tags": [
          "issues"
        ]
      }
    },
    "/api/issues/{issue_id}/dispatch": {
      "post": {
        "description": "Manually dispatch an Issue to one of its configured routes.\n\nBypasses the triage queue and delivers synchronously. Honors the route's\ndestination feature flag and records the external reference on the Issue.\n\nRequired role: operator",
        "operationId": "issues_dispatch_issue_endpoint",
        "parameters": [
          {
            "description": "Issue id, e.g. ISSUE-42.",
            "in": "path",
            "name": "issue_id",
            "required": true,
            "schema": {
              "description": "Issue id, e.g. ISSUE-42.",
              "title": "Issue Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueDispatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssueDispatchResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Dispatch Issue Endpoint",
        "tags": [
          "issues"
        ]
      }
    },
    "/api/issues/{issue_id}/owners": {
      "put": {
        "description": "Replace all owners on an Issue by email.\n\nRequired role: operator",
        "operationId": "issues_replace_issue_owners_endpoint",
        "parameters": [
          {
            "description": "Issue id, e.g. ISSUE-42.",
            "in": "path",
            "name": "issue_id",
            "required": true,
            "schema": {
              "description": "Issue id, e.g. ISSUE-42.",
              "title": "Issue Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueOwnersUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssueResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Replace Issue Owners Endpoint",
        "tags": [
          "issues"
        ]
      }
    },
    "/api/issues/{issue_id}/owners/{email}": {
      "delete": {
        "description": "Remove one owner from an Issue by email.\n\nRequired role: operator",
        "operationId": "issues_remove_issue_owner_endpoint",
        "parameters": [
          {
            "description": "Issue id, e.g. ISSUE-42.",
            "in": "path",
            "name": "issue_id",
            "required": true,
            "schema": {
              "description": "Issue id, e.g. ISSUE-42.",
              "title": "Issue Id",
              "type": "string"
            }
          },
          {
            "description": "Email address of the issue owner.",
            "in": "path",
            "name": "email",
            "required": true,
            "schema": {
              "description": "Email address of the issue owner.",
              "title": "Email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserRef"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Remove Issue Owner Endpoint",
        "tags": [
          "issues"
        ]
      },
      "put": {
        "description": "Add one owner to an Issue by email.\n\nRequired role: operator",
        "operationId": "issues_add_issue_owner_endpoint",
        "parameters": [
          {
            "description": "Issue id, e.g. ISSUE-42.",
            "in": "path",
            "name": "issue_id",
            "required": true,
            "schema": {
              "description": "Issue id, e.g. ISSUE-42.",
              "title": "Issue Id",
              "type": "string"
            }
          },
          {
            "description": "Email address of the issue owner.",
            "in": "path",
            "name": "email",
            "required": true,
            "schema": {
              "description": "Email address of the issue owner.",
              "title": "Email",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserRef"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Add Issue Owner Endpoint",
        "tags": [
          "issues"
        ]
      }
    },
    "/api/issues/{issue_id}/snooze": {
      "delete": {
        "description": "Reopen a snoozed Issue.\n\nRequired role: operator",
        "operationId": "issues_unsnooze_issue_endpoint",
        "parameters": [
          {
            "description": "Issue id, e.g. ISSUE-42.",
            "in": "path",
            "name": "issue_id",
            "required": true,
            "schema": {
              "description": "Issue id, e.g. ISSUE-42.",
              "title": "Issue Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssueResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Unsnooze Issue Endpoint",
        "tags": [
          "issues"
        ]
      },
      "post": {
        "description": "Snooze an Issue, silencing it until manually reopened or the end date passes.\n\nA snoozed Issue is hidden from the default open list and dispatches no\nnotifications, but the triage sync still attaches new evidence to it.\n\nRequired role: operator",
        "operationId": "issues_snooze_issue_endpoint",
        "parameters": [
          {
            "description": "Issue id, e.g. ISSUE-42.",
            "in": "path",
            "name": "issue_id",
            "required": true,
            "schema": {
              "description": "Issue id, e.g. ISSUE-42.",
              "title": "Issue Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueSnoozeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssueResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Snooze Issue Endpoint",
        "tags": [
          "issues"
        ]
      }
    },
    "/api/issues/{issue_id}/triage-vector": {
      "put": {
        "description": "Override the triage vector of an Issue and recompute its priority score.\n\nThe override is preserved across triage syncs until manually changed.\n\nRequired role: operator",
        "operationId": "issues_override_issue_triage_vector_endpoint",
        "parameters": [
          {
            "description": "Issue id, e.g. ISSUE-42.",
            "in": "path",
            "name": "issue_id",
            "required": true,
            "schema": {
              "description": "Issue id, e.g. ISSUE-42.",
              "title": "Issue Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TriageVectorOverrideRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssueResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Override Issue Triage Vector Endpoint",
        "tags": [
          "issues"
        ]
      }
    },
    "/api/modules/config": {
      "get": {
        "description": "Get all module configs for the current tenant.",
        "operationId": "sync_get_all_module_configs",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModuleConfigsResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get All Module Configs",
        "tags": [
          "sync"
        ]
      }
    },
    "/api/modules/{module_name}/config": {
      "delete": {
        "description": "Delete config for a specific module, effectively unconfiguring it.",
        "operationId": "sync_delete_module_config",
        "parameters": [
          {
            "description": "Name of the sync module, e.g. aws.",
            "in": "path",
            "name": "module_name",
            "required": true,
            "schema": {
              "description": "Name of the sync module, e.g. aws.",
              "title": "Module Name",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Delete Module Config",
        "tags": [
          "sync"
        ]
      },
      "get": {
        "description": "Get config for a specific module for the current tenant.\n\nRequired role: member",
        "operationId": "sync_get_module_config",
        "parameters": [
          {
            "description": "Name of the sync module, e.g. aws.",
            "in": "path",
            "name": "module_name",
            "required": true,
            "schema": {
              "description": "Name of the sync module, e.g. aws.",
              "title": "Module Name",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModuleConfigResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Module Config",
        "tags": [
          "sync"
        ]
      },
      "post": {
        "description": "Set config for a specific module for the current tenant.",
        "operationId": "sync_set_module_config",
        "parameters": [
          {
            "description": "Name of the sync module, e.g. aws.",
            "in": "path",
            "name": "module_name",
            "required": true,
            "schema": {
              "description": "Name of the sync module, e.g. aws.",
              "title": "Module Name",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ModuleConfigRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModuleConfigSaveResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Set Module Config",
        "tags": [
          "sync"
        ]
      }
    },
    "/api/outposts": {
      "get": {
        "description": "List the deployment's Tailscale outpost devices and their live status.\n\nRequired role: operator",
        "operationId": "outposts_list_outposts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutpostsResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Outposts",
        "tags": [
          "outposts"
        ]
      }
    },
    "/api/outposts/oauth-key": {
      "get": {
        "description": "Reveal the Tailscale OAuth key used to register a new outpost.\n\nRequired role: admin",
        "operationId": "outposts_get_outpost_oauth_key",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutpostOAuthKeyResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Outpost Oauth Key",
        "tags": [
          "outposts"
        ]
      }
    },
    "/api/outposts/{outpost_id}/logs": {
      "get": {
        "description": "Fetch a window of an outpost's container logs.\n\nDefaults to the most recent `count` lines. Required role: operator",
        "operationId": "outposts_get_outpost_logs",
        "parameters": [
          {
            "description": "Identifier of the outpost.",
            "in": "path",
            "name": "outpost_id",
            "required": true,
            "schema": {
              "description": "Identifier of the outpost.",
              "title": "Outpost Id",
              "type": "string"
            }
          },
          {
            "description": "Maximum number of log entries to return.",
            "in": "query",
            "name": "count",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of log entries to return.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Count",
              "type": "integer"
            }
          },
          {
            "description": "Number of log entries to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Number of log entries to skip.",
              "title": "Offset"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutpostLogsResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Outpost Logs",
        "tags": [
          "outposts"
        ]
      }
    },
    "/api/query/graph": {
      "post": {
        "description": "Execute a graph-oriented Cypher query with a rewritten RETURN clause.\n\nRequired role: member",
        "operationId": "query_execute_graph_query",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GraphQueryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GraphQueryResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Execute Graph Query",
        "tags": [
          "query"
        ]
      }
    },
    "/api/query/model-queries": {
      "get": {
        "description": "List every stored model query (built-in + bot-learned) for the tenant.\n\nRequired role: member",
        "operationId": "query_list_model_queries",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_ModelQueryItem_"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Model Queries",
        "tags": [
          "query"
        ]
      }
    },
    "/api/query/model-queries/{query_id}": {
      "delete": {
        "description": "Delete a learned model query by ID. Built-in queries cannot be deleted.\n\nRequired role: admin",
        "operationId": "query_delete_model_query",
        "parameters": [
          {
            "description": "Identifier of the saved model query.",
            "in": "path",
            "name": "query_id",
            "required": true,
            "schema": {
              "description": "Identifier of the saved model query.",
              "title": "Query Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Delete Model Query",
        "tags": [
          "query"
        ]
      }
    },
    "/api/scopes": {
      "get": {
        "description": "List scopes for the current tenant.\n\nRequired role: viewer",
        "operationId": "scopes_list_scopes_endpoint",
        "parameters": [
          {
            "description": "Maximum number of scopes to return.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of scopes to return.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Number of scopes to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Number of scopes to skip.",
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScopesResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Scopes Endpoint",
        "tags": [
          "scopes"
        ]
      },
      "post": {
        "description": "Create a scope for the current tenant.\n\nRequired role: admin",
        "operationId": "scopes_create_scope_endpoint",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScopeCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScopeResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Create Scope Endpoint",
        "tags": [
          "scopes"
        ]
      }
    },
    "/api/scopes/{scope_id}": {
      "delete": {
        "description": "Delete a scope for the current tenant.\n\nRequired role: admin",
        "operationId": "scopes_delete_scope_endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "scope_id",
            "required": true,
            "schema": {
              "title": "Scope Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Delete Scope Endpoint",
        "tags": [
          "scopes"
        ]
      },
      "patch": {
        "description": "Update a scope for the current tenant.\n\nRequired role: admin",
        "operationId": "scopes_update_scope_endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "scope_id",
            "required": true,
            "schema": {
              "title": "Scope Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScopeUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScopeResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Update Scope Endpoint",
        "tags": [
          "scopes"
        ]
      }
    },
    "/api/search": {
      "get": {
        "description": "Unified full-text search across every indexed entity the caller can read.\n\nReturns a flat list of typed results discriminated by ``type``. Entity\nindexes that are unavailable (non-Valkey cache, not yet backfilled) are\nskipped rather than failing the whole search.",
        "operationId": "search_search_endpoint",
        "parameters": [
          {
            "description": "Search text (Command+K palette)",
            "in": "query",
            "name": "q",
            "required": true,
            "schema": {
              "description": "Search text (Command+K palette)",
              "minLength": 1,
              "title": "Q",
              "type": "string"
            }
          },
          {
            "description": "Max matches per entity type",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "description": "Max matches per entity type",
              "maximum": 50,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Search Endpoint",
        "tags": [
          "search"
        ]
      }
    },
    "/api/secrets-account": {
      "get": {
        "description": "Get the secrets account ID for the current tenant.\n\nRequired role: admin",
        "operationId": "secrets_get_secrets_account",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecretsAccountResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Secrets Account",
        "tags": [
          "secrets"
        ]
      },
      "post": {
        "description": "Save the secrets account ID for the current tenant.\n\nRequired role: admin",
        "operationId": "secrets_set_secrets_account",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SecretsAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecretsAccountResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Set Secrets Account",
        "tags": [
          "secrets"
        ]
      }
    },
    "/api/sync": {
      "post": {
        "description": "Trigger a Cartography sync operation.",
        "operationId": "sync_trigger_sync",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SyncRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SyncResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Trigger Sync",
        "tags": [
          "sync"
        ]
      }
    },
    "/api/sync/autoscaler/decisions": {
      "get": {
        "description": "List the sync autoscaler's decisions, newest first.\n\nThe autoscaler judges each finished sync run once: the resource signal the\nrun carried (out of memory, too slow, contention, or none), whether a rule or\nthe AI diagnosis read it, and the sizing the module's next run gets as a\nresult.\n\nRequired role: viewer",
        "operationId": "sync_list_autoscale_decisions",
        "parameters": [
          {
            "description": "Only decisions for this sync module, e.g. aws.",
            "in": "query",
            "name": "module_name",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Only decisions for this sync module, e.g. aws.",
              "title": "Module Name"
            }
          },
          {
            "description": "Maximum decisions to return.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum decisions to return.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Decisions to skip before this page.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Decisions to skip before this page.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_SyncAutoscaleDecisionResponse_"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Autoscale Decisions",
        "tags": [
          "sync"
        ]
      }
    },
    "/api/sync/history": {
      "get": {
        "description": "Get sync history for all modules for the current tenant.\n\nRequired role: viewer",
        "operationId": "sync_get_sync_history",
        "parameters": [
          {
            "description": "Most recent runs to return for each module.",
            "in": "query",
            "name": "max_per_module",
            "required": false,
            "schema": {
              "default": 5,
              "description": "Most recent runs to return for each module.",
              "maximum": 100,
              "minimum": 1,
              "title": "Max Per Module",
              "type": "integer"
            }
          },
          {
            "description": "Only runs in these statuses. Combined with max_per_module=1, this answers when a module last reached one of them, however many runs ago that was.",
            "in": "query",
            "name": "statuses",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "enum": [
                      "submitted",
                      "running",
                      "success",
                      "degraded",
                      "failed",
                      "config_error",
                      "skipped",
                      "unknown"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Only runs in these statuses. Combined with max_per_module=1, this answers when a module last reached one of them, however many runs ago that was.",
              "title": "Statuses"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SyncHistoryResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Sync History",
        "tags": [
          "sync"
        ]
      }
    },
    "/api/sync/log/{sync_id}": {
      "get": {
        "description": "Fetch the sync log content for a given sync_id.\n\nRequired role: viewer",
        "operationId": "sync_get_sync_log",
        "parameters": [
          {
            "description": "Identifier of the sync run.",
            "in": "path",
            "name": "sync_id",
            "required": true,
            "schema": {
              "description": "Identifier of the sync run.",
              "title": "Sync Id",
              "type": "string"
            }
          },
          {
            "description": "When true, return the entire log instead of the tail.",
            "in": "query",
            "name": "full",
            "required": false,
            "schema": {
              "default": false,
              "description": "When true, return the entire log instead of the tail.",
              "title": "Full",
              "type": "boolean"
            }
          },
          {
            "description": "Number of bytes to read from the end of the log when not returning the full log.",
            "in": "query",
            "name": "tail_bytes",
            "required": false,
            "schema": {
              "default": 262144,
              "description": "Number of bytes to read from the end of the log when not returning the full log.",
              "maximum": 1048576,
              "minimum": 1,
              "title": "Tail Bytes",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Plain-text response."
          },
          "404": {
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Plain-text response."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "500": {
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Plain-text response."
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Sync Log",
        "tags": [
          "sync"
        ]
      }
    },
    "/api/sync/status": {
      "get": {
        "description": "Get the status of running sync tasks.\n\nRequired role: viewer",
        "operationId": "sync_get_sync_status",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SyncStatusResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Sync Status",
        "tags": [
          "sync"
        ]
      }
    },
    "/api/tenant/ai-config": {
      "get": {
        "description": "Get AI configuration for the current tenant.\n\nRequired role: member",
        "operationId": "tenant_get_ai_config",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AIConfigResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Ai Config",
        "tags": [
          "tenant"
        ]
      },
      "put": {
        "description": "Update AI configuration for the current tenant.\n\nPerforms a partial merge: only fields present in the request are updated.\n\nRequired role: admin",
        "operationId": "tenant_update_ai_config",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AIConfigRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AIConfigResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Update Ai Config",
        "tags": [
          "tenant"
        ]
      }
    },
    "/api/tenant/analyst-agent-config": {
      "get": {
        "description": "Get analyst-agent configuration for the current tenant.\n\nRequired role: member",
        "operationId": "tenant_get_analyst_agent_config",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnalystAgentConfig-Output"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Analyst Agent Config",
        "tags": [
          "tenant"
        ]
      },
      "put": {
        "description": "Update analyst-agent configuration for the current tenant.\n\nRequired role: admin",
        "operationId": "tenant_update_analyst_agent_config",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnalystAgentConfig-Input"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnalystAgentConfig-Output"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Update Analyst Agent Config",
        "tags": [
          "tenant"
        ]
      }
    },
    "/api/validate-secret": {
      "post": {
        "description": "Validate whether the backend can access a given AWS secret.",
        "operationId": "secrets_validate_secret_access",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SecretValidationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecretValidationResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Validate Secret Access",
        "tags": [
          "secrets"
        ]
      }
    },
    "/api/vulnerabilities/action-items": {
      "get": {
        "description": "List stored remediation plans, limited to the active scope.\n\nRequired role: member",
        "operationId": "vulnerabilities_list_action_items",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_ActionItemSummary_"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Action Items",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/action-items/summary": {
      "get": {
        "description": "Get stored remediation plan counts. Required role: member",
        "operationId": "vulnerabilities_get_action_items_summary",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActionItemsSummaryResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Action Items Summary",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/action-items/{service_image}": {
      "get": {
        "description": "Get one stored remediation plan. Required role: member",
        "operationId": "vulnerabilities_get_action_item_detail",
        "parameters": [
          {
            "description": "Service image plan key.",
            "in": "path",
            "name": "service_image",
            "required": true,
            "schema": {
              "description": "Service image plan key.",
              "title": "Service Image",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActionItem"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Action Item Detail",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/list": {
      "get": {
        "description": "List current graph-backed CVEs. Required role: member",
        "operationId": "vulnerabilities_list_vulnerabilities",
        "parameters": [
          {
            "description": "Maximum items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum items.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Items to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Items to skip.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          },
          {
            "description": "Severity filter.",
            "in": "query",
            "name": "severity",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Severity filter.",
              "title": "Severity"
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/VulnerabilitySortBy"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort field.",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SortOrder",
              "default": "desc",
              "description": "Sort direction."
            }
          },
          {
            "description": "Image name filter.",
            "in": "query",
            "name": "image_name",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Image name filter.",
              "title": "Image Name"
            }
          },
          {
            "description": "Cloud account filter.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cloud account filter.",
              "title": "Account"
            }
          },
          {
            "description": "Package name filter.",
            "in": "query",
            "name": "package_name",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Package name filter.",
              "title": "Package Name"
            }
          },
          {
            "description": "CVE identifier filter.",
            "in": "query",
            "name": "cve_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "CVE identifier filter.",
              "title": "Cve Id"
            }
          },
          {
            "description": "Runtime platform filter.",
            "in": "query",
            "name": "platform",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Runtime platform filter.",
              "title": "Platform"
            }
          },
          {
            "description": "Cluster filter.",
            "in": "query",
            "name": "cluster",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cluster filter.",
              "title": "Cluster"
            }
          },
          {
            "description": "Namespace filter.",
            "in": "query",
            "name": "namespace",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Namespace filter.",
              "title": "Namespace"
            }
          },
          {
            "description": "Known exploit filter.",
            "in": "query",
            "name": "exploited",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Known exploit filter.",
              "title": "Exploited"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_CVEListItem_"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Vulnerabilities",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/packages/list": {
      "get": {
        "description": "List graph-backed vulnerable packages. Required role: member",
        "operationId": "vulnerabilities_list_packages",
        "parameters": [
          {
            "description": "Maximum items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum items.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Items to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Items to skip.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          },
          {
            "description": "Package name filter.",
            "in": "query",
            "name": "package_name",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Package name filter.",
              "title": "Package Name"
            }
          },
          {
            "description": "Severity filter.",
            "in": "query",
            "name": "severity",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Severity filter.",
              "title": "Severity"
            }
          },
          {
            "description": "Runtime platform filter.",
            "in": "query",
            "name": "platform",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Runtime platform filter.",
              "title": "Platform"
            }
          },
          {
            "description": "Cluster filter.",
            "in": "query",
            "name": "cluster",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cluster filter.",
              "title": "Cluster"
            }
          },
          {
            "description": "Namespace filter.",
            "in": "query",
            "name": "namespace",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Namespace filter.",
              "title": "Namespace"
            }
          },
          {
            "description": "Cloud account filter.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cloud account filter.",
              "title": "Account"
            }
          },
          {
            "description": "Exposure filter.",
            "in": "query",
            "name": "exposed_internet",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exposure filter.",
              "title": "Exposed Internet"
            }
          },
          {
            "description": "Fixability filter.",
            "in": "query",
            "name": "fixability",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/PackageFixability",
              "default": "all",
              "description": "Fixability filter."
            }
          },
          {
            "description": "Sort field.",
            "in": "query",
            "name": "sort_by",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/PackageSortBy"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sort field.",
              "title": "Sort By"
            }
          },
          {
            "description": "Sort direction.",
            "in": "query",
            "name": "sort_order",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SortOrder",
              "default": "desc",
              "description": "Sort direction."
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_PackageListItem_"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Packages",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/packages/summary": {
      "get": {
        "description": "Get graph-backed vulnerable package counts. Required role: member",
        "operationId": "vulnerabilities_get_packages_summary",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PackageSummaryResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Packages Summary",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/packages/{package_name}": {
      "get": {
        "description": "Get graph-backed package detail.\n\nA package the active scope does not touch reads as absent.\nRequired role: member",
        "operationId": "vulnerabilities_get_package_details",
        "parameters": [
          {
            "description": "Package name.",
            "in": "path",
            "name": "package_name",
            "required": true,
            "schema": {
              "description": "Package name.",
              "title": "Package Name",
              "type": "string"
            }
          },
          {
            "description": "Package type.",
            "in": "query",
            "name": "package_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Package type.",
              "title": "Package Type"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PackageDetailResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Package Details",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/packages/{package_name}/containers": {
      "get": {
        "description": "List package-affected containers. Required role: member",
        "operationId": "vulnerabilities_list_package_containers",
        "parameters": [
          {
            "description": "Package name.",
            "in": "path",
            "name": "package_name",
            "required": true,
            "schema": {
              "description": "Package name.",
              "title": "Package Name",
              "type": "string"
            }
          },
          {
            "description": "Package type.",
            "in": "query",
            "name": "package_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Package type.",
              "title": "Package Type"
            }
          },
          {
            "description": "Maximum items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum items.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Items to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Items to skip.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          },
          {
            "description": "Exposure filter.",
            "in": "query",
            "name": "exposed_internet",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exposure filter.",
              "title": "Exposed Internet"
            }
          },
          {
            "description": "Cloud account filter.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cloud account filter.",
              "title": "Account"
            }
          },
          {
            "description": "Platform filter.",
            "in": "query",
            "name": "platform",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Platform filter.",
              "title": "Platform"
            }
          },
          {
            "description": "Cluster filter.",
            "in": "query",
            "name": "cluster",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cluster filter.",
              "title": "Cluster"
            }
          },
          {
            "description": "Namespace filter.",
            "in": "query",
            "name": "namespace",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Namespace filter.",
              "title": "Namespace"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_ContainerInfo_"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Package Containers",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/packages/{package_name}/cves": {
      "get": {
        "description": "List CVEs affecting a package. Required role: member",
        "operationId": "vulnerabilities_list_package_cves",
        "parameters": [
          {
            "description": "Package name.",
            "in": "path",
            "name": "package_name",
            "required": true,
            "schema": {
              "description": "Package name.",
              "title": "Package Name",
              "type": "string"
            }
          },
          {
            "description": "Package type.",
            "in": "query",
            "name": "package_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Package type.",
              "title": "Package Type"
            }
          },
          {
            "description": "Maximum items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum items.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Items to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Items to skip.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_CVEVulnerability_"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Package Cves",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/packages/{package_name}/image-groups": {
      "get": {
        "description": "List package-affected image groups. Required role: member",
        "operationId": "vulnerabilities_list_package_image_groups",
        "parameters": [
          {
            "description": "Package name.",
            "in": "path",
            "name": "package_name",
            "required": true,
            "schema": {
              "description": "Package name.",
              "title": "Package Name",
              "type": "string"
            }
          },
          {
            "description": "Package type.",
            "in": "query",
            "name": "package_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Package type.",
              "title": "Package Type"
            }
          },
          {
            "description": "Maximum items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum items.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Items to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Items to skip.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_PackageAffectedImageGroup_"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Package Image Groups",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/packages/{package_name}/running-on": {
      "get": {
        "description": "List package-affected workloads. Required role: member",
        "operationId": "vulnerabilities_list_package_running_on",
        "parameters": [
          {
            "description": "Package name.",
            "in": "path",
            "name": "package_name",
            "required": true,
            "schema": {
              "description": "Package name.",
              "title": "Package Name",
              "type": "string"
            }
          },
          {
            "description": "Package type.",
            "in": "query",
            "name": "package_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Package type.",
              "title": "Package Type"
            }
          },
          {
            "description": "Maximum items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum items.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Items to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Items to skip.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          },
          {
            "description": "Exposure filter.",
            "in": "query",
            "name": "exposed_internet",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exposure filter.",
              "title": "Exposed Internet"
            }
          },
          {
            "description": "Cloud account filter.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cloud account filter.",
              "title": "Account"
            }
          },
          {
            "description": "Platform filter.",
            "in": "query",
            "name": "platform",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Platform filter.",
              "title": "Platform"
            }
          },
          {
            "description": "Cluster filter.",
            "in": "query",
            "name": "cluster",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cluster filter.",
              "title": "Cluster"
            }
          },
          {
            "description": "Namespace filter.",
            "in": "query",
            "name": "namespace",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Namespace filter.",
              "title": "Namespace"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_RunningWorkloadRow_"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Package Running On",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/summary": {
      "get": {
        "description": "Get graph-backed current vulnerability counts. Required role: member",
        "operationId": "vulnerabilities_get_vulnerabilities_summary",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VulnerabilitiesSummaryResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Vulnerabilities Summary",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/{cve_id}": {
      "get": {
        "description": "Get graph-backed CVE detail.\n\nBounded fields only: packages and exact affected-service / running-on\ntotals. Page image groups via ``/{cve_id}/image-groups``. Under an active\nscope the affected services are limited to it, and a CVE the scope does not\ntouch reads as absent. Required role: member",
        "operationId": "vulnerabilities_get_vulnerability_details",
        "parameters": [
          {
            "description": "CVE identifier.",
            "in": "path",
            "name": "cve_id",
            "required": true,
            "schema": {
              "description": "CVE identifier.",
              "title": "Cve Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CVEDetailResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Get Vulnerability Details",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/{cve_id}/accept": {
      "post": {
        "description": "Accept one current Vulnerability Signal. Required role: operator",
        "operationId": "vulnerabilities_accept_vulnerability",
        "parameters": [
          {
            "description": "CVE identifier.",
            "in": "path",
            "name": "cve_id",
            "required": true,
            "schema": {
              "description": "CVE identifier.",
              "title": "Cve Id",
              "type": "string"
            }
          },
          {
            "description": "Service image name (repo path without registry and tag).",
            "in": "query",
            "name": "service_image",
            "required": true,
            "schema": {
              "description": "Service image name (repo path without registry and tag).",
              "minLength": 1,
              "pattern": "^[^#]+$",
              "title": "Service Image",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptVulnerabilityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Accept Vulnerability",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/{cve_id}/containers": {
      "get": {
        "description": "List CVE-affected containers. Required role: member",
        "operationId": "vulnerabilities_list_cve_containers",
        "parameters": [
          {
            "description": "CVE identifier.",
            "in": "path",
            "name": "cve_id",
            "required": true,
            "schema": {
              "description": "CVE identifier.",
              "title": "Cve Id",
              "type": "string"
            }
          },
          {
            "description": "Service image scope.",
            "in": "query",
            "name": "service_image",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Service image scope.",
              "title": "Service Image"
            }
          },
          {
            "description": "Maximum items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum items.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Items to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Items to skip.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          },
          {
            "description": "Exposure filter.",
            "in": "query",
            "name": "exposed_internet",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exposure filter.",
              "title": "Exposed Internet"
            }
          },
          {
            "description": "Cloud account filter.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cloud account filter.",
              "title": "Account"
            }
          },
          {
            "description": "Platform filter.",
            "in": "query",
            "name": "platform",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Platform filter.",
              "title": "Platform"
            }
          },
          {
            "description": "Cluster filter.",
            "in": "query",
            "name": "cluster",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cluster filter.",
              "title": "Cluster"
            }
          },
          {
            "description": "Namespace filter.",
            "in": "query",
            "name": "namespace",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Namespace filter.",
              "title": "Namespace"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_ContainerInfo_"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Cve Containers",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/{cve_id}/image-groups": {
      "get": {
        "description": "List CVE-affected image groups.\n\nUnder an active scope the groups are limited to it, so this page and the\naffected-service total on the CVE detail agree. Required role: member",
        "operationId": "vulnerabilities_list_cve_image_groups",
        "parameters": [
          {
            "description": "CVE identifier.",
            "in": "path",
            "name": "cve_id",
            "required": true,
            "schema": {
              "description": "CVE identifier.",
              "title": "Cve Id",
              "type": "string"
            }
          },
          {
            "description": "Maximum items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum items.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Items to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Items to skip.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_FixAffectedImageGroup_"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Cve Image Groups",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/{cve_id}/running-on": {
      "get": {
        "description": "List CVE-affected workloads. Required role: member",
        "operationId": "vulnerabilities_list_cve_running_on",
        "parameters": [
          {
            "description": "CVE identifier.",
            "in": "path",
            "name": "cve_id",
            "required": true,
            "schema": {
              "description": "CVE identifier.",
              "title": "Cve Id",
              "type": "string"
            }
          },
          {
            "description": "Service image scope.",
            "in": "query",
            "name": "service_image",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Service image scope.",
              "title": "Service Image"
            }
          },
          {
            "description": "Maximum items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum items.",
              "maximum": 1000,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Items to skip.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Items to skip.",
              "maximum": 100000,
              "minimum": 0,
              "title": "Offset",
              "type": "integer"
            }
          },
          {
            "description": "Exposure filter.",
            "in": "query",
            "name": "exposed_internet",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exposure filter.",
              "title": "Exposed Internet"
            }
          },
          {
            "description": "Cloud account filter.",
            "in": "query",
            "name": "account",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cloud account filter.",
              "title": "Account"
            }
          },
          {
            "description": "Platform filter.",
            "in": "query",
            "name": "platform",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Platform filter.",
              "title": "Platform"
            }
          },
          {
            "description": "Cluster filter.",
            "in": "query",
            "name": "cluster",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cluster filter.",
              "title": "Cluster"
            }
          },
          {
            "description": "Namespace filter.",
            "in": "query",
            "name": "namespace",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Namespace filter.",
              "title": "Namespace"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_RunningWorkloadRow_"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "List Cve Running On",
        "tags": [
          "vulnerabilities"
        ]
      }
    },
    "/api/vulnerabilities/{cve_id}/unaccept": {
      "post": {
        "description": "End acceptance for one Vulnerability Signal. Required role: operator",
        "operationId": "vulnerabilities_unaccept_vulnerability",
        "parameters": [
          {
            "description": "CVE identifier.",
            "in": "path",
            "name": "cve_id",
            "required": true,
            "schema": {
              "description": "CVE identifier.",
              "title": "Cve Id",
              "type": "string"
            }
          },
          {
            "description": "Service image name (repo path without registry and tag).",
            "in": "query",
            "name": "service_image",
            "required": true,
            "schema": {
              "description": "Service image name (repo path without registry and tag).",
              "minLength": 1,
              "pattern": "^[^#]+$",
              "title": "Service Image",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "4XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          },
          "5XX": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Error envelope"
          }
        },
        "summary": "Unaccept Vulnerability",
        "tags": [
          "vulnerabilities"
        ]
      }
    }
  },
  "security": [
    {
      "cookie_session": []
    },
    {
      "oauth2_m2m": []
    }
  ],
  "servers": [
    {
      "description": "Enter your SubImage tenant slug above",
      "url": "https://{tenant}.subimage.io",
      "variables": {
        "tenant": {
          "default": "your-tenant",
          "description": "Tenant subdomain assigned by SubImage."
        }
      }
    }
  ],
  "tags": [
    {
      "description": "Work with SubImage's prioritized security issue queue.",
      "name": "issues",
      "x-displayName": "Issues"
    },
    {
      "description": "Inspect CVEs, affected assets, packages, and remediation work.",
      "name": "vulnerabilities",
      "x-displayName": "Vulnerabilities"
    },
    {
      "description": "Explore and simulate paths an attacker can take through the graph.",
      "name": "attack_path",
      "x-displayName": "Attack paths"
    },
    {
      "description": "Query security rules, findings, and compliance results.",
      "name": "findings",
      "x-displayName": "Rules and findings"
    },
    {
      "description": "Search normalized assets discovered across connected providers.",
      "name": "inventory",
      "x-displayName": "Inventory"
    },
    {
      "description": "Query the tenant graph and inspect its schema.",
      "name": "query",
      "x-displayName": "Graph"
    },
    {
      "description": "Inspect EC2 instances and their inventory details.",
      "name": "ec2_inventory",
      "x-displayName": "EC2 inventory"
    },
    {
      "description": "Search across discovered assets and security data.",
      "name": "search",
      "x-displayName": "Search"
    },
    {
      "description": "Define and inspect the resource scopes used across SubImage.",
      "name": "scopes",
      "x-displayName": "Scopes"
    },
    {
      "description": "Manage machine-to-machine API keys and graph credentials.",
      "name": "api_keys",
      "x-displayName": "API keys"
    },
    {
      "description": "Manage the secrets SubImage uses to reach connected providers.",
      "name": "secrets",
      "x-displayName": "Secrets"
    },
    {
      "description": "Read and update tenant-level settings.",
      "name": "tenant",
      "x-displayName": "Tenant"
    },
    {
      "description": "Read the tenant's audit trail of user and agent actions.",
      "name": "audit",
      "x-displayName": "Audit trail"
    },
    {
      "description": "Trigger cloud syncs and inspect module configuration and history.",
      "name": "sync",
      "x-displayName": "Sync"
    },
    {
      "description": "Manage outpost agents that reach private environments.",
      "name": "outposts",
      "x-displayName": "Outposts"
    },
    {
      "description": "Inspect the Cartography schema definitions SubImage syncs against.",
      "name": "declarative-schema",
      "x-displayName": "Declarative schema"
    }
  ],
  "x-tagGroups": [
    {
      "name": "Security posture",
      "tags": [
        "issues",
        "vulnerabilities",
        "attack_path",
        "findings"
      ]
    },
    {
      "name": "Assets and graph",
      "tags": [
        "inventory",
        "query",
        "ec2_inventory",
        "search"
      ]
    },
    {
      "name": "Access and scoping",
      "tags": [
        "scopes",
        "api_keys",
        "secrets",
        "tenant",
        "audit"
      ]
    },
    {
      "name": "Platform",
      "tags": [
        "sync",
        "outposts",
        "declarative-schema"
      ]
    }
  ]
}
