import datetime
import weflayr
client = weflayr.client() # reads WEFLAYR_API_KEY
client.get_routing_strategy_results(slug="summarize-profile-router", date_from=datetime.date(2026, 9, 24), date_to=datetime.date(2026, 10, 23))
const weflayr = require('weflayr');
const client = weflayr.client(); // reads WEFLAYR_API_KEY
await weflayr.api.getRoutingStrategyResults({
client,
throwOnError: true,
query: {
slug: 'summarize-profile-router',
dateFrom: '2026-09-24',
dateTo: '2026-10-23',
},
});
curl "https://app.weflayr.com/api/routing-strategy-results/?slug=summarize-profile-router&date_from=2026-09-24&date_to=2026-10-23" \
-H "Authorization: Bearer $WEFLAYR_API_KEY"
{
"available": true,
"as_of": "2026-10-23T10:00:00+00:00",
"version": 1,
"period": {
"starts_at": "2026-09-24T00:00:00+00:00",
"ends_at": "2026-10-23T10:00:00+00:00"
},
"totals": {
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007
},
"rules": [
{
"id": 0,
"kind": "global",
"position": null,
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0,
"routes": [
{
"route_id": "gpt-6-luna:default",
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0
}
]
}
],
"routes": [
{
"id": "gpt-6-luna:default",
"model": "gpt-6-luna",
"model_maker": "openai",
"reasoning_effort": null,
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0,
"rules": [
{
"rule_id": 0,
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0
}
]
}
],
"blockers": []
}
{"error": "Invalid or missing API key. Send it as \"Authorization: Bearer <your key>\"."}
{"error": "The strategy 'summarize-profile-router' has no version 9. List its versions with get_routing_strategy (previous_versions=true)."}
{"error": "Invalid request payload.", "detail": [{"field": "slug", "error": "Field required"}]}
Routing strategies
Get routing strategy results
Get the calls one version of a routing strategy routed over a period.
GET
/
api
/
routing-strategy-results
/
import datetime
import weflayr
client = weflayr.client() # reads WEFLAYR_API_KEY
client.get_routing_strategy_results(slug="summarize-profile-router", date_from=datetime.date(2026, 9, 24), date_to=datetime.date(2026, 10, 23))
const weflayr = require('weflayr');
const client = weflayr.client(); // reads WEFLAYR_API_KEY
await weflayr.api.getRoutingStrategyResults({
client,
throwOnError: true,
query: {
slug: 'summarize-profile-router',
dateFrom: '2026-09-24',
dateTo: '2026-10-23',
},
});
curl "https://app.weflayr.com/api/routing-strategy-results/?slug=summarize-profile-router&date_from=2026-09-24&date_to=2026-10-23" \
-H "Authorization: Bearer $WEFLAYR_API_KEY"
{
"available": true,
"as_of": "2026-10-23T10:00:00+00:00",
"version": 1,
"period": {
"starts_at": "2026-09-24T00:00:00+00:00",
"ends_at": "2026-10-23T10:00:00+00:00"
},
"totals": {
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007
},
"rules": [
{
"id": 0,
"kind": "global",
"position": null,
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0,
"routes": [
{
"route_id": "gpt-6-luna:default",
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0
}
]
}
],
"routes": [
{
"id": "gpt-6-luna:default",
"model": "gpt-6-luna",
"model_maker": "openai",
"reasoning_effort": null,
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0,
"rules": [
{
"rule_id": 0,
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0
}
]
}
],
"blockers": []
}
{"error": "Invalid or missing API key. Send it as \"Authorization: Bearer <your key>\"."}
{"error": "The strategy 'summarize-profile-router' has no version 9. List its versions with get_routing_strategy (previous_versions=true)."}
{"error": "Invalid request payload.", "detail": [{"field": "slug", "error": "Field required"}]}
Calls are split by rule and by route. A route is a model at one reasoning effort, whichever provider served it. A call counts once, under the route that answered it.
The response also carries
Parameters
string
required
The strategy’s slug.
string
required
Start of the period, inclusive. YYYY-MM-DD.
string
End of the period, inclusive. YYYY-MM-DD. Defaults to today.
integer
The version to read. Defaults to the live one.
blockers (what prevents the usual next step), in plain words. It is empty when the usual workflow applies.
import datetime
import weflayr
client = weflayr.client() # reads WEFLAYR_API_KEY
client.get_routing_strategy_results(slug="summarize-profile-router", date_from=datetime.date(2026, 9, 24), date_to=datetime.date(2026, 10, 23))
const weflayr = require('weflayr');
const client = weflayr.client(); // reads WEFLAYR_API_KEY
await weflayr.api.getRoutingStrategyResults({
client,
throwOnError: true,
query: {
slug: 'summarize-profile-router',
dateFrom: '2026-09-24',
dateTo: '2026-10-23',
},
});
curl "https://app.weflayr.com/api/routing-strategy-results/?slug=summarize-profile-router&date_from=2026-09-24&date_to=2026-10-23" \
-H "Authorization: Bearer $WEFLAYR_API_KEY"
{
"available": true,
"as_of": "2026-10-23T10:00:00+00:00",
"version": 1,
"period": {
"starts_at": "2026-09-24T00:00:00+00:00",
"ends_at": "2026-10-23T10:00:00+00:00"
},
"totals": {
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007
},
"rules": [
{
"id": 0,
"kind": "global",
"position": null,
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0,
"routes": [
{
"route_id": "gpt-6-luna:default",
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0
}
]
}
],
"routes": [
{
"id": "gpt-6-luna:default",
"model": "gpt-6-luna",
"model_maker": "openai",
"reasoning_effort": null,
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0,
"rules": [
{
"rule_id": 0,
"calls": 120,
"spend": 0.84,
"cost_per_call": 0.007,
"share": 100.0
}
]
}
],
"blockers": []
}
{"error": "Invalid or missing API key. Send it as \"Authorization: Bearer <your key>\"."}
{"error": "The strategy 'summarize-profile-router' has no version 9. List its versions with get_routing_strategy (previous_versions=true)."}
{"error": "Invalid request payload.", "detail": [{"field": "slug", "error": "Field required"}]}