List feed
Holds one text/event-stream open and pushes a message frame for each line as it happens, after replaying the last 20.
GET /v1/leaderboard/feed
| Address | https://api.hanzo.ai/v1/leaderboard/feed |
| Method | GET |
| Operation | get_leaderboard_feed |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Holds one text/event-stream open and pushes a message frame for each line as it happens, after replaying the last 20. data is {id, kind, at, handle, detail}, where kind is joined, referred, tried, milestone, hour, bounty, level or expert. handle is masked in the middle, whole for an org that listed itself and empty for one that withdrew. At most 30 lines a minute. A : ping comment is written every 25 seconds. There is no resume: a reader that reconnects is replayed the last 20. No credential is needed to read it.
Request
GET /v1/leaderboard/feed takes no parameters and no body — the credential is the whole request.
Response
| Status | Body | Meaning |
|---|---|---|
2XX | string | Success |
2XX body — 1 field.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
(body) | body | string (binary) | yes |
Failure carries the platform error shape — see Errors.
Examples
hanzo leaderboard feedimport { Configuration, LeaderboardApi } from 'hanzoai';
const api = new LeaderboardApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getLeaderboardFeed();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import LeaderboardApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = LeaderboardApi(client).get_leaderboard_feed()cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)
resp, _, err := client.LeaderboardAPI.GetLeaderboardFeed(context.Background()).Execute()
if err != nil {
return err
}use hanzo_client::apis::{configuration::Configuration, leaderboard_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = leaderboard_api::get_leaderboard_feed(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.LeaderboardApi;
ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));
var result = new LeaderboardApi(client).getLeaderboardFeed();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/leaderboard/feed \
-H "Authorization: Bearer $HANZO_API_KEY"MCP reaches leaderboard through the leaderboard tool, which names its 10 operations with its own verbs — this one among them, under a name only MCP 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_leaderboards"
}
}
}'