Create namespaces

Lists Kubernetes namespaces with the CPU and memory their pods used and per-group pod phase counts.

POST /v1/o11y/infra_monitoring/namespaces

Addresshttps://api.hanzo.ai/v1/o11y/infra_monitoring/namespaces
MethodPOST
Operationpost_o11y_infra_monitoring_namespaces
AuthAuthorization: Bearer $HANZO_API_KEY

Lists Kubernetes namespaces with the CPU and memory their pods used and per-group pod phase counts. Rows answer as 'list' under the default k8s.namespace.name grouping or 'grouped_list' under a custom groupBy, aggregating pods either way; a metric with no data in the window answers -1. Filterable by expression, orderable by cpu or memory, paginated by offset and limit.

Request

22 fields, body application/json (required).

FieldInTypeRequiredDescription
endbodyinteger (int64)—
filterbodyo11y.Filter—
filter.expressionbodystring—expression to filter by following the filter syntax
groupBybodyo11y.GroupByKey[]—
groupBy[].descriptionbodystring—
groupBy[].fieldContextbodyany—
groupBy[].fieldDataTypebodyany—
groupBy[].namebodystringyes
groupBy[].signalbodyany—
groupBy[].unitbodystring—
limitbodyinteger (int64)—
offsetbodyinteger (int64)—
orderBybodyo11y.querybuildertypesv5.OrderBy—
orderBy.directionbodyany—direction to order by
orderBy.keybodyo11y.OrderByKey—
orderBy.key.descriptionbodystring—
orderBy.key.fieldContextbodyany—
orderBy.key.fieldDataTypebodyany—
orderBy.key.namebodystringyes
orderBy.key.signalbodyany—
orderBy.key.unitbodystring—
startbodyinteger (int64)—

Response

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

200 body — 22 fields.

FieldInTypeAlwaysDescription
databodyo11y.Namespaces—
data.endTimeBeforeRetentionbodyboolean—
data.recordsbodyo11y.NamespaceRecord[]—
data.records[].metabodyobject—
data.records[].meta.*bodystring—
data.records[].namespaceCPUbodynumber (double)—
data.records[].namespaceMemorybodynumber (double)—
data.records[].namespaceNamebodystring—
data.records[].podCountsByPhasebodyo11y.PodCountsByPhase—
data.records[].podCountsByPhase.failedbodyinteger (int64)—
data.records[].podCountsByPhase.pendingbodyinteger (int64)—
data.records[].podCountsByPhase.runningbodyinteger (int64)—
data.records[].podCountsByPhase.succeededbodyinteger (int64)—
data.records[].podCountsByPhase.unknownbodyinteger (int64)—
data.totalbodyinteger (int64)—
data.typebodyany—
data.warningbodyo11y.QueryWarnData—
data.warning.messagebodystring—
data.warning.urlbodystring—
data.warning.warningsbodyo11y.QueryWarnDataAdditional[]—
data.warning.warnings[].messagebodystring—
statusbodystring—Status is "success".

Failure carries the platform error shape — see Errors.

Examples

hanzo o11y infra_monitoring namespaces
import { Configuration, O11yApi } from 'hanzoai';

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

resp, _, err := client.O11yAPI.PostO11yInfraMonitoringNamespaces(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_infra_monitoring_namespaces(&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).postO11yInfraMonitoringNamespaces();
curl -X POST https://api.hanzo.ai/v1/o11y/infra_monitoring/namespaces \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "end": 0,
       "filter": {
         "expression": "<expression>"
       }
     }'

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?