# Get Scans Comparison

Compares two scans within an organization and returns a structured diff of findings, including per-finding diff type (ADDED, REMOVED, MODIFIED, UNCHANGED), aggregate stats, and field-level change details for modified findings.

Endpoint: GET /api/v3.0/orgs/{orgUuid}/scans/compare
Version: 3.0
Security: bearer-key

## Path parameters:

  - `orgUuid` (string, required)
    org UUID (from the Mend App: Administration General > Organization UUID).

## Query parameters:

  - `sourceScanUuid` (string, required)
    UUID of the source (baseline) scan

  - `targetScanUuid` (string)
    UUID of the target (comparison) scan; defaults to the project's latest scan when omitted

  - `type` (string, required)
    Finding category to compare
    Enum: "security", "legal", "library"

## Response 200 fields (application/json):

  - `supportToken` (string)
    Example: "1171c60d"

  - `response` (object)

  - `response.source` (object)

  - `response.source.uuid` (string)

  - `response.source.name` (string)

  - `response.source.engine` (string)
    Enum: "UNIFIED", "SCA", "SAST", "IAC", "IMG", "AI", "DAST"

  - `response.source.status` (string)
    Enum: "RUNNING", "PARTIAL", "PROCESSING", "FINISHED", "FAILED"

  - `response.source.projectId` (integer)

  - `response.source.productId` (integer)

  - `response.source.domainId` (integer)

  - `response.source.projectUuid` (string)

  - `response.source.processUuid` (string)

  - `response.source.hasViolations` (boolean)

  - `response.source.startTime` (string)

  - `response.source.endTime` (string)

  - `response.source.lastModified` (string)

  - `response.source.configurationName` (string)

  - `response.source.reference` (string)

  - `response.source.triggeredBy` (string)

  - `response.source.agentInfo` (object)

  - `response.source.agentInfo.agentName` (string)

  - `response.source.agentInfo.agentVersion` (string)

  - `response.source.agentInfo.errorMessage` (string)

  - `response.target` (object)

  - `response.stats` (object)

  - `response.stats.added` (integer)

  - `response.stats.removed` (integer)

  - `response.stats.modified` (integer)

  - `response.stats.unchanged` (integer)

  - `response.findings` (array)

  - `response.findings.diffType` (string)

  - `response.findings.finding` (object)

  - `response.findings.finding.uuid` (string)

  - `response.findings.finding.findingId` (string)

  - `response.findings.finding.findingName` (string)

  - `response.findings.finding.type` (string)

  - `response.findings.finding.severity` (string)

  - `response.findings.finding.score` (number)

  - `response.findings.finding.element` (string)

  - `response.findings.finding.elementId` (string)

  - `response.findings.finding.refId` (string)

  - `response.findings.finding.grouping` (string)

  - `response.findings.finding.status` (string)

  - `response.findings.finding.state` (string)

  - `response.findings.finding.paths` (array)

  - `response.findings.finding.sources` (array)

  - `response.findings.finding.createdAt` (string)

  - `response.findings.finding.updatedAt` (string)

  - `response.findings.finding.dynamicFields` (object)

  - `response.findings.finding.riskFactors` (array)

  - `response.findings.finding.riskFactorsJson` (object)

  - `response.findings.finding.engine` (string)
    Enum: same as `response.source.engine` (7 values)

  - `response.findings.finding.vendor` (string)

  - `response.findings.finding.orgUuid` (string)

  - `response.findings.finding.projectUuid` (string)

  - `response.findings.finding.projectName` (string)

  - `response.findings.finding.branch` (string)

  - `response.findings.finding.scanUuid` (string)

  - `response.findings.finding.firstScanUuid` (string)

  - `response.findings.finding.findingCategory` (string)

  - `response.findings.finding.hasViolation` (boolean)

  - `response.findings.finding.numberOfViolations` (integer)

  - `response.findings.finding.violationWorkflowUuids` (array)

  - `response.findings.finding.applicationUuid` (string)

  - `response.findings.finding.applicationName` (string)

  - `response.findings.finding.isNew` (boolean)

  - `response.findings.finding.isDetectedAtFirstScan` (boolean)

  - `response.findings.finding.isRemediationAvailable` (boolean)

  - `response.findings.changes` (array)

  - `response.findings.changes.field` (string)

  - `response.findings.changes.before` (object)

  - `response.findings.changes.after` (object)

## Response 400 fields (*/*):

  - `supportToken` (string)
    Example: "1171c60d"


