Skip to main content

aigateway telemetry

Runtime telemetry for AI Gateway workspaces — the data behind the SCM Observability tabs. Data plane; keyed by workspace slug, not UUID.

Telemetry reads accept --workspace <slug>, --days <n> (default 7), and shared output formats. The chart/group/log commands also accept explicit --start/--end ISO-8601 timestamps; the legacy cost command currently accepts only a rolling-day window, as listed below.

CommandResult
cache summary / cache trendCache totals and hit-rate series
costSpend totals and daily records
errors / error-trendsError count and trends
error-category-trends / grouped-errorsHTTP error categories and time buckets (CLI 5.2.0+)
filter-boundariesAnalytics filter response; sensitive data subtree redacted (CLI 5.2.0+)
feedback distribution / models / trend / weightedFeedback analytics
group-by <dimension>Aggregation by an SDK-supported dimension; --columns adds aggregates
latencyTotal and percentile latency series
logs listRequest logs; supports --page-size, zero-based --current-page (5.2.0+), --status-code, and --trace-id
requestsRequest count series
rescued-retriesRequests recovered by retry behavior
tokensToken usage series
users / user-trendsUnique-user count and trends

aigateway telemetry cost​

For a private, self-contained HTML or Markdown deliverable spanning these feeds, use airs-cli aigateway report. It paginates transactions and reports completeness.

Total and per-day spend for a workspace.

airs-cli aigateway telemetry cost --workspace <slug> [--days <n>] [--output <format>]

Options​

FlagRequiredDefaultDescription
--workspace <ref>Yes—Workspace slug (e.g. ws-main-a-349e0e); UUID or display name also accepted (CLI resolves to the slug)
--days <n>No7Rolling window in days, counted back from now
--output <format>NoResolvedOutput format: pretty, table, markdown, csv, json, yaml

:::warning Costs are in cents

The API reports every cost value in cents. Pretty output shows dollars; structured output retains totalCents, avgCents, and costCents and adds the explicit converted fields totalUsd, avgUsd, and per-record costUsd. No consumer needs to infer a unit or silently rescale a value.

:::

Examples​

airs-cli aigateway telemetry cost --workspace ws-main-a-349e0e
airs-cli aigateway telemetry cost --workspace ws-main-a-349e0e --days 30 --output json

Additional examples:

airs-cli aigateway telemetry requests --workspace ws-main-a-349e0e --days 30 --output json
airs-cli aigateway telemetry group-by model --workspace ws-main-a-349e0e --columns cost,total_tokens
airs-cli aigateway telemetry logs list --workspace ws-main-a-349e0e --status-code 446 --output json
airs-cli aigateway telemetry feedback distribution --workspace ws-main-a-349e0e --days 7

