List judge panel

Returns the LIVE Mean-Field Judge Panel state: the configured panel + dynamic judge posture (enabled/sample) resolved from the "*" GlobalDefaultOwner row, the live in-process per-judge calibration (weight/mean/n), and the static published benchmark.

GET /v1/ai/router/judge-panel

Addresshttps://api.hanzo.ai/v1/ai/router/judge-panel
MethodGET
Operationget_ai_router_judge-panel
AuthAuthorization: Bearer $HANZO_API_KEY

Returns the LIVE Mean-Field Judge Panel state: the configured panel + dynamic judge posture (enabled/sample) resolved from the "*" GlobalDefaultOwner row, the live in-process per-judge calibration (weight/mean/n), and the static published benchmark. PUBLIC-safe and platform-global (model ids + scalars only), so it rides the same unauthenticated, balance-exempt class as /v1/ai/router/stats?scope=platform — the world widget polls it with no auth. The judge state is a single in-process population (not per-org), so there is nothing to scope; ?scope=platform is accepted for symmetry with router-stats.

Request

GET /v1/ai/router/judge-panel takes no parameters and no body — the credential is the whole request.

Response

StatusBodyMeaning
200Success.
401—No credential, or one this service does not accept.
403—A valid credential that may not do this.

200 body — 18 fields.

FieldInTypeAlwaysDescription
databodyany—The operation's own result.
data2bodyany—A second result the operation defines, when it has one.
msgbodystringyesEmpty on success, the reason on failure.
statusbodystringyesOne of ok, error.
data.availablebodyboolean—
data.benchmarkbodyai.JudgeBenchmark—
data.benchmark.mfjpbodynumber—
data.benchmark.naiveMeanbodynumber—
data.benchmark.singleAdversarybodynumber—
data.benchmark.singleNoisybodynumber—
data.enabledbodyboolean—
data.judgesbodyai.PanelJudge[]—
data.judges[].meanbodynumber—
data.judges[].modelbodystring—
data.judges[].nbodyinteger—
data.judges[].weightbodynumber—
data.modelsbodystring[]—
data.sampleRatebodynumber—

Failure carries the platform error shape — see Errors.

Examples

hanzo ai router judge-panel
import { Configuration, AiApi } from 'hanzoai';

const api = new AiApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getAiRouterJudge-panel();
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import AiApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = AiApi(client).get_ai_router_judge-panel()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.AiAPI.GetAiRouterJudge-panel(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, ai_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = ai_api::get_ai_router_judge-panel(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.AiApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new AiApi(client).getAiRouterJudge-panel();

The method above is the one at the current release of the document. [email protected] (npm) and [email protected] (PyPI) were generated from an earlier release, where this operation carried a different id, so it spells the method differently — regenerating the clients is what makes the two agree. SDKs →

curl https://api.hanzo.ai/v1/ai/router/judge-panel \
  -H "Authorization: Bearer $HANZO_API_KEY"

MCP declares no tool for ai — tools/list on https://api.hanzo.ai/v1/mcp names the products it does reach. Use HTTP or an SDK.


AI API · All Hanzo APIs · Interactive reference

Was this page useful?