---
title: "GetObservabilityStats"
method: POST
path: "/textql.rpc.public.observe.ObservabilityService/GetObservabilityStats"
tags: ["ObservabilityService"]
---

# GetObservabilityStats

`POST /textql.rpc.public.observe.ObservabilityService/GetObservabilityStats`

## Headers

- `Connect-Protocol-Version` 1, required — Define the version of the Connect protocol
- `Connect-Timeout-Ms` number — Define the timeout, in ms

## Request body

- TextqlRpcPublicObserveGetObservabilityStatsRequest
  - `days` integer — time window: 7, 14, 30, 90

## Response `200`

Success

- TextqlRpcPublicObserveGetObservabilityStatsResponse
  - `summary` TextqlRpcPublicObserveObservabilitySummary
    - `totalRuns` integer — Totals
    - `totalThreads` integer
    - `totalPlaybooks` integer
    - `totalWarnings` integer
    - `warnRatePct` integer
    - `runsDeltaPct` integer — Deltas (percentage change vs previous period)
    - `threadsDeltaPct` integer
    - `playbooksDeltaPct` integer
    - `warningsDeltaPct` integer
    - `runsSparkline` integer[] — Sparklines (14 daily values, oldest first)
    - `threadsSparkline` integer[]
    - `playbooksSparkline` integer[]
    - `warningsSparkline` integer[]
    - `totalFeedAgents` integer — Feed agents
    - `feedAgentsDeltaPct` integer
    - `feedAgentsSparkline` integer[]
    - `totalSlack` integer — Slack chats
    - `slackDeltaPct` integer
    - `slackSparkline` integer[]
    - `totalTeams` integer — Teams chats
    - `teamsDeltaPct` integer
    - `teamsSparkline` integer[]
    - `totalPositive` integer — Positive signals (strength-category types). total_warnings/warn_rate_pct above count NEGATIVE signals only — strengths are tracked separately here and must never inflate the flagged metrics.
    - `positiveDeltaPct` integer
    - `positiveSparkline` integer[]
  - `dailyVolume` TextqlRpcPublicObserveDailyVolumePoint[]
    - `date` string — YYYY-MM-DD
    - `threads` integer
    - `playbooks` integer
    - `feedAgents` integer
    - `slack` integer
    - `teams` integer
  - `warningDistribution` TextqlRpcPublicObserveWarningTypeCount[]
    - `warningType` 'THREAD_WARNING_TYPE_UNSPECIFIED' | 'THREAD_WARNING_TYPE_MISSING_CONTEXT' | 'THREAD_WARNING_TYPE_ERROR_LOOP' | 'THREAD_WARNING_TYPE_EXCESSIVE_TOOL_CALLS' | 'THREAD_WARNING_TYPE_SLOW_QUERY' | 'THREAD_WARNING_TYPE_NO_RESULTS' | 'THREAD_WARNING_TYPE_USER_FRUSTRATION' | 'THREAD_WARNING_TYPE_POTENTIAL_HALLUCINATION' | 'THREAD_WARNING_TYPE_IGNORED_INSTRUCTION' | 'THREAD_WARNING_TYPE_USER_THUMBS_DOWN' | 'THREAD_WARNING_TYPE_NO_CONCLUSION' | 'THREAD_WARNING_TYPE_USER_THUMBS_UP' | 'THREAD_WARNING_TYPE_GOAL_ACHIEVED' | 'THREAD_WARNING_TYPE_USER_SATISFACTION' — ThreadWarningType is the canonical set of thread warning types
    - `total` integer
  - `warningCatalog` TextqlRpcPublicObserveWarningTypeMeta[]
    - `warningType` 'THREAD_WARNING_TYPE_UNSPECIFIED' | 'THREAD_WARNING_TYPE_MISSING_CONTEXT' | 'THREAD_WARNING_TYPE_ERROR_LOOP' | 'THREAD_WARNING_TYPE_EXCESSIVE_TOOL_CALLS' | 'THREAD_WARNING_TYPE_SLOW_QUERY' | 'THREAD_WARNING_TYPE_NO_RESULTS' | 'THREAD_WARNING_TYPE_USER_FRUSTRATION' | 'THREAD_WARNING_TYPE_POTENTIAL_HALLUCINATION' | 'THREAD_WARNING_TYPE_IGNORED_INSTRUCTION' | 'THREAD_WARNING_TYPE_USER_THUMBS_DOWN' | 'THREAD_WARNING_TYPE_NO_CONCLUSION' | 'THREAD_WARNING_TYPE_USER_THUMBS_UP' | 'THREAD_WARNING_TYPE_GOAL_ACHIEVED' | 'THREAD_WARNING_TYPE_USER_SATISFACTION' — ThreadWarningType is the canonical set of thread warning types
    - `category` 'WARNING_CATEGORY_UNSPECIFIED' | 'WARNING_CATEGORY_CAUSE' | 'WARNING_CATEGORY_SYMPTOM' | 'WARNING_CATEGORY_OUTCOME' | 'WARNING_CATEGORY_STRENGTH'
  - `warningDailyDistribution` TextqlRpcPublicObserveWarningTypeDailyCount[] — Per-day, per-type warning counts for the warning-breakdown-over-time chart. Days/types with no warnings are absent (the client zero-fills the axis).
    - `date` string — YYYY-MM-DD
    - `warningType` 'THREAD_WARNING_TYPE_UNSPECIFIED' | 'THREAD_WARNING_TYPE_MISSING_CONTEXT' | 'THREAD_WARNING_TYPE_ERROR_LOOP' | 'THREAD_WARNING_TYPE_EXCESSIVE_TOOL_CALLS' | 'THREAD_WARNING_TYPE_SLOW_QUERY' | 'THREAD_WARNING_TYPE_NO_RESULTS' | 'THREAD_WARNING_TYPE_USER_FRUSTRATION' | 'THREAD_WARNING_TYPE_POTENTIAL_HALLUCINATION' | 'THREAD_WARNING_TYPE_IGNORED_INSTRUCTION' | 'THREAD_WARNING_TYPE_USER_THUMBS_DOWN' | 'THREAD_WARNING_TYPE_NO_CONCLUSION' | 'THREAD_WARNING_TYPE_USER_THUMBS_UP' | 'THREAD_WARNING_TYPE_GOAL_ACHIEVED' | 'THREAD_WARNING_TYPE_USER_SATISFACTION' — ThreadWarningType is the canonical set of thread warning types
    - `total` integer

## Other responses

- `default` — Error

---

[API](https://skmtc.net/textql/apis/textql-rpc-platform.md) · [All operations](https://skmtc.net/textql/apis/textql-rpc-platform/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/textql/textql-rpc-platform/revisions/31ce2b0c4427/schema)
