---
title: "Search Case Aggregates"
method: GET
path: "/workspaces/{workspace_id}/cases/search/aggregate"
tags: ["cases"]
---

# Search Case Aggregates

`GET /workspaces/{workspace_id}/cases/search/aggregate`

## Request

- Base URL: `https://platform.tracecat.com/api`
- URL: `https://platform.tracecat.com/api/workspaces/{workspace_id}/cases/search/aggregate`
- Auth: one of:
  - API key in cookie `fastapiusersauth`
  - HTTP bearer

Return global case totals and per-stage counts for the current filters.

## Path parameters

- `workspace_id` string, uuid, required

## Query parameters

- `search_term` string, nullable: Text to search for in case summary, description, short ID, or case UUID
- `search_mode` 'full_text' | 'literal': Explicit lexical modes; omitted table mode remains a legacy policy.
- `search_columns` string[], nullable: Selected text fields; omitted searches both.
- `short_id` string, nullable
- `case_id` string, uuid, nullable
- `status` CaseStatus[], nullable: Filter by case status
- `priority` CasePriority[], nullable: Filter by case priority
- `severity` CaseSeverity[], nullable: Filter by case severity
- `tags` string[], nullable: Filter by tag IDs or slugs (matches cases with any of the tags)
- `dropdown` string[], nullable: Filter by dropdown values. Format: definition_ref:option_ref (AND across definitions, OR within)
- `start_time` string, date-time, nullable: Return cases created at or after this timestamp
- `end_time` string, date-time, nullable: Return cases created at or before this timestamp
- `updated_after` string, date-time, nullable: Return cases updated at or after this timestamp
- `updated_before` string, date-time, nullable: Return cases updated at or before this timestamp
- `assignee_id` string[], nullable: Filter by assignee ID or 'unassigned'
- `hierarchy` 'all' | 'top_level': Return every case, or only top-level cases without a parent.
- `parent_id` string, uuid, nullable: Return only the sub-cases of this parent case

## Response `200`

Successful Response

- CaseSearchAggregateRead
  - `total` integer, required
  - `status_groups` CaseStatusGroupCounts, required
    - `new` integer
    - `in_progress` integer
    - `on_hold` integer
    - `resolved` integer
    - `closed` integer
    - `unknown` integer
    - `other` integer

## Other responses

- `422`: Validation Error

---

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