---
title: "Get a model comparison"
method: GET
path: "/v3/model-comparisons/{comparisonID}"
tags: ["Function Accuracy"]
---

# Get a model comparison

`GET /v3/model-comparisons/{comparisonID}`

**Get a comparison's metrics.**

Returns each entry's metric bundle (aggregate + per-field accuracy, latency,
dataset baseline) and its lift against the baseline entry. `matchMode`
(`strict` | `normalized` | `semantic`) and `orderMatching` control how leaf
values and arrays are judged equal, exactly as for lab metrics.

## Path parameters

- `comparisonID` string, required

## Query parameters

- `matchMode` string
- `orderMatching` boolean
- `includeRowResults` boolean

## Response `200`

The request has succeeded.

- ModelComparisonResponseV3 — Returned by `GET /v3/model-comparisons/{comparisonID}`.
  - `comparisonID` string, required
  - `name` string
  - `status` 'pending' | 'running' | 'complete' | 'partial' | 'cancelled' | 'error', required — Rolled-up status of a comparison, derived from its entries' scoring runs.
  - `entries` ModelComparisonEntryResultV3[], required
    - `label` string, required
    - `functionName` string, required
    - `functionVersionNum` integer, required
    - `scoreRunID` string, required — The underlying eval-score run (`evalrun_…`).
    - `status` 'pending' | 'running' | 'complete' | 'partial' | 'cancelled' | 'error', required — Rolled-up status of a comparison, derived from its entries' scoring runs.
    - `isBaseline` boolean, required — True for the baseline entry (the first one), which others report lift against.
    - `coverage` ModelComparisonCoverageV3, required — Completed / total scored calls for an entry.
      - `completed` integer, required
      - `total` integer, required
    - `metrics` ModelComparisonMetricsV3 — Accuracy metrics for one scored entry (aggregate + per-field).
      - `aggregateMetrics` ModelComparisonAggregateV3, required — Aggregate confusion-matrix accuracy metrics.
        - `accuracy` number, double
        - `precision` number, double
        - `recall` number, double
        - `f1Score` number, double
        - `tp` integer, required
        - `fp` integer, required
        - `fn` integer, required
        - `tn` integer, required
      - `fieldMetrics` unknown[], required — Per-field metrics (same shape as the lab metrics `fieldMetrics`).
        - unknown
    - `latencyPercentiles` ModelComparisonLatencyV3 — End-to-end latency percentiles, in seconds.
      - `latencyP50` number, double, required
      - `latencyP90` number, double, required
      - `latencyP95` number, double, required
    - `baselineMetrics` ModelComparisonMetricsV3 — Accuracy metrics for one scored entry (aggregate + per-field).
      - `aggregateMetrics` ModelComparisonAggregateV3, required — Aggregate confusion-matrix accuracy metrics.
        - `accuracy` number, double
        - `precision` number, double
        - `recall` number, double
        - `f1Score` number, double
        - `tp` integer, required
        - `fp` integer, required
        - `fn` integer, required
        - `tn` integer, required
      - `fieldMetrics` unknown[], required — Per-field metrics (same shape as the lab metrics `fieldMetrics`).
        - unknown
    - `lift` ModelComparisonLiftV3 — Lift of an entry's aggregate metrics against the baseline entry.
      - `accuracy` ModelComparisonMetricDeltaV3, required — One metric's baseline vs comparison value, absolute diff, and percent lift.
        - `baselineValue` number, double
        - `comparisonValue` number, double
        - `difference` number, double
        - `liftPercent` number, double
      - `precision` ModelComparisonMetricDeltaV3, required — One metric's baseline vs comparison value, absolute diff, and percent lift.
        - `baselineValue` number, double
        - `comparisonValue` number, double
        - `difference` number, double
        - `liftPercent` number, double
      - `recall` ModelComparisonMetricDeltaV3, required — One metric's baseline vs comparison value, absolute diff, and percent lift.
        - `baselineValue` number, double
        - `comparisonValue` number, double
        - `difference` number, double
        - `liftPercent` number, double
      - `f1Score` ModelComparisonMetricDeltaV3, required — One metric's baseline vs comparison value, absolute diff, and percent lift.
        - `baselineValue` number, double
        - `comparisonValue` number, double
        - `difference` number, double
        - `liftPercent` number, double
    - `rowResults` ModelComparisonRowResultV3[] — Per-row, per-field comparison detail (this entry's value vs the label, re-matched under `matchMode`). Present only when the request passes `includeRowResults=true`. Powers mislabel detection.
      - `rowKey` string, required
      - `fields` ModelComparisonFieldResultV3[], required
        - `path` string, required — JSON Pointer to the field.
        - `category` string, required — `match` | `mismatch` | `missing` | `extra`.
        - `expected` unknown
        - `actual` unknown

## Other responses

- `404` — The server cannot find the requested resource.

## Changes

- **2026-08-04** `643398900e5d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/bem-team/apis/bem-api/changes/v3/model-comparisons/:comparisonID/get.md)

---

[API](https://skmtc.dev/bem-team/apis/bem-api.md) · [All operations](https://skmtc.dev/bem-team/apis/bem-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bem-team/bem-api/revisions/5b0d4b491ca7/schema)
