import weflayr
from uuid import UUID
client = weflayr.client() # reads WEFLAYR_API_KEY
client.get_benchmark(benchmark_uuid=UUID("5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01"))
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',
},
});
curl "https://app.weflayr.com/api/benchmark/?benchmark_uuid=5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01" \
-H "Authorization: Bearer $WEFLAYR_API_KEY"
{
"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": []
}
{"error": "Invalid or missing API key. Send it as \"Authorization: Bearer <your key>\"."}
{"error": "No benchmark of this project has the id 5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01. List the project's benchmarks with get_benchmarks."}
{"error": "Invalid request payload.", "detail": [{"field": "benchmark_uuid", "error": "Field required"}]}
Benchmarks
Get benchmark
Get one benchmark, with its estimate, report and suggested routing strategies.
GET
/
api
/
benchmark
/
import weflayr
from uuid import UUID
client = weflayr.client() # reads WEFLAYR_API_KEY
client.get_benchmark(benchmark_uuid=UUID("5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01"))
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',
},
});
curl "https://app.weflayr.com/api/benchmark/?benchmark_uuid=5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01" \
-H "Authorization: Bearer $WEFLAYR_API_KEY"
{
"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": []
}
{"error": "Invalid or missing API key. Send it as \"Authorization: Bearer <your key>\"."}
{"error": "No benchmark of this project has the id 5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01. List the project's benchmarks with get_benchmarks."}
{"error": "Invalid request payload.", "detail": [{"field": "benchmark_uuid", "error": "Field required"}]}
Get one benchmark: its setup, status and cost, and each part it has reached. A part it has not reached is null.
The response also carries
- 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 withdisallow_overpriced_reasoning_effortsto 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_costasaccepted_estimated_costto start the benchmark. - Report, once finished: the benchmark report. 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
documentroutes to the recommended mix: name it, edit it if needed and push it withset_routing_strategy. It is null when no deployment can be routed to.
Parameters
string
required
The benchmark’s id.
boolean
default:"true"
Include what a saved setup costs, with the credit it needs. Null once the benchmark has started. Defaults to true.
boolean
default:"true"
Include the report of a completed or archived benchmark. Null before it is finished. Defaults to true.
boolean
default:"false"
Include the routing strategy the benchmark suggests for each optimization objective. Null before it is finished. Defaults to false.
blockers (what prevents the usual next step), in plain words. It is empty when the usual workflow applies.
import weflayr
from uuid import UUID
client = weflayr.client() # reads WEFLAYR_API_KEY
client.get_benchmark(benchmark_uuid=UUID("5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01"))
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',
},
});
curl "https://app.weflayr.com/api/benchmark/?benchmark_uuid=5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01" \
-H "Authorization: Bearer $WEFLAYR_API_KEY"
{
"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": []
}
{"error": "Invalid or missing API key. Send it as \"Authorization: Bearer <your key>\"."}
{"error": "No benchmark of this project has the id 5c1d6a52-3f5f-4c53-9a0e-6f2b9c7d8e01. List the project's benchmarks with get_benchmarks."}
{"error": "Invalid request payload.", "detail": [{"field": "benchmark_uuid", "error": "Field required"}]}