List usage

Returns ingestion usage counts bucketed over the requested window, optionally narrowed to one service.

GET /v1/o11y/usage

Addresshttps://api.hanzo.ai/v1/o11y/usage
MethodGET
Operationget_o11y_usage
AuthAuthorization: Bearer $HANZO_API_KEY

Returns ingestion usage counts bucketed over the requested window, optionally narrowed to one service.

Callers need the viewer role; the runtime's own gate enforces it.

Request

4 fields.

FieldInTypeRequiredDescription
startquerystringyesStart is the window start, as epoch nanoseconds.
endquerystringyesEnd is the window end, as epoch nanoseconds.
stepqueryinteger—Step is the bucket width in seconds.
servicequerystring—Service narrows usage to one service.

Response

StatusBodyMeaning
200o11y.O11yUsageItem[]ok
202Approvalheld for approval
defaultproblem-detailsrefused

200 body — 3 fields.

FieldInTypeAlwaysDescription
[].countbodyinteger (uint64)—Count is how many spans were ingested in the bucket.
[].timebodystring (date-time)—Time is the bucket start.
[].timestampbodyinteger (uint64)—Timestamp is the bucket start, as epoch nanoseconds.

Failure carries the platform error shape — see Errors.

Examples

hanzo o11y usage \
  --start <start> \
  --end <end>
import { Configuration, O11yApi } from 'hanzoai';

const api = new O11yApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getO11yUsage({ start: 'start', end: 'end' });
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).get_o11y_usage(start='start', end='end')
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.O11yAPI.GetO11yUsage(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::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::get_o11y_usage(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.O11yApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new O11yApi(client).getO11yUsage();
curl https://api.hanzo.ai/v1/o11y/usage?start=%3Cstart%3E&end=%3Cend%3E \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool o11y, op get_o11y_usage — 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": "get_o11y_usage",
           "input": {
             "start": "<start>",
             "end": "<end>"
           }
         }
       }
     }'

O11y API · All Hanzo APIs · Interactive reference

Was this page useful?