---
title: "Api Datasets Logs Summary Retrieve"
method: GET
path: "/api/datasets/{dataset_id}/logs/summary/"
tags: ["datasets"]
---

# Api Datasets Logs Summary Retrieve

`GET /api/datasets/{dataset_id}/logs/summary/`

Get summary statistics for dataset logs including score summaries

Endpoint:
    GET /api/datasets/{dataset_id}/logs/summary/
    POST /api/datasets/{dataset_id}/logs/summary/ (for filtering)

Args (POST body, optional):
    - filters (object, optional): Filter criteria to aggregate subset of logs

Returns (200 OK):
    ```json
    {
      "number_of_requests": 150,
      "total_cost": 12.45,
      "total_tokens": 50000,
      "total_prompt_tokens": 30000,
      "total_completion_tokens": 20000,
      "avg_latency": 1.23,
      "avg_tps": 45.2,
      "avg_ttft": 0.8,
      "scores": {
        "<evaluator_id>": {
          "evaluator_id": "<uuid>",
          "evaluator_slug": "quality_check",
          "evaluator_name": "Quality Check",
          "score_value_type": "numerical",
          "avg_score": 4.5,
          "true_count": null,
          "false_count": null
        }
      }
    }
    ```

Smart Syncing:
    When no filters are provided (or filters are empty), the endpoint will:
    1. Count all logs in the dataset
    2. Update dataset.log_count with the accurate count
    3. Return the count

    This ensures the dataset log_count stays accurate without requiring
    separate sync operations.

Examples:
    Get total count (syncs to dataset):
    ```
    GET /api/datasets/{id}/logs/summary/
    POST /api/datasets/{id}/logs/summary/
    POST /api/datasets/{id}/logs/summary/ with {"filters": {}}
    ```

    Get filtered count (no sync):
    ```
    POST /api/datasets/{id}/logs/summary/
    Body: {"filters": {"status_code": {"operator": "eq", "value": 200}}}
    ```

Note: Score summaries only include evaluators with score_value_type of
'numerical', 'percentage', or 'boolean'.

## Path parameters

- `dataset_id` string, required

## Headers

- `Authorization` string, required

## Response `200`

- DatasetLogsSummaryResponse
  - `number_of_requests` integer, required
  - `total_cost` number, double, required
  - `total_tokens` integer, required
  - `total_prompt_tokens` integer, required
  - `total_completion_tokens` integer, required
  - `avg_latency` number, double, required
  - `avg_tps` number, double, required
  - `avg_ttft` number, double, required
  - `has_output` boolean, required
  - `scores` object, required

---

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