---
title: "List accumulating failure categories for a metric"
method: GET
path: "/observability/v1/metric-failure-mode-insights/categories/"
tags: ["observability"]
---

# List accumulating failure categories for a metric

`GET /observability/v1/metric-failure-mode-insights/categories/`

## Request

- Base URL: `https://api.cekura.ai`
- URL: `https://api.cekura.ai/observability/v1/metric-failure-mode-insights/categories/`
- Auth: one of:
  - API key in header `X-CEKURA-API-KEY`
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

Return the persistent failure categories for a project (optionally one metric), each with a call count and example call ids. Filter by `date_from` / `date_to` (ISO datetimes for an exact window, or bare dates for whole-day bounds) to count only assignments in that range, and by `agent_ids` (comma-separated agent ids) or `agent_version_ids` (comma-separated agent version ids) to count only calls handled by those agents / agent versions; results are sorted by count descending. Each category also carries `agents`: the agents that handled its calls, busiest first, each with a call count, its own example call ids, and whether Improve Agent can edit it. And `agent_versions`: the agent versions those calls ran on, NEWEST VERSION FIRST, each with the version's name, when it went live, a call count, and its own example call ids — read it to tell whether a version introduced or fixed the failure mode.

## Query parameters

- `agent_ids` string
- `agent_version_ids` string
- `project` integer

## Response `200`

- MetricFailureModeInsight: Insight row exposed to the Observability → Insights UI.
  - `id` integer
  - `project` integer
  - `metric` integer, nullable
  - `predefined_metric` integer, nullable
  - `metric_name` string
  - `is_triage` boolean: Derived live from the metric's current Insights opt-in + failure criteria (not persisted) — the FE renders a metric's insight card only when this is true.
  - `window_start` string, date-time
  - `window_end` string, date-time
  - `num_calls_analyzed` integer
  - `total_failures_in_window` integer
  - `status` 'pending' | 'running' | 'succeeded' | 'failed' | 'skipped_no_failures': * `pending` - Pending * `running` - Running * `succeeded` - Succeeded * `failed` - Failed * `skipped_no_failures` - Skipped No Failures
  - `headline` string
  - `overall_status_emoji` string
  - `failure_modes` unknown
  - `error_message` string
  - `duration_seconds` number, double, nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Changes

- **2026-11-03** `a6fb6a739212`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cekura/apis/cekura-api/changes/observability/v1/metric-failure-mode-insights/categories/get.md)

---

[API](https://skmtc.dev/cekura/apis/cekura-api.md) - [All operations](https://skmtc.dev/cekura/apis/cekura-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cekura/apis/cekura-api/revisions/a6fb6a739212?raw)
