Is the datasets your org has, each with its name, description, metadata and…
Is the datasets your org has, each with its name, description, metadata and timestamps. It is the only way to enumerate what an org holds.
GET /v1/eval/datasets
| Address | https://api.hanzo.ai/v1/eval/datasets |
| Method | GET |
| Operation | get_eval_datasets |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Is the datasets your org has, each with its name, description, metadata and timestamps.
It is the only way to enumerate what an org holds. Requires a validated principal; 403 without one. Every row is filtered on the validated org, so there is no parameter that reaches another tenant's datasets. The item count is NOT populated here — read one dataset to get it.
Request
1 field.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
limit | query | integer | — | Limit caps the rows returned. It defaults to 100 and is capped at 500; a non-positive or unparseable value falls back to the default rather than failing,… |
Response
| Status | Body | Meaning |
|---|---|---|
200 | datasetList | ok |
200 body — 8 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
data | body | datasetView[] | — | Data is the caller org's datasets, newest first, bounded by limit. |
data[].createdAt | body | string | — | CreatedAt is when the name was first written, kept across later edits. |
data[].description | body | string | — | Description is free text the org wrote about what this set measures. |
data[].items | body | integer | — | Items is how many examples the set holds. |
data[].metadata | body | object | — | Metadata is the free-form object stored with the set, echoed back verbatim. |
data[].metadata.* | body | object | — | |
data[].name | body | string | — | Name is the dataset's org-unique handle and the segment that addresses it. |
data[].updatedAt | body | string | — | UpdatedAt is when the description or metadata last changed. |
Failure carries the platform error shape — see Errors.
Examples
hanzo evals datasets listimport { Configuration, EvalApi } from 'hanzoai';
const api = new EvalApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getEvalDatasets();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_datasets()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.EvalAPI.GetEvalDatasets(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_datasets(&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).getEvalDatasets();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/datasets \
-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?