Create views

Saves a new explorer view for the caller's org and returns its id.

POST /v1/o11y/explorer/views

Addresshttps://api.hanzo.ai/v1/o11y/explorer/views
MethodPOST
Operationpost_o11y_explorer_views
AuthAuthorization: Bearer $HANZO_API_KEY

Saves a new explorer view for the caller's org and returns its id.

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

Request

90 fields, body application/json (required).

FieldInTypeRequiredDescription
categorybodystring—
compositeQuerybodyo11y.v3.CompositeQuery—
compositeQuery.builderQueriesbodyobject—
compositeQuery.builderQueries.*bodyo11y.BuilderQuery—
compositeQuery.builderQueries.*.IsAnomalybodyboolean—
compositeQuery.builderQueries.*.QueriesUsedInFormulabodystring[]—
compositeQuery.builderQueries.*.ShiftBybodyinteger (int64)—
compositeQuery.builderQueries.*.aggregateAttributebodyo11y.AttributeKey—
compositeQuery.builderQueries.*.aggregateAttribute.dataTypebodystring—
compositeQuery.builderQueries.*.aggregateAttribute.isColumnbodyboolean—
compositeQuery.builderQueries.*.aggregateAttribute.isJSONbodyboolean—
compositeQuery.builderQueries.*.aggregateAttribute.keybodystring—
compositeQuery.builderQueries.*.aggregateAttribute.typebodystring—
compositeQuery.builderQueries.*.aggregateOperatorbodystring—
compositeQuery.builderQueries.*.dataSourcebodystring—
compositeQuery.builderQueries.*.disabledbodyboolean—
compositeQuery.builderQueries.*.expressionbodystring—
compositeQuery.builderQueries.*.filtersbodyo11y.FilterSet—
compositeQuery.builderQueries.*.filters.itemsbodyo11y.FilterItem[]—
compositeQuery.builderQueries.*.filters.items[].keybodyo11y.AttributeKey—
compositeQuery.builderQueries.*.filters.items[].key.dataTypebodystring—
compositeQuery.builderQueries.*.filters.items[].key.isColumnbodyboolean—
compositeQuery.builderQueries.*.filters.items[].key.isJSONbodyboolean—
compositeQuery.builderQueries.*.filters.items[].key.keybodystring—
compositeQuery.builderQueries.*.filters.items[].key.typebodystring—
compositeQuery.builderQueries.*.filters.items[].opbodystring—
compositeQuery.builderQueries.*.filters.items[].valuebodyany—
compositeQuery.builderQueries.*.filters.opbodystring—
compositeQuery.builderQueries.*.functionsbodyo11y.Function[]—
compositeQuery.builderQueries.*.functions[].argsbodyany[]—
compositeQuery.builderQueries.*.functions[].namebodystring—
compositeQuery.builderQueries.*.functions[].namedArgsbodyobject—
compositeQuery.builderQueries.*.functions[].namedArgs.*bodyany—
compositeQuery.builderQueries.*.groupBybodyo11y.AttributeKey[]—
compositeQuery.builderQueries.*.groupBy[].dataTypebodystring—
compositeQuery.builderQueries.*.groupBy[].isColumnbodyboolean—
compositeQuery.builderQueries.*.groupBy[].isJSONbodyboolean—
compositeQuery.builderQueries.*.groupBy[].keybodystring—
compositeQuery.builderQueries.*.groupBy[].typebodystring—
compositeQuery.builderQueries.*.havingbodyo11y.Having[]—
compositeQuery.builderQueries.*.having[].columnNamebodystring—
compositeQuery.builderQueries.*.having[].opbodystring—
compositeQuery.builderQueries.*.having[].valuebodyany—
compositeQuery.builderQueries.*.legendbodystring—
compositeQuery.builderQueries.*.limitbodyinteger (uint64)—
compositeQuery.builderQueries.*.offsetbodyinteger (uint64)—
compositeQuery.builderQueries.*.orderBybodyo11y.OrderBy[]—
compositeQuery.builderQueries.*.orderBy[].columnNamebodystring—
compositeQuery.builderQueries.*.orderBy[].orderbodystring—
compositeQuery.builderQueries.*.pageSizebodyinteger (uint64)—
compositeQuery.builderQueries.*.queryNamebodystring—
compositeQuery.builderQueries.*.reduceTobodystring—
compositeQuery.builderQueries.*.selectColumnsbodyo11y.AttributeKey[]—
compositeQuery.builderQueries.*.selectColumns[].dataTypebodystring—
compositeQuery.builderQueries.*.selectColumns[].isColumnbodyboolean—
compositeQuery.builderQueries.*.selectColumns[].isJSONbodyboolean—
compositeQuery.builderQueries.*.selectColumns[].keybodystring—
compositeQuery.builderQueries.*.selectColumns[].typebodystring—
compositeQuery.builderQueries.*.seriesAggregationbodystring—
compositeQuery.builderQueries.*.spaceAggregationbodystring—
compositeQuery.builderQueries.*.stepIntervalbodyinteger (int64)—
compositeQuery.builderQueries.*.temporalitybodystring—
compositeQuery.builderQueries.*.timeAggregationbodystring—
compositeQuery.chQueriesbodyobject—
compositeQuery.chQueries.*bodyo11y.DatastoreQuery—
compositeQuery.chQueries.*.disabledbodyboolean—
compositeQuery.chQueries.*.legendbodystring—
compositeQuery.chQueries.*.querybodystring—
compositeQuery.fillGapsbodyboolean—FillGaps is used to fill the gaps in the time series data
compositeQuery.panelTypebodystring—
compositeQuery.promQueriesbodyobject—
compositeQuery.promQueries.*bodyo11y.PromQuery—
compositeQuery.promQueries.*.disabledbodyboolean—
compositeQuery.promQueries.*.legendbodystring—
compositeQuery.promQueries.*.querybodystring—
compositeQuery.promQueries.*.statsbodystring—
compositeQuery.queriesbodyo11y.QueryEnvelope[]—
compositeQuery.queries[].specbodyany—Spec is the deferred decoding of the query if any.
compositeQuery.queries[].typebodyany—Type is the type of the query.
compositeQuery.queryTypebodystring—
compositeQuery.unitbodystring—Unit for the time series data shown in the graph This is used in alerts to format the value and threshold
createdAtbodystring (date-time)—
createdBybodystring—
extraDatabodystring—ExtraData is JSON encoded data used by frontend to store additional data
idbodyany—
namebodystring—
sourcePagebodystring—
tagsbodystring[]—
updatedAtbodystring (date-time)—
updatedBybodystring—

