{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/snyk-container/blob/main/json-schema/snyk-container-issue-schema.json",
  "title": "Snyk Container Issue",
  "description": "Schema for a Snyk Container vulnerability issue, representing a discovered CVE or security problem in a container image.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the issue"
    },
    "type": {
      "type": "string",
      "const": "issue",
      "description": "Resource type identifier"
    },
    "attributes": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "description": "Vulnerability identifier (e.g. CVE-2021-44228, SNYK-LINUX-OPENSSL-12345)"
        },
        "title": {
          "type": "string",
          "description": "Human-readable vulnerability title"
        },
        "type": {
          "type": "string",
          "enum": [
            "package_vulnerability",
            "license",
            "cloud",
            "custom"
          ],
          "description": "Category of the issue"
        },
        "severity": {
          "type": "string",
          "enum": ["critical", "high", "medium", "low"],
          "description": "Severity rating of the vulnerability"
        },
        "status": {
          "type": "string",
          "enum": ["open", "resolved", "ignored"],
          "description": "Current status of the issue"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "description": "When the issue was first detected"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "description": "When the issue was last updated"
        },
        "ignored": {
          "type": "boolean",
          "description": "Whether the issue has been suppressed/ignored"
        },
        "resolved": {
          "type": "boolean",
          "description": "Whether the issue has been fixed"
        },
        "coordinates": {
          "type": "array",
          "description": "Location and remediation details for the vulnerability",
          "items": {
            "type": "object",
            "properties": {
              "remedies": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": ["indeterminate", "manual", "automatic"],
                      "description": "How the vulnerability can be remediated"
                    },
                    "description": {
                      "type": "string",
                      "description": "Human-readable remediation guidance"
                    },
                    "details": {
                      "type": "object",
                      "properties": {
                        "upgrade_package": {
                          "type": "string",
                          "description": "Target package version to upgrade to for remediation"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "required": ["key", "title", "severity", "status"]
    }
  },
  "required": ["id", "type", "attributes"]
}
