List timeseries

Returns ingested vs retained series over time across all volume-control rules, in hourly buckets, in the query-range time-series response shape.

GET /v1/o11y/metric_reduction_rules/timeseries

Addresshttps://api.hanzo.ai/v1/o11y/metric_reduction_rules/timeseries
MethodGET
OperationGetMetricReductionRuleTimeseries
AuthAuthorization: Bearer $HANZO_API_KEY

Returns ingested vs retained series over time across all volume-control rules, in hourly buckets, in the query-range time-series response shape.

Request

GET /v1/o11y/metric_reduction_rules/timeseries takes no parameters and no body — the credential is the whole request.

Response

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

200 body — 97 fields.

FieldInTypeAlwaysDescription
databodyo11y.O11yQueryRange—
data.databodyo11y.O11yQueryRangeData—
data.data.resultsbodyo11y.O11yReductionSeriesResult[]—Results are the per-query results, each a set of aggregated series.
data.data.results[].aggregationsbodyo11y.O11yAggregation[]—Aggregations are the query's aggregation buckets.
data.data.results[].aggregations[].aliasbodystring—Alias is the aggregation's alias.
data.data.results[].aggregations[].anomalyScoresbodyo11y.O11yMetricSeries[]—AnomalyScores are anomaly overlays.
data.data.results[].aggregations[].anomalyScores[].labelsbodyo11y.O11yMetricLabel[]—Labels identify the series.
data.data.results[].aggregations[].anomalyScores[].labels[].keybodyo11y.O11yMetricField—
data.data.results[].aggregations[].anomalyScores[].labels[].key.descriptionbodystring—Description describes the field.
data.data.results[].aggregations[].anomalyScores[].labels[].key.fieldContextbodystring—FieldContext is the context the field lives in, e.g. resource, attribute.
data.data.results[].aggregations[].anomalyScores[].labels[].key.fieldDataTypebodystring—FieldDataType is the field's data type.
data.data.results[].aggregations[].anomalyScores[].labels[].key.namebodystring—Name is the field's name.
data.data.results[].aggregations[].anomalyScores[].labels[].key.signalbodystring—Signal is the telemetry signal the field belongs to.
data.data.results[].aggregations[].anomalyScores[].labels[].key.unitbodystring—Unit is the field's unit.
data.data.results[].aggregations[].anomalyScores[].labels[].valuebodyany—Value is the label's value.
data.data.results[].aggregations[].anomalyScores[].valuesbodyo11y.O11yMetricPoint[]—Values are the series' points, in time order.
data.data.results[].aggregations[].anomalyScores[].values[].partialbodyboolean—Partial marks a point whose bucket the window only partly covers.
data.data.results[].aggregations[].anomalyScores[].values[].timestampbodyinteger (int64)—Timestamp is the point's time as a Unix timestamp in milliseconds.
data.data.results[].aggregations[].anomalyScores[].values[].valuebodynumber (double)—Value is the point's value.
data.data.results[].aggregations[].anomalyScores[].values[].valuesbodynumber (double)[]—Values carries the bucket values of a heatmap point.
data.data.results[].aggregations[].indexbodyinteger (int64)—Index is the aggregation's position in the query.
data.data.results[].aggregations[].lowerBoundSeriesbodyo11y.O11yMetricSeries[]—LowerBoundSeries are forecast lower bounds.
data.data.results[].aggregations[].lowerBoundSeries[].labelsbodyo11y.O11yMetricLabel[]—Labels identify the series.
data.data.results[].aggregations[].lowerBoundSeries[].labels[].keybodyo11y.O11yMetricField—
data.data.results[].aggregations[].lowerBoundSeries[].labels[].key.descriptionbodystring—Description describes the field.
data.data.results[].aggregations[].lowerBoundSeries[].labels[].key.fieldContextbodystring—FieldContext is the context the field lives in, e.g. resource, attribute.
data.data.results[].aggregations[].lowerBoundSeries[].labels[].key.fieldDataTypebodystring—FieldDataType is the field's data type.
data.data.results[].aggregations[].lowerBoundSeries[].labels[].key.namebodystring—Name is the field's name.
data.data.results[].aggregations[].lowerBoundSeries[].labels[].key.signalbodystring—Signal is the telemetry signal the field belongs to.
data.data.results[].aggregations[].lowerBoundSeries[].labels[].key.unitbodystring—Unit is the field's unit.
data.data.results[].aggregations[].lowerBoundSeries[].labels[].valuebodyany—Value is the label's value.
data.data.results[].aggregations[].lowerBoundSeries[].valuesbodyo11y.O11yMetricPoint[]—Values are the series' points, in time order.
data.data.results[].aggregations[].lowerBoundSeries[].values[].partialbodyboolean—Partial marks a point whose bucket the window only partly covers.
data.data.results[].aggregations[].lowerBoundSeries[].values[].timestampbodyinteger (int64)—Timestamp is the point's time as a Unix timestamp in milliseconds.
data.data.results[].aggregations[].lowerBoundSeries[].values[].valuebodynumber (double)—Value is the point's value.
data.data.results[].aggregations[].lowerBoundSeries[].values[].valuesbodynumber (double)[]—Values carries the bucket values of a heatmap point.
data.data.results[].aggregations[].metabodyo11y.O11yAggregationMeta—
data.data.results[].aggregations[].meta.unitbodystring—Unit is the aggregation's unit.
data.data.results[].aggregations[].predictedSeriesbodyo11y.O11yMetricSeries[]—PredictedSeries are forecast overlays, when the query asked for them.
data.data.results[].aggregations[].predictedSeries[].labelsbodyo11y.O11yMetricLabel[]—Labels identify the series.
data.data.results[].aggregations[].predictedSeries[].labels[].keybodyo11y.O11yMetricField—
data.data.results[].aggregations[].predictedSeries[].labels[].key.descriptionbodystring—Description describes the field.
data.data.results[].aggregations[].predictedSeries[].labels[].key.fieldContextbodystring—FieldContext is the context the field lives in, e.g. resource, attribute.
data.data.results[].aggregations[].predictedSeries[].labels[].key.fieldDataTypebodystring—FieldDataType is the field's data type.
data.data.results[].aggregations[].predictedSeries[].labels[].key.namebodystring—Name is the field's name.
data.data.results[].aggregations[].predictedSeries[].labels[].key.signalbodystring—Signal is the telemetry signal the field belongs to.
data.data.results[].aggregations[].predictedSeries[].labels[].key.unitbodystring—Unit is the field's unit.
data.data.results[].aggregations[].predictedSeries[].labels[].valuebodyany—Value is the label's value.
data.data.results[].aggregations[].predictedSeries[].valuesbodyo11y.O11yMetricPoint[]—Values are the series' points, in time order.
data.data.results[].aggregations[].predictedSeries[].values[].partialbodyboolean—Partial marks a point whose bucket the window only partly covers.
data.data.results[].aggregations[].predictedSeries[].values[].timestampbodyinteger (int64)—Timestamp is the point's time as a Unix timestamp in milliseconds.
data.data.results[].aggregations[].predictedSeries[].values[].valuebodynumber (double)—Value is the point's value.
data.data.results[].aggregations[].predictedSeries[].values[].valuesbodynumber (double)[]—Values carries the bucket values of a heatmap point.
data.data.results[].aggregations[].seriesbodyo11y.O11yMetricSeries[]—Series are the aggregated time series.
data.data.results[].aggregations[].series[].labelsbodyo11y.O11yMetricLabel[]—Labels identify the series.
data.data.results[].aggregations[].series[].labels[].keybodyo11y.O11yMetricField—
data.data.results[].aggregations[].series[].labels[].key.descriptionbodystring—Description describes the field.
data.data.results[].aggregations[].series[].labels[].key.fieldContextbodystring—FieldContext is the context the field lives in, e.g. resource, attribute.
data.data.results[].aggregations[].series[].labels[].key.fieldDataTypebodystring—FieldDataType is the field's data type.
data.data.results[].aggregations[].series[].labels[].key.namebodystring—Name is the field's name.
data.data.results[].aggregations[].series[].labels[].key.signalbodystring—Signal is the telemetry signal the field belongs to.
data.data.results[].aggregations[].series[].labels[].key.unitbodystring—Unit is the field's unit.
data.data.results[].aggregations[].series[].labels[].valuebodyany—Value is the label's value.
data.data.results[].aggregations[].series[].valuesbodyo11y.O11yMetricPoint[]—Values are the series' points, in time order.
data.data.results[].aggregations[].series[].values[].partialbodyboolean—Partial marks a point whose bucket the window only partly covers.
data.data.results[].aggregations[].series[].values[].timestampbodyinteger (int64)—Timestamp is the point's time as a Unix timestamp in milliseconds.
data.data.results[].aggregations[].series[].values[].valuebodynumber (double)—Value is the point's value.
data.data.results[].aggregations[].series[].values[].valuesbodynumber (double)[]—Values carries the bucket values of a heatmap point.
data.data.results[].aggregations[].upperBoundSeriesbodyo11y.O11yMetricSeries[]—UpperBoundSeries are forecast upper bounds.
data.data.results[].aggregations[].upperBoundSeries[].labelsbodyo11y.O11yMetricLabel[]—Labels identify the series.
data.data.results[].aggregations[].upperBoundSeries[].labels[].keybodyo11y.O11yMetricField—
data.data.results[].aggregations[].upperBoundSeries[].labels[].key.descriptionbodystring—Description describes the field.
data.data.results[].aggregations[].upperBoundSeries[].labels[].key.fieldContextbodystring—FieldContext is the context the field lives in, e.g. resource, attribute.
data.data.results[].aggregations[].upperBoundSeries[].labels[].key.fieldDataTypebodystring—FieldDataType is the field's data type.
data.data.results[].aggregations[].upperBoundSeries[].labels[].key.namebodystring—Name is the field's name.
data.data.results[].aggregations[].upperBoundSeries[].labels[].key.signalbodystring—Signal is the telemetry signal the field belongs to.
data.data.results[].aggregations[].upperBoundSeries[].labels[].key.unitbodystring—Unit is the field's unit.
data.data.results[].aggregations[].upperBoundSeries[].labels[].valuebodyany—Value is the label's value.
data.data.results[].aggregations[].upperBoundSeries[].valuesbodyo11y.O11yMetricPoint[]—Values are the series' points, in time order.
data.data.results[].aggregations[].upperBoundSeries[].values[].partialbodyboolean—Partial marks a point whose bucket the window only partly covers.
data.data.results[].aggregations[].upperBoundSeries[].values[].timestampbodyinteger (int64)—Timestamp is the point's time as a Unix timestamp in milliseconds.
data.data.results[].aggregations[].upperBoundSeries[].values[].valuebodynumber (double)—Value is the point's value.
data.data.results[].aggregations[].upperBoundSeries[].values[].valuesbodynumber (double)[]—Values carries the bucket values of a heatmap point.
data.data.results[].queryNamebodystring—QueryName names the query the result answers.
data.metabodyo11y.O11yQueryStats—
data.meta.bytesScannedbodyinteger (uint64)—BytesScanned is how many bytes the query read.
data.meta.durationMsbodyinteger (uint64)—DurationMS is how long the query took, in milliseconds.
data.meta.rowsScannedbodyinteger (uint64)—RowsScanned is how many rows the query read.
data.meta.stepIntervalsbodyobject—StepIntervals is the step used per query, in seconds.
data.meta.stepIntervals.*bodyinteger (uint64)—
data.typebodystring—Type is the result kind; time_series here.
data.warningbodyo11y.O11yQueryWarning—
data.warning.messagebodystring—Message is the warning.
data.warning.urlbodystring—URL points at the relevant documentation.
data.warning.warningsbodyo11y.O11yQueryWarningNote[]—Warnings carries additional notes.
data.warning.warnings[].messagebodystring—Message is the note.
statusbodystring—Status is "success".

Failure carries the platform error shape — see Errors.

Examples

hanzo o11y metric_reduction_rules timeseries
import { Configuration, O11yApi } from 'hanzoai';

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

resp, _, err := client.O11yAPI.GetMetricReductionRuleTimeseries(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_metric_reduction_rule_timeseries(&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).getMetricReductionRuleTimeseries();
curl https://api.hanzo.ai/v1/o11y/metric_reduction_rules/timeseries \
  -H "Authorization: Bearer $HANZO_API_KEY"

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

O11y API · All Hanzo APIs · Interactive reference

Was this page useful?