---
title: "Compare metrics across multiple runs"
method: GET
path: "/api/runs/compare"
tags: ["Runs"]
---

# Compare metrics across multiple runs

`GET /api/runs/compare`

## Request

- Base URL: `https://pluto-api.trainy.ai`
- URL: `https://pluto-api.trainy.ai/api/runs/compare`
- Auth: HTTP bearer

Returns per-run aggregates (count, min, max, mean, final) for a single metric across multiple runs, read from the pre-computed summaries table. Raw, no editorializing — interpretation is the caller's job.

## Query parameters

- `runIds` string, required: Comma-separated list of run IDs to compare (e.g., '1,2,5')
- `projectName` string, required: Project name
- `logName` string, required: Metric name to compare (e.g., 'train/loss')

## Response `200`

Comparison results

- CompareRunsResponse
  - `projectName` string, required
  - `logName` string, required
  - `comparisonUrl` string, required: URL to compare these runs in the UI
  - `runs` object[], required
    - `runId` number, required
    - `runName` string, required
    - `url` string, required: URL to view this run
    - `status` string, required
    - `config` unknown
    - `stats` object, nullable, required
      - `count` number, required
      - `min` number, required
      - `max` number, required
      - `mean` number, required
      - `final` number, required: Final value (at last step)

## Other responses

- `400`: Invalid request

---

[API](https://skmtc.dev/trainy/apis/mlop-api.md) - [All operations](https://skmtc.dev/trainy/apis/mlop-api/llms.txt) - [OpenAPI document](https://skmtc.dev/trainy/apis/mlop-api/revisions/5d2c0b0baecb?raw)
