---
title: "List span groups"
method: GET
path: "/api/request-logs/groups/"
tags: ["spans"]
---

# List span groups

`GET /api/request-logs/groups/`

Group spans by a supported dimension and return one aggregate row per group. `trace` and `thread` roll spans up through their dedicated entity views.

## Query parameters

- `group_by` 'model' | 'provider_id' | 'organization_key_id' | 'prompt_id' | 'deployment_id' | 'deployment_name' | 'custom_identifier' | 'customer_identifier' | 'trace' | 'thread'
- `sort_by` string
- `start_time` string, date-time
- `end_time` string, date-time
- `environment` string
- `page` integer
- `page_size` integer

## Headers

- `Authorization` string, required

## Response `200`

Paginated groups and aggregate metrics.

- SpansRequestLogsGroupsListResponse200
  - `count` integer, required
  - `next` string, nullable
  - `previous` string, nullable
  - `total_count` integer
  - `current_filters` object
  - `filters_data` object
  - `results` ApiRequestLogsGroupsGetResponsesContentApplicationJsonSchemaResultsItems[], required
    - `date_group` string, date-time
    - `model` string
    - `provider_id` string
    - `organization_key_id` string
    - `prompt_id` string
    - `deployment_id` string
    - `deployment_name` string
    - `custom_identifier` string
    - `customer_identifier` string
    - `trace_unique_id` string
    - `thread_identifier` string
    - `number_of_requests` integer, nullable
    - `span_count` integer, nullable
    - `total_cost` number, double, nullable
    - `total_tokens` integer, nullable
    - `error_count` integer, nullable
    - `error_percentage` number, double, nullable
    - `average_cost` number, double, nullable
    - `average_tokens` integer, nullable
    - `average_latency` number, double, nullable
    - `average_ttft` number, double, nullable
    - `average_tps` number, double, nullable
    - `cache_hit_percentage` number, double, nullable

## Other responses

- `400` — Unsupported group_by value. Invalid sort_by falls back to number_of_requests.
- `401` — Authentication failed.
- `403` — Analytics read permission is required.

## Changes

- **2026-08-22** `b18c72975097` — 3 warning
  - for the `query` request parameter `page_size`, the max was set to `1000.00`
  - for the `query` request parameter `page`, the min was set to `1.00`
  - for the `query` request parameter `page_size`, the min was set to `1.00`
- **2026-08-13** `4e064cf81dae` — 7 breaking, 15 warning, 16 info
  - for the `query` request parameter `group_by`, default value `model` was added
  - for the `query` request parameter `sort_by`, default value `number_of_requests` was added
  - for the `query` request parameter `end_time`, the type/format was changed from `string`/`` to `string`/`date-time`
  - for the `query` request parameter `start_time`, the type/format was changed from `string`/`` to `string`/`date-time`
  - …34 more
- **2026-07-31** `c26d550029f8` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/keywordsai/apis/api-reference/changes/api/request-logs/groups/get.md)

---

[API](https://skmtc.dev/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.dev/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/keywordsai/api-reference/revisions/c61efaf24756/schema)
