---
title: "Diff Full Scans"
method: GET
path: "/orgs/{org_slug}/full-scans/diff"
tags: ["deprecated"]
deprecated: true
---

# Diff Full Scans

`GET /orgs/{org_slug}/full-scans/diff`

> **Deprecated.**

**This endpoint is deprecated.**

Get the difference between two existing Full Scans. The results are not persisted.

This endpoint consumes 1 unit of your quota.

This endpoint requires the following org token scopes:
- full-scans:list

## Path parameters

- `org_slug` string, required

## Query parameters

- `after` string, required
- `before` string, required
- `include_license_details` boolean
- `omit_unchanged` boolean

## Response `200`

The difference between the two provided Full Scans.

- object
  - `before` object, required
    - `id` string, required
    - `created_at` string, required
    - `updated_at` string, required
    - `organization_id` string, required
    - `organization_slug` string, required
    - `repository_id` string, required
    - `repository_slug` string, required
    - `branch` string, nullable, required
    - `commit_message` string, nullable, required
    - `commit_hash` string, nullable, required
    - `pull_request` integer, nullable, required
    - `committers` string[], required
    - `html_url` string, nullable, required
    - `api_url` string, nullable, required
  - `after` object, required
    - `id` string, required
    - `created_at` string, required
    - `updated_at` string, required
    - `organization_id` string, required
    - `organization_slug` string, required
    - `repository_id` string, required
    - `repository_slug` string, required
    - `branch` string, nullable, required
    - `commit_message` string, nullable, required
    - `commit_hash` string, nullable, required
    - `pull_request` integer, nullable, required
    - `committers` string[], required
    - `html_url` string, nullable, required
    - `api_url` string, nullable, required
  - `artifacts` object, required — Artifacts in the diff grouped by how they changed between the before and after scans.
    - `added` SocketDiffArtifact[], required — Artifacts present in the after scan but not the before scan.
      - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
      - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
      - `name` string — Package name within its ecosystem
      - `version` string — Package version string
      - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
      - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
      - `diffType` 'added' | 'removed' | 'updated' | 'replaced' | 'unchanged', required — Type of change detected for this artifact in the diff
      - `id` string
      - `author` string[] — List of package authors or maintainers
      - `base` SocketArtifactLink[] — Artifact links from the base/before state
        - `direct` boolean — Indicates if this is a direct dependency (not transitive)
        - `dev` boolean — Indicates if this is a development-only dependency not used in production
        - `dead` boolean — Indicates if this package is deprecated, abandoned, or no longer maintained
        - `manifestFiles` SocketManifestReference[]
          - `file` string, required — Path to the manifest file (e.g., package.json, pom.xml)
          - `start` integer — Starting line or position in the manifest file
          - `end` integer — Ending line or position in the manifest file
        - `topLevelAncestors` SocketId[] — IDs of the root-level packages in the dependency tree that depend on this package
        - `dependencies` SocketId[] — IDs of packages that this package directly depends on
        - `alertPriorities` object — Computed priority scores for each alert type based on severity, reachability, and fixability factors
        - `artifact` object
          - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
          - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
          - `name` string — Package name within its ecosystem
          - `version` string — Package version string
          - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
          - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
          - `id` string, required
        - `alertKeysToReachabilityTypes` object — Deprecated: mapping of alert keys to arrays of reachability types found across different manifest files or code locations. This field is derived from alertKeysToReachabilitySummaries for backward compatibility; use that property instead.
        - `alertKeysToReachabilitySummaries` object — Mapping of alert keys to arrays of reachability summaries. Each summary contains a reachability type indicating the result of reachability analysis for the corresponding vulnerability alert.
      - `capabilities` Capabilities
        - `env` boolean, required — Package can read or modify environment variables
        - `eval` boolean, required — Package uses dynamic code evaluation (eval, Function constructor, etc.)
        - `fs` boolean, required — Package can read or write to the file system
        - `net` boolean, required — Package can make network requests or create servers
        - `shell` boolean, required — Package can execute shell commands or spawn processes
        - `unsafe` boolean, required — Package uses unsafe or dangerous operations that could compromise security
        - `url` boolean, required — Package contains remote URL(s) in the source code
      - `head` SocketArtifactLink[] — Artifact links from the head/after state
        - `direct` boolean — Indicates if this is a direct dependency (not transitive)
        - `dev` boolean — Indicates if this is a development-only dependency not used in production
        - `dead` boolean — Indicates if this package is deprecated, abandoned, or no longer maintained
        - `manifestFiles` SocketManifestReference[]
          - `file` string, required — Path to the manifest file (e.g., package.json, pom.xml)
          - `start` integer — Starting line or position in the manifest file
          - `end` integer — Ending line or position in the manifest file
        - `topLevelAncestors` SocketId[] — IDs of the root-level packages in the dependency tree that depend on this package
        - `dependencies` SocketId[] — IDs of packages that this package directly depends on
        - `alertPriorities` object — Computed priority scores for each alert type based on severity, reachability, and fixability factors
        - `artifact` object
          - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
          - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
          - `name` string — Package name within its ecosystem
          - `version` string — Package version string
          - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
          - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
          - `id` string, required
        - `alertKeysToReachabilityTypes` object — Deprecated: mapping of alert keys to arrays of reachability types found across different manifest files or code locations. This field is derived from alertKeysToReachabilitySummaries for backward compatibility; use that property instead.
        - `alertKeysToReachabilitySummaries` object — Mapping of alert keys to arrays of reachability summaries. Each summary contains a reachability type indicating the result of reachability analysis for the corresponding vulnerability alert.
      - `qualifiers` unknown
      - `size` number — Total size of the package artifact in bytes
      - `license` string
      - `licenseDetails` object[]
        - `spdxDisj` string, required — SPDX license expression in disjunctive normal form (e.g., '(MIT OR Apache-2.0)')
        - `authors` string[], required — List of authors found in the license text
        - `errorData` string, required — Error details if license parsing failed
        - `provenance` string, required — Source where this license information was detected (e.g., 'package.json', 'LICENSE file', 'README')
        - `filepath` string, required — Path to the file containing this license information
        - `match_strength` number, required — Confidence score from 0.0 to 1.0 indicating how well the detected license matches the source text
      - `licenseAttrib` object[]
        - `attribText` string, required — Full text of the license attribution or copyright notice found in the package
        - `attribData` object[], required
          - `purl` string, required — Package URL this attribution applies to
          - `foundInFilepath` string, required — File path where this attribution was found
          - `spdxExpr` string, required — SPDX license expression parsed from the attribution text
          - `foundAuthors` string[], required — Authors mentioned in this attribution
      - `score` SocketScore
        - `license` number, required — Score from 0.0 to 1.0 evaluating license permissiveness and compatibility
        - `maintenance` number, required — Score from 0.0 to 1.0 evaluating project maintenance health and activity
        - `overall` number, required — Combined score from 0.0 to 1.0 representing overall package health and safety
        - `quality` number, required — Score from 0.0 to 1.0 evaluating code quality, testing, and documentation
        - `supplyChain` number, required — Score from 0.0 to 1.0 evaluating supply chain security and provenance
        - `vulnerability` number, required — Score from 0.0 to 1.0 based on known vulnerabilities and their severity
      - `alerts` SocketAlert[]
        - `key` string, required — Unique identifier for this alert instance, used for deduplication and tracking across scans
        - `type` string, required — Alert type identifier referencing the alert type definition
        - `severity` 'low' | 'middle' | 'high' | 'critical'
        - `category` 'supplyChainRisk' | 'quality' | 'maintenance' | 'vulnerability' | 'license' | 'other'
        - `file` string — File path where this alert was detected
        - `start` integer — Starting position of the alert in the file
        - `end` integer — Ending position of the alert in the file
        - `props` object — Additional alert-specific properties and metadata that vary by alert type. For vulnerability alerts this includes the `cveId` and `ghsaId` identifiers, either of which may be an empty string when GitHub has not assigned that identifier to the advisory.
        - `action` string — Action to take for this alert (e.g., error, warn, ignore)
        - `actionSource` object
          - `type` string, required — Type of action source (e.g., policy, override)
          - `candidates` object[], required
            - `type` string, required — Type of action candidate
            - `action` string, required — Proposed action for this candidate
            - `actionPolicyIndex` integer, required — Index of the policy rule for this candidate
            - `repoLabelId` string, required — Repository label ID associated with this candidate
        - `actionPolicyIndex` integer — Index of the policy rule that triggered this action, for traceability to security policies
        - `fix` object
          - `type` string, required — Type of fix available (e.g., upgrade, remove, cve)
          - `description` string, required — Human-readable description of how to fix this issue
          - `patch` object[] — Patches available to fix this specific alert
            - `uuid` string, required — Unique identifier for this patch
            - `tier` 'free' | 'paid', required — Access tier required for this patch (free or paid)
            - `deprecated` boolean — Indicates if this patch is deprecated and should not be used
        - `patch` SocketPatch
          - `uuid` string, required — Unique identifier for this patch
          - `tier` 'free' | 'paid', required — Access tier required for this patch (free or paid)
          - `deprecated` boolean — Indicates if this patch is deprecated and should not be used
        - `reachability` object
          - `head` ReachabilityResult
            - `type` 'precomputed' | 'full-scan', required — Type of reachability analysis performed
            - `results` ReachabilityResultItem[], required — Reachability analysis results for each vulnerability
              - …
          - `base` ReachabilityResult
            - `type` 'precomputed' | 'full-scan', required — Type of reachability analysis performed
            - `results` ReachabilityResultItem[], required — Reachability analysis results for each vulnerability
              - …
        - `subType` string — Generic alert sub-type
    - `removed` SocketDiffArtifact[], required — Artifacts present in the before scan but not the after scan.
      - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
      - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
      - `name` string — Package name within its ecosystem
      - `version` string — Package version string
      - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
      - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
      - `diffType` 'added' | 'removed' | 'updated' | 'replaced' | 'unchanged', required — Type of change detected for this artifact in the diff
      - `id` string
      - `author` string[] — List of package authors or maintainers
      - `base` SocketArtifactLink[] — Artifact links from the base/before state
        - `direct` boolean — Indicates if this is a direct dependency (not transitive)
        - `dev` boolean — Indicates if this is a development-only dependency not used in production
        - `dead` boolean — Indicates if this package is deprecated, abandoned, or no longer maintained
        - `manifestFiles` SocketManifestReference[]
          - `file` string, required — Path to the manifest file (e.g., package.json, pom.xml)
          - `start` integer — Starting line or position in the manifest file
          - `end` integer — Ending line or position in the manifest file
        - `topLevelAncestors` SocketId[] — IDs of the root-level packages in the dependency tree that depend on this package
        - `dependencies` SocketId[] — IDs of packages that this package directly depends on
        - `alertPriorities` object — Computed priority scores for each alert type based on severity, reachability, and fixability factors
        - `artifact` object
          - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
          - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
          - `name` string — Package name within its ecosystem
          - `version` string — Package version string
          - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
          - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
          - `id` string, required
        - `alertKeysToReachabilityTypes` object — Deprecated: mapping of alert keys to arrays of reachability types found across different manifest files or code locations. This field is derived from alertKeysToReachabilitySummaries for backward compatibility; use that property instead.
        - `alertKeysToReachabilitySummaries` object — Mapping of alert keys to arrays of reachability summaries. Each summary contains a reachability type indicating the result of reachability analysis for the corresponding vulnerability alert.
      - `capabilities` Capabilities
        - `env` boolean, required — Package can read or modify environment variables
        - `eval` boolean, required — Package uses dynamic code evaluation (eval, Function constructor, etc.)
        - `fs` boolean, required — Package can read or write to the file system
        - `net` boolean, required — Package can make network requests or create servers
        - `shell` boolean, required — Package can execute shell commands or spawn processes
        - `unsafe` boolean, required — Package uses unsafe or dangerous operations that could compromise security
        - `url` boolean, required — Package contains remote URL(s) in the source code
      - `head` SocketArtifactLink[] — Artifact links from the head/after state
        - `direct` boolean — Indicates if this is a direct dependency (not transitive)
        - `dev` boolean — Indicates if this is a development-only dependency not used in production
        - `dead` boolean — Indicates if this package is deprecated, abandoned, or no longer maintained
        - `manifestFiles` SocketManifestReference[]
          - `file` string, required — Path to the manifest file (e.g., package.json, pom.xml)
          - `start` integer — Starting line or position in the manifest file
          - `end` integer — Ending line or position in the manifest file
        - `topLevelAncestors` SocketId[] — IDs of the root-level packages in the dependency tree that depend on this package
        - `dependencies` SocketId[] — IDs of packages that this package directly depends on
        - `alertPriorities` object — Computed priority scores for each alert type based on severity, reachability, and fixability factors
        - `artifact` object
          - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
          - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
          - `name` string — Package name within its ecosystem
          - `version` string — Package version string
          - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
          - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
          - `id` string, required
        - `alertKeysToReachabilityTypes` object — Deprecated: mapping of alert keys to arrays of reachability types found across different manifest files or code locations. This field is derived from alertKeysToReachabilitySummaries for backward compatibility; use that property instead.
        - `alertKeysToReachabilitySummaries` object — Mapping of alert keys to arrays of reachability summaries. Each summary contains a reachability type indicating the result of reachability analysis for the corresponding vulnerability alert.
      - `qualifiers` unknown
      - `size` number — Total size of the package artifact in bytes
      - `license` string
      - `licenseDetails` object[]
        - `spdxDisj` string, required — SPDX license expression in disjunctive normal form (e.g., '(MIT OR Apache-2.0)')
        - `authors` string[], required — List of authors found in the license text
        - `errorData` string, required — Error details if license parsing failed
        - `provenance` string, required — Source where this license information was detected (e.g., 'package.json', 'LICENSE file', 'README')
        - `filepath` string, required — Path to the file containing this license information
        - `match_strength` number, required — Confidence score from 0.0 to 1.0 indicating how well the detected license matches the source text
      - `licenseAttrib` object[]
        - `attribText` string, required — Full text of the license attribution or copyright notice found in the package
        - `attribData` object[], required
          - `purl` string, required — Package URL this attribution applies to
          - `foundInFilepath` string, required — File path where this attribution was found
          - `spdxExpr` string, required — SPDX license expression parsed from the attribution text
          - `foundAuthors` string[], required — Authors mentioned in this attribution
      - `score` SocketScore
        - `license` number, required — Score from 0.0 to 1.0 evaluating license permissiveness and compatibility
        - `maintenance` number, required — Score from 0.0 to 1.0 evaluating project maintenance health and activity
        - `overall` number, required — Combined score from 0.0 to 1.0 representing overall package health and safety
        - `quality` number, required — Score from 0.0 to 1.0 evaluating code quality, testing, and documentation
        - `supplyChain` number, required — Score from 0.0 to 1.0 evaluating supply chain security and provenance
        - `vulnerability` number, required — Score from 0.0 to 1.0 based on known vulnerabilities and their severity
      - `alerts` SocketAlert[]
        - `key` string, required — Unique identifier for this alert instance, used for deduplication and tracking across scans
        - `type` string, required — Alert type identifier referencing the alert type definition
        - `severity` 'low' | 'middle' | 'high' | 'critical'
        - `category` 'supplyChainRisk' | 'quality' | 'maintenance' | 'vulnerability' | 'license' | 'other'
        - `file` string — File path where this alert was detected
        - `start` integer — Starting position of the alert in the file
        - `end` integer — Ending position of the alert in the file
        - `props` object — Additional alert-specific properties and metadata that vary by alert type. For vulnerability alerts this includes the `cveId` and `ghsaId` identifiers, either of which may be an empty string when GitHub has not assigned that identifier to the advisory.
        - `action` string — Action to take for this alert (e.g., error, warn, ignore)
        - `actionSource` object
          - `type` string, required — Type of action source (e.g., policy, override)
          - `candidates` object[], required
            - `type` string, required — Type of action candidate
            - `action` string, required — Proposed action for this candidate
            - `actionPolicyIndex` integer, required — Index of the policy rule for this candidate
            - `repoLabelId` string, required — Repository label ID associated with this candidate
        - `actionPolicyIndex` integer — Index of the policy rule that triggered this action, for traceability to security policies
        - `fix` object
          - `type` string, required — Type of fix available (e.g., upgrade, remove, cve)
          - `description` string, required — Human-readable description of how to fix this issue
          - `patch` object[] — Patches available to fix this specific alert
            - `uuid` string, required — Unique identifier for this patch
            - `tier` 'free' | 'paid', required — Access tier required for this patch (free or paid)
            - `deprecated` boolean — Indicates if this patch is deprecated and should not be used
        - `patch` SocketPatch
          - `uuid` string, required — Unique identifier for this patch
          - `tier` 'free' | 'paid', required — Access tier required for this patch (free or paid)
          - `deprecated` boolean — Indicates if this patch is deprecated and should not be used
        - `reachability` object
          - `head` ReachabilityResult
            - `type` 'precomputed' | 'full-scan', required — Type of reachability analysis performed
            - `results` ReachabilityResultItem[], required — Reachability analysis results for each vulnerability
              - …
          - `base` ReachabilityResult
            - `type` 'precomputed' | 'full-scan', required — Type of reachability analysis performed
            - `results` ReachabilityResultItem[], required — Reachability analysis results for each vulnerability
              - …
        - `subType` string — Generic alert sub-type
    - `unchanged` SocketDiffArtifact[], nullable, required — Artifacts present in both scans with no changes. Null when omitted via the omit_unchanged query parameter.
      - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
      - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
      - `name` string — Package name within its ecosystem
      - `version` string — Package version string
      - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
      - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
      - `diffType` 'added' | 'removed' | 'updated' | 'replaced' | 'unchanged', required — Type of change detected for this artifact in the diff
      - `id` string
      - `author` string[] — List of package authors or maintainers
      - `base` SocketArtifactLink[] — Artifact links from the base/before state
        - `direct` boolean — Indicates if this is a direct dependency (not transitive)
        - `dev` boolean — Indicates if this is a development-only dependency not used in production
        - `dead` boolean — Indicates if this package is deprecated, abandoned, or no longer maintained
        - `manifestFiles` SocketManifestReference[]
          - `file` string, required — Path to the manifest file (e.g., package.json, pom.xml)
          - `start` integer — Starting line or position in the manifest file
          - `end` integer — Ending line or position in the manifest file
        - `topLevelAncestors` SocketId[] — IDs of the root-level packages in the dependency tree that depend on this package
        - `dependencies` SocketId[] — IDs of packages that this package directly depends on
        - `alertPriorities` object — Computed priority scores for each alert type based on severity, reachability, and fixability factors
        - `artifact` object
          - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
          - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
          - `name` string — Package name within its ecosystem
          - `version` string — Package version string
          - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
          - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
          - `id` string, required
        - `alertKeysToReachabilityTypes` object — Deprecated: mapping of alert keys to arrays of reachability types found across different manifest files or code locations. This field is derived from alertKeysToReachabilitySummaries for backward compatibility; use that property instead.
        - `alertKeysToReachabilitySummaries` object — Mapping of alert keys to arrays of reachability summaries. Each summary contains a reachability type indicating the result of reachability analysis for the corresponding vulnerability alert.
      - `capabilities` Capabilities
        - `env` boolean, required — Package can read or modify environment variables
        - `eval` boolean, required — Package uses dynamic code evaluation (eval, Function constructor, etc.)
        - `fs` boolean, required — Package can read or write to the file system
        - `net` boolean, required — Package can make network requests or create servers
        - `shell` boolean, required — Package can execute shell commands or spawn processes
        - `unsafe` boolean, required — Package uses unsafe or dangerous operations that could compromise security
        - `url` boolean, required — Package contains remote URL(s) in the source code
      - `head` SocketArtifactLink[] — Artifact links from the head/after state
        - `direct` boolean — Indicates if this is a direct dependency (not transitive)
        - `dev` boolean — Indicates if this is a development-only dependency not used in production
        - `dead` boolean — Indicates if this package is deprecated, abandoned, or no longer maintained
        - `manifestFiles` SocketManifestReference[]
          - `file` string, required — Path to the manifest file (e.g., package.json, pom.xml)
          - `start` integer — Starting line or position in the manifest file
          - `end` integer — Ending line or position in the manifest file
        - `topLevelAncestors` SocketId[] — IDs of the root-level packages in the dependency tree that depend on this package
        - `dependencies` SocketId[] — IDs of packages that this package directly depends on
        - `alertPriorities` object — Computed priority scores for each alert type based on severity, reachability, and fixability factors
        - `artifact` object
          - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
          - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
          - `name` string — Package name within its ecosystem
          - `version` string — Package version string
          - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
          - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
          - `id` string, required
        - `alertKeysToReachabilityTypes` object — Deprecated: mapping of alert keys to arrays of reachability types found across different manifest files or code locations. This field is derived from alertKeysToReachabilitySummaries for backward compatibility; use that property instead.
        - `alertKeysToReachabilitySummaries` object — Mapping of alert keys to arrays of reachability summaries. Each summary contains a reachability type indicating the result of reachability analysis for the corresponding vulnerability alert.
      - `qualifiers` unknown
      - `size` number — Total size of the package artifact in bytes
      - `license` string
      - `licenseDetails` object[]
        - `spdxDisj` string, required — SPDX license expression in disjunctive normal form (e.g., '(MIT OR Apache-2.0)')
        - `authors` string[], required — List of authors found in the license text
        - `errorData` string, required — Error details if license parsing failed
        - `provenance` string, required — Source where this license information was detected (e.g., 'package.json', 'LICENSE file', 'README')
        - `filepath` string, required — Path to the file containing this license information
        - `match_strength` number, required — Confidence score from 0.0 to 1.0 indicating how well the detected license matches the source text
      - `licenseAttrib` object[]
        - `attribText` string, required — Full text of the license attribution or copyright notice found in the package
        - `attribData` object[], required
          - `purl` string, required — Package URL this attribution applies to
          - `foundInFilepath` string, required — File path where this attribution was found
          - `spdxExpr` string, required — SPDX license expression parsed from the attribution text
          - `foundAuthors` string[], required — Authors mentioned in this attribution
      - `score` SocketScore
        - `license` number, required — Score from 0.0 to 1.0 evaluating license permissiveness and compatibility
        - `maintenance` number, required — Score from 0.0 to 1.0 evaluating project maintenance health and activity
        - `overall` number, required — Combined score from 0.0 to 1.0 representing overall package health and safety
        - `quality` number, required — Score from 0.0 to 1.0 evaluating code quality, testing, and documentation
        - `supplyChain` number, required — Score from 0.0 to 1.0 evaluating supply chain security and provenance
        - `vulnerability` number, required — Score from 0.0 to 1.0 based on known vulnerabilities and their severity
      - `alerts` SocketAlert[]
        - `key` string, required — Unique identifier for this alert instance, used for deduplication and tracking across scans
        - `type` string, required — Alert type identifier referencing the alert type definition
        - `severity` 'low' | 'middle' | 'high' | 'critical'
        - `category` 'supplyChainRisk' | 'quality' | 'maintenance' | 'vulnerability' | 'license' | 'other'
        - `file` string — File path where this alert was detected
        - `start` integer — Starting position of the alert in the file
        - `end` integer — Ending position of the alert in the file
        - `props` object — Additional alert-specific properties and metadata that vary by alert type. For vulnerability alerts this includes the `cveId` and `ghsaId` identifiers, either of which may be an empty string when GitHub has not assigned that identifier to the advisory.
        - `action` string — Action to take for this alert (e.g., error, warn, ignore)
        - `actionSource` object
          - `type` string, required — Type of action source (e.g., policy, override)
          - `candidates` object[], required
            - `type` string, required — Type of action candidate
            - `action` string, required — Proposed action for this candidate
            - `actionPolicyIndex` integer, required — Index of the policy rule for this candidate
            - `repoLabelId` string, required — Repository label ID associated with this candidate
        - `actionPolicyIndex` integer — Index of the policy rule that triggered this action, for traceability to security policies
        - `fix` object
          - `type` string, required — Type of fix available (e.g., upgrade, remove, cve)
          - `description` string, required — Human-readable description of how to fix this issue
          - `patch` object[] — Patches available to fix this specific alert
            - `uuid` string, required — Unique identifier for this patch
            - `tier` 'free' | 'paid', required — Access tier required for this patch (free or paid)
            - `deprecated` boolean — Indicates if this patch is deprecated and should not be used
        - `patch` SocketPatch
          - `uuid` string, required — Unique identifier for this patch
          - `tier` 'free' | 'paid', required — Access tier required for this patch (free or paid)
          - `deprecated` boolean — Indicates if this patch is deprecated and should not be used
        - `reachability` object
          - `head` ReachabilityResult
            - `type` 'precomputed' | 'full-scan', required — Type of reachability analysis performed
            - `results` ReachabilityResultItem[], required — Reachability analysis results for each vulnerability
              - …
          - `base` ReachabilityResult
            - `type` 'precomputed' | 'full-scan', required — Type of reachability analysis performed
            - `results` ReachabilityResultItem[], required — Reachability analysis results for each vulnerability
              - …
        - `subType` string — Generic alert sub-type
    - `replaced` SocketDiffArtifact[], required — Artifacts replaced between the scans, e.g. the same package supplied by a different source.
      - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
      - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
      - `name` string — Package name within its ecosystem
      - `version` string — Package version string
      - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
      - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
      - `diffType` 'added' | 'removed' | 'updated' | 'replaced' | 'unchanged', required — Type of change detected for this artifact in the diff
      - `id` string
      - `author` string[] — List of package authors or maintainers
      - `base` SocketArtifactLink[] — Artifact links from the base/before state
        - `direct` boolean — Indicates if this is a direct dependency (not transitive)
        - `dev` boolean — Indicates if this is a development-only dependency not used in production
        - `dead` boolean — Indicates if this package is deprecated, abandoned, or no longer maintained
        - `manifestFiles` SocketManifestReference[]
          - `file` string, required — Path to the manifest file (e.g., package.json, pom.xml)
          - `start` integer — Starting line or position in the manifest file
          - `end` integer — Ending line or position in the manifest file
        - `topLevelAncestors` SocketId[] — IDs of the root-level packages in the dependency tree that depend on this package
        - `dependencies` SocketId[] — IDs of packages that this package directly depends on
        - `alertPriorities` object — Computed priority scores for each alert type based on severity, reachability, and fixability factors
        - `artifact` object
          - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
          - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
          - `name` string — Package name within its ecosystem
          - `version` string — Package version string
          - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
          - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
          - `id` string, required
        - `alertKeysToReachabilityTypes` object — Deprecated: mapping of alert keys to arrays of reachability types found across different manifest files or code locations. This field is derived from alertKeysToReachabilitySummaries for backward compatibility; use that property instead.
        - `alertKeysToReachabilitySummaries` object — Mapping of alert keys to arrays of reachability summaries. Each summary contains a reachability type indicating the result of reachability analysis for the corresponding vulnerability alert.
      - `capabilities` Capabilities
        - `env` boolean, required — Package can read or modify environment variables
        - `eval` boolean, required — Package uses dynamic code evaluation (eval, Function constructor, etc.)
        - `fs` boolean, required — Package can read or write to the file system
        - `net` boolean, required — Package can make network requests or create servers
        - `shell` boolean, required — Package can execute shell commands or spawn processes
        - `unsafe` boolean, required — Package uses unsafe or dangerous operations that could compromise security
        - `url` boolean, required — Package contains remote URL(s) in the source code
      - `head` SocketArtifactLink[] — Artifact links from the head/after state
        - `direct` boolean — Indicates if this is a direct dependency (not transitive)
        - `dev` boolean — Indicates if this is a development-only dependency not used in production
        - `dead` boolean — Indicates if this package is deprecated, abandoned, or no longer maintained
        - `manifestFiles` SocketManifestReference[]
          - `file` string, required — Path to the manifest file (e.g., package.json, pom.xml)
          - `start` integer — Starting line or position in the manifest file
          - `end` integer — Ending line or position in the manifest file
        - `topLevelAncestors` SocketId[] — IDs of the root-level packages in the dependency tree that depend on this package
        - `dependencies` SocketId[] — IDs of packages that this package directly depends on
        - `alertPriorities` object — Computed priority scores for each alert type based on severity, reachability, and fixability factors
        - `artifact` object
          - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
          - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
          - `name` string — Package name within its ecosystem
          - `version` string — Package version string
          - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
          - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
          - `id` string, required
        - `alertKeysToReachabilityTypes` object — Deprecated: mapping of alert keys to arrays of reachability types found across different manifest files or code locations. This field is derived from alertKeysToReachabilitySummaries for backward compatibility; use that property instead.
        - `alertKeysToReachabilitySummaries` object — Mapping of alert keys to arrays of reachability summaries. Each summary contains a reachability type indicating the result of reachability analysis for the corresponding vulnerability alert.
      - `qualifiers` unknown
      - `size` number — Total size of the package artifact in bytes
      - `license` string
      - `licenseDetails` object[]
        - `spdxDisj` string, required — SPDX license expression in disjunctive normal form (e.g., '(MIT OR Apache-2.0)')
        - `authors` string[], required — List of authors found in the license text
        - `errorData` string, required — Error details if license parsing failed
        - `provenance` string, required — Source where this license information was detected (e.g., 'package.json', 'LICENSE file', 'README')
        - `filepath` string, required — Path to the file containing this license information
        - `match_strength` number, required — Confidence score from 0.0 to 1.0 indicating how well the detected license matches the source text
      - `licenseAttrib` object[]
        - `attribText` string, required — Full text of the license attribution or copyright notice found in the package
        - `attribData` object[], required
          - `purl` string, required — Package URL this attribution applies to
          - `foundInFilepath` string, required — File path where this attribution was found
          - `spdxExpr` string, required — SPDX license expression parsed from the attribution text
          - `foundAuthors` string[], required — Authors mentioned in this attribution
      - `score` SocketScore
        - `license` number, required — Score from 0.0 to 1.0 evaluating license permissiveness and compatibility
        - `maintenance` number, required — Score from 0.0 to 1.0 evaluating project maintenance health and activity
        - `overall` number, required — Combined score from 0.0 to 1.0 representing overall package health and safety
        - `quality` number, required — Score from 0.0 to 1.0 evaluating code quality, testing, and documentation
        - `supplyChain` number, required — Score from 0.0 to 1.0 evaluating supply chain security and provenance
        - `vulnerability` number, required — Score from 0.0 to 1.0 based on known vulnerabilities and their severity
      - `alerts` SocketAlert[]
        - `key` string, required — Unique identifier for this alert instance, used for deduplication and tracking across scans
        - `type` string, required — Alert type identifier referencing the alert type definition
        - `severity` 'low' | 'middle' | 'high' | 'critical'
        - `category` 'supplyChainRisk' | 'quality' | 'maintenance' | 'vulnerability' | 'license' | 'other'
        - `file` string — File path where this alert was detected
        - `start` integer — Starting position of the alert in the file
        - `end` integer — Ending position of the alert in the file
        - `props` object — Additional alert-specific properties and metadata that vary by alert type. For vulnerability alerts this includes the `cveId` and `ghsaId` identifiers, either of which may be an empty string when GitHub has not assigned that identifier to the advisory.
        - `action` string — Action to take for this alert (e.g., error, warn, ignore)
        - `actionSource` object
          - `type` string, required — Type of action source (e.g., policy, override)
          - `candidates` object[], required
            - `type` string, required — Type of action candidate
            - `action` string, required — Proposed action for this candidate
            - `actionPolicyIndex` integer, required — Index of the policy rule for this candidate
            - `repoLabelId` string, required — Repository label ID associated with this candidate
        - `actionPolicyIndex` integer — Index of the policy rule that triggered this action, for traceability to security policies
        - `fix` object
          - `type` string, required — Type of fix available (e.g., upgrade, remove, cve)
          - `description` string, required — Human-readable description of how to fix this issue
          - `patch` object[] — Patches available to fix this specific alert
            - `uuid` string, required — Unique identifier for this patch
            - `tier` 'free' | 'paid', required — Access tier required for this patch (free or paid)
            - `deprecated` boolean — Indicates if this patch is deprecated and should not be used
        - `patch` SocketPatch
          - `uuid` string, required — Unique identifier for this patch
          - `tier` 'free' | 'paid', required — Access tier required for this patch (free or paid)
          - `deprecated` boolean — Indicates if this patch is deprecated and should not be used
        - `reachability` object
          - `head` ReachabilityResult
            - `type` 'precomputed' | 'full-scan', required — Type of reachability analysis performed
            - `results` ReachabilityResultItem[], required — Reachability analysis results for each vulnerability
              - …
          - `base` ReachabilityResult
            - `type` 'precomputed' | 'full-scan', required — Type of reachability analysis performed
            - `results` ReachabilityResultItem[], required — Reachability analysis results for each vulnerability
              - …
        - `subType` string — Generic alert sub-type
    - `updated` SocketDiffArtifact[], required — Artifacts whose version changed between the scans.
      - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
      - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
      - `name` string — Package name within its ecosystem
      - `version` string — Package version string
      - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
      - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
      - `diffType` 'added' | 'removed' | 'updated' | 'replaced' | 'unchanged', required — Type of change detected for this artifact in the diff
      - `id` string
      - `author` string[] — List of package authors or maintainers
      - `base` SocketArtifactLink[] — Artifact links from the base/before state
        - `direct` boolean — Indicates if this is a direct dependency (not transitive)
        - `dev` boolean — Indicates if this is a development-only dependency not used in production
        - `dead` boolean — Indicates if this package is deprecated, abandoned, or no longer maintained
        - `manifestFiles` SocketManifestReference[]
          - `file` string, required — Path to the manifest file (e.g., package.json, pom.xml)
          - `start` integer — Starting line or position in the manifest file
          - `end` integer — Ending line or position in the manifest file
        - `topLevelAncestors` SocketId[] — IDs of the root-level packages in the dependency tree that depend on this package
        - `dependencies` SocketId[] — IDs of packages that this package directly depends on
        - `alertPriorities` object — Computed priority scores for each alert type based on severity, reachability, and fixability factors
        - `artifact` object
          - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
          - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
          - `name` string — Package name within its ecosystem
          - `version` string — Package version string
          - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
          - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
          - `id` string, required
        - `alertKeysToReachabilityTypes` object — Deprecated: mapping of alert keys to arrays of reachability types found across different manifest files or code locations. This field is derived from alertKeysToReachabilitySummaries for backward compatibility; use that property instead.
        - `alertKeysToReachabilitySummaries` object — Mapping of alert keys to arrays of reachability summaries. Each summary contains a reachability type indicating the result of reachability analysis for the corresponding vulnerability alert.
      - `capabilities` Capabilities
        - `env` boolean, required — Package can read or modify environment variables
        - `eval` boolean, required — Package uses dynamic code evaluation (eval, Function constructor, etc.)
        - `fs` boolean, required — Package can read or write to the file system
        - `net` boolean, required — Package can make network requests or create servers
        - `shell` boolean, required — Package can execute shell commands or spawn processes
        - `unsafe` boolean, required — Package uses unsafe or dangerous operations that could compromise security
        - `url` boolean, required — Package contains remote URL(s) in the source code
      - `head` SocketArtifactLink[] — Artifact links from the head/after state
        - `direct` boolean — Indicates if this is a direct dependency (not transitive)
        - `dev` boolean — Indicates if this is a development-only dependency not used in production
        - `dead` boolean — Indicates if this package is deprecated, abandoned, or no longer maintained
        - `manifestFiles` SocketManifestReference[]
          - `file` string, required — Path to the manifest file (e.g., package.json, pom.xml)
          - `start` integer — Starting line or position in the manifest file
          - `end` integer — Ending line or position in the manifest file
        - `topLevelAncestors` SocketId[] — IDs of the root-level packages in the dependency tree that depend on this package
        - `dependencies` SocketId[] — IDs of packages that this package directly depends on
        - `alertPriorities` object — Computed priority scores for each alert type based on severity, reachability, and fixability factors
        - `artifact` object
          - `type` 'alpm' | 'apk' | 'bitbucket' | 'cocoapods' | 'cargo' | 'chrome' | 'clawhub' | 'composer' | 'conan' | 'conda' | 'cran' | 'deb' | 'docker' | 'gem' | 'generic' | 'github' | 'golang' | 'hackage' | 'hex' | 'huggingface' | 'maven' | 'mlflow' | 'npm' | 'nuget' | 'qpkg' | 'oci' | 'pub' | 'pypi' | 'rpm' | 'socket' | 'swid' | 'swift' | 'vscode' | 'unknown', required — Package ecosystem type identifier based on the PURL specification
          - `namespace` string — Package namespace or scope, such as npm organizations (@angular), Maven groupIds, or Docker image owners
          - `name` string — Package name within its ecosystem
          - `version` string — Package version string
          - `subpath` string — Path within the package to a specific file or directory, used to reference nested components
          - `release` string — Package-specific release identifier, such as PyPI's artifact ID or the specific build/release version
          - `id` string, required
        - `alertKeysToReachabilityTypes` object — Deprecated: mapping of alert keys to arrays of reachability types found across different manifest files or code locations. This field is derived from alertKeysToReachabilitySummaries for backward compatibility; use that property instead.
        - `alertKeysToReachabilitySummaries` object — Mapping of alert keys to arrays of reachability summaries. Each summary contains a reachability type indicating the result of reachability analysis for the corresponding vulnerability alert.
      - `qualifiers` unknown
      - `size` number — Total size of the package artifact in bytes
      - `license` string
      - `licenseDetails` object[]
        - `spdxDisj` string, required — SPDX license expression in disjunctive normal form (e.g., '(MIT OR Apache-2.0)')
        - `authors` string[], required — List of authors found in the license text
        - `errorData` string, required — Error details if license parsing failed
        - `provenance` string, required — Source where this license information was detected (e.g., 'package.json', 'LICENSE file', 'README')
        - `filepath` string, required — Path to the file containing this license information
        - `match_strength` number, required — Confidence score from 0.0 to 1.0 indicating how well the detected license matches the source text
      - `licenseAttrib` object[]
        - `attribText` string, required — Full text of the license attribution or copyright notice found in the package
        - `attribData` object[], required
          - `purl` string, required — Package URL this attribution applies to
          - `foundInFilepath` string, required — File path where this attribution was found
          - `spdxExpr` string, required — SPDX license expression parsed from the attribution text
          - `foundAuthors` string[], required — Authors mentioned in this attribution
      - `score` SocketScore
        - `license` number, required — Score from 0.0 to 1.0 evaluating license permissiveness and compatibility
        - `maintenance` number, required — Score from 0.0 to 1.0 evaluating project maintenance health and activity
        - `overall` number, required — Combined score from 0.0 to 1.0 representing overall package health and safety
        - `quality` number, required — Score from 0.0 to 1.0 evaluating code quality, testing, and documentation
        - `supplyChain` number, required — Score from 0.0 to 1.0 evaluating supply chain security and provenance
        - `vulnerability` number, required — Score from 0.0 to 1.0 based on known vulnerabilities and their severity
      - `alerts` SocketAlert[]
        - `key` string, required — Unique identifier for this alert instance, used for deduplication and tracking across scans
        - `type` string, required — Alert type identifier referencing the alert type definition
        - `severity` 'low' | 'middle' | 'high' | 'critical'
        - `category` 'supplyChainRisk' | 'quality' | 'maintenance' | 'vulnerability' | 'license' | 'other'
        - `file` string — File path where this alert was detected
        - `start` integer — Starting position of the alert in the file
        - `end` integer — Ending position of the alert in the file
        - `props` object — Additional alert-specific properties and metadata that vary by alert type. For vulnerability alerts this includes the `cveId` and `ghsaId` identifiers, either of which may be an empty string when GitHub has not assigned that identifier to the advisory.
        - `action` string — Action to take for this alert (e.g., error, warn, ignore)
        - `actionSource` object
          - `type` string, required — Type of action source (e.g., policy, override)
          - `candidates` object[], required
            - `type` string, required — Type of action candidate
            - `action` string, required — Proposed action for this candidate
            - `actionPolicyIndex` integer, required — Index of the policy rule for this candidate
            - `repoLabelId` string, required — Repository label ID associated with this candidate
        - `actionPolicyIndex` integer — Index of the policy rule that triggered this action, for traceability to security policies
        - `fix` object
          - `type` string, required — Type of fix available (e.g., upgrade, remove, cve)
          - `description` string, required — Human-readable description of how to fix this issue
          - `patch` object[] — Patches available to fix this specific alert
            - `uuid` string, required — Unique identifier for this patch
            - `tier` 'free' | 'paid', required — Access tier required for this patch (free or paid)
            - `deprecated` boolean — Indicates if this patch is deprecated and should not be used
        - `patch` SocketPatch
          - `uuid` string, required — Unique identifier for this patch
          - `tier` 'free' | 'paid', required — Access tier required for this patch (free or paid)
          - `deprecated` boolean — Indicates if this patch is deprecated and should not be used
        - `reachability` object
          - `head` ReachabilityResult
            - `type` 'precomputed' | 'full-scan', required — Type of reachability analysis performed
            - `results` ReachabilityResultItem[], required — Reachability analysis results for each vulnerability
              - …
          - `base` ReachabilityResult
            - `type` 'precomputed' | 'full-scan', required — Type of reachability analysis performed
            - `results` ReachabilityResultItem[], required — Reachability analysis results for each vulnerability
              - …
        - `subType` string — Generic alert sub-type
  - `directDependenciesChanged` boolean, required
  - `diff_report_url` string, nullable, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Insufficient max_quota for API method
- `404` — Resource not found
- `429` — Insufficient quota for API route

---

[API](https://skmtc.dev/socket-dev/apis/socket.md) · [All operations](https://skmtc.dev/socket-dev/apis/socket/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/socket-dev/socket/revisions/bf994b75d33f/schema)
