---
title: "Get a benchmark target"
method: GET
path: "/v1/benchmark/target/{targetKey}"
tags: ["Benchmark"]
---

# Get a benchmark target

`GET /v1/benchmark/target/{targetKey}`

## Request

- Base URL: `https://api.roark.ai`
- URL: `https://api.roark.ai/v1/benchmark/target/{targetKey}`
- Auth: HTTP bearer

Returns a target’s published sweep and every one of its aggregate cells: the overall rollup plus a set per condition. Defaults to the current sweep; pass `publicationId` from the history endpoint to read a superseded one, which is how a regression is compared generation to generation. Numbers only — no transcript and no audio.

## Path parameters

- `targetKey` string, required

## Query parameters

- `suite` string, required
- `suiteVersion` string
- `publicationId` string, uuid

## Response `200`

The target and all of its published cells

- object
  - `data` BenchmarkTargetDetail, required
    - `target` BenchmarkTarget, required: A model or stack with a published result on a benchmark suite
      - `targetKey` string, required: Stable identity of the model/stack across sweeps. Cite this, and pass it to the target endpoints.
      - `targetName` string, required: Human-readable name of the model/stack.
      - `suite` string, required
      - `suiteVersion` string, required
      - `publicationId` string, uuid, required: Id of this one sweep. Changes every time the target is re-published, so it is a render key, not an identity.
      - `iterations` integer, required: Calls the sweep requested per condition.
      - `sampleCallCount` integer, required: Executed calls that contributed at least one score to these numbers.
      - `publishedAt` string, required: When this sweep was published (ISO-8601), i.e. data freshness.
      - `supersededAt` string, nullable, required: When a later sweep replaced this one. Null means it is the current generation.
      - `isCurrent` boolean, required: Whether these are the numbers Roark publishes for this target today.
    - `results` BenchmarkResult[], required: Every cell of this sweep: the overall rollup plus one set per condition.
      - `conditionKey` string, required: What these numbers were measured under: from suite v1.3 an industry scenario (`healthcare`, `home-services`, `insurance`, `customer-support`), before that a flow variant. The empty string is the overall rollup across all conditions.
      - `conditionLabel` string, required
      - `metricKey` string, required: Stable metric id, e.g. `response_time`.
      - `metricName` string, required
      - `metricKind` 'NUMERIC' | 'BOOLEAN', required: Which statistics are populated on a result. NUMERIC fills p50/p95/mean/ci; BOOLEAN fills passRate and its interval.
      - `unitSymbol` string, nullable, required: Display unit for numeric metrics, e.g. `ms`.
      - `n` integer, required: Scored samples behind this aggregate.
      - `p50` number, nullable, required
      - `p95` number, nullable, required
      - `mean` number, nullable, required
      - `ciLow` number, nullable, required: Low bound of the 95% CI of the mean (NUMERIC metrics).
      - `ciHigh` number, nullable, required
      - `passRate` number, nullable, required: Fraction passed, 0..1 (BOOLEAN metrics).
      - `passRateCiLow` number, nullable, required: Low bound of the 95% Wilson interval on the pass rate.
      - `passRateCiHigh` number, nullable, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found
- `500`: Internal Server Error

## Changes

> 187 revisions in range; 1 not diffed.

- **2026-09-15** `38989bd64cb3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/roarkhq/apis/roark-analytics-api/changes/v1/benchmark/target/:targetKey/get.md)

---

[API](https://skmtc.dev/roarkhq/apis/roark-analytics-api.md) - [All operations](https://skmtc.dev/roarkhq/apis/roark-analytics-api/llms.txt) - [OpenAPI document](https://skmtc.dev/roarkhq/apis/roark-analytics-api/revisions/1a91a5c90e44?raw)
