{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/github/main/json-schema/github-dependency-graph-diff-schema.json",
  "title": "Dependency Graph Diff",
  "description": "A diff of the dependencies between two commits.",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/github-dependency-graph-api-openapi.yml#/components/schemas/dependency-graph-diff",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "change_type": {
        "type": "string",
        "enum": [
          "added",
          "removed"
        ]
      },
      "manifest": {
        "type": "string"
      },
      "ecosystem": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "version": {
        "type": "string"
      },
      "package_url": {
        "type": [
          "string",
          "null"
        ]
      },
      "license": {
        "type": [
          "string",
          "null"
        ]
      },
      "source_repository_url": {
        "type": [
          "string",
          "null"
        ]
      },
      "vulnerabilities": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "severity": {
              "type": "string"
            },
            "advisory_ghsa_id": {
              "type": "string"
            },
            "advisory_summary": {
              "type": "string"
            },
            "advisory_url": {
              "type": "string"
            }
          },
          "required": [
            "severity",
            "advisory_ghsa_id",
            "advisory_summary",
            "advisory_url"
          ]
        }
      },
      "scope": {
        "description": "Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment.",
        "type": "string",
        "enum": [
          "unknown",
          "runtime",
          "development"
        ]
      }
    },
    "required": [
      "change_type",
      "manifest",
      "ecosystem",
      "name",
      "version",
      "package_url",
      "license",
      "source_repository_url",
      "vulnerabilities",
      "scope"
    ]
  }
}