Response

StatusBodyMeaning
200o11y.O11ySavedViewCreateOutok
202Approvalheld for approval
defaultproblem-detailsrefused

200 body — 2 fields.

FieldInTypeAlwaysDescription
databodyany—Data is the new view's id.
statusbodystring—Status is "success".

Failure carries the platform error shape — see Errors.

Examples

hanzo o11y explorer views create
import { Configuration, O11yApi } from 'hanzoai';

const api = new O11yApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postO11yExplorerViews({ category: "<category>", compositeQuery: {"builderQueries":{},"chQueries":{},"fillGaps":false,"panelType":"<panelType>"} });
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).post_o11y_explorer_views(category="<category>", composite_query={"builderQueries":{},"chQueries":{},"fillGaps":false,"panelType":"<panelType>"})
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.O11yAPI.PostO11yExplorerViews(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::post_o11y_explorer_views(&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).postO11yExplorerViews();
curl -X POST https://api.hanzo.ai/v1/o11y/explorer/views \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "category": "<category>",
       "compositeQuery": {
         "builderQueries": {},
         "chQueries": {},
         "fillGaps": false,
         "panelType": "<panelType>"
       }
     }'

MCP reaches o11y through the o11y tool, which names its 307 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_o11y_autocomplete_aggregate_attributes"
         }
       }
     }'

O11y API · All Hanzo APIs · Interactive reference

Was this page useful?