List timeline

Returns paginated timeline entries for a rule's state transitions, filterable by state and a label expression, cursor-paginated.

GET /v1/o11y/rules/{id}/history/timeline

Addresshttps://api.hanzo.ai/v1/o11y/rules/{id}/history/timeline
MethodGET
OperationGetRuleHistoryTimeline
AuthAuthorization: Bearer $HANZO_API_KEY

Returns paginated timeline entries for a rule's state transitions, filterable by state and a label expression, cursor-paginated. Viewer gate.

Request

8 fields.

FieldInTypeRequiredDescription
idpathstringyes
startqueryinteger—Start is the window start, unix milliseconds.
endqueryinteger—End is the window end, unix milliseconds.
statequerystring—State keeps only entries in one alert state, e.g. firing or normal.
filterExpressionquerystring—FilterExpression narrows entries to those whose labels match it.
limitqueryinteger—Limit caps how many entries come back.
orderquerystring—Order sorts by time, asc or desc.
cursorquerystring—Cursor resumes a previous page; opaque, returned as nextCursor.

Response

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

200 body — 23 fields.

FieldInTypeAlwaysDescription
databodyo11y.GettableRuleStateTimeline—
data.itemsbodyo11y.GettableRuleStateHistory[]—
data.items[].fingerprintbodyinteger (uint64)—
data.items[].labelsbodyo11y.Label[]—
data.items[].labels[].keybodyo11y.TelemetryFieldKey—
data.items[].labels[].key.descriptionbodystring—
data.items[].labels[].key.fieldContextbodyany—
data.items[].labels[].key.fieldDataTypebodyany—
data.items[].labels[].key.namebodystringyes
data.items[].labels[].key.signalbodyany—
data.items[].labels[].key.unitbodystring—
data.items[].labels[].valuebodyany—
data.items[].overallStatebodyany—
data.items[].overallStateChangedbodyboolean—
data.items[].ruleIdbodystring—
data.items[].ruleNamebodystring—
data.items[].statebodyany—
data.items[].stateChangedbodyboolean—
data.items[].unixMillibodyinteger (int64)—
data.items[].valuebodynumber (double)—
data.nextCursorbodystring—
data.totalbodyinteger (uint64)—
statusbodystring—Status is "success".

Failure carries the platform error shape — see Errors.

Examples

hanzo o11y rules history timeline get <id>
import { Configuration, O11yApi } from 'hanzoai';

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

resp, _, err := client.O11yAPI.GetRuleHistoryTimeline(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_rule_history_timeline(&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).getRuleHistoryTimeline();
curl https://api.hanzo.ai/v1/o11y/rules/<id>/history/timeline \
  -H "Authorization: Bearer $HANZO_API_KEY"

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

O11y API · All Hanzo APIs · Interactive reference

Was this page useful?