> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squasher.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Telemetry Quality API

> Audit service telemetry completeness, correlation, duplication, attribute types, and cardinality without returning captured content.

## Get a telemetry quality report

```text theme={null}
GET https://api.squasher.ai/v1/projects/{project_id}/telemetry-quality
```

The report checks log and span metadata without returning log messages or
attribute values. The default window is 24 hours. A window cannot exceed seven
days.

Optional query parameters:

* `from` and `to` - ISO-8601 timestamps
* `service_name`, `environment`, and `release` - narrow the report
* `include_examples` - include up to 20 content-free identifiers for orphan logs
* `attribute_sample_limit` - recent rows per signal used for attribute analysis; from `100` through `50000`, default `10000`

```bash theme={null}
squasher observe quality \
  --project "$SQUASHER_PROJECT_ID" \
  --service-name api \
  --environment production \
  --release "$GIT_SHA" \
  --include-examples
```

## What the report measures

* Log coverage for service, environment, release, and trace correlation
* Span coverage for service, environment, release, operation, status, duration, and trace correlation
* Metric-point coverage for service, environment, release, metric name, and unit
* Correlated logs that do not have a matching span
* Repeated terminal events with the same trace, span, and stable operation
* Attribute type changes and sampled cardinality

Each coverage field includes `captured`, `eligible`, `missing`, and `percent`.
An empty signal window reports 100 percent coverage, so check the matching
`total` before you use the result as release evidence.

Attribute analysis is bounded. The response includes `sampled_rows`,
`sample_limit`, and `truncated`. Cardinality is an estimate from that sample and
is classified as `low`, `medium`, `high`, or `unique`.

## Privacy and cost

This endpoint does not return log messages, stack traces, or attribute values.
Examples contain only the existing public event ID, trace ID, span ID,
timestamp, and service. The analysis runs only when requested and
does not call an external service. Attribute analysis uses the configurable
bounded sample. Coverage and integrity analysis scan the selected time window.

## MCP

Use MCP Code Mode with `search("telemetryQuality.get")`, then execute the
returned operation. An agent can use the report to find missing telemetry before
it changes application instrumentation.

## Related docs

* [Design Queryable Logs](/integrations/queryable-logging)
* [Logs API](/api-reference/logs)
* [Traces API](/api-reference/traces)
