Is the score events your org has recorded, narrowed by any of name, runName and…
Is the score events your org has recorded, narrowed by any of name, runName and traceId.
GET /v1/eval/scores
| Address | https://api.hanzo.ai/v1/eval/scores |
| Method | GET |
| Operation | get_eval_scores |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Is the score events your org has recorded, narrowed by any of name, runName and traceId.
The org is bound as an authoritative predicate on the query, never taken from a header, so a filter can narrow the caller's own scores but can never widen past them. Requires a validated principal; 403 without one. Scores live in the datastore, so a deployment with none wired answers 503 rather than an empty page that would read as "no scores".
Request
4 fields.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
name | query | string | — | Name narrows to one score name. |
runName | query | string | — | RunName narrows to the scores of one run. |
traceId | query | string | — | TraceID narrows to the scores on one model call. |
limit | query | integer | — |
Response
| Status | Body | Meaning |
|---|---|---|
200 | scoreList | ok |
200 body — 10 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
data | body | scoreView[] | — | Data is the caller org's score events matching the filters, bounded by limit. |
data[].comment | body | string | — | Comment is the grader's reasoning, truncated at 2000 characters. |
data[].dataType | body | string | — | DataType is NUMERIC, CATEGORICAL or BOOLEAN. |
data[].id | body | string | — | ID is the score event's handle. |
data[].name | body | string | — | Name is the score name, which a rubric of the same name governs. |
data[].runName | body | string | — | RunName is the run this score was recorded under, when it came from one. |
data[].stringValue | body | string | — | StringValue is the label of a CATEGORICAL score. |
data[].timestamp | body | string | — | Timestamp is when the score was recorded. |
data[].traceId | body | string | — | TraceID is the model call this score grades, when it grades one. |
data[].value | body | number | — | Value is the numeric score; for BOOLEAN it is 0 or 1. |
Failure carries the platform error shape — see Errors.
Examples
hanzo evals scores getimport { Configuration, EvalApi } from 'hanzoai';
const api = new EvalApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getEvalScores();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import EvalApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = EvalApi(client).get_eval_scores()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.EvalAPI.GetEvalScores(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, eval_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = eval_api::get_eval_scores(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.EvalApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new EvalApi(client).getEvalScores();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/eval/scores \
-H "Authorization: Bearer $HANZO_API_KEY"The door reaches eval through the evals tool, which names its 16 operations with its own verbs — this one among them, under a name only the door declares. describe explains any of them:
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "describe",
"arguments": {
"op": "list_eval_datasets"
}
}
}'How is this guide?