SCM returns null mean/percentile aggregates for an empty latency window. SDK 0.23.0 and later (including CLI 4.3.0's pinned SDK 0.24.0) preserve these valid nulls in JSON/YAML. Null is not measured zero latency; time buckets remain numeric. Earlier SDK 0.22.0 and older releases rejected this response. Do not manufacture traffic merely to make an empty-window response validate.

CLI 4.3.0 pins SDK 0.24.0 and adds the following filters to requests, cost, tokens and latency. CLI 4.4.0 pins SDK 0.25.0 and also exposes these filters on all six group-by dimensions. Other charts do not accept these flags. logs list retains its separate singular --status-code option.

Grouped analytics​

group-by accepts ai_service, model, api_key, provider, status_code and users. All six accept the filters below, explicit start/end timestamps and structured output. Dimensions, columns and filters are validated before client creation. The SDK remains the source of supported column names and filter semantics; malformed arguments exit 2 without authentication or a request.

airs-cli aigateway telemetry group-by model --workspace ws-develo-71f8d8 --days 7 \
--status-codes 200,446 --cost-max 0.125 --columns cost,total_tokens --output json
airs-cli aigateway telemetry group-by status_code --workspace ws-develo-71f8d8 --days 7 \
--ai-org-models openai__gpt-5.6-terra --output yaml
airs-cli aigateway telemetry group-by users --workspace ws-develo-71f8d8 --days 7 \
--metadata '{"environment":"dev"}' --output json

Non-user dimensions support --columns cost,avg_latency,avg_tokens,total_tokens,success_rate,last_seen. User grouping does not support columns and keeps the SDK's {success,data:{records,...}} envelope; other groups keep {object,data:[...],...}. JSON/YAML preserve those envelopes, numeric values and costs in cents. group-by users is distinct from the existing unique-user count command users.

These are observed SCM adapters, not full equivalence to all supplied upstream analytics operations. Provider traceId is a verified SCM extension omitted from the pinned upstream provider schema.

Chart filters​

FlagContract
--trace-id <id>One nonblank trace ID
--metadata <json>JSON object with string values; all pairs must match
--status-codes <codes>Nonnegative integer status codes, comma-separated
--api-key-ids <ids>Service key UUIDs, comma-separated; never secret key values
--ai-org-models <pairs>Comma-separated provider__model pairs, e.g. openai__gpt-5.6-terra
--total-units-min <n> / --total-units-max <n>Inclusive nonnegative integer total-token bounds
--cost-min <cents> / --cost-max <cents>Inclusive finite nonnegative bounds in cents; fractional cents allowed

Lists use OR within the list; different filters use AND. Equal minimum/maximum bounds and zero are preserved. Empty CSV elements, malformed JSON/numbers, invalid UUIDs and reversed ranges exit 2 before client creation or workspace resolution. The SDK supplies the shared semantic validation; the CLI only parses argument syntax. Analytics uses provider__model, not the runtime inference routing syntax @provider/model.

airs-cli aigateway telemetry requests --workspace ws-develo-71f8d8 --days 7 \
--status-codes 200,446 --metadata '{"environment":"dev"}' --output json
airs-cli aigateway telemetry cost --workspace dev --days 7 \
--ai-org-models openai__gpt-5.6-terra --cost-min 0 --cost-max 0.125 --output json
airs-cli aigateway telemetry tokens --workspace ws-develo-71f8d8 --days 7 \
--total-units-min 0 --total-units-max 128 --output yaml

These syntax examples are not fabricated response captures. The read-only installed-CLI verification output below is recorded separately.

Verified grouped-filter output​

The independently installed CLI 4.4.0, with SDK 0.25.0, passes 103/103 read-only checks at 2026-09-07T12:32:16.444Z: executable-version verification, an owned positive control and all 101 positive/absent filter pairs across six groups. Each pair executes the public CLI twice; five non-user checks also verify exact cost/token columns. JSON/YAML envelope preservation additionally has 95 public-command regression tests.

Read-only discovery on existing owned traffic. Every filter requires both a known positive and an empty absent cohort. No tenant identifiers, trace IDs, key IDs, metadata values or tenant counts are published. This is not full upstream analytics equivalence.

Actual captured results (all 101 pairs, no tenant counts or identifiers):

All 101 grouped-filter pairs
[
{
"dimension": "ai_service",
"filter": "traceId",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "metadata",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "trace-and-metadata.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "statusCode.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "statusCode.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "apiKeyIds.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "apiKeyIds.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "aiOrgModel.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "aiOrgModel.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "totalUnitsMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "totalUnitsMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "costMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "costMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "totalUnits.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "cost.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "all.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "ai_service",
"filter": "all.with-columns",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "traceId",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "metadata",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "trace-and-metadata.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "statusCode.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "statusCode.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "apiKeyIds.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "apiKeyIds.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "aiOrgModel.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "aiOrgModel.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "totalUnitsMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "totalUnitsMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "costMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "costMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "totalUnits.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "cost.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "all.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "model",
"filter": "all.with-columns",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "traceId",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "metadata",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "trace-and-metadata.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "statusCode.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "statusCode.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "apiKeyIds.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "apiKeyIds.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "aiOrgModel.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "aiOrgModel.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "totalUnitsMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "totalUnitsMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "costMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "costMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "totalUnits.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "cost.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "all.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "api_key",
"filter": "all.with-columns",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "traceId",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "metadata",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "trace-and-metadata.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "statusCode.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "statusCode.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "apiKeyIds.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "apiKeyIds.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "aiOrgModel.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "aiOrgModel.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "totalUnitsMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "totalUnitsMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "costMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "costMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "totalUnits.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "cost.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "all.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "provider",
"filter": "all.with-columns",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "traceId",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "metadata",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "trace-and-metadata.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "statusCode.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "statusCode.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "apiKeyIds.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "apiKeyIds.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "aiOrgModel.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "aiOrgModel.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "totalUnitsMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "totalUnitsMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "costMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "costMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "totalUnits.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "cost.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "all.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "status_code",
"filter": "all.with-columns",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "traceId",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "metadata",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "trace-and-metadata.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "statusCode.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "statusCode.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "apiKeyIds.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "apiKeyIds.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "aiOrgModel.single",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "aiOrgModel.csv-or",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "totalUnitsMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "totalUnitsMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "costMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "costMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "totalUnits.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "cost.exact-range",
"knownPositive": true,
"absentEmpty": true,
"respected": true
},
{
"dimension": "users",
"filter": "all.intersection",
"knownPositive": true,
"absentEmpty": true,
"respected": true
}
]

The earlier candidate run passed 102/103, with a provider/status-code query failure; it remains in the private history. This complete subsequent run passes without changing retries, validation, filters, credentials or infrastructure. It is not a claim of uninterrupted service availability. Direct Gateway coverage remains 138/242 (57.02%), and all 22 upstream analytics adaptations remain partial.

Verified chart-filter output​

The independently installed CLI 4.4.0, with SDK 0.25.0, passed 54/54 read-only checks at 2026-09-07T12:35:21.598Z: installed-version verification, an owned positive control and 13 positive/empty-cohort pairs for each of four charts. Every pair runs the public CLI executable.

Existing owned positive traffic only. Inclusive bounds, singleton/CSV-OR alternatives and combined filters are checked on each chart with an empty negative cohort. No trace IDs, keys, metadata values or tenant counts are published. This does not establish full upstream analytics equivalence.

Cost uses its existing seven-day window and verifies explicit cents/USD conversion fields; requests, tokens and latency use the original fixture's exact window. Trace and metadata isolation select the same owned historical request. No inference, key or workspace is created by this suite.

Actual captured query-contract output (booleans and empty aggregates only):

All 52 positive/empty-cohort pairs
[
{
"metric": "requests",
"filter": "statusCodes.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "statusCodes.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "apiKeyIds.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "apiKeyIds.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "aiOrgModels.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "aiOrgModels.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "totalUnitsMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "totalUnitsMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "costMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "costMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "totalUnits.exact-range",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "cost.exact-range",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "requests",
"filter": "all.intersection",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "statusCodes.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "statusCodes.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "apiKeyIds.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "apiKeyIds.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "aiOrgModels.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "aiOrgModels.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "totalUnitsMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "totalUnitsMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "costMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "costMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "totalUnits.exact-range",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "cost.exact-range",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "cost",
"filter": "all.intersection",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "statusCodes.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "statusCodes.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "apiKeyIds.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "apiKeyIds.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "aiOrgModels.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "aiOrgModels.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "totalUnitsMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "totalUnitsMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "costMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "costMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "totalUnits.exact-range",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "cost.exact-range",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "tokens",
"filter": "all.intersection",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": 0,
"respected": true
},
{
"metric": "latency",
"filter": "statusCodes.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "statusCodes.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "apiKeyIds.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "apiKeyIds.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "aiOrgModels.single",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "aiOrgModels.csv-or",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "totalUnitsMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "totalUnitsMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "costMin.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "costMax.inclusive",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "totalUnits.exact-range",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "cost.exact-range",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
},
{
"metric": "latency",
"filter": "all.intersection",
"knownPositive": true,
"absentEmpty": true,
"absentAggregate": null,
"respected": true
}
]

This certifies the listed filters on these four Prisma SCM chart adapters, not every upstream analytics option or public WAN access.

Verified empty-window output​

The separately installed CLI 4.4.0 passed 3/3 read-only checks at 2026-09-07T12:29:09.610Z, including actual JSON and YAML commands with SDK 0.25.0. No traffic or key was created to populate the empty window.

Actual installed CLI JSON/YAML output projected to exit status, period aggregate values and a zero-bucket check. No tenant identifiers, count aggregates or credentials are published. This historical empty-window check does not test new CLI filter flags.

{
"version": "4.4.0",
"sdkVersion": "0.25.0",
"json": {
"exitCode": 0,
"total": null,
"p50": null,
"p90": null,
"p99": null,
"zeroValuedBuckets": true
},
"yaml": {
"exitCode": 0,
"total": null,
"p50": null,
"p90": null,
"p99": null,
"zeroValuedBuckets": true
}
}

Reproduce the empty-window read with:

airs-cli aigateway telemetry latency --workspace ws-develo-71f8d8 --start 2020-01-01T00:00:00Z --end 2020-01-01T00:00:01Z --output json

This uses the disclosed TLS-verified LAN path and unchanged read-only SCM credentials. It is not certification of every gateway operation or public WAN access.