Echoes a World plan's rate limits, alert quota and model-API grant, read…
Echoes a World plan's rate limits, alert quota and model-API grant, read straight from the live @hanzo/plans catalog, so agents and dashboards configure…
GET /v1/world/limits
| Address | https://api.hanzo.ai/v1/world/limits |
| Method | GET |
| Operation | get_world_limits |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Echoes a World plan's rate limits, alert quota and model-API grant, read straight from the live @hanzo/plans catalog, so agents and dashboards configure themselves against the catalog instead of hardcoding tier numbers.
An empty or unknown plan resolves world-free, and a catalog failure serves that same free floor rather than erroring — so this always answers 200, and it can only ever under-grant. It reports the contract; it does not enforce it.
Request
1 field.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
plan | query | string | — | Plan is a World plan id from the live @hanzo/plans catalog, e.g. world-pro. |
Response
| Status | Body | Meaning |
|---|---|---|
200 | limitsView | ok |
200 body — 7 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
limits | body | limitsBlock | — | |
limits.apiRateLimit | body | integer | — | APIRateLimit is requests per minute allowed against the REST /v1/world surface. |
limits.maxAlerts | body | integer | — | MaxAlerts is how many saved OSINT alert rules the plan allows. |
limits.mcpRateLimit | body | integer | — | MCPRateLimit is requests per minute allowed against the MCP surface. |
limits.modelApi | body | boolean | — | ModelAPI is whether the plan reaches the World model endpoint and the SSE stream. |
plan | body | string | — | Plan echoes the plan id the limits were resolved for, after the empty-means- world-free default. |
unit | body | string | — | Unit names what the two rate numbers are counted in: requests/minute. |
Failure carries the platform error shape — see Errors.
Examples
hanzo world limitsimport { Configuration, WorldApi } from 'hanzoai';
const api = new WorldApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getWorldLimits();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import WorldApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = WorldApi(client).get_world_limits()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.WorldAPI.GetWorldLimits(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, world_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = world_api::get_world_limits(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.WorldApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new WorldApi(client).getWorldLimits();curl https://api.hanzo.ai/v1/world/limits \
-H "Authorization: Bearer $HANZO_API_KEY"The door reaches world through the world tool, which names its 6 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": "get_world"
}
}
}'How is this guide?