OpenapiO11y
Returns the LLM pricing rules for the caller's org, with pagination and an…
Returns the LLM pricing rules for the caller's org, with pagination and an optional search and override filter.
GET /v1/o11y/llm_pricing_rules
| Address | https://api.hanzo.ai/v1/o11y/llm_pricing_rules |
| Method | GET |
| Operation | ListLLMPricingRules |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Returns the LLM pricing rules for the caller's org, with pagination and an optional search and override filter.
Callers need the viewer role; the runtime's own gate enforces it.
Request
4 fields.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
q | query | string | — | Search matches rules by model or provider. |
isOverride | query | string | — | IsOverride, when "true" or "false", narrows to user-pinned rules or to synced ones; empty returns both. |
offset | query | integer | — | Offset is how many rows to skip, for paging. |
limit | query | integer | — | Limit caps how many rows come back. |
Response
| Status | Body | Meaning |
|---|---|---|
200 | o11y.O11yLLMPricingRulesOut | ok |
200 body — 27 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
data | body | o11y.O11yLLMPricingRulesPage | — | |
data.items | body | o11y.O11yLLMPricingRule[] | — | Items are the rules. |
data.items[].createdAt | body | string (date-time) | — | CreatedAt is when the rule was stored. |
data.items[].createdBy | body | string | — | CreatedBy is who created the rule. |
data.items[].enabled | body | boolean | — | Enabled says whether the rule is on. |
data.items[].id | body | string | — | ID is the rule's id. |
data.items[].isOverride | body | boolean | — | IsOverride marks the rule user-pinned; when true the sync job skips it. |
data.items[].modelName | body | string | — | Model is the model the rule prices. |
data.items[].modelPattern | body | string[] | — | ModelPattern are the model-name globs the rule matches. |
data.items[].orgId | body | string | — | OrgID is the org the rule belongs to. |
data.items[].pricing | body | o11y.O11yLLMRulePricing | — | |
data.items[].pricing.cache | body | o11y.O11yLLMPricingCacheCosts | — | |
data.items[].pricing.cache.mode | body | string | — | Mode is how cached tokens are counted — subtract (inside input_tokens, OpenAI-style), additive (reported separately, Anthropic-style) or unknown. |
data.items[].pricing.cache.read | body | number | — | Read is the cost per unit of cache-read tokens. |
data.items[].pricing.cache.write | body | number | — | Write is the cost per unit of cache-write tokens. |
data.items[].pricing.input | body | number | — | Input is the cost per unit of input tokens. |
data.items[].pricing.output | body | number | — | Output is the cost per unit of output tokens. |
data.items[].provider | body | string | — | Provider is the model's provider. |
data.items[].sourceId | body | string | — | SourceID is the upstream source the rule was synced from, when synced. |
data.items[].syncedAt | body | string (date-time) | — | SyncedAt is when the rule was last synced, when it is synced. |
data.items[].unit | body | string | — | Unit is the pricing unit, e.g. |
data.items[].updatedAt | body | string (date-time) | — | UpdatedAt is when the rule last changed. |
data.items[].updatedBy | body | string | — | UpdatedBy is who last changed it. |
data.limit | body | integer | — | Limit is the page cap the read ran with. |
data.offset | body | integer | — | Offset is the row offset this page started at. |
data.total | body | integer | — | Total is how many rules match, across all pages. |
status | body | string | — | Status is "success". |
Failure carries the platform error shape — see Errors.
Examples
hanzo o11y llm_pricing_rules listimport { Configuration, O11yApi } from 'hanzoai';
const api = new O11yApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.listLLMPricingRules();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import O11yApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = O11yApi(client).list_llm_pricing_rules()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.O11yAPI.ListLLMPricingRules(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, o11y_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = o11y_api::list_llm_pricing_rules(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.O11yApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new O11yApi(client).listLLMPricingRules();curl https://api.hanzo.ai/v1/o11y/llm_pricing_rules \
-H "Authorization: Bearer $HANZO_API_KEY"Tool o11y, op ListLLMPricingRules — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "o11y",
"arguments": {
"op": "ListLLMPricingRules",
"input": {}
}
}
}'How is this guide?