> ## Documentation Index
> Fetch the complete documentation index at: https://docs.weflayr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get benchmark

> Get one benchmark, with its estimate, report and suggested routing strategies.

Get one benchmark: its setup, status and cost, and each part it has reached. A part it has not reached is null.

* **Status**: a running benchmark takes a while, and its creator receives an email when it completes. One stopped because it spent its credit reservation lists the reasoning efforts that cost far more than its model's exploration effort in `overpriced_reasoning_efforts`: resume it with `disallow_overpriced_reasoning_efforts` to leave them out.
* **Estimate**, for a saved setup: the cost of the candidates' replays, the baseline's and the judges, the credit it needs while it runs and the credit you have. Pass its `estimated_cost` as `accepted_estimated_cost` to start the benchmark.
* **Report**, once finished: the [benchmark report](https://docs.weflayr.com/product/benchmark-report.md). For each optimization objective, the recommended mix of models with each one's share of the calls, its quality against the baseline, its cost and savings per month, and every model's figures.
* **Suggested routing strategies**, once finished: for each optimization objective, the models a routing strategy should route to, ranked with the benchmark's figures, and the deployments it cannot route to and why. Its `document` routes to the recommended mix: name it, edit it if needed and push it with `set_routing_strategy`. It is null when no deployment can be routed to.

## Parameters

**benchmark\_uuid** `string` *required*

The benchmark's id.

**estimate** `boolean` (default: true)

Include what a saved setup costs, with the credit it needs. Null once the benchmark has started. Defaults to true.

**reports** `boolean` (default: true)

Include the report of a completed or archived benchmark. Null before it is finished. Defaults to true.

**suggested\_routing\_strategies** `boolean` (default: false)

Include the routing strategy the benchmark suggests for each optimization objective. Null before it is finished. Defaults to false.

The response also carries `blockers` (what prevents the usual next step), in plain words. It is empty when the usual workflow applies.

```python Python theme={null}
import weflayr
from uuid import UUID

client = weflayr.client()  # reads WEFLAYR_API_KEY

client.get_benchmark(benchmark_uuid=UUID("5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01"))
```

```js Node.js theme={null}
const weflayr = require('weflayr');

const client = weflayr.client(); // reads WEFLAYR_API_KEY

await weflayr.api.getBenchmark({
  client,
  throwOnError: true,
  query: {
    benchmarkUuid: '5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01',
  },
});
```

```bash cURL theme={null}
curl "https://app.weflayr.com/api/benchmark/?benchmark_uuid=5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01" \
  -H "Authorization: Bearer $WEFLAYR_API_KEY"
```

```json 200 theme={null}
{
  "benchmark_uuid": "5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01",
  "url": "https://app.weflayr.com/dashboard/optimization/benchmark/?benchmark=5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01",
  "name": "Summarize profile",
  "status": "completed",
  "message": "Completed: its report is ready.",
  "call_names": [
    "summarize_profile"
  ],
  "optimization_objectives": [
    "same_quality_lowest_cost",
    "same_cost_best_quality"
  ],
  "period": {
    "date_from": "2026-09-24",
    "date_to": "2026-10-23"
  },
  "requested_at": "2026-10-23T09:10:00+00:00",
  "started_at": "2026-10-23T09:10:30+00:00",
  "completed_at": "2026-10-23T11:40:00+00:00",
  "updated_at": "2026-10-23T11:40:00+00:00",
  "estimated_cost": 3.4,
  "actual_cost": 3.1,
  "credit_reserved": 0.0,
  "setup": {
    "deployments": [
      {
        "model": "gpt-6-luna",
        "provider": "openai",
        "region": "GLOBAL"
      }
    ],
    "forced_deployments": [],
    "evaluators_impacting_benchmark": [
      1
    ],
    "evaluators_for_reference": [
      14
    ],
    "config": {
      "optimization_objectives": [
        "same_quality_lowest_cost",
        "same_cost_best_quality"
      ],
      "period": {
        "date_from": "2026-09-24",
        "date_to": "2026-10-23"
      },
      "examples": 300,
      "validation_examples": 50,
      "replays": 1,
      "sampling": "smart",
      "baseline_deployment": null,
      "production_model_replay_deployment": null,
      "model_prices_prompted_by_user": [],
      "mask_pii": false,
      "auto_disallow_too_costly_reasoning_efforts": true,
      "ignore_max_tokens": true
    }
  },
  "baseline": null,
  "recommendations": [
    {
      "objective": "same_quality_lowest_cost",
      "recommended": [
        {
          "name": "gpt-6-luna",
          "provider": "openai"
        }
      ]
    },
    {
      "objective": "same_cost_best_quality",
      "recommended": []
    }
  ],
  "overpriced_reasoning_efforts": [],
  "estimate": null,
  "report": {
    "features": "profile-summary",
    "examples": 300,
    "explore_examples": 40,
    "explored_models": 6,
    "calls_per_month": 1840.0,
    "cost": 3.1,
    "evaluators": [
      {
        "id": "1",
        "name": "Overall quality",
        "kind": "judge",
        "instruction": "The answer is as good as the baseline's.",
        "priority": "high"
      },
      {
        "id": "14",
        "name": "Polite tone",
        "kind": "judge",
        "instruction": "The answer is polite and never blames the customer.",
        "priority": "default"
      }
    ],
    "objectives": [
      {
        "optimization_objective": "same_quality_lowest_cost",
        "recommendation": {
          "cost_per_run": 0.0038,
          "quality": {
            "better_pct": 6.0,
            "same_pct": 90.0,
            "worse_pct": 4.0,
            "same_or_better_pct": 96.0
          },
          "monthly_cost": 6.99,
          "baseline_monthly_cost": 22.82,
          "monthly_savings": 15.83,
          "savings_pct": 69.4
        },
        "validation": {
          "num_better": 3,
          "num_same": 45,
          "num_worse": 2
        },
        "models": [
          {
            "name": "claude-sonnet-5-5",
            "provider": "anthropic",
            "baseline": true,
            "full_run": true,
            "reasoning_effort": null,
            "cost_per_run": 0.0124,
            "latency_ms": 4200.0,
            "output_tokens_per_run": 410.0,
            "reasoning_tokens_per_run": 0.0,
            "input_per_1m": 2.0,
            "output_per_1m": 10.0,
            "quality": null,
            "quality_by_evaluator": {},
            "mix": {
              "share": 18.0,
              "num_calls": 9,
              "cost_per_run": 0.0118,
              "quality": {
                "better_pct": 0.0,
                "same_pct": 100.0,
                "worse_pct": 0.0,
                "same_or_better_pct": 100.0
              },
              "reasoning_efforts": [
                null
              ]
            }
          },
          {
            "name": "gpt-6-luna",
            "provider": "openai",
            "baseline": false,
            "full_run": true,
            "reasoning_effort": "low",
            "cost_per_run": 0.0021,
            "latency_ms": 2100.0,
            "output_tokens_per_run": 380.0,
            "reasoning_tokens_per_run": 120.0,
            "input_per_1m": 0.1,
            "output_per_1m": 0.5,
            "quality": {
              "better_pct": 5.0,
              "same_pct": 88.0,
              "worse_pct": 7.0,
              "same_or_better_pct": 93.0
            },
            "quality_by_evaluator": {
              "1": {
                "better_pct": 5.0,
                "same_pct": 88.0,
                "worse_pct": 7.0,
                "same_or_better_pct": 93.0
              },
              "14": {
                "better_pct": 2.0,
                "same_pct": 97.0,
                "worse_pct": 1.0,
                "same_or_better_pct": 99.0
              }
            },
            "mix": {
              "share": 82.0,
              "num_calls": 41,
              "cost_per_run": 0.0021,
              "quality": {
                "better_pct": 5.0,
                "same_pct": 88.0,
                "worse_pct": 7.0,
                "same_or_better_pct": 93.0
              },
              "reasoning_efforts": [
                "low"
              ]
            }
          }
        ]
      },
      {
        "optimization_objective": "same_cost_best_quality",
        "recommendation": null,
        "validation": null,
        "models": [
          {
            "name": "claude-sonnet-5-5",
            "provider": "anthropic",
            "baseline": true,
            "full_run": true,
            "reasoning_effort": null,
            "cost_per_run": 0.0124,
            "latency_ms": 4200.0,
            "output_tokens_per_run": 410.0,
            "reasoning_tokens_per_run": 0.0,
            "input_per_1m": 2.0,
            "output_per_1m": 10.0,
            "quality": null,
            "quality_by_evaluator": {},
            "mix": null
          },
          {
            "name": "gpt-6-luna",
            "provider": "openai",
            "baseline": false,
            "full_run": true,
            "reasoning_effort": "low",
            "cost_per_run": 0.0021,
            "latency_ms": 2100.0,
            "output_tokens_per_run": 380.0,
            "reasoning_tokens_per_run": 120.0,
            "input_per_1m": 0.1,
            "output_per_1m": 0.5,
            "quality": {
              "better_pct": 5.0,
              "same_pct": 88.0,
              "worse_pct": 7.0,
              "same_or_better_pct": 93.0
            },
            "quality_by_evaluator": {
              "1": {
                "better_pct": 5.0,
                "same_pct": 88.0,
                "worse_pct": 7.0,
                "same_or_better_pct": 93.0
              },
              "14": {
                "better_pct": 2.0,
                "same_pct": 97.0,
                "worse_pct": 1.0,
                "same_or_better_pct": 99.0
              }
            },
            "mix": null
          }
        ]
      }
    ]
  },
  "suggested_routing_strategies": null,
  "blockers": []
}
```

```json 401 theme={null}
{"error": "Invalid or missing API key. Send it as \"Authorization: Bearer <your key>\"."}
```

```json 404 theme={null}
{"error": "No benchmark of this project has the id 5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01. List the project's benchmarks with get_benchmarks."}
```

```json 422 theme={null}
{"error": "Invalid request payload.", "detail": [{"field": "benchmark_uuid", "error": "Field required"}]}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.